Ejemplo n.º 1
0
        public void OnMove(PlayerMoveControlMesg mesg)
        {
            if (LocalPlayer.PlayerName.Equals(mesg.PlayerName))
            {
                return;
            }

            try
            {
                var player = PlayerManager.Instance.GetPlayer(mesg.PlayerName);

                if (!player)
                {
                    player = PlayerManager.Instance.CreatePlayer(false, mesg.PlayerName);
                    player.transform.position = mesg.Pos.Vect3ToUVect3();
                }

                player.transform.rotation = mesg.quaternion.Vect4ToQuaternion();

                var con = player.GetComponent <ThirdPersonCharacter>();

                con.Move(mesg.Move.Vect3ToUVect3(), mesg.Crouch, mesg.Jump);
            }
            catch (Exception e)
            {
                Debug.LogException(e);
            }
        }
Ejemplo n.º 2
0
        private void RoomComponentOnJoinRoomEve()
        {
            _controlSyn = StreamingHubClient.Connect <IPlayerControlSynHub, IPlayerControlSynReceiver>(MagicOnionManager.Instance.Channel, this);
            _waitDisConnect();
            _playerName = LocalPlayer.PlayerName;
            _controlSyn.Init(new PlayerControlInitMesg(LocalPlayer.RoomName, LocalPlayer.PlayerName));
            _mesg = new PlayerMoveControlMesg(Vector3.zero.UVect3ToVect3(), Vector4.zero.UVect4ToVect4(), LocalPlayer.PlayerName, false, false, Vector3.zero.UVect3ToVect3());

            ThirdPersonUserControl.OnMove = (pos, vector3, quaternion, arg3, arg4) =>
            {
                pos.UVect3ToVect3(ref _mesg.Pos);
                vector3.UVect3ToVect3(ref _mesg.Move);
                quaternion.QuaternionToVect4(ref _mesg.quaternion);
                _mesg.Crouch = arg3;
                _mesg.Jump   = arg4;


//                _mesg = new PlayerMoveControlMesg(vector3.UVect3ToVect3(), quaternion.QuaternionToVect4(),LocalPlayer.PlayerName,arg3,arg4);

                Move(_mesg);
            };
        }
Ejemplo n.º 3
0
 public async void Move(PlayerMoveControlMesg mesg)
 {
     await _controlSyn.Move(mesg);
 }
Ejemplo n.º 4
0
        public Task Move(PlayerMoveControlMesg mesg)
        {
            this.BroadcastExceptSelf(_room).OnMove(mesg);

            return(NilTask);
        }