From cfdf2411dd3d74c708c6155c716720835bd426ab Mon Sep 17 00:00:00 2001 From: Ino Date: Fri, 16 Jan 2026 15:21:49 +0900 Subject: [PATCH] =?UTF-8?q?=EC=88=98=EC=A0=95=20=EC=99=84=EB=A3=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Assets/Script/InGame/Actor/MobShields.cs | 2 +- Assets/Script/InGame/Actor/SupporterActor.cs | 1 + Assets/Script/InGame/IngameMgr.cs | 4 +--- Assets/Script/InGame/Projectile/Projectile.cs | 6 +++++- 4 files changed, 8 insertions(+), 5 deletions(-) diff --git a/Assets/Script/InGame/Actor/MobShields.cs b/Assets/Script/InGame/Actor/MobShields.cs index 5680261..a6d313a 100644 --- a/Assets/Script/InGame/Actor/MobShields.cs +++ b/Assets/Script/InGame/Actor/MobShields.cs @@ -121,7 +121,7 @@ public class MobShields : MonoBehaviour void CreateShield(int angleIndex, bool isCrash, float radius) { var shield = DSUtil.Get_Clone("Mob/MobShield", transform, Vector3.one * 10000f); - float angle = angleIndex * 45f * Mathf.Deg2Rad; + float angle = (angleIndex * 45f + 90f) * Mathf.Deg2Rad; Vector3 pos = new Vector3(Mathf.Cos(angle), Mathf.Sin(angle), 0f) * radius; shield.transform.localPosition = pos; shield.Set(isCrash, GetComponentInParent()); diff --git a/Assets/Script/InGame/Actor/SupporterActor.cs b/Assets/Script/InGame/Actor/SupporterActor.cs index 50afb08..674d64b 100644 --- a/Assets/Script/InGame/Actor/SupporterActor.cs +++ b/Assets/Script/InGame/Actor/SupporterActor.cs @@ -28,6 +28,7 @@ public class SupporterActor : MonoBehaviour { UpdateAngle(mob.transform.position); m_PD.tf_Start = tf_projectile; + m_PD.Ignore_WallHP = true; ProjectileMgr.Ins.Shoot_Projectile(m_PD); } } diff --git a/Assets/Script/InGame/IngameMgr.cs b/Assets/Script/InGame/IngameMgr.cs index a708160..ed84e96 100644 --- a/Assets/Script/InGame/IngameMgr.cs +++ b/Assets/Script/InGame/IngameMgr.cs @@ -158,13 +158,11 @@ public class IngameMgr : MonoBehaviourSingletonTemplate // 일반 몬스터 생성 int meleemobcount = 0, rangemobcount = 0; var totalmobcount = wavedata.n_AppearMeleeMonster + wavedata.n_AppearRangeMonster; - for (int i = 0; i < totalmobcount; i++) + while (totalmobcount > meleemobcount + rangemobcount) { yield return new WaitForSeconds(wavedata.f_AppearDelay); for (int j = 0; j < wavedata.n_OverlapUnitCount; j++) { // 근거리 or 원거리 몹 생성 후 카운팅 - if (totalmobcount < meleemobcount + rangemobcount) break; - bool canMelee = meleemobcount < wavedata.n_AppearMeleeMonster; bool canRange = rangemobcount < wavedata.n_AppearRangeMonster; diff --git a/Assets/Script/InGame/Projectile/Projectile.cs b/Assets/Script/InGame/Projectile/Projectile.cs index 223c351..a8e2ee5 100644 --- a/Assets/Script/InGame/Projectile/Projectile.cs +++ b/Assets/Script/InGame/Projectile/Projectile.cs @@ -124,7 +124,11 @@ public class Projectile : MonoBehaviour private void OnTriggerEnter2D(Collider2D collision) { - if (m_ProjectileData.ActorType == eActor.Mob && collision.tag == "Mob") return; + if (m_ProjectileData.ActorType == eActor.Mob) + { + if (collision.tag == "Mob" || collision.tag == "MobShield") + return; + } if (m_ProjectileData.Ignore_WallHP && collision.tag == "Wall_HP") { m_ProjectileData.Ignore_WallHP = false;