@Romanuss

State Machine Behaviour как реализовать таймер?

Здравствуйте, работаю со State Machine Behaviour. Возник интересный вопрос:
Как правильно реализовать таймер в скрипте?
Ведь скрипт наследуется от StateMachineBehaviour, а не от Monobehaviour. Тем самым я не могу использовать всякие корутины и Invoke.

Будет ли корректно использовать таймер с помощью Time.deltaTime? По типу:
curTime -= Time.deltaTime
  • Вопрос задан
  • 248 просмотров
Пригласить эксперта
Ответы на вопрос 1
@UnityMakar
Попробуй это:
using UnityEngine;

public class Fire_SpaseShip : MonoBehaviour {

	float reloadTimer = 12f;
  float curTime;

  void Start() {
  curTime = reloadTimer;
  }

	void Timer() {
		Debug.Log("Timer!");
	}
	
	void Update () {
		if (curTimer > 0) { curTime -= Time.deltaTime; }
		if (curTime <= 0) { Timer(); curTime = reloadTimer; }
	}
}
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы