Задать вопрос
@Romanuss

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

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

Будет ли корректно использовать таймер с помощью Time.deltaTime? По типу:
curTime -= Time.deltaTime
  • Вопрос задан
  • 260 просмотров
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • OTUS
    C# Developer. Professional
    6 месяцев
    Далее
  • Ulearn.me
    Основы программирования на примере C#. Часть 1
    1 неделя
    Далее
  • Ulearn.me
    Основы программирования на примере C#. Часть 2
    1 неделя
    Далее
Пригласить эксперта
Ответы на вопрос 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; }
	}
}
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы