示例#1
0
 // 从延迟添加列表删除一个 Item
 protected void delFromDelayAddList(IDelayHandleItem delayObject)
 {
     foreach (var item in m_deferredAddQueue.list)
     {
         if (UtilApi.isAddressEqual(item.m_delayObject, delayObject))
         {
             m_deferredAddQueue.Remove(item);
         }
     }
 }
示例#2
0
 override public void addObject(IDelayHandleItem entity, float priority = 0.0f)
 {
     if (bInDepth())
     {
         base.addObject(entity);
     }
     else
     {
         m_sceneEntityList.Add(entity as SceneEntityBase);
     }
 }
示例#3
0
 override public void addObject(IDelayHandleItem delayObject, float priority = 0.0f)
 {
     if (bInDepth())
     {
         base.addObject(delayObject);
     }
     else
     {
         m_sceneEntityList.Add(delayObject as ImageSpriteAni);
     }
 }
示例#4
0
 override public void addObject(IDelayHandleItem entity, float priority = 0.0f)
 {
     if (bInDepth())
     {
         base.addObject(entity);
     }
     else
     {
         m_sceneEntityList.Add(entity as SceneEntityBase);
     }
 }
示例#5
0
 override public void delObject(IDelayHandleItem delayObject)
 {
     if (bInDepth())
     {
         base.delObject(delayObject);
     }
     else
     {
         m_sceneEntityList.Remove(delayObject as ImageSpriteAni);
     }
 }
示例#6
0
 override public void delObject(IDelayHandleItem entity)
 {
     if (bInDepth())
     {
         base.delObject(entity);
     }
     else
     {
         m_sceneEntityList.Remove(entity as SceneEntityBase);
     }
 }
示例#7
0
 override public void addObject(IDelayHandleItem delayObject, float priority = 0.0f)
 {
     if (bInDepth())
     {
         base.addObject(delayObject);
     }
     else
     {
         m_sceneEntityList.Add(delayObject as ImageSpriteAni);
     }
 }
示例#8
0
 override public void delObject(IDelayHandleItem delayObject)
 {
     if (bInDepth())
     {
         base.delObject(delayObject);
     }
     else
     {
         m_sceneEntityList.Remove(delayObject as ImageSpriteAni);
     }
 }
示例#9
0
 override public void delObject(IDelayHandleItem entity)
 {
     if (bInDepth())
     {
         base.delObject(entity);
     }
     else
     {
         m_sceneEntityList.Remove(entity as SceneEntityBase);
     }
 }
示例#10
0
        // 只有没有添加到列表中的才能添加
        protected bool existDelList(IDelayHandleItem delayObject)
        {
            foreach (var item in m_deferredDelQueue.list)
            {
                if (UtilApi.isAddressEqual(item.m_delayObject, delayObject))
                {
                    return true;
                }
            }

            return false;
        }
示例#11
0
 override public void addObject(IDelayHandleItem delayObject, float priority = 0.0f)
 {
     if (bInDepth())
     {
         base.addObject(delayObject, priority);
     }
     else
     {
         // 这个判断说明相同的函数只能加一次,但是如果不同资源使用相同的回调函数就会有问题,但是这个判断可以保证只添加一次函数,值得,因此不同资源需要不同回调函数
         m_handleList.Add(delayObject as EventDispatchFunctionObject);
     }
 }
示例#12
0
        // 只有没有添加到列表中的才能添加
        protected bool existDelList(IDelayHandleItem delayObject)
        {
            foreach (var item in m_deferredDelQueue.list)
            {
                if (UtilApi.isAddressEqual(item.m_delayObject, delayObject))
                {
                    return(true);
                }
            }

            return(false);
        }
示例#13
0
 override public void addObject(IDelayHandleItem delayObject, float priority = 0.0f)
 {
     if (bInDepth())
     {
         base.addObject(delayObject, priority);
     }
     else
     {
         // 这个判断说明相同的函数只能加一次,但是如果不同资源使用相同的回调函数就会有问题,但是这个判断可以保证只添加一次函数,值得,因此不同资源需要不同回调函数
         m_handleList.Add(delayObject as EventDispatchFunctionObject);
     }
 }
