using UnityEngine;
using TMPro;
using System.Data.Common;
using System.Collections;
public class movement : MonoBehaviour
{
public float speed = 3;
private Rigidbody2D rb;
static public bool isrifle;
static public bool isshotgun;
static public bool issniper;
public GameObject F;
private bool canpick;
public GameObject bullets;
public Transform firepoint;
public float riflerate;
private string currentwerapon;
public TextMeshProUGUI wpntext;
private bool sniper;
private bool shotgun;
private bool rifle;
void Start()
{
rb = GetComponent<Rigidbody2D>();
currentwerapon = "none";
}
void Update()
{
firepoint.rotation = transform.rotation;
wpntext.text = "current weapon : " + currentwerapon;
float movex = Input.GetAxis("Horizontal");
float movey = Input.GetAxis("Vertical");
rb.linearVelocity = new Vector2(movex * speed, movey * speed);
Vector3 mousePos = Camera.main.ScreenToWorldPoint(Input.mousePosition);
mousePos.z = 0f;
transform.up = mousePos - transform.position;
if (issniper || isshotgun || isrifle)
{
F.SetActive(true);
canpick = true;
}
else
{
F.SetActive(false);
canpick = false;
}
if (canpick == true && issniper && Input.GetKeyDown(KeyCode.F))
{
sniper = true;
shotgun = false;
rifle = false;
currentwerapon = "sniper";
}
if (canpick == true && isshotgun && Input.GetKeyDown(KeyCode.F))
{
sniper = false;
shotgun = true;
rifle = false;
currentwerapon = "shotgun";
}
if (canpick == true && isrifle && Input.GetKeyDown(KeyCode.F))
{
sniper = false;
shotgun = false;
rifle = true;
currentwerapon = "rifle";
}
if (rifle && Input.GetKeyDown(KeyCode.Space))
{
StartCoroutine(RifleShoot());
}
}
private void OnTriggerEnter2D(Collider2D collision)
{
if (collision.gameObject.CompareTag("rifle"))
{
isrifle= true;
}
if (collision.gameObject.CompareTag("shotgun"))
{
isshotgun= true;
}
if (collision.gameObject.CompareTag("sniper"))
{
issniper= true;
}
}
private void OnTriggerExit2D(Collider2D collision)
{
if (collision.gameObject.CompareTag("rifle"))
{
isrifle= false;
}
if (collision.gameObject.CompareTag("shotgun"))
{
isshotgun= false;
}
if (collision.gameObject.CompareTag("sniper"))
{
issniper= false;
}
}
IEnumerator RifleShoot()
{
Instantiate(bullets, firepoint.position , firepoint.rotation);
yield return new WaitForSeconds(riflerate);
}
}