From 062100ec8d1f925c98012e4e2b82250ed9422c5d Mon Sep 17 00:00:00 2001 From: Ino Date: Tue, 13 Jan 2026 07:47:31 +0900 Subject: [PATCH] =?UTF-8?q?=EB=AA=AC=EC=8A=A4=ED=84=B0=20=ED=8E=9C?= =?UTF-8?q?=EC=8A=A4=20=EC=95=9E=EC=97=90=EC=84=9C=20=EB=A9=88=EC=B6=94?= =?UTF-8?q?=EA=B8=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Assets/OneShotOneKill.txt | 10 ++- Assets/ResWork/Prefab/Play_Ingame.prefab | 1 + Assets/Resources/Mob/2001.prefab | 81 +++++++++++++++++++++++- Assets/Resources/Mob/2002.prefab | 81 +++++++++++++++++++++++- Assets/Resources/Mob/2003.prefab | 81 +++++++++++++++++++++++- Assets/Resources/Mob/2004.prefab | 81 +++++++++++++++++++++++- Assets/Resources/Mob/2005.prefab | 81 +++++++++++++++++++++++- Assets/Resources/Mob/2006.prefab | 81 +++++++++++++++++++++++- Assets/Script/InGame/Actor/MobActor.cs | 65 ++++++++++++++++++- Assets/Script/InGame/IngameMgr.cs | 8 ++- 10 files changed, 548 insertions(+), 22 deletions(-) diff --git a/Assets/OneShotOneKill.txt b/Assets/OneShotOneKill.txt index 243d382..e228d30 100644 --- a/Assets/OneShotOneKill.txt +++ b/Assets/OneShotOneKill.txt @@ -4,4 +4,12 @@ - 몬스터 - 유닛 - 몬스터 -- 투사체(이펙트) \ No newline at end of file +- 투사체(이펙트) + +몬스터 펜스 공격하기 + - 몬스터 공격 프리팹 만들기 + - 펜스 hp 깍기 + - 펜스 부서지면 패배 화면 + +고찰 + - 에임을 마우스 찍은 곳으로 lookat 하면 안되나? \ No newline at end of file diff --git a/Assets/ResWork/Prefab/Play_Ingame.prefab b/Assets/ResWork/Prefab/Play_Ingame.prefab index 7f56390..04f7380 100644 --- a/Assets/ResWork/Prefab/Play_Ingame.prefab +++ b/Assets/ResWork/Prefab/Play_Ingame.prefab @@ -5148,6 +5148,7 @@ MonoBehaviour: - {fileID: 2066876199044934063} - {fileID: 1298365646144552531} - {fileID: 5678767516249178587} + tf_fence: {fileID: 5691718172133534467} --- !u!1 &4111377606590957781 GameObject: m_ObjectHideFlags: 0 diff --git a/Assets/Resources/Mob/2001.prefab b/Assets/Resources/Mob/2001.prefab index 8069dbb..02540f9 100644 --- a/Assets/Resources/Mob/2001.prefab +++ b/Assets/Resources/Mob/2001.prefab @@ -42,9 +42,11 @@ GameObject: m_Component: - component: {fileID: 4205530439835790} - component: {fileID: 695906546759284123} + - component: {fileID: 7408551409062691717} + - component: {fileID: 2315001086527860537} m_Layer: 0 m_Name: 2001 - m_TagString: Untagged + m_TagString: Mob m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 @@ -77,6 +79,79 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: dc11f2f6bb605e345bb8a31a51e9add4, type: 3} m_Name: m_EditorClassIdentifier: +--- !u!61 &7408551409062691717 +BoxCollider2D: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1043722076513010} + 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: 1 + m_UsedByEffector: 0 + m_CompositeOperation: 0 + m_CompositeOrder: 0 + m_Offset: {x: 20.828934, y: 349.70724} + m_SpriteTilingProperty: + border: {x: 0, y: 0, z: 0, w: 0} + pivot: {x: 0, y: 0} + oldSize: {x: 0, y: 0} + newSize: {x: 0, y: 0} + adaptiveTilingThreshold: 0 + drawMode: 0 + adaptiveTiling: 0 + m_AutoTiling: 0 + m_Size: {x: 625.07874, y: 778.555} + m_EdgeRadius: 0 +--- !u!50 &2315001086527860537 +Rigidbody2D: + serializedVersion: 5 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1043722076513010} + m_BodyType: 1 + m_Simulated: 1 + m_UseFullKinematicContacts: 0 + m_UseAutoMass: 0 + m_Mass: 1 + m_LinearDamping: 0 + m_AngularDamping: 0.05 + m_GravityScale: 1 + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_Interpolate: 0 + m_SleepingMode: 1 + m_CollisionDetection: 0 + m_Constraints: 7 --- !u!1 &1095329531801344 GameObject: m_ObjectHideFlags: 0 @@ -898,8 +973,8 @@ Transform: m_GameObject: {fileID: 1740492316128576} serializedVersion: 2 m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 216.0259, z: 0} - m_LocalScale: {x: 1.1, y: 1.1, z: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 m_Children: - {fileID: 4178267461352546} diff --git a/Assets/Resources/Mob/2002.prefab b/Assets/Resources/Mob/2002.prefab index 3d54c48..8c54d00 100644 --- a/Assets/Resources/Mob/2002.prefab +++ b/Assets/Resources/Mob/2002.prefab @@ -27,8 +27,8 @@ Transform: m_GameObject: {fileID: 1052910450632858} serializedVersion: 2 m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 216.0259, z: 0} - m_LocalScale: {x: 1.1, y: 1.1, z: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 m_Children: - {fileID: 4700307461515880} @@ -344,9 +344,11 @@ GameObject: m_Component: - component: {fileID: 4919920557810008} - component: {fileID: 8943805363783075413} + - component: {fileID: -5517493969674577136} + - component: {fileID: -7661725266078143880} m_Layer: 0 m_Name: 2002 - m_TagString: Untagged + m_TagString: Mob m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 @@ -379,6 +381,79 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: dc11f2f6bb605e345bb8a31a51e9add4, type: 3} m_Name: m_EditorClassIdentifier: +--- !u!61 &-5517493969674577136 +BoxCollider2D: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1087936592403206} + 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: 1 + m_UsedByEffector: 0 + m_CompositeOperation: 0 + m_CompositeOrder: 0 + m_Offset: {x: 20.828934, y: 349.70724} + m_SpriteTilingProperty: + border: {x: 0, y: 0, z: 0, w: 0} + pivot: {x: 0, y: 0} + oldSize: {x: 0, y: 0} + newSize: {x: 0, y: 0} + adaptiveTilingThreshold: 0 + drawMode: 0 + adaptiveTiling: 0 + m_AutoTiling: 0 + m_Size: {x: 625.07874, y: 778.555} + m_EdgeRadius: 0 +--- !u!50 &-7661725266078143880 +Rigidbody2D: + serializedVersion: 5 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1087936592403206} + m_BodyType: 1 + m_Simulated: 1 + m_UseFullKinematicContacts: 0 + m_UseAutoMass: 0 + m_Mass: 1 + m_LinearDamping: 0 + m_AngularDamping: 0.05 + m_GravityScale: 1 + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_Interpolate: 0 + m_SleepingMode: 1 + m_CollisionDetection: 0 + m_Constraints: 7 --- !u!1 &1130338277436614 GameObject: m_ObjectHideFlags: 0 diff --git a/Assets/Resources/Mob/2003.prefab b/Assets/Resources/Mob/2003.prefab index d4d233b..ced8e01 100644 --- a/Assets/Resources/Mob/2003.prefab +++ b/Assets/Resources/Mob/2003.prefab @@ -756,9 +756,11 @@ GameObject: m_Component: - component: {fileID: 4098891099226038} - component: {fileID: 7277315753564828990} + - component: {fileID: -7433641887292384529} + - component: {fileID: -7020479629919834126} m_Layer: 0 m_Name: 2003 - m_TagString: Untagged + m_TagString: Mob m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 @@ -791,6 +793,79 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: dc11f2f6bb605e345bb8a31a51e9add4, type: 3} m_Name: m_EditorClassIdentifier: +--- !u!61 &-7433641887292384529 +BoxCollider2D: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1457843927545912} + 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: 1 + m_UsedByEffector: 0 + m_CompositeOperation: 0 + m_CompositeOrder: 0 + m_Offset: {x: 20.828934, y: 349.70724} + m_SpriteTilingProperty: + border: {x: 0, y: 0, z: 0, w: 0} + pivot: {x: 0, y: 0} + oldSize: {x: 0, y: 0} + newSize: {x: 0, y: 0} + adaptiveTilingThreshold: 0 + drawMode: 0 + adaptiveTiling: 0 + m_AutoTiling: 0 + m_Size: {x: 625.07874, y: 778.555} + m_EdgeRadius: 0 +--- !u!50 &-7020479629919834126 +Rigidbody2D: + serializedVersion: 5 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1457843927545912} + m_BodyType: 1 + m_Simulated: 1 + m_UseFullKinematicContacts: 0 + m_UseAutoMass: 0 + m_Mass: 1 + m_LinearDamping: 0 + m_AngularDamping: 0.05 + m_GravityScale: 1 + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_Interpolate: 0 + m_SleepingMode: 1 + m_CollisionDetection: 0 + m_Constraints: 7 --- !u!1 &1482192526284530 GameObject: m_ObjectHideFlags: 0 @@ -1375,8 +1450,8 @@ Transform: m_GameObject: {fileID: 1818180706205174} serializedVersion: 2 m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 157.665, z: 0} - m_LocalScale: {x: 1.2592657, y: 1.2592657, z: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 m_Children: - {fileID: 4294410007955960} diff --git a/Assets/Resources/Mob/2004.prefab b/Assets/Resources/Mob/2004.prefab index 4c1b468..35e4f0b 100644 --- a/Assets/Resources/Mob/2004.prefab +++ b/Assets/Resources/Mob/2004.prefab @@ -140,9 +140,11 @@ GameObject: m_Component: - component: {fileID: 4871338640321110} - component: {fileID: 9083064825758885968} + - component: {fileID: -5769280700931428434} + - component: {fileID: 382562590798071086} m_Layer: 0 m_Name: 2004 - m_TagString: Untagged + m_TagString: Mob m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 @@ -175,6 +177,79 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: dc11f2f6bb605e345bb8a31a51e9add4, type: 3} m_Name: m_EditorClassIdentifier: +--- !u!61 &-5769280700931428434 +BoxCollider2D: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1173822541298154} + 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: 1 + m_UsedByEffector: 0 + m_CompositeOperation: 0 + m_CompositeOrder: 0 + m_Offset: {x: -53.888855, y: 349.70724} + m_SpriteTilingProperty: + border: {x: 0, y: 0, z: 0, w: 0} + pivot: {x: 0, y: 0} + oldSize: {x: 0, y: 0} + newSize: {x: 0, y: 0} + adaptiveTilingThreshold: 0 + drawMode: 0 + adaptiveTiling: 0 + m_AutoTiling: 0 + m_Size: {x: 475.6432, y: 778.555} + m_EdgeRadius: 0 +--- !u!50 &382562590798071086 +Rigidbody2D: + serializedVersion: 5 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1173822541298154} + m_BodyType: 1 + m_Simulated: 1 + m_UseFullKinematicContacts: 0 + m_UseAutoMass: 0 + m_Mass: 1 + m_LinearDamping: 0 + m_AngularDamping: 0.05 + m_GravityScale: 1 + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_Interpolate: 0 + m_SleepingMode: 1 + m_CollisionDetection: 0 + m_Constraints: 7 --- !u!1 &1204276536449356 GameObject: m_ObjectHideFlags: 0 @@ -421,8 +496,8 @@ Transform: m_GameObject: {fileID: 1357393398026028} serializedVersion: 2 m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 236.498, z: 0} - m_LocalScale: {x: 1.1, y: 1.1, z: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 m_Children: - {fileID: 4005177710326986} diff --git a/Assets/Resources/Mob/2005.prefab b/Assets/Resources/Mob/2005.prefab index 9ecee57..3151011 100644 --- a/Assets/Resources/Mob/2005.prefab +++ b/Assets/Resources/Mob/2005.prefab @@ -567,8 +567,8 @@ Transform: m_GameObject: {fileID: 1243929826848042} serializedVersion: 2 m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 236.498, z: 0} - m_LocalScale: {x: 1.1, y: 1.1, z: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 m_Children: - {fileID: 4058320506699344} @@ -678,9 +678,11 @@ GameObject: m_Component: - component: {fileID: 4263538052139452} - component: {fileID: 915639890555448008} + - component: {fileID: -4201125644001596970} + - component: {fileID: 528419005256890110} m_Layer: 0 m_Name: 2005 - m_TagString: Untagged + m_TagString: Mob m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 @@ -713,6 +715,79 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: dc11f2f6bb605e345bb8a31a51e9add4, type: 3} m_Name: m_EditorClassIdentifier: +--- !u!61 &-4201125644001596970 +BoxCollider2D: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1269189959806668} + 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: 1 + m_UsedByEffector: 0 + m_CompositeOperation: 0 + m_CompositeOrder: 0 + m_Offset: {x: -47.157837, y: 349.70724} + m_SpriteTilingProperty: + border: {x: 0, y: 0, z: 0, w: 0} + pivot: {x: 0, y: 0} + oldSize: {x: 0, y: 0} + newSize: {x: 0, y: 0} + adaptiveTilingThreshold: 0 + drawMode: 0 + adaptiveTiling: 0 + m_AutoTiling: 0 + m_Size: {x: 489.10522, y: 778.555} + m_EdgeRadius: 0 +--- !u!50 &528419005256890110 +Rigidbody2D: + serializedVersion: 5 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1269189959806668} + m_BodyType: 1 + m_Simulated: 1 + m_UseFullKinematicContacts: 0 + m_UseAutoMass: 0 + m_Mass: 1 + m_LinearDamping: 0 + m_AngularDamping: 0.05 + m_GravityScale: 1 + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_Interpolate: 0 + m_SleepingMode: 1 + m_CollisionDetection: 0 + m_Constraints: 7 --- !u!1 &1360204683145904 GameObject: m_ObjectHideFlags: 0 diff --git a/Assets/Resources/Mob/2006.prefab b/Assets/Resources/Mob/2006.prefab index a714e51..0892c13 100644 --- a/Assets/Resources/Mob/2006.prefab +++ b/Assets/Resources/Mob/2006.prefab @@ -852,9 +852,11 @@ GameObject: m_Component: - component: {fileID: 4462120068322228} - component: {fileID: 2344913629303943706} + - component: {fileID: -4613985556523652640} + - component: {fileID: 7760852284543703624} m_Layer: 0 m_Name: 2006 - m_TagString: Untagged + m_TagString: Mob m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 @@ -887,6 +889,79 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: dc11f2f6bb605e345bb8a31a51e9add4, type: 3} m_Name: m_EditorClassIdentifier: +--- !u!61 &-4613985556523652640 +BoxCollider2D: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1340847283139508} + 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: 1 + m_UsedByEffector: 0 + m_CompositeOperation: 0 + m_CompositeOrder: 0 + m_Offset: {x: 20.828918, y: 737.2317} + m_SpriteTilingProperty: + border: {x: 0, y: 0, z: 0, w: 0} + pivot: {x: 0, y: 0} + oldSize: {x: 0, y: 0} + newSize: {x: 0, y: 0} + adaptiveTilingThreshold: 0 + drawMode: 0 + adaptiveTiling: 0 + m_AutoTiling: 0 + m_Size: {x: 625.07874, y: 1149.5688} + m_EdgeRadius: 0 +--- !u!50 &7760852284543703624 +Rigidbody2D: + serializedVersion: 5 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1340847283139508} + m_BodyType: 1 + m_Simulated: 1 + m_UseFullKinematicContacts: 0 + m_UseAutoMass: 0 + m_Mass: 1 + m_LinearDamping: 0 + m_AngularDamping: 0.05 + m_GravityScale: 1 + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_Interpolate: 0 + m_SleepingMode: 1 + m_CollisionDetection: 0 + m_Constraints: 7 --- !u!1 &1358245273418476 GameObject: m_ObjectHideFlags: 0 @@ -914,8 +989,8 @@ Transform: m_GameObject: {fileID: 1358245273418476} serializedVersion: 2 m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 35, z: 0} - m_LocalScale: {x: 0.8906311, y: 0.8906311, z: 0.8906311} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 m_Children: - {fileID: 4342510347157730} diff --git a/Assets/Script/InGame/Actor/MobActor.cs b/Assets/Script/InGame/Actor/MobActor.cs index a0ba133..e5f72bd 100644 --- a/Assets/Script/InGame/Actor/MobActor.cs +++ b/Assets/Script/InGame/Actor/MobActor.cs @@ -1,7 +1,13 @@ using UnityEngine; +public enum eMobState { Move, Attack } + public class MobActor : MonoBehaviour { + MonsterTableData m_Data; + float FenceY, m_attackTimer; + eMobState m_State = eMobState.Move; + private void Awake() { var srs = GetComponentsInChildren(true); @@ -11,6 +17,63 @@ public class MobActor : MonoBehaviour private void Update() { - transform.position += Vector3.down * Time.deltaTime; + float distToFence = transform.position.y - FenceY; + + switch (m_State) + { + case eMobState.Move: + if (distToFence <= m_Data.f_AttackRange) + { + m_State = eMobState.Attack; + OnEnterAttack(); + } + else + { + Move(); + } + break; + + case eMobState.Attack: + Attack(); + break; + } + } + + public void Set(MonsterTableData data, float fenceY) + { + m_Data = data; + FenceY = fenceY; + m_attackTimer = m_Data.f_AttackDelay; + } + + void Move() + { + transform.position += Vector3.down * Time.deltaTime * m_Data.f_MoveSpeed; + } + + void OnEnterAttack() + { + // 이동 정지 시점 보정 (너무 파고들지 않게) + Vector3 pos = transform.position; + pos.y = FenceY + m_Data.f_AttackRange; + transform.position = pos; + + // 애니메이션, 공격 쿨타임 초기화 등 + } + + void Attack() + { + m_attackTimer -= Time.deltaTime; + if (m_attackTimer > 0f) + return; + + m_attackTimer = m_Data.f_AttackDelay; + + // 철책 or 플레이어 공격 + AttackFence(); + } + + void AttackFence() + { } } \ No newline at end of file diff --git a/Assets/Script/InGame/IngameMgr.cs b/Assets/Script/InGame/IngameMgr.cs index 29968ba..17273d5 100644 --- a/Assets/Script/InGame/IngameMgr.cs +++ b/Assets/Script/InGame/IngameMgr.cs @@ -13,6 +13,9 @@ public class IngameMgr : MonoBehaviour [Header("Monster")] public Transform[] tfs_mobparent; + [Header("Fence")] + public Transform tf_fence; + int m_Wave, m_HP, m_Coin, m_Item, m_Lv, m_Exp; StageConfigTableData CurStageData; @@ -84,8 +87,9 @@ public class IngameMgr : MonoBehaviour } var mobdata = table_monster.Ins.Get_Data(mobid); - DSUtil.Get_Clone(mobdata.s_MonsterPrefabPath, tfs_mobparent[Random.Range(0, tfs_mobparent.Length)], - null, Vector3.one * mobdata.f_Scale); + DSUtil.Get_Clone(mobdata.s_MonsterPrefabPath, + tfs_mobparent[Random.Range(0, tfs_mobparent.Length)], null, Vector3.one * mobdata.f_Scale) + .Set(mobdata, tf_fence.position.y); } }