public virtual Emitter <T> OnEmit(T eventType) { if (!_active) { return(this); } int taskCount = 0; SortedList <Updateable> list = _emitterTable.Get(eventType); if (null != list) { for (LIterator <Updateable> it = list.ListIterator(); it.HasNext();) { Updateable update = it.Next(); if (update != null) { update.Action(eventType); if (update is ActionUpdate) { ActionUpdate au = (ActionUpdate)update; if (au.Completed()) { list.Remove(au); } } } taskCount++; if (taskCount >= _maxFrameTask) { break; } } } return(this); }
public virtual void Tick(LTimerContext time) { if (processes.size > 0) { SortedList <GameProcess> toBeUpdated; lock (this.processes) { toBeUpdated = new SortedList <GameProcess>(this.processes); } SortedList <GameProcess> deadProcesses = new SortedList <GameProcess>(); try { for (LIterator <GameProcess> it = toBeUpdated.ListIterator(); it.HasNext();) { GameProcess realtimeProcess = it.Next(); if (realtimeProcess != null) { lock (realtimeProcess) { realtimeProcess.Tick(time); if (realtimeProcess.IsDead()) { deadProcesses.Add(realtimeProcess); } } } } if (deadProcesses.size > 0) { for (LIterator <GameProcess> it = deadProcesses.ListIterator(); it.HasNext();) { GameProcess realtimeProcess = it.Next(); if (realtimeProcess != null) { lock (realtimeProcess) { realtimeProcess.Finish(); } } } lock (this.processes) { this.processes.RemoveAll(deadProcesses); } } } catch (System.Exception cause) { //LSystem.Error("Process dispatch failure", cause); } } }
public bool AnyTouch() { for (LIterator <LTouchLocation> it = ListIterator(); it.HasNext();) { LTouchLocation location = it.Next(); if ((location.GetState() == LTouchLocationState.Pressed) || (location.GetState() == LTouchLocationState.Dragged)) { return(true); } } return(false); }
public override int GetHashCode() { if (_map == null) { return(base.GetHashCode()); } int hashCode = 1; for (LIterator <E> it = _map.GetKeys(); it.HasNext();) { E e = it.Next(); hashCode = 31 * hashCode + (e == null ? 0 : e.GetHashCode()); } return(hashCode); }
public void Close() { lock (_lock) { for (LIterator <LRelease> it = _disposeSelf.ListIterator(); it.HasNext();) { LRelease release = it.Next(); if (release != null) { release.Close(); } } _disposeSelf.Clear(); } }
public virtual void Finish() { if (!this.isDead) { Kill(); } if (this.processesToFireWhenFinished != null) { for (LIterator <GameProcess> it = this.processesToFireWhenFinished.ListIterator(); it.HasNext();) { RealtimeProcessManager.Get().AddProcess(it.Next()); } } if (this.processHost != null) { this.processHost.ProcessFinished(this.id, this); } }
public virtual TArray <GameProcess> Find(GameProcessType pt) { TArray <GameProcess> list = new TArray <GameProcess>(); if (processes != null && processes.size > 0) { lock (this.processes) { for (LIterator <GameProcess> it = processes.ListIterator(); it.HasNext();) { GameProcess p = it.Next(); if (p != null && p.GetProcessType() == pt) { list.Add(p); } } } } return(list); }
public virtual TArray <GameProcess> Find(string id) { TArray <GameProcess> list = new TArray <GameProcess>(); if (processes != null && processes.size > 0) { lock (this.processes) { for (LIterator <GameProcess> it = processes.ListIterator(); it.HasNext();) { GameProcess p = it.Next(); if (p != null && (string.ReferenceEquals(p.GetId(), id) || p.GetId().Equals(id))) { list.Add(p); } } } } return(list); }
public override string ToString() { LIterator <E> it = Iterator(); if (!it.HasNext()) { return("[]"); } StrBuilder sbr = new StrBuilder(); sbr.Append('['); for (it = _map.GetKeys(); it.HasNext();) { E e = it.Next(); sbr.Append((object)e == (object)this ? "(this ObjectSet)" : e.ToString()); if (!it.HasNext()) { return(sbr.Append(']').ToString()); } sbr.Append(',').Append(' '); } return(sbr.ToString()); }