private void ClientConnected(ulong id) { if (IsServer) { NetworkClientID clientID = ServerConnection.PlayerConnected(id); clients.Add(clientID.ConnectionID, clientID); } }
public void SendToCell(GridCell cell, NetworkMessage message, NetworkClientID excludeClient = null) { foreach (NetworkEntity ne in cell.Listeners) { if (excludeClient == null || excludeClient != ne.clientID) { Send(ne.clientID.ConnectionID, message); } } }
public void SendEntity(NetworkClientID clientID, NetworkEntity entity) { NetworkMessage msg = new NetworkMessage(NetworkMessageType.Entity_UpdateTransform); msg.Write(1); msg.Write(entity.networkable.ID); msg.Write(entity.gridCell.Index); msg.Write(entity.Path); msg.Write(entity.transform.position); msg.Write(entity.transform.rotation); Send(clientID.ConnectionID, msg); }
public void SendEntities(NetworkClientID clientID, HashSet <NetworkEntity> entities) { if (entities == null || entities.Count == 0) { return; } if (clientID == null) { return; } foreach (NetworkEntity ent in entities) { SendEntity(clientID, ent); } }
public static NetworkClientID PlayerConnected(ulong connectionID) { GameObject obj = GameObject.Instantiate(Resources.Load("Cube")) as GameObject; NetworkEntity ent = obj.GetComponent <NetworkEntity>(); ent.locallyControlled = false; uint netID = EntityManager.Register(ent); NetworkClientID netClientID = new NetworkClientID(connectionID, netID); ent.clientID = netClientID; obj.transform.position = Vector3.zero; NetworkMessage msg = new NetworkMessage(NetworkMessageType.Entity_LocalPlayerCreated); msg.Write(netClientID.NetID); msg.Write(Grid.Instance.GetCell(obj.transform.position).Index); msg.Write(ent.Path); NetworkManager.Instance.Send(netClientID.ConnectionID, msg); return(netClientID); }