Ejemplo n.º 1
0
    public void PlayerStateChanged(PlayerStateChangedCommand cmd)
    {
        Vector3 position = new Vector3(cmd.PosX, cmd.PosY, cmd.PosZ);
        Quaternion rotation = new Quaternion(cmd.RotationX, cmd.RotationY,
            cmd.RotationZ, cmd.RotationW);

        PlayerChangedStateType type = cmd.ChangedStateType;
        DateTime cmdTime = cmd.Time;
        switch(type)
        {
            case PlayerChangedStateType.StartMove:
                RunSync(position, rotation, cmdTime);
                break;
            case PlayerChangedStateType.EndMove:
                StopRunSync(position, rotation, cmdTime);
                break;
            case PlayerChangedStateType.Shot:
                ShotAsync(position, rotation, cmdTime);
                break;
            case PlayerChangedStateType.Injured:
                this.Life -= 10;
                break;
            case PlayerChangedStateType.Dead:
                Life = 0;
                anim.death = true;
                break;
            case PlayerChangedStateType.Reborn:
                Life = 100;
                anim.reset = true;
                transform.position = position;
                transform.rotation = rotation;
                Debug.Log(Life);
                break;
        }
    }
Ejemplo n.º 2
0
 public PlayerStateChangedCommand GetCurrentStateCmd(PlayerChangedStateType type)
 {
     PlayerStateChangedCommand cmd = new PlayerStateChangedCommand();
     cmd.PosX = transform.position.x;
     cmd.PosY = transform.position.y;
     cmd.PosZ = transform.position.z;
     cmd.RotationW = transform.rotation.w;
     cmd.RotationX = transform.rotation.x;
     cmd.RotationY = transform.rotation.y;
     cmd.RotationZ = transform.rotation.z;
     cmd.Time = NetManager.Instance.Clock.Now;
     cmd.ChangedStateType = type;
     return cmd;
 }