diff --git a/Assets/OneShotOneKill.txt b/Assets/OneShotOneKill.txt index e228d30..53c776c 100644 --- a/Assets/OneShotOneKill.txt +++ b/Assets/OneShotOneKill.txt @@ -7,9 +7,16 @@ - 투사체(이펙트) 몬스터 펜스 공격하기 - - 몬스터 공격 프리팹 만들기 +// - 몬스터 공격 프리팹 만들기 +// - 몬스터 공격 애님 + - 프리팹 발사! - 펜스 hp 깍기 - 펜스 부서지면 패배 화면 +몬스터 이동방식 구현 +// - 직진 + - 지그재그 + - 랜덤 + 고찰 - 에임을 마우스 찍은 곳으로 lookat 하면 안되나? \ No newline at end of file diff --git a/Assets/ResWork/Table/OneShotOneKill.xlsm b/Assets/ResWork/Table/OneShotOneKill.xlsm index 2072997..3fc9b09 100644 Binary files a/Assets/ResWork/Table/OneShotOneKill.xlsm and b/Assets/ResWork/Table/OneShotOneKill.xlsm differ diff --git a/Assets/Resources/Projectile/Projectile_MobMelee.prefab b/Assets/Resources/Projectile/Projectile_MobMelee.prefab new file mode 100644 index 0000000..0ef46d2 --- /dev/null +++ b/Assets/Resources/Projectile/Projectile_MobMelee.prefab @@ -0,0 +1,109 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &6506108141890977998 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1218441243008823837} + - component: {fileID: 6182406677487406681} + - component: {fileID: 5283165188844738288} + - component: {fileID: 4784918102884404883} + m_Layer: 0 + m_Name: Projectile_MobMelee + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1218441243008823837 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6506108141890977998} + 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: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 100, y: 159} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &6182406677487406681 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6506108141890977998} + m_CullTransparentMesh: 1 +--- !u!114 &5283165188844738288 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6506108141890977998} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ccfe1723f3c6dc74787642c082b79437, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Speed: 12 + m_MaxBounce: 3 + radius: 0.1 +--- !u!61 &4784918102884404883 +BoxCollider2D: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6506108141890977998} + 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, y: 0} + oldSize: {x: 0, y: 0} + newSize: {x: 0, y: 0} + adaptiveTilingThreshold: 0 + drawMode: 0 + adaptiveTiling: 0 + m_AutoTiling: 0 + m_Size: {x: 100, y: 150} + m_EdgeRadius: 0 diff --git a/Assets/Resources/Projectile/Projectile_MobMelee.prefab.meta b/Assets/Resources/Projectile/Projectile_MobMelee.prefab.meta new file mode 100644 index 0000000..2734582 --- /dev/null +++ b/Assets/Resources/Projectile/Projectile_MobMelee.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: e59efd878ee01f946b1946c649342c67 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Projectile/Projectile_MobRange.prefab b/Assets/Resources/Projectile/Projectile_MobRange.prefab new file mode 100644 index 0000000..a692f93 --- /dev/null +++ b/Assets/Resources/Projectile/Projectile_MobRange.prefab @@ -0,0 +1,140 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &6506108141890977998 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1218441243008823837} + - component: {fileID: 6182406677487406681} + - component: {fileID: 6535598282516247635} + - component: {fileID: 5283165188844738288} + - component: {fileID: 4784918102884404883} + m_Layer: 0 + m_Name: Projectile_MobRange + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1218441243008823837 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6506108141890977998} + 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: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 27, y: 167} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &6182406677487406681 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6506108141890977998} + m_CullTransparentMesh: 1 +--- !u!114 &6535598282516247635 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6506108141890977998} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 0 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 4038cd1faba5af240995b5849f8af91f, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!114 &5283165188844738288 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6506108141890977998} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ccfe1723f3c6dc74787642c082b79437, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Speed: 12 + m_MaxBounce: 3 + radius: 0.1 +--- !u!61 &4784918102884404883 +BoxCollider2D: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6506108141890977998} + 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, y: 0} + oldSize: {x: 0, y: 0} + newSize: {x: 0, y: 0} + adaptiveTilingThreshold: 0 + drawMode: 0 + adaptiveTiling: 0 + m_AutoTiling: 0 + m_Size: {x: 27, y: 50} + m_EdgeRadius: 0 diff --git a/Assets/Resources/Projectile/Projectile_MobRange.prefab.meta b/Assets/Resources/Projectile/Projectile_MobRange.prefab.meta new file mode 100644 index 0000000..f2be528 --- /dev/null +++ b/Assets/Resources/Projectile/Projectile_MobRange.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 875833d99efcd9941a50fc56bc30f09f +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Script/InGame/Actor/MobActor.cs b/Assets/Script/InGame/Actor/MobActor.cs index e5f72bd..1483f78 100644 --- a/Assets/Script/InGame/Actor/MobActor.cs +++ b/Assets/Script/InGame/Actor/MobActor.cs @@ -7,12 +7,14 @@ public class MobActor : MonoBehaviour MonsterTableData m_Data; float FenceY, m_attackTimer; eMobState m_State = eMobState.Move; + Animator m_Animator; private void Awake() { var srs = GetComponentsInChildren(true); for (int i = 0; i < srs.Length; i++) srs[i].sortingOrder -= 5; + m_Animator = GetComponentInChildren(); } private void Update() @@ -23,14 +25,9 @@ public class MobActor : MonoBehaviour { case eMobState.Move: if (distToFence <= m_Data.f_AttackRange) - { - m_State = eMobState.Attack; OnEnterAttack(); - } else - { Move(); - } break; case eMobState.Attack: @@ -53,6 +50,8 @@ public class MobActor : MonoBehaviour void OnEnterAttack() { + m_State = eMobState.Attack; + // 이동 정지 시점 보정 (너무 파고들지 않게) Vector3 pos = transform.position; pos.y = FenceY + m_Data.f_AttackRange; @@ -69,6 +68,9 @@ public class MobActor : MonoBehaviour m_attackTimer = m_Data.f_AttackDelay; + //m_Animator.speed = 2f; + m_Animator.SetTrigger("att"); + // 철책 or 플레이어 공격 AttackFence(); }