public AreaCheck(ActorFilterDelegate actorAreaFunc, AreaCheck.ActorProcess actorProcess, List <PoolObjHandle <ActorRoot> > checkList) { this._actorAreaFunc = actorAreaFunc; this._actorProcess = actorProcess; this._waitCheckRef = checkList; this._aroundRecords = new DictionaryView <uint, AreaCheck.AroundRecord>(); }
public PoolObjHandle <ActorRoot> GetActor(ActorFilterDelegate predicate) { for (int i = 0; i < this.GameActors.get_Count(); i++) { PoolObjHandle <ActorRoot> result = this.GameActors.get_Item(i); if (predicate == null || predicate(ref result)) { return(result); } } return(new PoolObjHandle <ActorRoot>(null)); }
public int CountActors(ActorFilterDelegate actorFilter) { int num = 0; DictionaryView <uint, AreaCheck.AroundRecord> .Enumerator enumerator = this._aroundRecords.GetEnumerator(); while (enumerator.MoveNext()) { if (actorFilter != null) { KeyValuePair <uint, AreaCheck.AroundRecord> current = enumerator.get_Current(); if (!actorFilter(ref current.get_Value().actor)) { continue; } } num++; } return(num); }
public static List <PoolObjHandle <ActorRoot> > FilterActors(List <PoolObjHandle <ActorRoot> > actorList, ActorFilterDelegate filter) { List <PoolObjHandle <ActorRoot> > list = new List <PoolObjHandle <ActorRoot> >(); int count = actorList.get_Count(); for (int i = 0; i < count; i++) { PoolObjHandle <ActorRoot> poolObjHandle = actorList.get_Item(i); if (filter == null || filter(ref poolObjHandle)) { list.Add(poolObjHandle); } } return(list); }
public static List <PoolObjHandle <ActorRoot> > FilterActors(List <PoolObjHandle <ActorRoot> > actorList, ActorFilterDelegate filter) { List <PoolObjHandle <ActorRoot> > list = new List <PoolObjHandle <ActorRoot> >(); int count = actorList.Count; for (int i = 0; i < count; i++) { PoolObjHandle <ActorRoot> actor = actorList[i]; if ((filter == null) || filter(ref actor)) { list.Add(actor); } } return(list); }