示例#1
0
    public void Unregister(AnyObject objectToUpdate, params EUpdatePass[] updatePassList)
    {
        ObjectToUpdate entryToRemove = new ObjectToUpdate(objectToUpdate);

        foreach (EUpdatePass pass in updatePassList)
        {
            Assert.IsFalse(m_UpdateGuardPass == pass, "Cannot register an object to update while updating !");
            Assert.IsTrue(pass != EUpdatePass.Count, "Invalid Update Pass : " + pass.ToString());
            m_ObjectListPerPass[(int)pass].Remove(entryToRemove);
        }
    }
示例#2
0
    public void Register(AnyObject objectToUpdate, bool isPausable, params EUpdatePass[] updatePassList)
    {
        ObjectToUpdate newEntry = new ObjectToUpdate(objectToUpdate, isPausable);

        foreach (EUpdatePass pass in updatePassList)
        {
            Assert.IsFalse(m_UpdateGuardPass == pass, "Cannot register an object to update while updating !");
            Assert.IsTrue(pass != EUpdatePass.Count, "Invalid Update Pass : " + pass.ToString());
            if (!m_ObjectListPerPass[(int)pass].Contains(newEntry))
            {
                m_ObjectListPerPass[(int)pass].Add(newEntry);
            }
        }
    }