Esempio n. 1
0
    void Start()
    {
        p0Data = new Player0Data();
        p1Data = new Player1Data();

        connectionHintTxtObj = connectionHint.GetComponent <Text>();
        connectionHintText   = "Server connecting...";

        DoOpen();
    }
Esempio n. 2
0
    void DoOpen()
    {
        if (socket == null)
        {
            socket = IO.Socket(serverURL);

            socket.On(Socket.EVENT_CONNECT, () => {
                playerConnected = true;

                connectionHintText = "Waiting for another player...";
            });

            socket.On(Socket.EVENT_DISCONNECT, () => {
                playerConnected = false;

                connectionHintText = "Server disconnected.";
            });

            socket.On(GetAnotherPlayerInterface(), (data) => {
                if (!anotherPlayerConnected)
                {
                    anotherPlayerConnected = true;

                    connectionHintText = "";
                }

                string str = data.ToString();

                if (LevelManage.currentPlayerId == 0)
                {
                    p1Data = JsonConvert.DeserializeObject <Player1Data>(str);
                }
                else if (LevelManage.currentPlayerId == 1)
                {
                    p0Data = JsonConvert.DeserializeObject <Player0Data>(str);
                }

                if (!p1Data.connected || !p0Data.connected)
                {
                    anotherPlayerConnected = false;
                    connectionHintText     = "Lose the connection of the other player.";
                }
            });
        }
    }
Esempio n. 3
0
    private void UpdateData(Character c)
    {
        if (playerId == 0)
        {
            networkingManage.p0Data.rotationAngle = transform.Find("SoundProber").localRotation.eulerAngles.y + 90;
            networkingManage.p0Data.emitRaycast   = isEmittingRaycast;

            Player1Data p1Data = networkingManage.p1Data;

            if (p1Data.connected)
            {
                c.MoveTo(new Vector3(
                             p1Data.positionX,
                             transform.position.y,
                             p1Data.positionZ
                             ));

                c.YawTo(Quaternion.Euler(0, p1Data.rotationAngle, 0));
            }
        }
        else if (playerId == 1)
        {
            Vector3 pos = transform.position;

            networkingManage.p1Data.positionX     = pos.x;
            networkingManage.p1Data.positionZ     = pos.z;
            networkingManage.p1Data.rotationAngle = transform.rotation.eulerAngles.y;

            Player0Data p0Data = networkingManage.p0Data;

            if (p0Data.connected)
            {
                RotateSoundProberTo(Quaternion.Euler(0, p0Data.rotationAngle, 0));

                isEmittingRaycast = p0Data.emitRaycast;
            }
        }
    }