diff --git a/Assets/JAY/Scripts/PlayerController.cs b/Assets/JAY/Scripts/PlayerController.cs index 41113e14..1d3e3503 100644 --- a/Assets/JAY/Scripts/PlayerController.cs +++ b/Assets/JAY/Scripts/PlayerController.cs @@ -56,6 +56,10 @@ public class PlayerController : CharacterBase, IObserver Joystick = FindObjectOfType(); } + // isBattle 초기화 (임시) + bool isHousingScene = SceneManager.GetActiveScene().name.Contains("Housing"); + _isBattle = !isHousingScene; + AssignCharacterController(); AssignAnimator(); } @@ -67,13 +71,6 @@ public class PlayerController : CharacterBase, IObserver hitEffectController = GetComponentInChildren(); PlayerInit(); - - // isBattle 초기화 (임시) - /*bool isHousingScene = SceneManager.GetActiveScene().name.Contains("Housing"); - _isBattle = !isHousingScene; - Debug.Log("_isBattle: " + _isBattle);*/ - - SwitchBattleMode(); } private void Update() @@ -96,7 +93,9 @@ public class PlayerController : CharacterBase, IObserver // 공격 입력 처리 if (Input.GetKeyDown(KeyCode.X) && (_currentAction == null || !_currentAction.IsActive) - && (CurrentState != PlayerState.Win && CurrentState != PlayerState.Dead)) { + && (CurrentState != PlayerState.Win && CurrentState != PlayerState.Dead)) + { + GameManager.Instance.PlayPlayerAttackSound(); StartAttackAction(); } @@ -219,13 +218,18 @@ public class PlayerController : CharacterBase, IObserver } - public void StartAttackAction() { + public void StartAttackAction() + { + if (!_isBattle) return; + _currentAction = _attackAction; _currentAction.StartAction(this); } public void StartDashAction() { + if (!_isBattle) return; + // 만약 공격 중이면 강제로 공격 종료 if (_currentAction == _attackAction && _attackAction.IsActive) { @@ -400,6 +404,7 @@ public class PlayerController : CharacterBase, IObserver if (character != this) return; if (CurrentState == PlayerState.Dead) return; + GameManager.Instance.PlayPlayerHitSound(); SetState(PlayerState.Hit); }