Example #1
0
        private void OnPartyAdded(MobileParty party)
        {
            MobilePartyEntityServer entity =
                m_Room.AddNewEntity <MobilePartyEntityServer>(
                    e => e.State.PartyId = party.Party.Index);

            m_Parties.Add(party, entity);
        }
Example #2
0
        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);
        }
Example #3
0
        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
        }
Example #4
0
        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);
                }
            }
        }