Exemplo n.º 1
0
    private void OnMessageHandler(object sender, MessageEventArgs e)
    {
        CommonTypeMessage msgType = JsonUtility.FromJson <CommonTypeMessage>(e.Data);

        switch (msgType.type)
        {
        case "rotate":
            RotationMessage rotMsg    = JsonUtility.FromJson <RotationMessage>(e.Data);
            Vector2         ourVector = new Vector2(rotMsg.x, rotMsg.z);
            queuedCursorMoves.Enqueue(new StoredCursorMove(ourVector, rotMsg.id));
            break;

        case "fire":
            FireMessage fireMsg = JsonUtility.FromJson <FireMessage>(e.Data);
            queuedPlayerFires.Enqueue(new StoredPlayerFire(fireMsg.id, fireMsg.held));
            break;

        case "userConnect":
            //Only add a new user if there is room
            if (users.Count < userCap)
            {
                UserConnectMessage userMsg = JsonUtility.FromJson <UserConnectMessage>(e.Data);
                queuedUsers.Enqueue(userMsg.id);
            }
            break;

        case "userDisconnect":
            UserConnectMessage userDCMsg = JsonUtility.FromJson <UserConnectMessage>(e.Data);
            queuedDisconnects.Enqueue(userDCMsg.id);
            break;
        }
    }
Exemplo n.º 2
0
 private void processRotation(RotationMessage rm, Connection connection)
 {
     if (server.connections.ContainsKey(connection) && server.players.ContainsKey(server.connections[connection]))
     {
         server.players[server.connections[connection]].rotation = Quaternion.Euler(rm.rot);
         server.players[server.connections[connection]].player.transform.eulerAngles = rm.rot;
     }
 }
Exemplo n.º 3
0
    // Update is called once per frame
    //void Update() {
    //}//endUpdate

    private void OnServerRecieveGyro(NetworkMessage netMsg)
    {
        tiltROOO = netMsg.ReadMessage <RotationMessage>();
        vects    = tiltROOO.att;
        accel    = tiltROOO.acc;
        //tiltROO = tiltROOO.tilty;
        //transform.rotation = tiltROO;
        //transform.Translate(0, 0, -Input.acceleration.z);
        //Debug.Log(tiltROO.ToString());
    }
        public void GenerateMessage()
        {
            var rotation = new Rotation {
                Id = 1,
                Name = "Name",
                RotationType = RotationTypes.Rotation3
            };
            var rotationMessage = new RotationMessage(rotation);

            ServiceTestHelper.AssertDomainMessageProperties(rotation, rotationMessage);
            Assert.AreEqual(rotation.RotationType, rotationMessage.RotationType);
        }
    public void OnGetRotation(NetworkMessage netMsg)
    {
        RotationMessage msg = netMsg.ReadMessage <RotationMessage>();

        rotation.x = -msg.rot.x;
        rotation.y = -msg.rot.z;
        rotation.z = -msg.rot.y;
        rotation.w = msg.rot.w;

        //Debug.Log((Time.time - prevTime) + "s");
        //prevTime = Time.time;
    }
Exemplo n.º 6
0
    private void SendRotationMessage()
    {
        float x, y, z, t;

        float.TryParse(rotationX.text, out x);
        float.TryParse(rotationY.text, out y);
        float.TryParse(rotationZ.text, out z);
        float.TryParse(time.text, out t);
        var v3      = new Vector3(x, y, z);
        var message = new RotationMessage(v3, t <= 0 ? 1 : t);

        EventMessageDispatcher.Dispatch(message);
    }
Exemplo n.º 7
0
    private void Rotate()
    {
        if (Input.GetKey(KeyCode.W) || Input.GetKey(KeyCode.S))
        {
            RotationMessage message = new RotationMessage();
            message.PlayerID = 0; // ist das richtig?!
            message.Rotation = m_rotation;

            if (Input.GetKey(KeyCode.A))
            {
                // - y -> Inverse richtig?!
                //m_rotation = Quaternion.Inverse(m_rotation) * Quaternion.Euler(0.0f, 5.0f, 0.0f);
                //m_rotation = transform.rotation * Quaternion.Euler(0.0f, -5.0f, 0.0f);

                // transform.Rotate(0.0f, -1.0f, 0.0f);
                message.PressedKey = KeyCode.A;
            }

            if (Input.GetKey(KeyCode.D))
            {
                // + y
                // m_rotation = transform.rotation * Quaternion.Euler(0.0f, 5.0f, 0.0f);

                // transform.Rotate(0.0f, 1.0f, 0.0f);
                message.PressedKey = KeyCode.D;
            }

            if (IsServer)
            {
                NetworkManager.Instance.SendMessageToClients(message);
            }
            else
            {
                NetworkManager.Instance.SendMessageToServer(message);
            }
        }
    }
Exemplo n.º 8
0
    private int moveFrame = 0;       //魔方转动帧数的计数//

    void Update()
    {
        if (!isTween && isChangParent && !isReset)
        {//复位//
            AnchorPointReset();
        }
        if (Input.GetMouseButtonDown(0))
        {//点中的Cube
            CollideCube();
        }
        if (Input.GetMouseButtonUp(0))
        {//当鼠标弹起碰撞物体为空//
            rateWasGameObject = null;
        }
        if (Input.GetMouseButton(0) && rateWasGameObject != null)
        {
            Ray        ray1 = Camera.main.ScreenPointToRay(Input.mousePosition);
            RaycastHit hit1;
            if (Physics.Raycast(ray1, out hit1))        //发出碰撞射线//
            {
                mouseButtonhitPoint = hit1.point;       //获取碰撞点//
            }
            if (!isChangParent && (Mathf.Abs(mouseButtonhitPoint.x - mouseButtonDownhitPoint.x) > 0.5 || Mathf.Abs(mouseButtonhitPoint.y - mouseButtonDownhitPoint.y) > 0.5 || Mathf.Abs(mouseButtonhitPoint.z - mouseButtonDownhitPoint.z) > 0.5))
            {
                RotationMessage message = TouchRotation(); //测试完用下一条
                //TouchRotation();
                print(message.dir);                        //测试完删除
                print(message.scriptRotationController);   //测试完删除
            }
        }
        //测试完删除
        if (Input.GetKeyDown(KeyCode.Space))
        {
            Rotation(scriptRotationController, dir);
        }
    }