몬스터 실드 구현

- 갯수
 - 파괴 가능
 - 파괴 불가능
This commit is contained in:
Ino 2026-01-14 07:18:11 +09:00
parent c6c34ffe1e
commit 1ee80a8814
20 changed files with 508 additions and 192 deletions

View File

@ -11,10 +11,7 @@
- 지그재그
- 랜덤
몬스터 실드 구현
- 갯수
- 파괴 가능
- 파괴 불가능
보스 등장
고찰
- 에임을 마우스 찍은 곳으로 lookat 하면 안되나?

View File

@ -1 +1 @@
[{"n_MonsterTypeID":"2001","e_MonsterType":"Monster","n_DefaultAttack":"10","n_DefaultHp":"40","n_DropExp":"1","e_UnityType":"Melee","f_AttackRange":"1.2","f_AttackDelay":"1.1","f_MoveSpeed":"1","e_MoveType":"Static","n_ProjectileID":"3101","s_MonsterPrefabPath":"2001","f_Scale":"0.15","e_ShieldType":"None","n_NormalShieldCount":"0","n_InvinityShieldCount":"0"},{"n_MonsterTypeID":"2002","e_MonsterType":"Monster","n_DefaultAttack":"20","n_DefaultHp":"60","n_DropExp":"1","e_UnityType":"Range","f_AttackRange":"5","f_AttackDelay":"2","f_MoveSpeed":"1.2","e_MoveType":"Static","n_ProjectileID":"3102","s_MonsterPrefabPath":"2002","f_Scale":"0.15","e_ShieldType":"Static","n_NormalShieldCount":"1","n_InvinityShieldCount":"0"},{"n_MonsterTypeID":"2003","e_MonsterType":"Boss","n_DefaultAttack":"30","n_DefaultHp":"60","n_DropExp":"3","e_UnityType":"Melee","f_AttackRange":"2","f_AttackDelay":"1.5","f_MoveSpeed":"1.2","e_MoveType":"Random","n_ProjectileID":"3101","s_MonsterPrefabPath":"2003","f_Scale":"0.3","e_ShieldType":"Rotation","n_NormalShieldCount":"1","n_InvinityShieldCount":"1"},{"n_MonsterTypeID":"2004","e_MonsterType":"Monster","n_DefaultAttack":"10","n_DefaultHp":"40","n_DropExp":"1","e_UnityType":"Melee","f_AttackRange":"1.2","f_AttackDelay":"1.1","f_MoveSpeed":"1","e_MoveType":"Static","n_ProjectileID":"3101","s_MonsterPrefabPath":"2004","f_Scale":"0.15","e_ShieldType":"None","n_NormalShieldCount":"0","n_InvinityShieldCount":"0"},{"n_MonsterTypeID":"2005","e_MonsterType":"Monster","n_DefaultAttack":"20","n_DefaultHp":"60","n_DropExp":"1","e_UnityType":"Range","f_AttackRange":"5","f_AttackDelay":"2","f_MoveSpeed":"1.2","e_MoveType":"Static","n_ProjectileID":"3102","s_MonsterPrefabPath":"2005","f_Scale":"0.15","e_ShieldType":"Static","n_NormalShieldCount":"1","n_InvinityShieldCount":"0"},{"n_MonsterTypeID":"2006","e_MonsterType":"Boss","n_DefaultAttack":"30","n_DefaultHp":"60","n_DropExp":"3","e_UnityType":"Range","f_AttackRange":"4.5","f_AttackDelay":"1.5","f_MoveSpeed":"1.2","e_MoveType":"Random","n_ProjectileID":"3102","s_MonsterPrefabPath":"2006","f_Scale":"0.3","e_ShieldType":"Rotation","n_NormalShieldCount":"1","n_InvinityShieldCount":"1"}]
[{"n_MonsterTypeID":"2001","e_MonsterType":"Monster","n_DefaultAttack":"10","n_DefaultHp":"40","n_DropExp":"1","e_UnityType":"Melee","f_AttackRange":"1.2","f_AttackDelay":"1.1","f_MoveSpeed":"1","e_MoveType":"Static","n_ProjectileID":"3101","s_MonsterPrefabPath":"2001","f_Scale":"0.15","e_ShieldType":"Rotation","n_NormalShieldCount":"2","n_InvinityShieldCount":"2"},{"n_MonsterTypeID":"2002","e_MonsterType":"Monster","n_DefaultAttack":"20","n_DefaultHp":"60","n_DropExp":"1","e_UnityType":"Range","f_AttackRange":"5","f_AttackDelay":"2","f_MoveSpeed":"1.2","e_MoveType":"Static","n_ProjectileID":"3102","s_MonsterPrefabPath":"2002","f_Scale":"0.15","e_ShieldType":"Rotation","n_NormalShieldCount":"2","n_InvinityShieldCount":"2"},{"n_MonsterTypeID":"2003","e_MonsterType":"Boss","n_DefaultAttack":"30","n_DefaultHp":"60","n_DropExp":"3","e_UnityType":"Melee","f_AttackRange":"2","f_AttackDelay":"1.5","f_MoveSpeed":"1.2","e_MoveType":"Random","n_ProjectileID":"3101","s_MonsterPrefabPath":"2003","f_Scale":"0.3","e_ShieldType":"Rotation","n_NormalShieldCount":"1","n_InvinityShieldCount":"1"},{"n_MonsterTypeID":"2004","e_MonsterType":"Monster","n_DefaultAttack":"10","n_DefaultHp":"40","n_DropExp":"1","e_UnityType":"Melee","f_AttackRange":"1.2","f_AttackDelay":"1.1","f_MoveSpeed":"1","e_MoveType":"Static","n_ProjectileID":"3101","s_MonsterPrefabPath":"2004","f_Scale":"0.15","e_ShieldType":"Rotation","n_NormalShieldCount":"2","n_InvinityShieldCount":"2"},{"n_MonsterTypeID":"2005","e_MonsterType":"Monster","n_DefaultAttack":"20","n_DefaultHp":"60","n_DropExp":"1","e_UnityType":"Range","f_AttackRange":"5","f_AttackDelay":"2","f_MoveSpeed":"1.2","e_MoveType":"Static","n_ProjectileID":"3102","s_MonsterPrefabPath":"2005","f_Scale":"0.15","e_ShieldType":"Rotation","n_NormalShieldCount":"2","n_InvinityShieldCount":"2"},{"n_MonsterTypeID":"2006","e_MonsterType":"Boss","n_DefaultAttack":"30","n_DefaultHp":"60","n_DropExp":"3","e_UnityType":"Range","f_AttackRange":"4.5","f_AttackDelay":"1.5","f_MoveSpeed":"1.2","e_MoveType":"Random","n_ProjectileID":"3102","s_MonsterPrefabPath":"2006","f_Scale":"0.3","e_ShieldType":"Rotation","n_NormalShieldCount":"1","n_InvinityShieldCount":"1"}]