示例#14
0
 override public void delObject(IDelayHandleItem delayObject)
 {
     if (bInDepth())
     {
         base.delObject(delayObject);
     }
     else
     {
         if (!m_handleList.Remove(delayObject as EventDispatchFunctionObject))
         {
             Ctx.m_instance.m_logSys.log("Event Handle not exist");
         }
     }
 }
示例#15
0
 public override void addObject(IDelayHandleItem delayObject, float priority = 0.0f)
 {
     // 检查当前是否已经在队列中
     if (m_timerLists.IndexOf(delayObject as TimerItemBase) == -1)
     {
         if (bInDepth())
         {
             base.addObject(delayObject, priority);
         }
         else
         {
             m_timerLists.Add(delayObject as TimerItemBase);
         }
     }
 }
示例#16
0
 public override void addObject(IDelayHandleItem delayObject, float priority = 0.0f)
 {
     // 检查当前是否已经在队列中
     if (m_timerLists.IndexOf(delayObject as TimerItemBase) == -1)
     {
         if (bInDepth())
         {
             base.addObject(delayObject, priority);
         }
         else
         {
             m_timerLists.Add(delayObject as TimerItemBase);
         }
     }
 }
示例#17
0
 public override void delObject(IDelayHandleItem delayObject)
 {
     if (bInDepth())
     {
         base.delObject(delayObject);
     }
     else
     {
         foreach (TickProcessObject item in m_tickLst)
         {
             if (UtilApi.isAddressEqual(item.m_tickObject, delayObject))
             {
                 m_tickLst.Remove(item);
                 break;
             }
         }
     }
 }
示例#18
0
 public override void delObject(IDelayHandleItem delayObject)
 {
     if (bInDepth())
     {
         base.delObject(delayObject);
     }
     else
     {
         foreach (TickProcessObject item in m_tickLst)
         {
             if (UtilApi.isAddressEqual(item.m_tickObject, delayObject))
             {
                 m_tickLst.Remove(item);
                 break;
             }
         }
     }
 }
示例#19
0
        public override void addObject(IDelayHandleItem delayObject, float priority = 0.0f)
        {
            if (bInDepth())
            {
                base.addObject(delayObject, priority);
            }
            else
            {
                int position = -1;
                for (int i = 0; i < m_tickLst.Count; i++)
                {
                    if (m_tickLst[i] == null)
                    {
                        continue;
                    }

                    if (m_tickLst[i].m_tickObject == delayObject)
                    {
                        return;
                    }

                    if (m_tickLst[i].m_priority < priority)
                    {
                        position = i;
                        break;
                    }
                }

                TickProcessObject processObject = new TickProcessObject();
                processObject.m_tickObject = delayObject as ITickedObject;
                processObject.m_priority   = priority;

                if (position < 0 || position >= m_tickLst.Count)
                {
                    m_tickLst.Add(processObject);
                }
                else
                {
                    m_tickLst.Insert(position, processObject);
                }
            }
        }
示例#20
0
        virtual public void delObject(IDelayHandleItem delayObject)
        {
            if (m_loopDepth > 0)
            {
                if (!existDelList(delayObject))
                {
                    if (existAddList(delayObject))    // 如果已经添加到删除列表中
                    {
                        delFromDelayAddList(delayObject);
                    }

                    delayObject.setClientDispose();

                    DelayHandleObject delayHandleObject = new DelayHandleObject();
                    delayHandleObject.m_delayParam = new DelayDelParam();
                    m_deferredDelQueue.Add(delayHandleObject);
                    delayHandleObject.m_delayObject = delayObject;
                }
            }
        }
示例#21
0
        virtual public void addObject(IDelayHandleItem delayObject, float priority = 0.0f)
        {
            if (m_loopDepth > 0)
            {
                if (!existAddList(delayObject))       // 如果添加列表中没有
                {
                    if (existDelList(delayObject))    // 如果已经添加到删除列表中
                    {
                        delFromDelayDelList(delayObject);
                    }

                    DelayHandleObject delayHandleObject = new DelayHandleObject();
                    delayHandleObject.m_delayParam = new DelayAddParam();
                    m_deferredAddQueue.Add(delayHandleObject);

                    delayHandleObject.m_delayObject = delayObject;
                    (delayHandleObject.m_delayParam as DelayAddParam).m_priority = priority;
                }
            }
        }
