From 83dd8c6f94d12454d56c1aa493d5ae6383b651ed Mon Sep 17 00:00:00 2001 From: HaeinLEE Date: Mon, 12 May 2025 09:37:06 +0900 Subject: [PATCH] =?UTF-8?q?[Fix]=20=EC=B6=A9=EB=8F=8C=20=EC=8A=A4=ED=81=AC?= =?UTF-8?q?=EB=A6=BD=ED=8A=B8=20=EB=A9=94=EC=9D=B8=EC=97=90=EC=84=9C=20?= =?UTF-8?q?=EA=B0=80=EC=A0=B8=EC=98=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Assets/JAY/Scripts/PlayerController.cs | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) 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); }