Example #1
0
 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>();
 }
Example #2
0
 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));
 }
Example #3
0
        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);
        }
Example #4
0
        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);
        }
Example #5
0
        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);
        }