Exemple #1
0
    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
        });
    }
Exemple #2
0
        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;
            }
        }