public void RemoveEntity(int id) { m_entities[id].MarkForRemoval(); m_entitiesChangedFlags |= EntitiesChangedFlags.Removed; m_dirtyEntities.Add(id); FightLogicExecutor.NotifyEntityRemoved(fightId); }
public bool TryRemoveEntity(int id) { if (m_entities.TryGetValue(id, out EntityStatus value)) { value.MarkForRemoval(); m_entitiesChangedFlags |= EntitiesChangedFlags.Removed; m_dirtyEntities.Add(id); FightLogicExecutor.NotifyEntityRemoved(fightId); return(true); } return(false); }
private void OnFightEventsEvent(FightEventsEvent obj) { m_fightEventBuffer.Clear(); RepeatedField <FightEventData> events = obj.Events; int count = events.get_Count(); for (int i = 0; i < count; i++) { FightEventData proto = events.get_Item(i); m_fightEventBuffer.Add(FightEventFactory.FromProto(proto)); } FightLogicExecutor.ProcessFightEvents(obj.FightId, m_fightEventBuffer); }