Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using UnityEngine;
- using System.Collections;
- public class StateMachine<T> : MonoBehaviour
- {
- private T _t;
- private T _stateToSet;
- public T state
- {
- get { return _t; }
- set
- {
- OnStateExit();
- _t = value;
- OnStateEnter();
- }
- }
- public void CueState(T state, float time)
- {
- CancelInvoke("InternalSetState");
- _stateToSet = state;
- Invoke("InternalSetState", time);
- }
- protected virtual void OnStateEnter()
- {
- }
- protected virtual void OnStateExit()
- {
- }
- private void InternalSetState()
- {
- state = _stateToSet;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement