Added ammo logic and exit btn
This commit is contained in:
@@ -23,4 +23,9 @@ public class GameOverScreen : MonoBehaviour
|
||||
Time.timeScale = 1;
|
||||
SceneManager.LoadScene("SampleScene");
|
||||
}
|
||||
|
||||
public void ExitButton()
|
||||
{
|
||||
Application.Quit();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using TMPro;
|
||||
using UnityEngine;
|
||||
using UnityEngine.Events;
|
||||
|
||||
@@ -8,14 +9,24 @@ public class Gun : MonoBehaviour
|
||||
public UnityEvent onGunShoot;
|
||||
public float fireCoolDown;
|
||||
public bool automatic;
|
||||
public int ammo;
|
||||
public float reloadCooldown;
|
||||
|
||||
|
||||
private float currentCooldown;
|
||||
private float currentReloadCooldown;
|
||||
private int currAmmo;
|
||||
|
||||
public AudioSource audioSource;
|
||||
public AudioClip reloadSound;
|
||||
|
||||
public TextMeshProUGUI ammoTxt;
|
||||
|
||||
void Start()
|
||||
{
|
||||
currentCooldown = fireCoolDown;
|
||||
currAmmo = ammo;
|
||||
ammoTxt.text = currAmmo.ToString() + "/" + ammo.ToString();
|
||||
}
|
||||
|
||||
|
||||
@@ -25,11 +36,13 @@ public class Gun : MonoBehaviour
|
||||
{
|
||||
if(Input.GetMouseButton(0))
|
||||
{
|
||||
if(currentCooldown <= 0f)
|
||||
if(currentCooldown <= 0f && currentReloadCooldown <= 0f && currAmmo != 0)
|
||||
{
|
||||
//if not null (?)
|
||||
onGunShoot?.Invoke();
|
||||
currentCooldown = fireCoolDown;
|
||||
currAmmo--;
|
||||
ammoTxt.text = currAmmo.ToString() + "/" + ammo.ToString();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -37,15 +50,31 @@ public class Gun : MonoBehaviour
|
||||
{
|
||||
if(Input.GetMouseButtonDown(0))
|
||||
{
|
||||
if(currentCooldown <= 0f)
|
||||
if(currentCooldown <= 0f && currentReloadCooldown <= 0f && currAmmo != 0)
|
||||
{
|
||||
//if not null (?)
|
||||
onGunShoot?.Invoke();
|
||||
currentCooldown = fireCoolDown;
|
||||
currAmmo--;
|
||||
ammoTxt.text = currAmmo.ToString() + "/" + ammo.ToString();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if(Input.GetKeyDown(KeyCode.R))
|
||||
{
|
||||
if(currentReloadCooldown <= 0f)
|
||||
{
|
||||
currAmmo = ammo;
|
||||
currentReloadCooldown = reloadCooldown;
|
||||
audioSource.PlayOneShot(reloadSound);
|
||||
|
||||
ammoTxt.text = currAmmo.ToString() + "/" + ammo.ToString();
|
||||
}
|
||||
}
|
||||
|
||||
currentCooldown -= Time.deltaTime;
|
||||
|
||||
currentReloadCooldown -= Time.deltaTime;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user