Beispiel #1
0
    void OnData(DataStreamReader stream)
    {
        NativeArray <byte> bytes = new NativeArray <byte>(stream.Length, Allocator.Temp);

        stream.ReadBytes(bytes);
        string        recMsg = Encoding.ASCII.GetString(bytes.ToArray());
        NetworkHeader header = JsonUtility.FromJson <NetworkHeader>(recMsg);

        switch (header.cmd)
        {
        case Commands.HANDSHAKE:
            HandshakeMsg hsMsg = JsonUtility.FromJson <HandshakeMsg>(recMsg);
            Debug.Log("Handshake message received!");
            break;

        case Commands.PLAYER_UPDATE:
            PlayerUpdateMsg puMsg = JsonUtility.FromJson <PlayerUpdateMsg>(recMsg);
            Debug.Log("Player update message received!");
            break;

        case Commands.SERVER_UPDATE:
            ServerUpdateMsg suMsg = JsonUtility.FromJson <ServerUpdateMsg>(recMsg);
            updatePlayerPos(suMsg);
            //Debug.Log("Server update message received!");
            break;

        case Commands.PLAYER_JOINED:
            ServerNewPlyrMsg newPlyrMsg = JsonUtility.FromJson <ServerNewPlyrMsg>(recMsg);
            newPlayerJoined(newPlyrMsg);
            Debug.Log("Player joined message received!");
            break;

        case Commands.PLAYER_LEFT:
            ServerPlyrLeftMsg plyrLeftMsg = JsonUtility.FromJson <ServerPlyrLeftMsg>(recMsg);
            playerDisconnect(plyrLeftMsg);
            Debug.Log("Player Left message received!");
            break;

        default:
            Debug.Log("Unrecognized message received!");
            break;
        }
    }
Beispiel #2
0
    void OnConnect(NetworkConnection c)
    {
        NetworkObjects.NetworkPlayer temp = new NetworkObjects.NetworkPlayer();
        temp.id            = c.InternalId.ToString();
        temp.timeOfLastMsg = Time.time;

        if (m_Players.Count > 0)
        {
            for (int i = 0; i < m_Players.Count; i++)
            {
                ServerNewPlyrMsg m = new ServerNewPlyrMsg();
                m.player = temp;
                SendToClient(JsonUtility.ToJson(m), m_Connections[i]);
            }
        }

        m_Connections.Add(c);
        m_Players.Add(temp);
        Debug.Log("Accepted a connection");
    }
Beispiel #3
0
 void newPlayerJoined(ServerNewPlyrMsg newPlyrMsg)
 {
     players.Add(newPlyrMsg.player.id, (GameObject)Instantiate(playerCube));
     Debug.Log("New player added!");
 }