private static void MakeSureGroupWasCreated(ref CyclicUpdateGroup group) { if (group == null) { group = new CyclicUpdateGroup(); } }
protected void Loop(ref BaseCyclicLoopRegistry singletonInstance, ref CyclicUpdateGroup group) { MakeSureGroupWasCreated(ref group); if (!_amISingleton) { if (singletonInstance == null) { _amISingleton = true; singletonInstance = this; } } if (_amISingleton) { ProcessUpdateLoop(group); } }
protected static void RemoveUpdateMethod(Action updateAction, MonoBehaviour component, ref CyclicUpdateGroup group) { MakeSureGroupWasCreated(ref group); group.RemoveUpdateMethod(component, updateAction); }
protected static void RegisterUpdateMethod(Action updateAction, MonoBehaviour component, float timeBetweenUpdates, ref CyclicUpdateGroup group) { MakeSureGroupWasCreated(ref group); group.RegisterUpdateMethod(updateAction, component, timeBetweenUpdates); }
private void ProcessUpdateLoop(CyclicUpdateGroup group) { group.Loop(); }