View File

@ -1 +1 @@
[{"n_UnitID":"1001","n_DefaultAttack":"100","n_DefaultHp":"500","f_AttackSpeed":"1.25","n_DefaultProjectileCount":"1","n_ProjectileID":"3001","s_UnitPrefabPath":"DefaultUnit"}]
[{"n_UnitID":"1001","n_DefaultAttack":"1","n_DefaultHp":"500","f_AttackSpeed":"1.25","n_DefaultProjectileCount":"1","n_ProjectileID":"3001","s_UnitPrefabPath":"DefaultUnit"}]

View File

@ -1 +1 @@
[{"n_PatternID":"1001","n_AppearWave":"1","n_AppearMeleeMonster":"10","n_AppearRangeMonster":"0","f_AppearDelay":"0.5","n_OverlapUnitCount":"1","f_NextWaveDelay":"3.5"},{"n_PatternID":"1001","n_AppearWave":"2","n_AppearMeleeMonster":"27","n_AppearRangeMonster":"4","f_AppearDelay":"0.35","n_OverlapUnitCount":"1","f_NextWaveDelay":"2.5"},{"n_PatternID":"1001","n_AppearWave":"3","n_AppearMeleeMonster":"40","n_AppearRangeMonster":"10","f_AppearDelay":"0.2","n_OverlapUnitCount":"2","f_NextWaveDelay":"2.5"},{"n_PatternID":"1002","n_AppearWave":"1","n_AppearMeleeMonster":"10","n_AppearRangeMonster":"0","f_AppearDelay":"0.5","n_OverlapUnitCount":"2","f_NextWaveDelay":"3"},{"n_PatternID":"1002","n_AppearWave":"2","n_AppearMeleeMonster":"27","n_AppearRangeMonster":"4","f_AppearDelay":"0.35","n_OverlapUnitCount":"2","f_NextWaveDelay":"3"},{"n_PatternID":"1002","n_AppearWave":"3","n_AppearMeleeMonster":"40","n_AppearRangeMonster":"10","f_AppearDelay":"0.2","n_OverlapUnitCount":"3","f_NextWaveDelay":"3"},{"n_PatternID":"1003","n_AppearWave":"1","n_AppearMeleeMonster":"10","n_AppearRangeMonster":"0","f_AppearDelay":"0.5","n_OverlapUnitCount":"2","f_NextWaveDelay":"3"},{"n_PatternID":"1003","n_AppearWave":"2","n_AppearMeleeMonster":"27","n_AppearRangeMonster":"4","f_AppearDelay":"0.35","n_OverlapUnitCount":"2","f_NextWaveDelay":"3"},{"n_PatternID":"1003","n_AppearWave":"3","n_AppearMeleeMonster":"40","n_AppearRangeMonster":"10","f_AppearDelay":"0.2","n_OverlapUnitCount":"3","f_NextWaveDelay":"3"}]
[{"n_PatternID":"1001","n_AppearWave":"1","n_AppearMeleeMonster":"2","n_AppearRangeMonster":"2","f_AppearDelay":"0.5","n_OverlapUnitCount":"1","f_NextWaveDelay":"3.5"},{"n_PatternID":"1001","n_AppearWave":"2","n_AppearMeleeMonster":"2","n_AppearRangeMonster":"2","f_AppearDelay":"0.35","n_OverlapUnitCount":"1","f_NextWaveDelay":"2.5"},{"n_PatternID":"1001","n_AppearWave":"3","n_AppearMeleeMonster":"2","n_AppearRangeMonster":"2","f_AppearDelay":"0.2","n_OverlapUnitCount":"2","f_NextWaveDelay":"2.5"},{"n_PatternID":"1002","n_AppearWave":"1","n_AppearMeleeMonster":"10","n_AppearRangeMonster":"0","f_AppearDelay":"0.5","n_OverlapUnitCount":"2","f_NextWaveDelay":"3"},{"n_PatternID":"1002","n_AppearWave":"2","n_AppearMeleeMonster":"27","n_AppearRangeMonster":"4","f_AppearDelay":"0.35","n_OverlapUnitCount":"2","f_NextWaveDelay":"3"},{"n_PatternID":"1002","n_AppearWave":"3","n_AppearMeleeMonster":"40","n_AppearRangeMonster":"10","f_AppearDelay":"0.2","n_OverlapUnitCount":"3","f_NextWaveDelay":"3"},{"n_PatternID":"1003","n_AppearWave":"1","n_AppearMeleeMonster":"10","n_AppearRangeMonster":"0","f_AppearDelay":"0.5","n_OverlapUnitCount":"2","f_NextWaveDelay":"3"},{"n_PatternID":"1003","n_AppearWave":"2","n_AppearMeleeMonster":"27","n_AppearRangeMonster":"4","f_AppearDelay":"0.35","n_OverlapUnitCount":"2","f_NextWaveDelay":"3"},{"n_PatternID":"1003","n_AppearWave":"3","n_AppearMeleeMonster":"40","n_AppearRangeMonster":"10","f_AppearDelay":"0.2","n_OverlapUnitCount":"3","f_NextWaveDelay":"3"}]

