public void MoveAsync(PlayerCharacterParameter param)
 {
     if (MagicOnionNetwork.IsConnected)
     {
         _gameHubClient.MoveAsync(param);
     }
 }
示例#2
0
        private void AfterJoinGameHub()
        {
            PlayerCharacterParameter param = new PlayerCharacterParameter();

            param.ActorNumber = MagicOnionNetwork.LocalPlayer.ActorNumber;
            param.PlayerName  = MagicOnionNetwork.LocalPlayer.Name;

            GameHubComponent.Instance.MoveAsync(param);
        }
示例#3
0
        private void OnUpdateLocalPlayerMove(Vector3 position, Quaternion rotation, Vector3 move, bool crouch, bool jump)
        {
            if (MagicOnionNetwork.IsJoined)
            {
                PlayerCharacterParameter param = new PlayerCharacterParameter();
                param.ActorNumber = MagicOnionNetwork.LocalPlayer.ActorNumber;
                param.PlayerName  = MagicOnionNetwork.LocalPlayer.Name;
                param.Position    = position;
                param.Rotation    = rotation;
                param.Move        = move;
                param.Crouch      = crouch;
                param.Jump        = jump;

                GameHubComponent.Instance.MoveAsync(param);
            }
        }
示例#4
0
        private void OnMoveRemotePlayerCharacter(PlayerCharacterParameter param)
        {
            ModifiedThirdPersonCharacter remotePlayer;

            _remotePlayers.TryGetValue(param.ActorNumber, out remotePlayer);
            if (remotePlayer != null)
            {
                remotePlayer.transform.position = param.Position;
                remotePlayer.transform.rotation = param.Rotation;
                remotePlayer.Move(param.Move, param.Crouch, param.Jump);
            }
            else
            {
                GameObject go = GameObject.Instantiate(PlayerPrefab, Vector3.zero, Quaternion.identity);
                go.transform.SetParent(RemotePlayerRoot.transform);
                go.name = "RemotePlayer[" + param.ActorNumber + "]_" + param.PlayerName;

                _remotePlayers[param.ActorNumber] = go.GetComponent <ModifiedThirdPersonCharacter>();
            }
        }
 public async Task MoveAsync(PlayerCharacterParameter param)
 {
     BroadcastExceptSelf(group).OnMove(param);
 }
示例#6
0
 public async void MoveAsync(PlayerCharacterParameter param)
 {
     await _streamingHub.MoveAsync(param);
 }
 void IGameHubReceiver.OnMove(PlayerCharacterParameter param)
 {
     OnMovePlayerCharacter?.Invoke(param);
 }