diff --git a/Assets/01_Scenes/BossScene.unity b/Assets/01_Scenes/BossScene.unity index 8706f5b..7bb9b0d 100644 --- a/Assets/01_Scenes/BossScene.unity +++ b/Assets/01_Scenes/BossScene.unity @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:b56811750a76aa8ba83f6c3c9a33794a4c6f9112b205849f5dfd5068b64eba0f -size 85971 +oid sha256:8e28e3c8d020837524e6cddf567c57bf1a7879005a58f6db767a8838b76dbdcb +size 110810 diff --git a/Assets/02_Scripts/Combat/HazardHitbox.cs b/Assets/02_Scripts/Combat/HazardHitbox.cs index 032f967..4c7e5e5 100644 --- a/Assets/02_Scripts/Combat/HazardHitbox.cs +++ b/Assets/02_Scripts/Combat/HazardHitbox.cs @@ -12,7 +12,6 @@ private void Awake() { _collider = GetComponent(); _collider.isTrigger = true; - _collider.enabled = false; } private void OnTriggerStay2D(Collider2D other) diff --git a/Assets/02_Scripts/Enemy/Skills/HazardSkill.cs b/Assets/02_Scripts/Enemy/Skills/HazardSkill.cs index 0e4f367..532b0df 100644 --- a/Assets/02_Scripts/Enemy/Skills/HazardSkill.cs +++ b/Assets/02_Scripts/Enemy/Skills/HazardSkill.cs @@ -21,9 +21,8 @@ public class HazardSkill : BossSkill [SerializeField] private float _windup = 0.5f; // 애니 시작 ~ 피해 판정 ON [SerializeField] private float _activeDuration = 1.5f; // 피해 판정 유지 시간 [SerializeField] private float _recovery = 0.6f; // 판정 OFF 후 후딜 - [SerializeField] private Transform[] _downHazardFirePos; // 위에서 아래로 포격 - [SerializeField] private Transform[] _rightHazardFirePos; // 왼쪽에서 오른쪽으로 포격 [SerializeField] private GameObject _hazardHitboxOrigin; + private SkillSupport support; private void Awake() { @@ -31,6 +30,11 @@ private void Awake() _animator = GetComponentInChildren(); } + private void Start() + { + support = Object.FindFirstObjectByType(); + } + protected override async Awaitable RunSkill(CancellationToken token) { try @@ -64,7 +68,7 @@ protected override async Awaitable RunSkill(CancellationToken token) private void FireHazards(int dirChoice) { - Transform[] _hazardPoss = dirChoice switch { 0 => _downHazardFirePos, 1=>_rightHazardFirePos, _=> null}; + Transform[] _hazardPoss = dirChoice switch { 0 => support.DownHazardFirePos, 1=> support.RightHazardFirePos, _=> null}; Vector2 attackDir = dirChoice switch {0 => Vector2.down,1=>Vector2.right,_=>Vector2.left}; if (_hazardPoss == null) return; @@ -75,7 +79,7 @@ private void FireHazards(int dirChoice) Rigidbody2D hitbox_rb = hitbox.GetComponent(); if(hitbox_rb != null) { - hitbox_rb.linearVelocity = attackDir*5.0f; + hitbox_rb.linearVelocity = attackDir*50.0f; } Destroy(hitbox,5f); diff --git a/Assets/02_Scripts/Enemy/Skills/SkillSupport.cs b/Assets/02_Scripts/Enemy/Skills/SkillSupport.cs new file mode 100644 index 0000000..9755144 --- /dev/null +++ b/Assets/02_Scripts/Enemy/Skills/SkillSupport.cs @@ -0,0 +1,23 @@ +using UnityEngine; + +public class SkillSupport : MonoBehaviour +{ + [HideInInspector] public Transform[] DownHazardFirePos; // 위에서 아래로 포격 + [HideInInspector] public Transform[] RightHazardFirePos; // 왼쪽에서 오른쪽으로 포격 + + void Start() + { + GameObject[] shineDownStartPoss = GameObject.FindGameObjectsWithTag("ShineDownStartPos"); + GameObject[] shineRightStartPoss = GameObject.FindGameObjectsWithTag("ShineRightStartPos"); + + DownHazardFirePos = new Transform[shineDownStartPoss.Length]; + RightHazardFirePos = new Transform[shineRightStartPoss.Length]; + + for(int i=0;i