コード例 #1
0
        private void OnPlayerUpdateRequest(NetworkMessage netMsg)
        {
            NetworkMessagePlayerUpdate msg = netMsg.ReadMessage <NetworkMessagePlayerUpdate>();

            if (isServer && msg.isServerResponse == false)
            {
                msg.isServerResponse = true;

                NetworkInstanceId netID = new NetworkInstanceId(msg.PlayerNetID);
                GameObject        go    = NetworkServer.FindLocalObject(netID);
                if (go != null)
                {
                    PlayerInfo pinfo = go.GetComponent <PlayerInfo>();
                    msg.deaths = pinfo.ThePlayerData.playerDeaths;
                    msg.kills  = pinfo.ThePlayerData.playerKills;
                    NetworkServer.SendToAll(4001, msg);
                }
            }
            else if (Client.isConnected)
            {
                NetworkInstanceId netID = new NetworkInstanceId(msg.PlayerNetID);
                GameObject        go    = ClientScene.FindLocalObject(netID);
                if (go != null)
                {
                    PlayerInfo pinfo = go.GetComponent <PlayerInfo>();
                    pinfo.ThePlayerData.playerKills  = msg.kills;
                    pinfo.ThePlayerData.playerDeaths = msg.deaths;
                }
            }
        }
コード例 #2
0
        public void RequestPlayerUpdate(PlayerInfo pinfo, uint playerNetID)
        {
            NetworkMessagePlayerUpdate msg = new NetworkMessagePlayerUpdate();

            msg.isServerResponse = false;
            msg.PlayerNetID      = playerNetID;
            msg.kills            = pinfo.ThePlayerData.playerKills;
            msg.deaths           = pinfo.ThePlayerData.playerDeaths;

            Client.Send(4001, msg);
        }