View File

@ -80,6 +80,7 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: dc11f2f6bb605e345bb8a31a51e9add4, type: 3}
m_Name:
m_EditorClassIdentifier:
m_MobShields: {fileID: 6782056599674409666}
--- !u!61 &7408551409062691717
BoxCollider2D:
m_ObjectHideFlags: 0
@ -1376,180 +1377,6 @@ SpriteRenderer:
m_WasSpriteAssigned: 1
m_MaskInteraction: 0
m_SpriteSortPoint: 0
--- !u!1 &364148225312177574
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 4473649609132141091}
- component: {fileID: 1238755157654720973}
m_Layer: 0
m_Name: NormalShield_Noraml
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &4473649609132141091
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 364148225312177574}
serializedVersion: 2
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 600, z: 0}
m_LocalScale: {x: 200, y: 200, z: 200}
m_ConstrainProportionsScale: 1
m_Children: []
m_Father: {fileID: 1090960412504591673}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!212 &1238755157654720973
SpriteRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 364148225312177574}
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: 2100000, guid: a97c105638bdf8b4a8650670310a4cd3, type: 2}
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: 0
m_SortingLayer: 0
m_SortingOrder: 4
m_Sprite: {fileID: 21300000, guid: a3c2fa0cf857d684196fdcbf24a4485b, type: 3}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_FlipX: 0
m_FlipY: 0
m_DrawMode: 0
m_Size: {x: 1.92, y: 1.92}
m_AdaptiveModeThreshold: 0.5
m_SpriteTileMode: 0
m_WasSpriteAssigned: 1
m_MaskInteraction: 0
m_SpriteSortPoint: 0
--- !u!1 &4463882891514848185
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 4973085035991788585}
- component: {fileID: 5363639451810769206}
m_Layer: 0
m_Name: NonCrashShield
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &4973085035991788585
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4463882891514848185}
serializedVersion: 2
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: -600, z: 0}
m_LocalScale: {x: 200, y: 200, z: 200}
m_ConstrainProportionsScale: 1
m_Children: []
m_Father: {fileID: 1090960412504591673}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!212 &5363639451810769206
SpriteRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4463882891514848185}
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: 2100000, guid: a97c105638bdf8b4a8650670310a4cd3, type: 2}
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: 0
m_SortingLayer: 0
m_SortingOrder: 4
m_Sprite: {fileID: 21300000, guid: e286dee9940748c4f94eae835d92a8e9, type: 3}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_FlipX: 0
m_FlipY: 0
m_DrawMode: 0
m_Size: {x: 1.92, y: 1.92}
m_AdaptiveModeThreshold: 0.5
m_SpriteTileMode: 0
m_WasSpriteAssigned: 1
m_MaskInteraction: 0
m_SpriteSortPoint: 0
--- !u!1 &7610231058272992920
GameObject:
m_ObjectHideFlags: 0
@ -1559,6 +1386,7 @@ GameObject:
serializedVersion: 6
m_Component:
- component: {fileID: 1090960412504591673}
- component: {fileID: 6782056599674409666}
m_Layer: 0
m_Name: Shields
m_TagString: Untagged
@ -1575,11 +1403,22 @@ Transform:
m_GameObject: {fileID: 7610231058272992920}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 331, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 4473649609132141091}
- {fileID: 4973085035991788585}
m_LocalPosition: {x: 0, y: 313, z: 0}
m_LocalScale: {x: 200, y: 200, z: 200}
m_ConstrainProportionsScale: 1
m_Children: []
m_Father: {fileID: 4205530439835790}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &6782056599674409666
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7610231058272992920}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 95cfc8ede5a97ff40974f55cacd46e17, type: 3}
m_Name:
m_EditorClassIdentifier:
rotateSpeed: 180

