Esempio n. 1
0
 public void Init(IDynamicObj obj, object param = null)
 {
     this.obj   = obj;
     state      = DCState.Init;
     key        = -1;
     this.param = param;
 }
Esempio n. 2
0
        private void OnAdd(IDynamicObj obj, object param)
        {
            BaseViewController controller = obj as BaseViewController;
            ViewParam          p          = param as ViewParam;

            _views.Add(controller.viewName, controller);
            controller.Open(p);
        }
Esempio n. 3
0
        private void OnUpdate(IDynamicObj obj, object param)
        {
            BaseViewController controller = obj as BaseViewController;

            if (controller.isActive)
            {
                controller.OnUpdate();
            }
        }
Esempio n. 4
0
        private void OnRemove(IDynamicObj obj, object param)
        {
            BaseViewController controller = obj as BaseViewController;

            if (controller != null)
            {
                controller.Destroy();
            }
            _views.Remove(name);
        }
Esempio n. 5
0
 public bool Add(IDynamicObj obj, object param = null)
 {
     if (AddObj(obj, param))
     {
         if (OnAdd != null)
         {
             OnAdd(obj, param);
         }
         return(true);
     }
     return(false);
 }
Esempio n. 6
0
        private void OnRemoveRemote(IDynamicObj obj, object param)
        {
            Remote remote = (Remote)obj;

            m_dicRemote.Remove(remote.id);
            List <Remote> lst;

            if (m_dicCampRemotes.TryGetValue(remote.campId, out lst))
            {
                lst.Remove(remote);
            }
            BehaviourPool <Remote> .Instance.SaveObject(remote);
        }
Esempio n. 7
0
        private void OnAddRemote(IDynamicObj obj, object param)
        {
            Remote        remote = (Remote)obj;
            List <Remote> lst;

            m_dicCampRemotes.TryGetValue(remote.campId, out lst);
            if (lst == null)
            {
                lst = new List <Remote>();
                m_dicCampRemotes.Add(remote.campId, lst);
            }
            m_dicRemote.Add(remote.id, remote);
        }
Esempio n. 8
0
        private void OnAddUnit(IDynamicObj obj, object param)
        {
            Unit unit = (Unit)obj;

            m_dicUnit.Add(unit.id, unit);
            List <Unit> lst;

            m_dicCampUnits.TryGetValue(unit.campId, out lst);
            if (lst == null)
            {
                lst = new List <Unit>();
                m_dicCampUnits.Add(unit.campId, lst);
            }
            lst.Add(unit);
            GlobalEventDispatcher.Instance.Dispatch(GameEvent.UnitAdd, unit);
        }
Esempio n. 9
0
 public bool Remove(IDynamicObj obj)
 {
     if (RemoveObj(obj))
     {
         if (OnRemove != null)
         {
             OnRemove(obj, null);
         }
         return(true);
     }
     else
     {
         CLog.LogError("移除" + obj.key + "失败!");
     }
     return(false);
 }
Esempio n. 10
0
        private void OnRemoveUnit(IDynamicObj obj, object param)
        {
            Unit unit = (Unit)obj;

            m_dicUnit.Remove(unit.id);
            List <Unit> lst;

            if (m_dicCampUnits.TryGetValue(unit.campId, out lst))
            {
                lst.Remove(unit);
            }
            switch (unit.unitType)
            {
            case UnitType.AirShip:
                BehaviourPool <UnitAirShip> .Instance.SaveObject((UnitAirShip)unit);

                break;
            }
            GlobalEventDispatcher.Instance.Dispatch(GameEvent.UnitRemove, unit);
        }
Esempio n. 11
0
        protected bool AddObj(IDynamicObj obj, object param = null)
        {
            if (Has(obj.key))
            {
                return(false);
            }
            DCEntity entity = m_cEntityPool.GetObject();

            entity.Init(obj, param);
            if (m_bIsUpdating)
            {
                entity.state = DCState.ToAdd;
                m_lstOperateEntity.Add(entity);
            }
            else
            {
                entity.state = DCState.ToDoAction;
                m_lstEntity.Add(entity);
            }
            return(true);
        }
Esempio n. 12
0
 protected bool RemoveObj(IDynamicObj obj)
 {
     if (!Has(obj.key))
     {
         return(false);
     }
     if (m_bIsUpdating)
     {
         DCEntity entity = m_cEntityPool.GetObject();
         entity.Init(obj);
         entity.state = DCState.ToRemove;
         m_lstOperateEntity.Add(entity);
         for (int i = 0; i < m_lstEntity.Count; i++)
         {
             if (m_lstEntity[i].Key == obj.key)
             {
                 m_lstEntity[i].state = DCState.ToRemove;
             }
         }
     }
     else
     {
         for (int i = m_lstEntity.Count - 1; i > -1; i--)
         {
             if (m_lstEntity[i].Key == obj.key)
             {
                 var entity = m_lstEntity[i];
                 m_lstEntity.RemoveAt(i);
                 var entityObj = entity.obj;
                 m_cEntityPool.SaveObject(entity);
                 break;
             }
         }
     }
     return(true);
 }
Esempio n. 13
0
        private void OnUpdateRemote(IDynamicObj obj, object param)
        {
            Remote remote = (Remote)obj;

            remote.OnUpdate((FP)param);
        }
Esempio n. 14
0
        private void OnUpdateUnit(IDynamicObj obj, object param)
        {
            Unit unit = (Unit)obj;

            unit.OnUpdate((FP)param);
        }