Exemplo n.º 1
0
 public void AddTickNode(ITickObject node)
 {
     if (!mTickItemList.Contains(node))
     {
         mTickItemList.Add(node);
     }
 }
Exemplo n.º 2
0
 // Không thể gọi trong Constructor của tickobject.
 // Nếu chưa được Init thì active luôn là false.
 public static bool IsActive(ITickObject tickObject)
 {
     if (m_Map.ContainsKey(tickObject))
     {
         return(m_Map[tickObject].Active && m_Map[tickObject].Initialized);
     }
     return(false);
 }
Exemplo n.º 3
0
 public static void Spawn(ITickObject tickObject)
 {
     Debug.Assert(m_Map.ContainsKey(tickObject) && !m_Map[tickObject].Started, "Invalid tick object.");
     if (m_Map[tickObject].Active)
     {
         m_Map[tickObject].Active = false;
         SetActive(tickObject, true);
     }
 }
Exemplo n.º 4
0
 public static void RemoveTickObject(ITickObject tickObject)
 {
     if (tickObject == null)
     {
         Log.Warning("Warning: Can not remove the null object from the tick object list");
         return;
     }
     if (!_instance._tickObjects.Remove(tickObject))
     {
         Log.Warning("Warning: Remove tick object error. May be the tick object is not in list.");
     }
 }
Exemplo n.º 5
0
 public static void RemoveTickObject(ITickObject tickObject)
 {
     if (tickObject == null)
     {
         Debug.LogError("Warning: Can not remove the null object from the tick object list");
         return;
     }
     if (!_instance._tickObjects.Remove(tickObject))
     {
         Debug.LogError("Warning: Remove tick object error. May be the tick object is not in list.");
     }
 }
Exemplo n.º 6
0
 public static void AddTickObject(ITickObject tickObject)
 {
     if (tickObject == null)
     {
         Log.Warning("Warning: Don't add the null object to tick object list");
         return;
     }
     if (_instance._tickObjects.Exists(t => t == tickObject))
     {
         Log.Warning("Warning: Don't add the same tick object twice.");
         return;
     }
     _instance._tickObjects.Add(tickObject);
 }
Exemplo n.º 7
0
 public static void AddTickObject(ITickObject tickObject)
 {
     if (tickObject == null)
     {
         Debug.LogError("Warning: Don't add the null object to tick object list");
         return;
     }
     if (_instance._tickObjects.Exists(t => t == tickObject))
     {
         Debug.LogError("Warning: Don't add the same tick object twice.");
         return;
     }
     _instance._tickObjects.Add(tickObject);
 }
Exemplo n.º 8
0
        public static ITickObject Create(string typeName)
        {
            Type   type = Type.GetType(typeName);
            object obj  = Activator.CreateInstance(type);

            ITickObject tickObject = obj as ITickObject;

            Debug.Assert(tickObject != null, "Cannot create tick object instance.");

            m_Map.Add(tickObject, new TickInfo());

            tickObject.OnInit();
            m_Map[tickObject].Initialized = true;

            return(tickObject);
        }
Exemplo n.º 9
0
        // Nếu tick object đã được initialize thì sẽ gọi các hàm Enable() và Disable().
        // Không thể gọi trong Constructor của tick object.
        public static void SetActive(ITickObject tickObject, bool active)
        {
            Debug.Assert(m_Map.ContainsKey(tickObject), "Invalid tick object.");
            if (m_Map[tickObject].Initialized)
            {
                if (m_Map[tickObject].Active && !active)
                {
                    m_Map[tickObject].Active = false;

                    m_TickList.Remove(tickObject);
                    m_ModifyTickListFlag = true;

                    tickObject.OnDisable();
                }
                else
                {
                    if (!m_KillList.Contains(tickObject) && !m_Map[tickObject].Active && active)
                    {
                        m_Map[tickObject].Active = true;

                        m_TickList.Add(tickObject, m_Map[tickObject]);
                        m_ModifyTickListFlag = true;

                        tickObject.OnEnable();
                        if (!m_Map[tickObject].Started)
                        {
                            if (m_Map[tickObject].Active)
                            {
                                m_Map[tickObject].Started = true;
                                tickObject.OnStart();
                            }
                        }
                    }
                }
            }
            else
            {
                if (m_KillList.Contains(tickObject))
                {
                    m_Map[tickObject].Active = false;
                }
                else
                {
                    m_Map[tickObject].Active = active;
                }
            }
        }
Exemplo n.º 10
0
 public void Remove(ITickObject tickObject)
 {
     mTickObjects.Remove(tickObject);
 }
Exemplo n.º 11
0
 public void Add(ITickObject tickObject)
 {
     mTickObjects.Add(tickObject);
 }
Exemplo n.º 12
0
 // Không thể Destroy tick object trong Constructor của nó.
 public static void Destroy(ITickObject tickObject)
 {
     Debug.Assert(m_Map.ContainsKey(tickObject), "Invalid tick object.");
     m_KillList.Add(tickObject);
     SetActive(tickObject, false);
 }
Exemplo n.º 13
0
 public void RemoveTickNode(ITickObject node)
 {
     mTickItemList.Remove(node);
 }