View File

@ -367,6 +367,7 @@ Transform:
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 4996415403998748}
- {fileID: 6600399346490983566}
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &8943805363783075413
@ -381,6 +382,7 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: dc11f2f6bb605e345bb8a31a51e9add4, type: 3}
m_Name:
m_EditorClassIdentifier:
m_MobShields: {fileID: 0}
--- !u!61 &-5517493969674577136
BoxCollider2D:
m_ObjectHideFlags: 0
@ -1375,3 +1377,48 @@ Transform:
- {fileID: 4771986209148886}
m_Father: {fileID: 4870103639259448}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &981746318970423720
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 6600399346490983566}
- component: {fileID: 4923824390727777241}
m_Layer: 0
m_Name: Shields
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &6600399346490983566
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 981746318970423720}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 313, z: 0}
m_LocalScale: {x: 200, y: 200, z: 200}
m_ConstrainProportionsScale: 1
m_Children: []
m_Father: {fileID: 4919920557810008}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &4923824390727777241
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 981746318970423720}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 95cfc8ede5a97ff40974f55cacd46e17, type: 3}
m_Name:
m_EditorClassIdentifier:
rotateSpeed: 180

View File

@ -779,6 +779,7 @@ Transform:
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 4797131040760126}
- {fileID: 3394347318735224098}
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &7277315753564828990
@ -793,6 +794,7 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: dc11f2f6bb605e345bb8a31a51e9add4, type: 3}
m_Name:
m_EditorClassIdentifier:
m_MobShields: {fileID: 0}
--- !u!61 &-7433641887292384529
BoxCollider2D:
m_ObjectHideFlags: 0
@ -1683,3 +1685,48 @@ Transform:
- {fileID: 4756235846760804}
m_Father: {fileID: 4250136605671354}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &6934451841467760234
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 3394347318735224098}
- component: {fileID: 91848323547492284}
m_Layer: 0
m_Name: Shields
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &3394347318735224098
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6934451841467760234}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 313, z: 0}
m_LocalScale: {x: 200, y: 200, z: 200}
m_ConstrainProportionsScale: 1
m_Children: []
m_Father: {fileID: 4098891099226038}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &91848323547492284
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6934451841467760234}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 95cfc8ede5a97ff40974f55cacd46e17, type: 3}
m_Name:
m_EditorClassIdentifier:
rotateSpeed: 180

