public void AddAuthorityChange(AuthorityChangeReceived authorityChange) { if (authorityChange.Authority == Authority.NotAuthoritative) { if (authorityLostTemporary.Remove(authorityChange.EntityId) || !authorityGained.Contains(authorityChange.EntityId)) { authorityLost.Add(authorityChange.EntityId); } } else if (authorityChange.Authority == Authority.Authoritative) { if (authorityLost.Remove(authorityChange.EntityId)) { authorityLostTemporary.Add(authorityChange.EntityId); } else { authorityGained.Add(authorityChange.EntityId); } } authorityChanges.InsertSorted(authorityChange, authorityComparer); }
public void AddUpdate(ComponentUpdateReceived <TUpdate> update) { EntitiesUpdated.Add(update.EntityId); updateStorage.InsertSorted(update, updateComparer); }