Я делаю игру Unity, в которой используются бомбы и взрывы.Я хочу ограничить игрока способностью устанавливать только 1 бомбу каждые 3 секунды, первая бомба взорвется, а затем игрок сможет установить другую, таймер, который я создал для этого, похоже, не работает.
Когда я играю в игру, игрок может заложить бомбу, но больше не может устанавливать бомбы после ожидания более 3 секунд.Правильна ли для этого логика времени?
public class CombatController : MonoBehaviour {
//public GameObject enemy;
[SerializeField]
public GameObject Bomb;
public GameObject Explosion;
public int timer = 0;
// Use this for initialization
void Start () {
}
// Update is called once per frame
void Update () {
BombKeyPress (); //Check if the user wants to plant the bomb.
}
//Method BombKeyPress - This method will activate logic for our bombkeypress.
public void BombKeyPress ()
{
if(Input.GetKeyUp(KeyCode.Space)) {
BombDrop ();
}
}
//Method BombDrop - This method will instantiate our bomb.
private void BombDrop ()
{
//If the timer is not counting, allow the player to drop another.
if (Bomb && timer <=0) {
Instantiate (Bomb, this.gameObject.transform.position, Quaternion.identity); //Make New Bombs
timer = 3; //Set our bomb timer to 3 seconds.
//Countdown our bombtimer.
for (int i = 3; i <= 0; i--) {
timer = i;
print(i);
}
//BombExplosion(); //Now blow up our bomb
}
}
}