View File

@ -163,6 +163,7 @@ Transform:
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 4175092384108970}
- {fileID: 7839800442225030822}
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &9083064825758885968
@ -177,6 +178,7 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: dc11f2f6bb605e345bb8a31a51e9add4, type: 3}
m_Name:
m_EditorClassIdentifier:
m_MobShields: {fileID: 0}
--- !u!61 &-5769280700931428434
BoxCollider2D:
m_ObjectHideFlags: 0
@ -1375,3 +1377,48 @@ Transform:
- {fileID: 4810831549114130}
m_Father: {fileID: 4890716284789786}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: -24.144917}
--- !u!1 &3765633369875205056
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 7839800442225030822}
- component: {fileID: 3575564916014690912}
m_Layer: 0
m_Name: Shields
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &7839800442225030822
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3765633369875205056}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 313, z: 0}
m_LocalScale: {x: 200, y: 200, z: 200}
m_ConstrainProportionsScale: 1
m_Children: []
m_Father: {fileID: 4871338640321110}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &3575564916014690912
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3765633369875205056}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 95cfc8ede5a97ff40974f55cacd46e17, type: 3}
m_Name:
m_EditorClassIdentifier:
rotateSpeed: 180

View File

@ -701,6 +701,7 @@ Transform:
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 4963943629575374}
- {fileID: 3731773071436686321}
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &915639890555448008
@ -715,6 +716,7 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: dc11f2f6bb605e345bb8a31a51e9add4, type: 3}
m_Name:
m_EditorClassIdentifier:
m_MobShields: {fileID: 0}
--- !u!61 &-4201125644001596970
BoxCollider2D:
m_ObjectHideFlags: 0
@ -1375,3 +1377,48 @@ Transform:
- {fileID: 4676054011475924}
m_Father: {fileID: 4642478504491592}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &3793765548613350171
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 3731773071436686321}
- component: {fileID: 3797861635316610287}
m_Layer: 0
m_Name: Shields
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &3731773071436686321
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3793765548613350171}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 313, z: 0}
m_LocalScale: {x: 200, y: 200, z: 200}
m_ConstrainProportionsScale: 1
m_Children: []
m_Father: {fileID: 4263538052139452}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &3797861635316610287
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3793765548613350171}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 95cfc8ede5a97ff40974f55cacd46e17, type: 3}
m_Name:
m_EditorClassIdentifier:
rotateSpeed: 180

