public void RequestPlayersList() { NetworkMessagePlayersList msg = new NetworkMessagePlayersList(); msg.isServerResponse = false; Client.Send(4000, msg); }
private void OnPlayerListRequest(NetworkMessage netMsg) { NetworkMessagePlayersList msg = netMsg.ReadMessage <NetworkMessagePlayersList>(); if (isServer && msg.isServerResponse == false) { msg.isServerResponse = true; List <uint> plist = new List <uint>(); for (int i = 0; i < TheNetworkManager.ConnectedPlayers.Count; i++) { GameObject go = TheNetworkManager.ConnectedPlayers[i]; if (go != null) { uint player_net_id = go .GetComponent <NetworkIdentity>() .netId.Value; plist.Add(player_net_id); } } msg.NetIDs = plist.ToArray(); NetworkServer.SendToClient(netMsg.conn.connectionId, 4000, msg); //NetworkServer.SendToAll(4000, msg); //NetworkInstanceId netID = new NetworkInstanceId(msg.NetID); //GameObject go = NetworkServer.FindLocalObject(netID); //if (go != null) //{ //} } else if (Client.isConnected) { List <GameObject> players = new List <GameObject>(); for (int i = 0; i < msg.NetIDs.Length; i++) { NetworkInstanceId netID = new NetworkInstanceId(msg.NetIDs[i]); GameObject go = ClientScene.FindLocalObject(netID); if (go != null) { players.Add(go); } } EventMessenger.Instance.Raise(new EventReceivedPlayersList(players)); } }