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); } }
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); } } }