From 0b09e12345327e13632515c54ac2e53320abde9e Mon Sep 17 00:00:00 2001 From: fiore Date: Fri, 18 Apr 2025 17:43:37 +0900 Subject: [PATCH] =?UTF-8?q?DEG-28=20DEG-33=20[feat]=20=EC=82=AC=EB=A7=9D?= =?UTF-8?q?=20=EC=95=A0=EB=8B=88=EB=A9=94=EC=9D=B4=EC=85=98=20=EC=B2=98?= =?UTF-8?q?=EB=A6=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Enemy/EnemyState/EnemyStateAttack.cs | 24 +++++++++++++++---- .../Enemy/EnemyState/EnemyStateDead.cs | 1 + 2 files changed, 20 insertions(+), 5 deletions(-) diff --git a/Assets/Scripts/Character/Enemy/EnemyState/EnemyStateAttack.cs b/Assets/Scripts/Character/Enemy/EnemyState/EnemyStateAttack.cs index 4aaf7099..06c94904 100644 --- a/Assets/Scripts/Character/Enemy/EnemyState/EnemyStateAttack.cs +++ b/Assets/Scripts/Character/Enemy/EnemyState/EnemyStateAttack.cs @@ -1,26 +1,40 @@ using System.Collections; +using System.Collections.Generic; using UnityEngine; public class EnemyStateAttack : IEnemyState { + private static readonly int VertiSlash = Animator.StringToHash("VertiSlash"); + private static readonly int VertiAttack = Animator.StringToHash("VertiAttack"); + private EnemyController _enemyController; private Animator _animator; private Coroutine _attackRoutine; + private enum AttackType + { + VerticalAttack, // 위에서 아래로 베는 것 + HorizontalAttack, // 옆으로 베는 것 + ChariotAttack, // 원형 + DynamoAttack, // 도넛 + }; + + private AttackType _currentAttackType; + public void Enter(EnemyController enemyController) { _enemyController = enemyController; _animator = _enemyController.EnemyAnimator; - _animator.SetBool("Attack", true); - _attackRoutine = _enemyController.StartCoroutine(AttackSequence()); + _animator.SetBool(VertiAttack, true); + _attackRoutine = _enemyController.StartCoroutine(VerticalAttackSequence()); } public void Update() { } - private IEnumerator AttackSequence() + private IEnumerator VerticalAttackSequence() { // 1. 전조 이펙트 생성 @@ -32,7 +46,7 @@ public class EnemyStateAttack : IEnemyState // 4. 전조 제거 // 5. 검 휘두르기 - _animator.SetTrigger("VertiSlash"); + _animator.SetTrigger(VertiSlash); // 6. 공격 판정 발생 @@ -48,7 +62,7 @@ public class EnemyStateAttack : IEnemyState _enemyController.StopCoroutine(_attackRoutine); _attackRoutine = null; } - _animator.SetBool("Attack", false); + _animator.SetBool(VertiAttack, false); _animator = null; _enemyController = null; } diff --git a/Assets/Scripts/Character/Enemy/EnemyState/EnemyStateDead.cs b/Assets/Scripts/Character/Enemy/EnemyState/EnemyStateDead.cs index f044f730..158b9eab 100644 --- a/Assets/Scripts/Character/Enemy/EnemyState/EnemyStateDead.cs +++ b/Assets/Scripts/Character/Enemy/EnemyState/EnemyStateDead.cs @@ -5,6 +5,7 @@ public void Enter(EnemyController enemyController) { _enemyController = enemyController; + _enemyController.EnemyAnimator.SetTrigger("Dead"); } public void Update()