示例#22
0
        virtual public void delObject(IDelayHandleItem delayObject)
        {
            if (m_loopDepth > 0)
            {
                if (!existDelList(delayObject))
                {
                    if (existAddList(delayObject))    // 如果已经添加到删除列表中
                    {
                        delFromDelayAddList(delayObject);
                    }

                    delayObject.setClientDispose();

                    DelayHandleObject delayHandleObject = new DelayHandleObject();
                    delayHandleObject.m_delayParam = new DelayDelParam();
                    m_deferredDelQueue.Add(delayHandleObject);
                    delayHandleObject.m_delayObject = delayObject;
                }
            }
        }
示例#23
0
        virtual public void addObject(IDelayHandleItem delayObject, float priority = 0.0f)
        {
            if (m_loopDepth > 0)
            {
                if (!existAddList(delayObject))        // 如果添加列表中没有
                {
                    if (existDelList(delayObject))    // 如果已经添加到删除列表中
                    {
                        delFromDelayDelList(delayObject);
                    }

                    DelayHandleObject delayHandleObject = new DelayHandleObject();
                    delayHandleObject.m_delayParam = new DelayAddParam();
                    m_deferredAddQueue.Add(delayHandleObject);

                    delayHandleObject.m_delayObject = delayObject;
                    (delayHandleObject.m_delayParam as DelayAddParam).m_priority = priority;
                }
            }
        }
示例#24
0
        public override void addObject(IDelayHandleItem delayObject, float priority = 0.0f)
        {
            if (bInDepth())
            {
                base.addObject(delayObject, priority);
            }
            else
            {
                int position = -1;
                for (int i = 0; i < m_tickLst.Count; i++)
                {
                    if (m_tickLst[i] == null)
                        continue;

                    if (m_tickLst[i].m_tickObject == delayObject)
                    {
                        return;
                    }

                    if (m_tickLst[i].m_priority < priority)
                    {
                        position = i;
                        break;
                    }
                }

                TickProcessObject processObject = new TickProcessObject();
                processObject.m_tickObject = delayObject as ITickedObject;
                processObject.m_priority = priority;

                if (position < 0 || position >= m_tickLst.Count)
                {
                    m_tickLst.Add(processObject);
                }
                else
                {
                    m_tickLst.Insert(position, processObject);
                }
            }
        }
示例#25
0
 public override void delObject(IDelayHandleItem delayObject)
 {
     // 检查当前是否在队列中
     if (m_timerLists.IndexOf(delayObject as TimerItemBase) != -1)
     {
         (delayObject as TimerItemBase).m_disposed = true;
         if (bInDepth())
         {
             base.delObject(delayObject);
         }
         else
         {
             foreach (TimerItemBase item in m_timerLists)
             {
                 if (UtilApi.isAddressEqual(item, delayObject))
                 {
                     m_timerLists.Remove(item);
                     break;
                 }
             }
         }
     }
 }
示例#26
0
 public override void delObject(IDelayHandleItem delayObject)
 {
     // 检查当前是否在队列中
     if (m_timerLists.IndexOf(delayObject as TimerItemBase) != -1)
     {
         (delayObject as TimerItemBase).m_disposed = true;
         if (bInDepth())
         {
             base.delObject(delayObject);
         }
         else
         {
             foreach (TimerItemBase item in m_timerLists)
             {
                 if (UtilApi.isAddressEqual(item, delayObject))
                 {
                     m_timerLists.Remove(item);
                     break;
                 }
             }
         }
     }
 }
示例#27
0
 // 从延迟添加列表删除一个 Item
 protected void delFromDelayAddList(IDelayHandleItem delayObject)
 {
     foreach (var item in m_deferredAddQueue.list)
     {
         if (UtilApi.isAddressEqual(item.m_delayObject, delayObject))
         {
             m_deferredAddQueue.Remove(item);
         }
     }
 }
示例#28
0
 override public void delObject(IDelayHandleItem delayObject)
 {
     if (bInDepth())
     {
         base.delObject(delayObject);
     }
     else
     {
         if (!m_handleList.Remove(delayObject as EventDispatchFunctionObject))
         {
             Ctx.m_instance.m_logSys.log("Event Handle not exist");
         }
     }
 }