From 04d4939e88ef08d23697bb92ac8b705558eb34e3 Mon Sep 17 00:00:00 2001 From: "DESKTOP-VVOCIJO\\PC" Date: Thu, 21 May 2026 16:02:38 +0900 Subject: [PATCH] =?UTF-8?q?2026-05-21=20=EB=B2=84=EA=B7=B8=20=EC=88=98?= =?UTF-8?q?=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Assets/01_Scenes/BossScene.unity | 4 ++-- Assets/02_Scripts/Combat/HazardHitbox.cs | 1 - Assets/02_Scripts/Enemy/Skills/HazardSkill.cs | 12 ++++++---- .../02_Scripts/Enemy/Skills/SkillSupport.cs | 23 +++++++++++++++++++ .../Enemy/Skills/SkillSupport.cs.meta | 2 ++ .../08_Objects/BossSkills/BossSkills.prefab | 3 --- .../HazardSkill/HazardHitBox.prefab | 4 ++-- .../BossSkills/HazardSkill/HazardSkill.prefab | 3 +++ .../HazardSkill.prefab.meta} | 2 +- ProjectSettings/TagManager.asset | 4 ++-- 10 files changed, 43 insertions(+), 15 deletions(-) create mode 100644 Assets/02_Scripts/Enemy/Skills/SkillSupport.cs create mode 100644 Assets/02_Scripts/Enemy/Skills/SkillSupport.cs.meta delete mode 100644 Assets/08_Objects/BossSkills/BossSkills.prefab create mode 100644 Assets/08_Objects/BossSkills/HazardSkill/HazardSkill.prefab rename Assets/08_Objects/BossSkills/{BossSkills.prefab.meta => HazardSkill/HazardSkill.prefab.meta} (74%) 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