private void OnPartyAdded(MobileParty party) { MobilePartyEntityServer entity = m_Room.AddNewEntity <MobilePartyEntityServer>( e => e.State.PartyId = party.Party.Index); m_Parties.Add(party, entity); }
private void InitRoom(RailServerRoom room) { room.AddNewEntity <WorldEntityServer>(); foreach (MobileParty party in Campaign.Current.MobileParties) { MobilePartyEntityServer entity = room.AddNewEntity <MobilePartyEntityServer>( e => e.State.PartyId = party.Party.Index); m_Parties.Add(party, entity); } CampaignEvents.OnPartyDisbandedEvent.AddNonSerializedListener(this, OnPartyRemoved); CampaignEvents.OnLordPartySpawnedEvent.AddNonSerializedListener(this, OnPartyAdded); }
private void InitRoom(RailServerRoom room) { room.AddNewEntity <WorldEntityServer>(); // Parties foreach (MobileParty party in Campaign.Current.MobileParties) { if (party.Party.Index == MobilePartyState.InvalidPartyId) { throw new Exception("Invalid party id!"); } MobilePartyEntityServer entity = room.AddNewEntity <MobilePartyEntityServer>( e => e.State.PartyId = party.Party.Index); m_Parties.Add(party, entity); } CampaignEvents.OnPartyDisbandedEvent.AddNonSerializedListener(this, OnPartyRemoved); CampaignEvents.OnLordPartySpawnedEvent.AddNonSerializedListener(this, OnPartyAdded); // Settlements }
private void AddPendingParties(Tick tick) { List <MobileParty> toBeAdded; lock (m_Lock) { toBeAdded = new List <MobileParty>(m_PartiesToAdd); m_PartiesToAdd.Clear(); } foreach (MobileParty party in toBeAdded) { MobilePartyEntityServer entity = m_Room.AddNewEntity <MobilePartyEntityServer>( e => e.State.PartyId = party.Party.Index); Logger.Debug("Added new entity {}.", entity); lock (m_Lock) { m_Parties.Add(party, entity); } } }