From 89a4edf6baac35dac2cc77c6a8dd8f6791c2f4b9 Mon Sep 17 00:00:00 2001 From: Ino Date: Fri, 16 Jan 2026 12:05:10 +0900 Subject: [PATCH] =?UTF-8?q?=EC=84=9C=ED=8F=AC=ED=84=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Assets/Resources/Effect/Hit_electric.prefab | 2 +- Assets/Resources/Projectile/P_electric.prefab | 37 +++++++++++++++++ Assets/Resources/Supporter/Supporter.prefab | 15 +++++++ Assets/Script/InGame/Actor/SupporterActor.cs | 41 +++++++++++++++++++ .../InGame/Actor/SupporterActor.cs.meta | 2 + Assets/Script/InGame/IngameMgr.cs | 1 + Assets/Script/InGame/Projectile/EffectMgr.cs | 3 ++ 7 files changed, 100 insertions(+), 1 deletion(-) create mode 100644 Assets/Script/InGame/Actor/SupporterActor.cs create mode 100644 Assets/Script/InGame/Actor/SupporterActor.cs.meta diff --git a/Assets/Resources/Effect/Hit_electric.prefab b/Assets/Resources/Effect/Hit_electric.prefab index 76856ff..9a63329 100644 --- a/Assets/Resources/Effect/Hit_electric.prefab +++ b/Assets/Resources/Effect/Hit_electric.prefab @@ -19504,7 +19504,7 @@ Transform: serializedVersion: 2 m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 30, y: 30, z: 30} + m_LocalScale: {x: 0.3, y: 0.3, z: 0.3} m_ConstrainProportionsScale: 1 m_Children: - {fileID: 6258493809283694057} diff --git a/Assets/Resources/Projectile/P_electric.prefab b/Assets/Resources/Projectile/P_electric.prefab index 01511e4..e54cd9c 100644 --- a/Assets/Resources/Projectile/P_electric.prefab +++ b/Assets/Resources/Projectile/P_electric.prefab @@ -10,6 +10,7 @@ GameObject: m_Component: - component: {fileID: 871324411638548332} - component: {fileID: 2542221352418147852} + - component: {fileID: 5424467115007168901} m_Layer: 0 m_Name: P_electric m_TagString: Untagged @@ -47,6 +48,42 @@ MonoBehaviour: m_EditorClassIdentifier: m_Speed: 12 radius: 0.1 +--- !u!58 &5424467115007168901 +CircleCollider2D: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 871324411638548333} + m_Enabled: 1 + serializedVersion: 3 + m_Density: 1 + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_ForceSendLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_ForceReceiveLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_ContactCaptureLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_CallbackLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_IsTrigger: 0 + m_UsedByEffector: 0 + m_CompositeOperation: 0 + m_CompositeOrder: 0 + m_Offset: {x: 0, y: 19.61} + m_Radius: 20 --- !u!1 &3236510714245265456 GameObject: m_ObjectHideFlags: 0 diff --git a/Assets/Resources/Supporter/Supporter.prefab b/Assets/Resources/Supporter/Supporter.prefab index 32a6c91..dd1423d 100644 --- a/Assets/Resources/Supporter/Supporter.prefab +++ b/Assets/Resources/Supporter/Supporter.prefab @@ -522,6 +522,7 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 7190565166110990598} + - component: {fileID: -7235425391866733918} - component: {fileID: 6927600069059857145} - component: {fileID: 4437869204647637986} - component: {fileID: 2363079218329043429} @@ -556,6 +557,20 @@ Transform: - {fileID: 4350914001303417402} m_Father: {fileID: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &-7235425391866733918 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 497443208249652342} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0060bc8cb08eb034cbeefb2ed78a29ed, type: 3} + m_Name: + m_EditorClassIdentifier: + MaxAttackCoolTime: 2 + Damage: 5 --- !u!114 &6927600069059857145 MonoBehaviour: m_ObjectHideFlags: 0 diff --git a/Assets/Script/InGame/Actor/SupporterActor.cs b/Assets/Script/InGame/Actor/SupporterActor.cs new file mode 100644 index 0000000..dd94c1d --- /dev/null +++ b/Assets/Script/InGame/Actor/SupporterActor.cs @@ -0,0 +1,41 @@ +using UnityEngine; + +public class SupporterActor : MonoBehaviour +{ + public float MaxAttackCoolTime = 2f; + public int Damage = 5; + + float attackCoolTime; + ProjectileData m_PD = new ProjectileData(); + + private void OnEnable() + { + attackCoolTime = MaxAttackCoolTime; + m_PD.IsPC = true; + m_PD.Dmg = Damage; + m_PD.m_Data = table_projectile.Ins.Get_Data(3201); + } + + private void Update() + { + attackCoolTime -= Time.deltaTime; + if (attackCoolTime < 0) + { + attackCoolTime = MaxAttackCoolTime; + var mob = IngameMgr.Ins.FindNearestMob(transform.position, null); + UpdateAngle(mob.transform.position); + m_PD.tf_Start = transform; + ProjectileMgr.Ins.Shoot_Projectile(m_PD); + } + } + + void UpdateAngle(Vector2 targetWorldPos) + { + Vector2 dir = targetWorldPos - (Vector2)transform.position; + + if (dir.sqrMagnitude < 0.0001f) + return; + + transform.up = dir.normalized; + } +} \ No newline at end of file diff --git a/Assets/Script/InGame/Actor/SupporterActor.cs.meta b/Assets/Script/InGame/Actor/SupporterActor.cs.meta new file mode 100644 index 0000000..bd0f80d --- /dev/null +++ b/Assets/Script/InGame/Actor/SupporterActor.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 0060bc8cb08eb034cbeefb2ed78a29ed \ No newline at end of file diff --git a/Assets/Script/InGame/IngameMgr.cs b/Assets/Script/InGame/IngameMgr.cs index b3f9745..87c5412 100644 --- a/Assets/Script/InGame/IngameMgr.cs +++ b/Assets/Script/InGame/IngameMgr.cs @@ -369,6 +369,7 @@ public class IngameMgr : MonoBehaviourSingletonTemplate { if (f_SupporterCoolTime > 0f) return; f_SupporterCoolTime = 600f; + go_Supporter.SetActive(true); } } } \ No newline at end of file diff --git a/Assets/Script/InGame/Projectile/EffectMgr.cs b/Assets/Script/InGame/Projectile/EffectMgr.cs index da44e66..306f551 100644 --- a/Assets/Script/InGame/Projectile/EffectMgr.cs +++ b/Assets/Script/InGame/Projectile/EffectMgr.cs @@ -20,6 +20,9 @@ public class EffectMgr : MonoBehaviourSingletonTemplate public void Show_Effect(string effectpath, Vector2 pos, float scale = 100f) { + if (!effectpath.Contains("Effect/")) + effectpath = $"Effect/{effectpath}"; + if (!dic_effect.ContainsKey(effectpath)) dic_effect.Add(effectpath, new List());