From 315ecb46892fd045a5ae83879d168d7ffd6bfc38 Mon Sep 17 00:00:00 2001 From: Nico Date: Sun, 3 Aug 2025 23:31:00 -0700 Subject: [PATCH] Fix bug on Enemy Spawn Info --- Assets/Scenes/HomeTown.unity | 216 +++++++++--------- .../AI/EnemyManager/EnemySpawnInfo.asset | 20 ++ .../AI/EnemyManager/EnemySpawnInfo.asset.meta | 8 + .../Runtime/AI/EnemyManager/EnemySpawnInfo.cs | 20 ++ .../AI/EnemyManager/EnemySpawnInfo.cs.meta | 2 + .../AI/EnemyManager}/GoblerSpawnInfo.asset | 4 +- .../EnemyManager}/GoblerSpawnInfo.asset.meta | 2 +- .../AI/EnemyManager/SpawnableEnemyInfo.cs | 18 +- UserSettings/EditorUserSettings.asset | 4 +- 9 files changed, 168 insertions(+), 126 deletions(-) create mode 100644 Assets/Scripts/Runtime/AI/EnemyManager/EnemySpawnInfo.asset create mode 100644 Assets/Scripts/Runtime/AI/EnemyManager/EnemySpawnInfo.asset.meta create mode 100644 Assets/Scripts/Runtime/AI/EnemyManager/EnemySpawnInfo.cs create mode 100644 Assets/Scripts/Runtime/AI/EnemyManager/EnemySpawnInfo.cs.meta rename Assets/{Scriptables/Enemy => Scripts/Runtime/AI/EnemyManager}/GoblerSpawnInfo.asset (92%) rename Assets/{Scriptables/Enemy => Scripts/Runtime/AI/EnemyManager}/GoblerSpawnInfo.asset.meta (79%) diff --git a/Assets/Scenes/HomeTown.unity b/Assets/Scenes/HomeTown.unity index 3d2272c..cd72a5f 100644 --- a/Assets/Scenes/HomeTown.unity +++ b/Assets/Scenes/HomeTown.unity @@ -208,7 +208,23 @@ MonoBehaviour: m_OnValueChanged: m_PersistentCalls: m_Calls: [] ---- !u!1 &64029825 +--- !u!4 &64029826 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 86320483} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 23.01954, y: -11.82811, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1586596555} + m_Father: {fileID: 267352325} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &86320483 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -217,7 +233,7 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 64029826} - - component: {fileID: 64029827} + - component: {fileID: 86320485} m_Layer: 0 m_Name: EnemySpawner m_TagString: Untagged @@ -225,36 +241,20 @@ GameObject: m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!4 &64029826 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 64029825} - serializedVersion: 2 - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 23.01954, y: -11.82811, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 1252500659} - m_Father: {fileID: 267352325} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &64029827 +--- !u!114 &86320485 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 64029825} + m_GameObject: {fileID: 86320483} m_Enabled: 1 m_EditorHideFlags: 0 m_Script: {fileID: 11500000, guid: 297bf7fd6271a174194f3ff9950eb487, type: 3} m_Name: m_EditorClassIdentifier: SpawnableEnemies: - - {fileID: 11400000, guid: 1ca8e8b0adde3e5418144bb90239219f, type: 2} + - {fileID: 11400000, guid: c4bf740d31e980c4993914dd936d258a, type: 2} --- !u!1 &92430589 stripped GameObject: m_CorrespondingSourceObject: {fileID: 8239960702235718114, guid: 67f4f13276986cc4cb4705a4f1c4808a, type: 3} @@ -195852,93 +195852,6 @@ MonoBehaviour: m_InstancedGameObject: {fileID: 0} m_Flags: 3 m_ColliderType: 1 ---- !u!1 &1252500658 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1252500659} - - component: {fileID: 1252500660} - m_Layer: 0 - m_Name: Circle - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1252500659 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1252500658} - serializedVersion: 2 - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 64029826} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!212 &1252500660 -SpriteRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1252500658} - m_Enabled: 1 - m_CastShadows: 0 - m_ReceiveShadows: 0 - m_DynamicOccludee: 1 - m_StaticShadowCaster: 0 - m_MotionVectors: 1 - m_LightProbeUsage: 1 - m_ReflectionProbeUsage: 1 - m_RayTracingMode: 0 - m_RayTraceProcedural: 0 - m_RayTracingAccelStructBuildFlagsOverride: 0 - m_RayTracingAccelStructBuildFlags: 1 - m_SmallMeshCulling: 1 - m_RenderingLayerMask: 1 - m_RendererPriority: 0 - m_Materials: - - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} - m_StaticBatchInfo: - firstSubMesh: 0 - subMeshCount: 0 - m_StaticBatchRoot: {fileID: 0} - m_ProbeAnchor: {fileID: 0} - m_LightProbeVolumeOverride: {fileID: 0} - m_ScaleInLightmap: 1 - m_ReceiveGI: 1 - m_PreserveUVs: 0 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - m_StitchLightmapSeams: 1 - m_SelectedEditorRenderState: 0 - m_MinimumChartSize: 4 - m_AutoUVMaxDistance: 0.5 - m_AutoUVMaxAngle: 89 - m_LightmapParameters: {fileID: 0} - m_SortingLayerID: 651355007 - m_SortingLayer: 4 - m_SortingOrder: 0 - m_Sprite: {fileID: -2413806693520163455, guid: a86470a33a6bf42c4b3595704624658b, type: 3} - m_Color: {r: 0.009433806, g: 0.12504156, b: 1, a: 1} - m_FlipX: 0 - m_FlipY: 0 - m_DrawMode: 0 - m_Size: {x: 1, y: 1} - m_AdaptiveModeThreshold: 0.5 - m_SpriteTileMode: 0 - m_WasSpriteAssigned: 1 - m_MaskInteraction: 0 - m_SpriteSortPoint: 0 --- !u!1 &1273554247 GameObject: m_ObjectHideFlags: 0 @@ -201248,6 +201161,93 @@ MonoBehaviour: m_OnValueChanged: m_PersistentCalls: m_Calls: [] +--- !u!1 &1586596554 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1586596555} + - component: {fileID: 1586596556} + m_Layer: 0 + m_Name: Circle + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1586596555 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1586596554} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 64029826} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!212 &1586596556 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1586596554} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 651355007 + m_SortingLayer: 4 + m_SortingOrder: 0 + m_Sprite: {fileID: -2413806693520163455, guid: a86470a33a6bf42c4b3595704624658b, type: 3} + m_Color: {r: 0.009433806, g: 0.12504156, b: 1, a: 1} + m_FlipX: 0 + m_FlipY: 0 + m_DrawMode: 0 + m_Size: {x: 1, y: 1} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 --- !u!224 &1631026202 stripped RectTransform: m_CorrespondingSourceObject: {fileID: 6623046322102314554, guid: 67f4f13276986cc4cb4705a4f1c4808a, type: 3} diff --git a/Assets/Scripts/Runtime/AI/EnemyManager/EnemySpawnInfo.asset b/Assets/Scripts/Runtime/AI/EnemyManager/EnemySpawnInfo.asset new file mode 100644 index 0000000..752f768 --- /dev/null +++ b/Assets/Scripts/Runtime/AI/EnemyManager/EnemySpawnInfo.asset @@ -0,0 +1,20 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 0} + m_Name: EnemySpawnInfo + m_EditorClassIdentifier: Assembly-CSharp::EnemySpawnInfo + Type: 0 + Prefab: {fileID: 0} + MaxSpawnCount: 0 + CurrentSpawnCount: 0 + MaxCountPerSpawn: 0 + CanStartSpawning: 0 diff --git a/Assets/Scripts/Runtime/AI/EnemyManager/EnemySpawnInfo.asset.meta b/Assets/Scripts/Runtime/AI/EnemyManager/EnemySpawnInfo.asset.meta new file mode 100644 index 0000000..0fa4c5e --- /dev/null +++ b/Assets/Scripts/Runtime/AI/EnemyManager/EnemySpawnInfo.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 11d4c756b94e6684f81f962dc35da89e +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Runtime/AI/EnemyManager/EnemySpawnInfo.cs b/Assets/Scripts/Runtime/AI/EnemyManager/EnemySpawnInfo.cs new file mode 100644 index 0000000..537de31 --- /dev/null +++ b/Assets/Scripts/Runtime/AI/EnemyManager/EnemySpawnInfo.cs @@ -0,0 +1,20 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using UnityEngine; +using static EnemySpawnerData; + + + +[CreateAssetMenu(fileName = "EnemySpawnInfo", menuName = "Enemy Spawn Info")] +public class EnemySpawnInfo : ScriptableObject { + [Header("Info")] + public Enemies Type; + public GameObject Prefab; + public int MaxSpawnCount; + public int CurrentSpawnCount; + public int MaxCountPerSpawn; + public bool CanStartSpawning; +} diff --git a/Assets/Scripts/Runtime/AI/EnemyManager/EnemySpawnInfo.cs.meta b/Assets/Scripts/Runtime/AI/EnemyManager/EnemySpawnInfo.cs.meta new file mode 100644 index 0000000..5a94718 --- /dev/null +++ b/Assets/Scripts/Runtime/AI/EnemyManager/EnemySpawnInfo.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 7055053145bbd31448d6cab4c30747c1 \ No newline at end of file diff --git a/Assets/Scriptables/Enemy/GoblerSpawnInfo.asset b/Assets/Scripts/Runtime/AI/EnemyManager/GoblerSpawnInfo.asset similarity index 92% rename from Assets/Scriptables/Enemy/GoblerSpawnInfo.asset rename to Assets/Scripts/Runtime/AI/EnemyManager/GoblerSpawnInfo.asset index c8e4598..9517a35 100644 --- a/Assets/Scriptables/Enemy/GoblerSpawnInfo.asset +++ b/Assets/Scripts/Runtime/AI/EnemyManager/GoblerSpawnInfo.asset @@ -14,7 +14,7 @@ MonoBehaviour: m_EditorClassIdentifier: Assembly-CSharp::EnemySpawnInfo Type: 0 Prefab: {fileID: 6411951171763069002, guid: 6447e7f877b893f46bc4efe1ebc9fe9e, type: 3} - MaxSpawnCount: 10 + MaxSpawnCount: 20 CurrentSpawnCount: 0 - MaxCountPerSpawn: 5 + MaxCountPerSpawn: 10 CanStartSpawning: 1 diff --git a/Assets/Scriptables/Enemy/GoblerSpawnInfo.asset.meta b/Assets/Scripts/Runtime/AI/EnemyManager/GoblerSpawnInfo.asset.meta similarity index 79% rename from Assets/Scriptables/Enemy/GoblerSpawnInfo.asset.meta rename to Assets/Scripts/Runtime/AI/EnemyManager/GoblerSpawnInfo.asset.meta index e3396b4..13cba2b 100644 --- a/Assets/Scriptables/Enemy/GoblerSpawnInfo.asset.meta +++ b/Assets/Scripts/Runtime/AI/EnemyManager/GoblerSpawnInfo.asset.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 1ca8e8b0adde3e5418144bb90239219f +guid: c4bf740d31e980c4993914dd936d258a NativeFormatImporter: externalObjects: {} mainObjectFileID: 11400000 diff --git a/Assets/Scripts/Runtime/AI/EnemyManager/SpawnableEnemyInfo.cs b/Assets/Scripts/Runtime/AI/EnemyManager/SpawnableEnemyInfo.cs index 230b254..3215476 100644 --- a/Assets/Scripts/Runtime/AI/EnemyManager/SpawnableEnemyInfo.cs +++ b/Assets/Scripts/Runtime/AI/EnemyManager/SpawnableEnemyInfo.cs @@ -10,19 +10,6 @@ using static UnityEngine.EventSystems.EventTrigger; -[CreateAssetMenu(fileName = "EnemySpawnInfo", menuName = "Enemy Spawn Info")] -public class EnemySpawnInfo : ScriptableObject { - [Header("Info")] - public Enemies Type; - public GameObject Prefab; - public int MaxSpawnCount; - public int CurrentSpawnCount; - public int MaxCountPerSpawn; - public bool CanStartSpawning; -} - - - public class SpawnableEnemyInfo : MonoBehaviour { public static SpawnableEnemyInfo Instance; public static Action UpdateTick; @@ -33,6 +20,11 @@ public class SpawnableEnemyInfo : MonoBehaviour { [SerializeField] public List SpawnableEnemies; public void Awake() { + if (Instance != null && Instance != this) { + Destroy(gameObject); + return; + } + Instance = this; Owner = this.GameObject(); RestartData(); diff --git a/UserSettings/EditorUserSettings.asset b/UserSettings/EditorUserSettings.asset index a51240a..f1f7bdb 100644 --- a/UserSettings/EditorUserSettings.asset +++ b/UserSettings/EditorUserSettings.asset @@ -15,10 +15,10 @@ EditorUserSettings: value: 5505005f01565f095f58552144770644121540287e2e22342b2c1f67b5e26769 flags: 0 RecentlyUsedSceneGuid-2: - value: 515250075c0c595e5f5a5e71122159444e4e4a2f7a7d7f602f284d66b4b76661 + value: 57550252570d59585a08087412275c44414e40782e7e7e352c704d32e7e4363e flags: 0 RecentlyUsedSceneGuid-3: - value: 57550252570d59585a08087412275c44414e40782e7e7e352c704d32e7e4363e + value: 515250075c0c595e5f5a5e71122159444e4e4a2f7a7d7f602f284d66b4b76661 flags: 0 UIBuilder.EditorExtensionModeKey: value: 37434103