public void OnPeerConnected(NetPeer peer) { Debug.Log("[SERVER] We have new peer " + peer.GetHashCode()); clientList.Add(peer); var entity = PostUpdateCommands.CreateEntity(); PostUpdateCommands.AddComponent(entity, new CreatePlayer { Id = (int)peer.Tag, IsServer = true }); }
private static void HandleMessage(NetMessageType type, NetConnection source, NetBuffer buffer) { switch (type) { case NetMessageType.StatusChanged: if (source.LocalHailData == null) { source.LocalHailData = Encoding.ASCII.GetBytes("Hi; I'm " + s_peer.GetHashCode()); } if (source.RemoteHailData != null) { WriteToConsole("New status: " + source.Status + " - remote hail is: " + Encoding.ASCII.GetString(source.RemoteHailData)); } else { WriteToConsole("New status: " + source.Status + " - remote hail is null"); } break; case NetMessageType.DebugMessage: case NetMessageType.VerboseDebugMessage: case NetMessageType.BadMessageReceived: case NetMessageType.ConnectionRejected: WriteToConsole(buffer.ReadString()); break; case NetMessageType.Data: WriteToConsole(source.RemoteEndpoint + " writes: " + buffer.ReadString()); break; case NetMessageType.ServerDiscovered: // discovered another peer! s_peer.Connect(buffer.ReadIPEndPoint(), Encoding.ASCII.GetBytes("Hi; I'm " + s_peer.GetHashCode())); break; default: // unhandled break; } }