public void UpdateViewSystems(float dt) { this.updatingView = true; for (ViewSystemBase viewSystemBase = this.viewSystems.Head; viewSystemBase != null; viewSystemBase = viewSystemBase.Next) { viewSystemBase.AccumulateDT(dt); if ((viewSystemBase.SchedulingPattern & this.viewThread) != 0) { viewSystemBase.Update(); } } this.updatingView = false; if (this.UpdateViewComplete != null) { this.UpdateViewComplete.Invoke(); } this.viewThread = (ushort)((int)this.viewThread << 1 | 1); }
public void RemoveViewSystem(ViewSystemBase system) { this.viewSystems.Remove(system); system.RemoveFromGame(this); }
public void AddViewSystem(ViewSystemBase system, int priority, ushort schedulingPattern) { this.AddSystemToGame <ViewSystemBase>(system, priority, schedulingPattern); this.viewSystems.Add(system); }