示例#1
0
        private void OnClientAdded(RailServerPeer peer)
        {
            if (IsArbiter(peer))
            {
                m_Arbiter = peer;
            }

            MobileParty party = GetPlayerParty(peer);

            if (party == null || !m_Parties.ContainsKey(party))
            {
                Logger.Warn("Player party not found.");
                return;
            }

            peer.GrantControl(m_Parties[party]);
            Logger.Info($"{party} control granted to {peer}.");
        }
示例#2
0
        private void OnClientAdded(RailServerPeer peer)
        {
            if (IsArbiter(peer))
            {
                m_Arbiter = peer;
            }

            MobileParty party = GetPlayerParty(peer);

            lock (m_Lock)
            {
                if (party == null || !m_Parties.ContainsKey(party))
                {
                    Logger.Warn("Player party not found.");
                }

                if (m_Parties[party].Controller == null)
                {
                    // TODO: Currently only the hosting player gets to control the main party. In a future version, every player gets their own party.
                    peer.GrantControl(m_Parties[party]);
                    Logger.Info("{party} control granted to {peer}.", party, peer);
                }
            }
        }