public static void Init() { TIMER = EngineLoopManager.AddNewEngineLoop(); FIXED_UPDATE = EngineLoopManager.AddNewEngineLoop(); UPDATE = EngineLoopManager.AddNewEngineLoop(); LATE_UPDATE = EngineLoopManager.AddNewEngineLoop(); LEGACY_GUI = EngineLoopManager.AddNewEngineLoop(); }
public void LoopOff(int loopType) { if (_actions[loopType] != null) { EngineLoopManager.GetEngineLoop(loopType).Remove(this); _actions[loopType] = null; } }
public void LoopOn(int loopType, Action action) { if (dropped) { throw new Exception("Dropped"); } if (_actions[loopType] == null) { EngineLoopManager.GetEngineLoop(loopType).AddToLast(this); _actions[loopType] = action; } }
public void LoopOn(int loopType, Action action, bool callNow = false) { if (dropped) { throw new Exception("Dropped"); } if (_actions[loopType] == null) { callWhenAdded = callNow; EngineLoopManager.GetEngineLoop(loopType).AddToLast(this); _actions[loopType] = action; } }
protected LoopBehaviour() { _actions = new Action[EngineLoopManager.LoopsCount()]; _orders = new int[EngineLoopManager.LoopsCount()]; callActions = true; }
void LateUpdate() { EngineLoopManager.Execute(Loops.LATE_UPDATE); }
private void Update() { Timer.Process(Loops.TIMER); SimulatePhysics(); EngineLoopManager.Execute(Loops.UPDATE); }
void FixedUpdate() { EngineLoopManager.Execute(Loops.FIXED_UPDATE); }
void OnGUI() { EngineLoopManager.Execute(Loops.LEGACY_GUI); }