View File

@ -875,6 +875,7 @@ Transform:
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 4218189015692008}
- {fileID: 4735686299845467032}
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &2344913629303943706
@ -889,6 +890,7 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: dc11f2f6bb605e345bb8a31a51e9add4, type: 3}
m_Name:
m_EditorClassIdentifier:
m_MobShields: {fileID: 0}
--- !u!61 &-4613985556523652640
BoxCollider2D:
m_ObjectHideFlags: 0
@ -2893,3 +2895,48 @@ Transform:
m_Children: []
m_Father: {fileID: 4342510347157730}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &3385307264998270877
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 4735686299845467032}
- component: {fileID: 2579714922902953830}
m_Layer: 0
m_Name: Shields
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &4735686299845467032
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3385307264998270877}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 313, z: 0}
m_LocalScale: {x: 200, y: 200, z: 200}
m_ConstrainProportionsScale: 1
m_Children: []
m_Father: {fileID: 4462120068322228}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &2579714922902953830
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3385307264998270877}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 95cfc8ede5a97ff40974f55cacd46e17, type: 3}
m_Name:
m_EditorClassIdentifier:
rotateSpeed: 180

View File

@ -0,0 +1,153 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &5673848494909945986
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 8477359278406840071}
- component: {fileID: 3536493103719749355}
- component: {fileID: 6521432729972544745}
- component: {fileID: 6949592461717861535}
m_Layer: 0
m_Name: MobShield
m_TagString: MobShield
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &8477359278406840071
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5673848494909945986}
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: 1
m_Children: []
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &3536493103719749355
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5673848494909945986}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 794fd59d19270d041944dcfa708f4d8c, type: 3}
m_Name:
m_EditorClassIdentifier:
sprites:
- {fileID: 21300000, guid: a3c2fa0cf857d684196fdcbf24a4485b, type: 3}
- {fileID: 21300000, guid: e286dee9940748c4f94eae835d92a8e9, type: 3}
m_SR: {fileID: 6521432729972544745}
--- !u!212 &6521432729972544745
SpriteRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5673848494909945986}
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: 2100000, guid: a97c105638bdf8b4a8650670310a4cd3, type: 2}
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: 0
m_SortingLayer: 0
m_SortingOrder: 4
m_Sprite: {fileID: 21300000, guid: a3c2fa0cf857d684196fdcbf24a4485b, type: 3}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_FlipX: 0
m_FlipY: 0
m_DrawMode: 0
m_Size: {x: 1.92, y: 1.92}
m_AdaptiveModeThreshold: 0.5
m_SpriteTileMode: 0
m_WasSpriteAssigned: 1
m_MaskInteraction: 0
m_SpriteSortPoint: 0
--- !u!61 &6949592461717861535
BoxCollider2D:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5673848494909945986}
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: 0, y: 0}
m_SpriteTilingProperty:
border: {x: 0, y: 0, z: 0, w: 0}
pivot: {x: 0.5, y: 0.5}
oldSize: {x: 1.92, y: 1.92}
newSize: {x: 1.92, y: 1.92}
adaptiveTilingThreshold: 0.5
drawMode: 0
adaptiveTiling: 0
m_AutoTiling: 0
m_Size: {x: 1.92, y: 1.92}
m_EdgeRadius: 0

View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: deef8706fb23ccd499bc1d497d339df1
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -90,7 +90,6 @@ MonoBehaviour:
m_Name:
m_EditorClassIdentifier:
m_Speed: 12
m_MaxBounce: 3
radius: 0.1
--- !u!61 &4784918102884404883
BoxCollider2D:
@ -126,7 +125,7 @@ BoxCollider2D:
m_UsedByEffector: 0
m_CompositeOperation: 0
m_CompositeOrder: 0
m_Offset: {x: 0, y: 0}
m_Offset: {x: 0, y: 61.6}
m_SpriteTilingProperty:
border: {x: 0, y: 0, z: 0, w: 0}
pivot: {x: 0, y: 0}
@ -136,5 +135,5 @@ BoxCollider2D:
drawMode: 0
adaptiveTiling: 0
m_AutoTiling: 0
m_Size: {x: 1, y: 1}
m_Size: {x: 19, y: 25}
m_EdgeRadius: 0

View File

@ -6,12 +6,19 @@ public enum eMobState { Move, Attack }
public class MobActor : MonoBehaviour
{
public MobShields m_MobShields;
MonsterTableData m_Data;
float FenceY, m_attackTimer;
eMobState m_State = eMobState.Move;
Animator m_Animator;
HUD_HP m_HUD_HP;
private void OnValidate()
{
m_MobShields = GetComponentInChildren<MobShields>();
}
string poolKey;
IngameMgr owner;
public void SetOwner(IngameMgr mgr, string key)
@ -70,6 +77,7 @@ public class MobActor : MonoBehaviour
m_attackTimer = m_Data.f_AttackDelay;
m_HP = m_Data.n_DefaultHp;
m_HUD_HP.Set(transform, m_HP);
m_MobShields.Set(data);
}
void Move()

View File

@ -0,0 +1,20 @@
using UnityEngine;
public class MobShield : MonoBehaviour
{
public Sprite[] sprites; // 0 파괴 가능 실드, 1 파괴 불가능 실드
public SpriteRenderer m_SR;
bool m_CrashShield;
public void Set(bool crashshield)
{
m_CrashShield = crashshield;
m_SR.sprite = sprites[m_CrashShield ? 1 : 0];
}
public void Get_Dmg()
{
gameObject.SetActive(m_CrashShield);
}
}

View File

@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: 794fd59d19270d041944dcfa708f4d8c

View File

@ -0,0 +1,53 @@
using UnityEngine;
public class MobShields : MonoBehaviour
{
eShieldType shieldType;
public float rotateSpeed = 180f; // 초당 회전 각도
public void Set(MonsterTableData data)
{
transform.localEulerAngles = Vector3.zero;
shieldType = data.e_ShieldType;
switch (data.e_ShieldType)
{
case eShieldType.None:
gameObject.SetActive(false);
break;
case eShieldType.Static:
case eShieldType.Rotation:
Make_Shield(data);
break;
}
}
void Make_Shield(MonsterTableData data)
{
gameObject.SetActive(true);
int crash = data.n_NormalShieldCount;
int noncrash = data.n_InvinityShieldCount;
int index = 0;
while (index < crash + noncrash)
{
var shield = DSUtil.Get_Clone<MobShield>("Mob/MobShield", transform, Vector3.one * 10000f);
switch (index)
{
case 0: shield.transform.localPosition = Vector3.down * 2.5f; break;
case 1: shield.transform.localPosition = Vector3.up * 2.5f; break;
case 2: shield.transform.localPosition = Vector3.right * 2.5f; break;
case 3: shield.transform.localPosition = Vector3.left * 2.5f; break;
}
shield.Set(index++ < crash);
}
}
private void Update()
{
if (shieldType == eShieldType.Rotation)
transform.Rotate(0f, 0f, rotateSpeed * Time.deltaTime);
}
}

View File

@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: 95cfc8ede5a97ff40974f55cacd46e17

View File

@ -127,9 +127,10 @@ public class Projectile : MonoBehaviour
{
if (m_ProjectileData.IsPC)
{
if (collision.tag == "Mob")
switch(collision.tag)
{
collision.GetComponent<MobActor>().Get_Dmg(m_ProjectileData.Dmg);
case "Mob": collision.GetComponent<MobActor>().Get_Dmg(m_ProjectileData.Dmg); break;
case "MobShield": collision.GetComponent<MobShield>().Get_Dmg(); break;
}
}
else