diff --git a/Assets/Editor.meta b/Assets/Editor.meta index d3e3b472..a14b8787 100644 --- a/Assets/Editor.meta +++ b/Assets/Editor.meta @@ -1,8 +1,10 @@ fileFormatVersion: 2 -guid: fb977eee32cc2024181234437bfb8480 +guid: 612dfb3f3c0e45e3aaa9d5def5189516 +timeCreated: 1744852718 folderAsset: yes DefaultImporter: externalObjects: {} userData: assetBundleName: assetBundleVariant: + diff --git a/Assets/Editor/EnemyControllerEditor.cs b/Assets/Editor/EnemyControllerEditor.cs new file mode 100644 index 00000000..23ac07cc --- /dev/null +++ b/Assets/Editor/EnemyControllerEditor.cs @@ -0,0 +1,83 @@ +using UnityEditor; +using UnityEngine; + +[CustomEditor(typeof(PldDogController))] +public class EnemyControllerEditor : Editor +{ + public override void OnInspectorGUI() + { + // 기본 인스펙터를 그리기 + base.OnInspectorGUI(); + + // 타겟 컴포넌트 참조 가져오기 + EnemyController enemyController = (EnemyController)target; + + // 여백 추가 + EditorGUILayout.Space(); + EditorGUILayout.LabelField("상태 디버그 정보", EditorStyles.boldLabel); + + EditorGUILayout.BeginVertical(EditorStyles.helpBox); + + // 상태별 색상 지정 + switch (enemyController.CurrentState) + { + case EnemyState.Idle: + GUI.backgroundColor = new Color(0, 0, 1, 1f); + break; + case EnemyState.Trace: + GUI.backgroundColor = new Color(1, 0, 1, 1f); + break; + case EnemyState.Attack: + GUI.backgroundColor = new Color(1, 1, 0, 1f); + break; + case EnemyState.Move: + GUI.backgroundColor = new Color(0, 1, 1, 1f); + break; + case EnemyState.GetHit: + GUI.backgroundColor = new Color(0.1f, 0.1f, 0.1f, 1f); + break; + case EnemyState.Dead: + GUI.backgroundColor = new Color(1, 0, 0, 1f); + break; + } + + EditorGUILayout.BeginVertical(EditorStyles.helpBox); + EditorGUILayout.LabelField("현재 상태", enemyController.CurrentState.ToString(), + EditorStyles.boldLabel); + EditorGUILayout.EndVertical(); + + EditorGUILayout.EndVertical(); + + EditorGUILayout.Space(); + GUI.backgroundColor= Color.clear; + EditorGUILayout.LabelField("상태 변경", EditorStyles.boldLabel); + + EditorGUILayout.BeginHorizontal(); + if (GUILayout.Button("Idle")) enemyController.SetState(EnemyState.Idle); + if (GUILayout.Button("Trace")) enemyController.SetState(EnemyState.Trace); + if (GUILayout.Button("Attack")) enemyController.SetState(EnemyState.Attack); + EditorGUILayout.EndHorizontal(); + + EditorGUILayout.BeginHorizontal(); + if (GUILayout.Button("Move")) enemyController.SetState(EnemyState.Move); + if (GUILayout.Button("GetHit")) enemyController.SetState(EnemyState.GetHit); + if (GUILayout.Button("Dead")) enemyController.SetState(EnemyState.Dead); + EditorGUILayout.EndHorizontal(); + } + + private void OnEnable() + { + EditorApplication.update += OnEditorUpdate; + } + + private void OnDisable() + { + EditorApplication.update -= OnEditorUpdate; + } + + private void OnEditorUpdate() + { + if (target != null) + Repaint(); + } +} \ No newline at end of file diff --git a/Assets/Editor/EnemyControllerEditor.cs.meta b/Assets/Editor/EnemyControllerEditor.cs.meta new file mode 100644 index 00000000..bbd43f56 --- /dev/null +++ b/Assets/Editor/EnemyControllerEditor.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 9e73fc154fc447fea93336f02b6df5ea +timeCreated: 1744852745 \ No newline at end of file diff --git a/Assets/JYY/Animation.meta b/Assets/JYY/Animation.meta new file mode 100644 index 00000000..e344f4a8 --- /dev/null +++ b/Assets/JYY/Animation.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 705f5cc824e16644497801b43f81b1c1 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/JYY/Animation/Attack01 Slash.anim b/Assets/JYY/Animation/Attack01 Slash.anim new file mode 100644 index 00000000..56aea091 --- /dev/null +++ b/Assets/JYY/Animation/Attack01 Slash.anim @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4b536193172b670933a45f774e7ea648a239ac285986ffbc97d468a7a23b0c1f +size 1176525 diff --git a/Assets/JYY/Animation/Attack01 Slash.anim.meta b/Assets/JYY/Animation/Attack01 Slash.anim.meta new file mode 100644 index 00000000..801b8710 --- /dev/null +++ b/Assets/JYY/Animation/Attack01 Slash.anim.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: df0c94f0a0eae85438a0bfc0deea8791 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 7400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/JYY/Animation/Attack01.anim b/Assets/JYY/Animation/Attack01.anim new file mode 100644 index 00000000..4c7820cf --- /dev/null +++ b/Assets/JYY/Animation/Attack01.anim @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cd6ac1fc9497bc8702854aa01c3f1d8e7c63b28e389c2cca00708008b3103aa0 +size 1562661 diff --git a/Assets/JYY/Animation/Attack01.anim.meta b/Assets/JYY/Animation/Attack01.anim.meta new file mode 100644 index 00000000..fb2b6293 --- /dev/null +++ b/Assets/JYY/Animation/Attack01.anim.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 34b2cc555a0977644ab2d9e2350a939d +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 7400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/JYY/Animation/Attack02.anim b/Assets/JYY/Animation/Attack02.anim new file mode 100644 index 00000000..7fe953bc --- /dev/null +++ b/Assets/JYY/Animation/Attack02.anim @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8255597ac6e2a3bcb03f27639eea553fb9c64e7600a8867ee75ebaee10f8b4e5 +size 1412497 diff --git a/Assets/JYY/Animation/Attack02.anim.meta b/Assets/JYY/Animation/Attack02.anim.meta new file mode 100644 index 00000000..6d2fbfcc --- /dev/null +++ b/Assets/JYY/Animation/Attack02.anim.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: eccbae3cfc77ad245ade46e143aa3200 +timeCreated: 1544605040 +licenseType: Store +NativeFormatImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/JYY/Animation/Defend.anim b/Assets/JYY/Animation/Defend.anim new file mode 100644 index 00000000..1c01da17 --- /dev/null +++ b/Assets/JYY/Animation/Defend.anim @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5adb42354f1acb2004091b9044997e01fc04f52f8a89e1f4468ee2469f67afde +size 297232 diff --git a/Assets/JYY/Animation/Defend.anim.meta b/Assets/JYY/Animation/Defend.anim.meta new file mode 100644 index 00000000..a1310b87 --- /dev/null +++ b/Assets/JYY/Animation/Defend.anim.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: cf357b5409b4ad54a82c45d7684564e1 +timeCreated: 1544607741 +licenseType: Store +NativeFormatImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/JYY/Animation/Die.anim b/Assets/JYY/Animation/Die.anim new file mode 100644 index 00000000..d69a9375 --- /dev/null +++ b/Assets/JYY/Animation/Die.anim @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:95819368b936158e91796f7adaa2f99dd7e860ddf60edb574af6764586905a68 +size 675813 diff --git a/Assets/JYY/Animation/Die.anim.meta b/Assets/JYY/Animation/Die.anim.meta new file mode 100644 index 00000000..3ed5768a --- /dev/null +++ b/Assets/JYY/Animation/Die.anim.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 5d190d8211c88a64281f7b90c69f3eb3 +timeCreated: 1544605073 +licenseType: Store +NativeFormatImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/JYY/Animation/DieRecover.anim b/Assets/JYY/Animation/DieRecover.anim new file mode 100644 index 00000000..d8e064df --- /dev/null +++ b/Assets/JYY/Animation/DieRecover.anim @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:460540d5faabb3b676215b186bd9ee6fad7a50837c092ed84805169177fa1d83 +size 606894 diff --git a/Assets/JYY/Animation/DieRecover.anim.meta b/Assets/JYY/Animation/DieRecover.anim.meta new file mode 100644 index 00000000..1e729a3b --- /dev/null +++ b/Assets/JYY/Animation/DieRecover.anim.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 4a3671dbe6670524b8b6d9ad3664c179 +timeCreated: 1544607752 +licenseType: Store +NativeFormatImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/JYY/Animation/Dizzy.anim b/Assets/JYY/Animation/Dizzy.anim new file mode 100644 index 00000000..77a333f2 --- /dev/null +++ b/Assets/JYY/Animation/Dizzy.anim @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0c7659f61876ad02dbb14d41299476a055663c131caa2f011e2e398db9d6d4bc +size 435820 diff --git a/Assets/JYY/Animation/Dizzy.anim.meta b/Assets/JYY/Animation/Dizzy.anim.meta new file mode 100644 index 00000000..b756a13d --- /dev/null +++ b/Assets/JYY/Animation/Dizzy.anim.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 30d4fe7af77240a44b9354aaed8e5beb +timeCreated: 1544607757 +licenseType: Store +NativeFormatImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/JYY/Animation/GetHit.anim b/Assets/JYY/Animation/GetHit.anim new file mode 100644 index 00000000..4682dbdd --- /dev/null +++ b/Assets/JYY/Animation/GetHit.anim @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:388ecaff4209c6d27a477813922854699044394426202205616b5d88931232ab +size 520908 diff --git a/Assets/JYY/Animation/GetHit.anim.meta b/Assets/JYY/Animation/GetHit.anim.meta new file mode 100644 index 00000000..22ca0541 --- /dev/null +++ b/Assets/JYY/Animation/GetHit.anim.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 1588532e68f51a040bda71c68cfab177 +timeCreated: 1544605085 +licenseType: Store +NativeFormatImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/JYY/Animation/Idle_Battle.anim b/Assets/JYY/Animation/Idle_Battle.anim new file mode 100644 index 00000000..a63c7f98 --- /dev/null +++ b/Assets/JYY/Animation/Idle_Battle.anim @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f232d525015ed6e060e35367651d807b853f883889cd9e9f9fb0dcd1ffd3a394 +size 313903 diff --git a/Assets/JYY/Animation/Idle_Battle.anim.meta b/Assets/JYY/Animation/Idle_Battle.anim.meta new file mode 100644 index 00000000..ed48298b --- /dev/null +++ b/Assets/JYY/Animation/Idle_Battle.anim.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: b79ff7bb68348be479d3db6b7fe8a569 +timeCreated: 1544605090 +licenseType: Store +NativeFormatImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/JYY/Animation/RunForwardBattle.anim b/Assets/JYY/Animation/RunForwardBattle.anim new file mode 100644 index 00000000..bf68a90e --- /dev/null +++ b/Assets/JYY/Animation/RunForwardBattle.anim @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:571e16dde03ce0f7c5be77b1db916e8ac2adf08041270dab3452274b18accf48 +size 502807 diff --git a/Assets/JYY/Animation/RunForwardBattle.anim.meta b/Assets/JYY/Animation/RunForwardBattle.anim.meta new file mode 100644 index 00000000..0fca8d27 --- /dev/null +++ b/Assets/JYY/Animation/RunForwardBattle.anim.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 9f0e03164414016409d28995a128ba98 +timeCreated: 1544605137 +licenseType: Store +NativeFormatImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/JYY/Animation/ShakeSwordVerti.anim b/Assets/JYY/Animation/ShakeSwordVerti.anim new file mode 100644 index 00000000..2395e274 --- /dev/null +++ b/Assets/JYY/Animation/ShakeSwordVerti.anim @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3e04c59fe228d4d93133640622832fddb929c92e93c3c6e483f675af6dc5bdc7 +size 349053 diff --git a/Assets/JYY/Animation/ShakeSwordVerti.anim.meta b/Assets/JYY/Animation/ShakeSwordVerti.anim.meta new file mode 100644 index 00000000..93237a33 --- /dev/null +++ b/Assets/JYY/Animation/ShakeSwordVerti.anim.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 8cda71f7a8c35a448a6e9999adab5bc1 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 7400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/JYY/Animation/WalkForwardBattle.anim b/Assets/JYY/Animation/WalkForwardBattle.anim new file mode 100644 index 00000000..ca732b9b --- /dev/null +++ b/Assets/JYY/Animation/WalkForwardBattle.anim @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:65b4e832f19d66d82c17374044367afba4b7c0ffb70b092634266d8f063c41ac +size 433379 diff --git a/Assets/JYY/Animation/WalkForwardBattle.anim.meta b/Assets/JYY/Animation/WalkForwardBattle.anim.meta new file mode 100644 index 00000000..80e93aa1 --- /dev/null +++ b/Assets/JYY/Animation/WalkForwardBattle.anim.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: f0c8c1d913b359a428b42d53947d3e93 +timeCreated: 1544607284 +licenseType: Store +NativeFormatImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/JYY/Animation/WindUp.anim b/Assets/JYY/Animation/WindUp.anim new file mode 100644 index 00000000..9a251781 --- /dev/null +++ b/Assets/JYY/Animation/WindUp.anim @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6e1f5016d3194277ee4c9aedbbd639245bcdaaa846dd4dcc57a02824d78c99b9 +size 657165 diff --git a/Assets/JYY/Animation/WindUp.anim.meta b/Assets/JYY/Animation/WindUp.anim.meta new file mode 100644 index 00000000..610608f3 --- /dev/null +++ b/Assets/JYY/Animation/WindUp.anim.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 8d4a1a2c3f67c5c45a3a85dbf83e008b +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 7400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/JYY/Animator.meta b/Assets/JYY/Animator.meta new file mode 100644 index 00000000..0cefafe5 --- /dev/null +++ b/Assets/JYY/Animator.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 47617fd7d9aae9841b8df03a9c71aab2 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/JYY/Animator/PldDogControl.controller b/Assets/JYY/Animator/PldDogControl.controller new file mode 100644 index 00000000..a67e40bf --- /dev/null +++ b/Assets/JYY/Animator/PldDogControl.controller @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b9e37c8d0a91f3599d34a7715c632cbcf76fd3c0a96c5d5335ab9d6ff65d3b4c +size 18916 diff --git a/Assets/JYY/Animator/PldDogControl.controller.meta b/Assets/JYY/Animator/PldDogControl.controller.meta new file mode 100644 index 00000000..977de011 --- /dev/null +++ b/Assets/JYY/Animator/PldDogControl.controller.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 0a0b0196c516e454bbdb102f6dba08cf +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 9100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/JYY/Materials.meta b/Assets/JYY/Materials.meta new file mode 100644 index 00000000..566299da --- /dev/null +++ b/Assets/JYY/Materials.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 2e841b33c73e8fd44a8cf0bc9c1ae488 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/JYY/Materials/AOEIndicatorChariot.mat b/Assets/JYY/Materials/AOEIndicatorChariot.mat new file mode 100644 index 00000000..d5822edd --- /dev/null +++ b/Assets/JYY/Materials/AOEIndicatorChariot.mat @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b45b33da2aab495aeae59a11227097c2782fea18141b92f22bf0eee592d57760 +size 1911 diff --git a/Assets/JYY/Materials/AOEIndicatorChariot.mat.meta b/Assets/JYY/Materials/AOEIndicatorChariot.mat.meta new file mode 100644 index 00000000..2daff644 --- /dev/null +++ b/Assets/JYY/Materials/AOEIndicatorChariot.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 478a013fb343575418a252ed84af0c58 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 2100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/JYY/Materials/AOEIndicatorDynamo.mat b/Assets/JYY/Materials/AOEIndicatorDynamo.mat new file mode 100644 index 00000000..5c351085 --- /dev/null +++ b/Assets/JYY/Materials/AOEIndicatorDynamo.mat @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c016406941b34fe25f48b1c6d681af3ad164b571e9d25855751a73699731e450 +size 3838 diff --git a/Assets/JYY/Materials/AOEIndicatorDynamo.mat.meta b/Assets/JYY/Materials/AOEIndicatorDynamo.mat.meta new file mode 100644 index 00000000..00b74f70 --- /dev/null +++ b/Assets/JYY/Materials/AOEIndicatorDynamo.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 10d4d2e86cc374845a5268c025ab7c9b +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 2100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/JYY/Materials/AOEIndicatorHorizontal.mat b/Assets/JYY/Materials/AOEIndicatorHorizontal.mat new file mode 100644 index 00000000..f20d3ee7 --- /dev/null +++ b/Assets/JYY/Materials/AOEIndicatorHorizontal.mat @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8b5b009f809af4f2cc38f5c3f937ce5fa3393070675cc69b3b9391053bc569f2 +size 3843 diff --git a/Assets/JYY/Materials/AOEIndicatorHorizontal.mat.meta b/Assets/JYY/Materials/AOEIndicatorHorizontal.mat.meta new file mode 100644 index 00000000..36f13afe --- /dev/null +++ b/Assets/JYY/Materials/AOEIndicatorHorizontal.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: fdb8e6efac281d245a59752551f80076 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 2100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/JYY/Materials/AOEIndicatorVertical.mat b/Assets/JYY/Materials/AOEIndicatorVertical.mat new file mode 100644 index 00000000..0a57ab49 --- /dev/null +++ b/Assets/JYY/Materials/AOEIndicatorVertical.mat @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:248172e15cdcbc49048f40b6a0da65f4f71647db962013be53608d3c3b78cbb3 +size 3842 diff --git a/Assets/JYY/Materials/AOEIndicatorVertical.mat.meta b/Assets/JYY/Materials/AOEIndicatorVertical.mat.meta new file mode 100644 index 00000000..c0f87d2d --- /dev/null +++ b/Assets/JYY/Materials/AOEIndicatorVertical.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 1d7ccfbc83f505c4abd39cdc31630463 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 2100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/JYY/Prefabs.meta b/Assets/JYY/Prefabs.meta new file mode 100644 index 00000000..78fe849f --- /dev/null +++ b/Assets/JYY/Prefabs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 622537ed9949f364799229e66b81e7e0 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/JYY/Prefabs/AOEIndicator.prefab b/Assets/JYY/Prefabs/AOEIndicator.prefab new file mode 100644 index 00000000..6ac5eda7 --- /dev/null +++ b/Assets/JYY/Prefabs/AOEIndicator.prefab @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8b8cb01bd819acc4a85f049a7fa119e05a3587e1f3b9e88ce1f0f0729a09b326 +size 4274 diff --git a/Assets/JYY/Prefabs/AOEIndicator.prefab.meta b/Assets/JYY/Prefabs/AOEIndicator.prefab.meta new file mode 100644 index 00000000..0035b785 --- /dev/null +++ b/Assets/JYY/Prefabs/AOEIndicator.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 36d2fcfec062c074ba2dad3a0b0116be +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/JYY/Prefabs/AOEIndicatorChariot.prefab b/Assets/JYY/Prefabs/AOEIndicatorChariot.prefab new file mode 100644 index 00000000..5b73b6cb --- /dev/null +++ b/Assets/JYY/Prefabs/AOEIndicatorChariot.prefab @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:db1f3ad7db0d99b20fdfe95c0ba7248476edee0875596606eb05ac19c33e84f2 +size 4283 diff --git a/Assets/JYY/Prefabs/AOEIndicatorChariot.prefab.meta b/Assets/JYY/Prefabs/AOEIndicatorChariot.prefab.meta new file mode 100644 index 00000000..1d15c4e7 --- /dev/null +++ b/Assets/JYY/Prefabs/AOEIndicatorChariot.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: e9e020ef2784edf4ca2a83ae9e1edefd +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/JYY/Prefabs/AOEIndicatorDynamo.prefab b/Assets/JYY/Prefabs/AOEIndicatorDynamo.prefab new file mode 100644 index 00000000..72d92b28 --- /dev/null +++ b/Assets/JYY/Prefabs/AOEIndicatorDynamo.prefab @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bf0fd0659c187d35c8492ff925145c94fc5cac08dead6b13188f3f4cbb2f3052 +size 3988 diff --git a/Assets/JYY/Prefabs/AOEIndicatorDynamo.prefab.meta b/Assets/JYY/Prefabs/AOEIndicatorDynamo.prefab.meta new file mode 100644 index 00000000..cae3d210 --- /dev/null +++ b/Assets/JYY/Prefabs/AOEIndicatorDynamo.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 12018c889dca23d46a0d3807213c6a79 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/JYY/Prefabs/AOEIndicatorHorizontal.prefab b/Assets/JYY/Prefabs/AOEIndicatorHorizontal.prefab new file mode 100644 index 00000000..d6ba9554 --- /dev/null +++ b/Assets/JYY/Prefabs/AOEIndicatorHorizontal.prefab @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e5dfaa59aeffa4e948edd40e96f05e2c708e491bb80c2a3446d9d1335b05adf0 +size 3995 diff --git a/Assets/JYY/Prefabs/AOEIndicatorHorizontal.prefab.meta b/Assets/JYY/Prefabs/AOEIndicatorHorizontal.prefab.meta new file mode 100644 index 00000000..586188cb --- /dev/null +++ b/Assets/JYY/Prefabs/AOEIndicatorHorizontal.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 44d67bf59c049fb46876a549120a16d7 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/JYY/Prefabs/AOEIndicatorVertical.prefab b/Assets/JYY/Prefabs/AOEIndicatorVertical.prefab new file mode 100644 index 00000000..28217b13 --- /dev/null +++ b/Assets/JYY/Prefabs/AOEIndicatorVertical.prefab @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:02ada0ed142206f604609397dd5b6a2349df7db879e9ab1cb7bdfc1fca8e6f75 +size 3985 diff --git a/Assets/JYY/Prefabs/AOEIndicatorVertical.prefab.meta b/Assets/JYY/Prefabs/AOEIndicatorVertical.prefab.meta new file mode 100644 index 00000000..2202360a --- /dev/null +++ b/Assets/JYY/Prefabs/AOEIndicatorVertical.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 9adff7c5e2e43974fa9f2d241ef2e433 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/JYY/Prefabs/[Enemy] PldDog.prefab b/Assets/JYY/Prefabs/[Enemy] PldDog.prefab new file mode 100644 index 00000000..f383c5f8 --- /dev/null +++ b/Assets/JYY/Prefabs/[Enemy] PldDog.prefab @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c7b23e4a2f6475f6cfe0641a03fd4415fe2b732fe649a14f93b72ea104f250f3 +size 80026 diff --git a/Assets/JYY/Prefabs/[Enemy] PldDog.prefab.meta b/Assets/JYY/Prefabs/[Enemy] PldDog.prefab.meta new file mode 100644 index 00000000..750c82a6 --- /dev/null +++ b/Assets/JYY/Prefabs/[Enemy] PldDog.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 84456bef5d2de2149ade477b93bc9ea0 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/JYY/Scenes/MonsterTest.meta b/Assets/JYY/Scenes/MonsterTest.meta new file mode 100644 index 00000000..43e05aab --- /dev/null +++ b/Assets/JYY/Scenes/MonsterTest.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: f736a70ba6c488a48b743638353258e9 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/JYY/Scenes/MonsterTest.unity b/Assets/JYY/Scenes/MonsterTest.unity index b6f2774e..a2f28549 100644 --- a/Assets/JYY/Scenes/MonsterTest.unity +++ b/Assets/JYY/Scenes/MonsterTest.unity @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:e5c3fd6cb0241bd3da476e5c911552fc2fe06e6e12775af7da0145389a8ab1f2 -size 89686 +oid sha256:ec97ec66df4283ed273c243f4aa1642c492661d1163184ce650d833e5a36bd87 +size 19269 diff --git a/Assets/JYY/Scenes/MonsterTest/NavMesh-Plane.asset b/Assets/JYY/Scenes/MonsterTest/NavMesh-Plane.asset new file mode 100644 index 00000000..afe2d704 Binary files /dev/null and b/Assets/JYY/Scenes/MonsterTest/NavMesh-Plane.asset differ diff --git a/Assets/JYY/Scenes/MonsterTest/NavMesh-Plane.asset.meta b/Assets/JYY/Scenes/MonsterTest/NavMesh-Plane.asset.meta new file mode 100644 index 00000000..7eebb5fc --- /dev/null +++ b/Assets/JYY/Scenes/MonsterTest/NavMesh-Plane.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 0ea1affa28401cb4388633bac551449a +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 23800000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/JYY/Sprites.meta b/Assets/JYY/Sprites.meta new file mode 100644 index 00000000..7d7b4b8e --- /dev/null +++ b/Assets/JYY/Sprites.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: d7dcd0a2efc35e04287877979738ea37 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/JYY/Sprites/AOEIndicator.png b/Assets/JYY/Sprites/AOEIndicator.png new file mode 100644 index 00000000..49dd0124 --- /dev/null +++ b/Assets/JYY/Sprites/AOEIndicator.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4d8478323944a513ad2a0ebeacb8e5804080cf2b9b06fa70c3b35bab512586e5 +size 19392 diff --git a/Assets/JYY/Sprites/AOEIndicator.png.meta b/Assets/JYY/Sprites/AOEIndicator.png.meta new file mode 100644 index 00000000..4793f29f --- /dev/null +++ b/Assets/JYY/Sprites/AOEIndicator.png.meta @@ -0,0 +1,127 @@ +fileFormatVersion: 2 +guid: fab9fda9e2e50b1458af69d2b01d167c +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 13 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + flipGreenChannel: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Android + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + nameFileIdTable: {} + mipmapLimitGroupName: + pSDRemoveMatte: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/JYY/Sprites/AOEIndicatorDynamo.png b/Assets/JYY/Sprites/AOEIndicatorDynamo.png new file mode 100644 index 00000000..3da5d78e --- /dev/null +++ b/Assets/JYY/Sprites/AOEIndicatorDynamo.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bbf944faa29482d49f4a69568586cc0024e88c2472441bc54c50efef905eb4b3 +size 105769 diff --git a/Assets/JYY/Sprites/AOEIndicatorDynamo.png.meta b/Assets/JYY/Sprites/AOEIndicatorDynamo.png.meta new file mode 100644 index 00000000..595ecc7e --- /dev/null +++ b/Assets/JYY/Sprites/AOEIndicatorDynamo.png.meta @@ -0,0 +1,127 @@ +fileFormatVersion: 2 +guid: e5e22a589905e4d45b9b2cdec3f43271 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 13 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + flipGreenChannel: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Android + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + nameFileIdTable: {} + mipmapLimitGroupName: + pSDRemoveMatte: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/JYY/Sprites/AOEIndicatorHorizontal.png b/Assets/JYY/Sprites/AOEIndicatorHorizontal.png new file mode 100644 index 00000000..1ea67cdd --- /dev/null +++ b/Assets/JYY/Sprites/AOEIndicatorHorizontal.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ec4e45bce72c4761b1e80f703474a828a3b01515f29082bfa9e56426bbfd2e3d +size 15976 diff --git a/Assets/JYY/Sprites/AOEIndicatorHorizontal.png.meta b/Assets/JYY/Sprites/AOEIndicatorHorizontal.png.meta new file mode 100644 index 00000000..2c8c358b --- /dev/null +++ b/Assets/JYY/Sprites/AOEIndicatorHorizontal.png.meta @@ -0,0 +1,127 @@ +fileFormatVersion: 2 +guid: 63954103bdc17f042bbabad6acdbbc65 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 13 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + flipGreenChannel: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Android + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + nameFileIdTable: {} + mipmapLimitGroupName: + pSDRemoveMatte: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/JYY/Sprites/AOEIndicatorVertical.png b/Assets/JYY/Sprites/AOEIndicatorVertical.png new file mode 100644 index 00000000..182688cc --- /dev/null +++ b/Assets/JYY/Sprites/AOEIndicatorVertical.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a96978124cc8ab6b24e17488f07395df5178735eefaec68328526940ebddba57 +size 26036 diff --git a/Assets/JYY/Sprites/AOEIndicatorVertical.png.meta b/Assets/JYY/Sprites/AOEIndicatorVertical.png.meta new file mode 100644 index 00000000..6b08f861 --- /dev/null +++ b/Assets/JYY/Sprites/AOEIndicatorVertical.png.meta @@ -0,0 +1,127 @@ +fileFormatVersion: 2 +guid: cf8a73df42451cb408f68dca120806e1 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 13 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + flipGreenChannel: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Android + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + nameFileIdTable: {} + mipmapLimitGroupName: + pSDRemoveMatte: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Character/CharacterBase.cs b/Assets/Scripts/Character/CharacterBase.cs index d2a3932f..b4368c66 100644 --- a/Assets/Scripts/Character/CharacterBase.cs +++ b/Assets/Scripts/Character/CharacterBase.cs @@ -11,7 +11,8 @@ public abstract class CharacterBase : MonoBehaviour public float attackPower = 10f; // 공격력 public float defensePower = 5f; // 방어력 public float moveSpeed = 5f; // 이동 속도 - public float gravity = -9.81f; // 중력 + + protected readonly float gravity = -9.81f; // 중력 [Header("상태 이상")] public List statusEffects = new List(); diff --git a/Assets/Scripts/Character/Enemy.meta b/Assets/Scripts/Character/Enemy.meta new file mode 100644 index 00000000..1f327021 --- /dev/null +++ b/Assets/Scripts/Character/Enemy.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 5665d6cc085acce42bfd3d0c921f7718 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Character/Enemy/EnemyAnimatorStateAttack.cs b/Assets/Scripts/Character/Enemy/EnemyAnimatorStateAttack.cs new file mode 100644 index 00000000..91bdc4a1 --- /dev/null +++ b/Assets/Scripts/Character/Enemy/EnemyAnimatorStateAttack.cs @@ -0,0 +1,14 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class EnemyAnimatorStateAttack : StateMachineBehaviour +{ + // OnStateExit is called when a transition ends and the state machine finishes evaluating this state + // override public void OnStateExit(Animator animator, AnimatorStateInfo stateInfo, int layerIndex) + // { + // animator.gameObject.GetComponent().SetState(EnemyState.Trace); + // } + + +} diff --git a/Assets/Scripts/Character/Enemy/EnemyAnimatorStateAttack.cs.meta b/Assets/Scripts/Character/Enemy/EnemyAnimatorStateAttack.cs.meta new file mode 100644 index 00000000..032dac99 --- /dev/null +++ b/Assets/Scripts/Character/Enemy/EnemyAnimatorStateAttack.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: a5765847dbef51e4f9bccde712eeda30 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Character/Enemy/EnemyAttackController.cs b/Assets/Scripts/Character/Enemy/EnemyAttackController.cs new file mode 100644 index 00000000..543db2f9 --- /dev/null +++ b/Assets/Scripts/Character/Enemy/EnemyAttackController.cs @@ -0,0 +1,42 @@ +using System.Collections.Generic; +using UnityEngine; + +public class EnemyAttackController : MonoBehaviour +{ + [Header("각종 전조 오브젝트")] + [SerializeField] private GameObject verticalWarningArea; + [SerializeField] private GameObject horizontalWarningArea; + [SerializeField] private GameObject chariotWarningArea; + [SerializeField] private GameObject dynamoWarningArea; + + // 배열에 담아서 관리 + private List warningAreas; + private GameObject _activeArea; + + private void Awake() + { + warningAreas = new List() + { + verticalWarningArea, + horizontalWarningArea, + chariotWarningArea, + dynamoWarningArea + }; + } + + // 랜덤 전조 호출 + public void TriggerRandomWarning(Vector3 spawnPosition, Quaternion spawnRotation) + { + // 0 ~ Count-1 사이 랜덤 인덱스 + int idx = Random.Range(0, warningAreas.Count); + GameObject selected = warningAreas[idx]; + + // 예시: Instantiate 방식으로 화면에 띄우기 + _activeArea = Instantiate(selected, spawnPosition, spawnRotation); + } + + public void DestroyWarningArea() + { + Destroy(_activeArea); + } +} \ No newline at end of file diff --git a/Assets/Scripts/Character/Enemy/EnemyAttackController.cs.meta b/Assets/Scripts/Character/Enemy/EnemyAttackController.cs.meta new file mode 100644 index 00000000..b66f8c7e --- /dev/null +++ b/Assets/Scripts/Character/Enemy/EnemyAttackController.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 6423b2bcccf1448ca438a8e82a79a4cb +timeCreated: 1745149371 \ No newline at end of file diff --git a/Assets/Scripts/Character/Enemy/EnemyController.cs b/Assets/Scripts/Character/Enemy/EnemyController.cs new file mode 100644 index 00000000..58534e20 --- /dev/null +++ b/Assets/Scripts/Character/Enemy/EnemyController.cs @@ -0,0 +1,111 @@ +using System.Collections.Generic; +using UnityEngine; +using UnityEngine.AI; + +public enum EnemyState { None, Idle, Trace, Attack, GetHit, Move, Dead } + +[RequireComponent(typeof(NavMeshAgent))] +[RequireComponent(typeof(Animator))] +[RequireComponent(typeof(EnemyAttackController))] +public abstract class EnemyController : CharacterBase +{ + [Header("AI")] + [SerializeField] private float detectCircleRadius = 10f; // 플레이어 탐지 범위 + [SerializeField] private LayerMask targetLayerMask; // 플레이어 레이어 마스크 + + public NavMeshAgent Agent { get; private set; } + public Animator EnemyAnimator { get; private set; } + + public EnemyState CurrentState {get; private set;} + + public EnemyAttackController EnemyAttackController { get; private set; } + + public float WalkSpeed => walkSpeed; + public float RunSpeed => runSpeed; + + public Transform TraceTargetTransform { get; private set; } + + [SerializeField] private float walkSpeed = 5; + [SerializeField] private float runSpeed = 8; + + + // ----- + // 상태 변수 + private EnemyStateIdle _enemyStateIdle; + private EnemyStateTrace _enemyStateTrace; + private EnemyStateAttack _enemyStateAttack; + private EnemyStateGetHit _enemyStateGetHit; + private EnemyStateDead _enemyStateDead; + private EnemyStateMove _enemyStateMove; + + private Dictionary _enemyStates; + + private void Awake() + { + EnemyAnimator = GetComponent(); + Agent = GetComponent(); + EnemyAttackController = GetComponent(); + } + + protected override void Start() + { + base.Start(); + + // 상태 객체 생성 + _enemyStateIdle = new EnemyStateIdle(); + _enemyStateTrace = new EnemyStateTrace(); + _enemyStateAttack = new EnemyStateAttack(); + _enemyStateGetHit = new EnemyStateGetHit(); + _enemyStateDead = new EnemyStateDead(); + _enemyStateMove = new EnemyStateMove(); + + _enemyStates = new Dictionary + { + { EnemyState.Idle, _enemyStateIdle }, + { EnemyState.Trace, _enemyStateTrace }, + { EnemyState.Attack, _enemyStateAttack }, + { EnemyState.GetHit, _enemyStateGetHit }, + { EnemyState.Dead, _enemyStateDead }, + { EnemyState.Move, _enemyStateMove} + }; + + SetState(EnemyState.Idle); + } + + private void Update() + { + if (CurrentState != EnemyState.None) + { + _enemyStates[CurrentState].Update(); + } + } + + public void SetState(EnemyState newState) + { + if (CurrentState != EnemyState.None) + { + _enemyStates[CurrentState].Exit(); + } + CurrentState = newState; + _enemyStates[CurrentState].Enter(this); + } + + #region 적 탐지 + + // 일정 반경에 플레이어가 진입하면 플레이어 소리를 감지했다고 판단 + public Transform DetectPlayerInCircle() + { + var hitColliders = Physics.OverlapSphere(transform.position, + detectCircleRadius, targetLayerMask); + if (hitColliders.Length > 0) + { + TraceTargetTransform = hitColliders[0].transform; + return TraceTargetTransform; + } + return null; + } + + #endregion + +} + diff --git a/Assets/Scripts/Character/Enemy/EnemyController.cs.meta b/Assets/Scripts/Character/Enemy/EnemyController.cs.meta new file mode 100644 index 00000000..66b734b1 --- /dev/null +++ b/Assets/Scripts/Character/Enemy/EnemyController.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 137423ca7381405581ab4e95d0e272da +timeCreated: 1744796946 \ No newline at end of file diff --git a/Assets/Scripts/Character/Enemy/EnemyState.meta b/Assets/Scripts/Character/Enemy/EnemyState.meta new file mode 100644 index 00000000..2ee337cc --- /dev/null +++ b/Assets/Scripts/Character/Enemy/EnemyState.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 63a5cd5bb2e90b54192be930aad261db +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Character/Enemy/EnemyState/EnemyStateAttack.cs b/Assets/Scripts/Character/Enemy/EnemyState/EnemyStateAttack.cs new file mode 100644 index 00000000..6cc865a5 --- /dev/null +++ b/Assets/Scripts/Character/Enemy/EnemyState/EnemyStateAttack.cs @@ -0,0 +1,68 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class EnemyStateAttack : IEnemyState +{ + private static readonly int VertiSlash = Animator.StringToHash("VertiSlash"); + private static readonly int VertiAttack = Animator.StringToHash("VertiAttack"); + + private EnemyController _enemyController; + private Animator _animator; + private Coroutine _attackRoutine; + private EnemyAttackController _enemyAttackController; + private enum AttackType + { + VerticalAttack, // 위에서 아래로 베는 것 + HorizontalAttack, // 옆으로 베는 것 + ChariotAttack, // 원형 + DynamoAttack, // 도넛 + }; + + private AttackType _currentAttackType; + + public void Enter(EnemyController enemyController) + { + _enemyController = enemyController; + _animator = _enemyController.EnemyAnimator; + _enemyAttackController = _enemyController.EnemyAttackController; + _animator.SetBool(VertiAttack, true); + _attackRoutine = _enemyController.StartCoroutine(VerticalAttackSequence()); + } + + public void Update() + { + } + + private IEnumerator VerticalAttackSequence() + { + // 1. 전조 이펙트 생성 + _enemyAttackController.TriggerRandomWarning(_enemyController.transform.position, _enemyController.transform.rotation); + // 2. 검을 들어올림 + yield return new WaitForSeconds(3f); + + // 3. 대기(전조와 검 들어올리는 애니메이션을 위함) + + // 4. 검 휘두르기 + _animator.SetTrigger(VertiSlash); + _enemyAttackController.DestroyWarningArea(); + // TODO : 5. 공격 판정 발생 + + yield return new WaitForSeconds(1f); + // 6. 애니메이션 트리거 종료 -> 애니메이터 상태 머신으로 처리 + _enemyController.SetState(EnemyState.Trace); + } + + public void Exit() + { + if (_attackRoutine != null) + { + _enemyController.StopCoroutine(_attackRoutine); + _attackRoutine = null; + } + _animator.SetBool(VertiAttack, false); + _animator = null; + _enemyAttackController = null; + _enemyController = null; + } +} \ No newline at end of file diff --git a/Assets/Scripts/Character/Enemy/EnemyState/EnemyStateAttack.cs.meta b/Assets/Scripts/Character/Enemy/EnemyState/EnemyStateAttack.cs.meta new file mode 100644 index 00000000..6116ce6e --- /dev/null +++ b/Assets/Scripts/Character/Enemy/EnemyState/EnemyStateAttack.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 29b87c92807e4f6b94c8a08ccc510321 +timeCreated: 1744799701 \ No newline at end of file diff --git a/Assets/Scripts/Character/Enemy/EnemyState/EnemyStateDead.cs b/Assets/Scripts/Character/Enemy/EnemyState/EnemyStateDead.cs new file mode 100644 index 00000000..158b9eab --- /dev/null +++ b/Assets/Scripts/Character/Enemy/EnemyState/EnemyStateDead.cs @@ -0,0 +1,20 @@ +public class EnemyStateDead : IEnemyState +{ + private EnemyController _enemyController; + + public void Enter(EnemyController enemyController) + { + _enemyController = enemyController; + _enemyController.EnemyAnimator.SetTrigger("Dead"); + } + + public void Update() + { + + } + + public void Exit() + { + _enemyController = null; + } +} \ No newline at end of file diff --git a/Assets/Scripts/Character/Enemy/EnemyState/EnemyStateDead.cs.meta b/Assets/Scripts/Character/Enemy/EnemyState/EnemyStateDead.cs.meta new file mode 100644 index 00000000..417777ab --- /dev/null +++ b/Assets/Scripts/Character/Enemy/EnemyState/EnemyStateDead.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 4846f061be91409096d5517aa2c692fa +timeCreated: 1744799618 \ No newline at end of file diff --git a/Assets/Scripts/Character/Enemy/EnemyState/EnemyStateGetHit.cs b/Assets/Scripts/Character/Enemy/EnemyState/EnemyStateGetHit.cs new file mode 100644 index 00000000..b4c44e8a --- /dev/null +++ b/Assets/Scripts/Character/Enemy/EnemyState/EnemyStateGetHit.cs @@ -0,0 +1,19 @@ +public class EnemyStateGetHit: IEnemyState +{ + private EnemyController _enemyController; + + public void Enter(EnemyController enemyController) + { + _enemyController = enemyController; + } + + public void Update() + { + + } + + public void Exit() + { + _enemyController = null; + } +} \ No newline at end of file diff --git a/Assets/Scripts/Character/Enemy/EnemyState/EnemyStateGetHit.cs.meta b/Assets/Scripts/Character/Enemy/EnemyState/EnemyStateGetHit.cs.meta new file mode 100644 index 00000000..e0212137 --- /dev/null +++ b/Assets/Scripts/Character/Enemy/EnemyState/EnemyStateGetHit.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 7067b1b0eacf490c863a4cb68c290d3a +timeCreated: 1744799049 \ No newline at end of file diff --git a/Assets/Scripts/Character/Enemy/EnemyState/EnemyStateIdle.cs b/Assets/Scripts/Character/Enemy/EnemyState/EnemyStateIdle.cs new file mode 100644 index 00000000..b8714ef6 --- /dev/null +++ b/Assets/Scripts/Character/Enemy/EnemyState/EnemyStateIdle.cs @@ -0,0 +1,28 @@ +using UnityEngine; + +public class EnemyStateIdle: IEnemyState +{ + private static readonly int Idle = Animator.StringToHash("Idle"); + private EnemyController _enemyController; + + public void Enter(EnemyController enemyController) + { + _enemyController = enemyController; + _enemyController.EnemyAnimator.SetBool(Idle, true); + } + + public void Update() + { + var detectPlayerTransform = _enemyController.DetectPlayerInCircle(); + if (detectPlayerTransform) + { + _enemyController.SetState(EnemyState.Trace); + } + } + + public void Exit() + { + _enemyController.EnemyAnimator.SetBool(Idle, false); + _enemyController = null; + } +} \ No newline at end of file diff --git a/Assets/Scripts/Character/Enemy/EnemyState/EnemyStateIdle.cs.meta b/Assets/Scripts/Character/Enemy/EnemyState/EnemyStateIdle.cs.meta new file mode 100644 index 00000000..3769cc1e --- /dev/null +++ b/Assets/Scripts/Character/Enemy/EnemyState/EnemyStateIdle.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: df3f42dea99a423b8e2ec18e07e58767 +timeCreated: 1744799656 \ No newline at end of file diff --git a/Assets/Scripts/Character/Enemy/EnemyState/EnemyStateMove.cs b/Assets/Scripts/Character/Enemy/EnemyState/EnemyStateMove.cs new file mode 100644 index 00000000..e68bdcd3 --- /dev/null +++ b/Assets/Scripts/Character/Enemy/EnemyState/EnemyStateMove.cs @@ -0,0 +1,19 @@ +public class EnemyStateMove : IEnemyState +{ + private EnemyController _enemyController; + + public void Enter(EnemyController enemyController) + { + _enemyController = enemyController; + } + + public void Update() + { + + } + + public void Exit() + { + _enemyController = null; + } +} \ No newline at end of file diff --git a/Assets/Scripts/Character/Enemy/EnemyState/EnemyStateMove.cs.meta b/Assets/Scripts/Character/Enemy/EnemyState/EnemyStateMove.cs.meta new file mode 100644 index 00000000..05ec512c --- /dev/null +++ b/Assets/Scripts/Character/Enemy/EnemyState/EnemyStateMove.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 5abb29c9137942fe95bc66670d8ef521 +timeCreated: 1744799142 \ No newline at end of file diff --git a/Assets/Scripts/Character/Enemy/EnemyState/EnemyStateTrace.cs b/Assets/Scripts/Character/Enemy/EnemyState/EnemyStateTrace.cs new file mode 100644 index 00000000..ae814987 --- /dev/null +++ b/Assets/Scripts/Character/Enemy/EnemyState/EnemyStateTrace.cs @@ -0,0 +1,129 @@ +using UnityEngine; + +public class EnemyStateTrace : IEnemyState +{ + private static readonly int MoveSpeed = Animator.StringToHash("MoveSpeed"); + private static readonly int Trace = Animator.StringToHash("Trace"); + + private EnemyController _enemyController; + private Transform _detectPlayerTransform; + + private const float MaxDetectPlayerInCircleWaitTime = 0.2f; + private float _detectPlayerInCircleWaitTime = 0f; + + public void Enter(EnemyController enemyController) + { + _enemyController = enemyController; + + _detectPlayerTransform = _enemyController.TraceTargetTransform; + if (!_detectPlayerTransform) + { + _enemyController.SetState(EnemyState.Idle); + return; + } + + if (_enemyController.Agent.enabled == true) + { + _enemyController.Agent.isStopped = false; + _enemyController.Agent.SetDestination(_detectPlayerTransform.position); + } + + _enemyController.EnemyAnimator.SetBool(Trace, true); + } + + public void Update() + { + // 일정 주기로 찾은 플레이어의 위치를 갱신해서 갱신된 위치로 이동 + FindTargetPosition(); + + PlayerTracking(); + + if (_enemyController.Agent.remainingDistance <= _enemyController.Agent.stoppingDistance) + { + // TODO: 타겟에 도착함 -> 공격 준비 + _enemyController.SetState(EnemyState.Attack); + } + + } + + private void FindTargetPosition() + { + if (_detectPlayerInCircleWaitTime > MaxDetectPlayerInCircleWaitTime) + { + // 방향 계산 + Vector3 dirToPlayer = (_detectPlayerTransform.position - _enemyController.transform.position).normalized; + + // 플레이어 방향으로 offset 적용 (예: 1.5m 앞) + Vector3 stopOffset = _detectPlayerTransform.position - dirToPlayer * 1.5f; + + // 목적지 설정 + _enemyController.Agent.SetDestination(stopOffset); + _detectPlayerInCircleWaitTime = 0f; + } + + _detectPlayerInCircleWaitTime += Time.deltaTime; + } + + // 플레이어를 추적하는 속도를 제어하는 함수 + private void PlayerTracking() + { + float distance = (_detectPlayerTransform.position - _enemyController.transform.position).magnitude; + + if (distance > 5f) + { + // 먼 거리: 뛰기 + _enemyController.Agent.speed = _enemyController.RunSpeed; + _enemyController.Agent.acceleration = 20f; + _enemyController.Agent.angularSpeed = 270f; + // _enemyController.EnemyAnimator.SetFloat("MoveSpeed", 1f); // 애니메이션도 Run으로 + + // NavMeshAgent 회전에 맡기기 + _enemyController.Agent.updateRotation = true; + } + else if (distance > 2f) + { + // 가까운 거리: 걷기 + _enemyController.Agent.speed = _enemyController.WalkSpeed; + _enemyController.Agent.acceleration = 8f; + _enemyController.Agent.angularSpeed = 720f; + // _enemyController.EnemyAnimator.SetFloat("MoveSpeed", 0.4f); // Walk 애니메이션 + + _enemyController.Agent.updateRotation = true; + } + else + { + // 매우 가까움: 직접 타겟 바라보기 + _enemyController.Agent.updateRotation = false; + + Vector3 direction = _detectPlayerTransform.position - _enemyController.transform.position; + direction.y = 0f; // 수직 회전 방지 + + if (direction.sqrMagnitude > 0.01f) + { + Quaternion lookRotation = Quaternion.LookRotation(direction); + _enemyController.transform.rotation = Quaternion.Slerp( + _enemyController.transform.rotation, + lookRotation, + Time.deltaTime * 10f // 회전 속도 + ); + } + + // _enemyController.Agent.angularSpeed = 1080f; + // _enemyController.Agent.acceleration = 999f; + + // _enemyController.EnemyAnimator.SetFloat("MoveSpeed", 0f); + } + + // 실제 속도 기반으로 애니메이션 제어 + float currentSpeed = _enemyController.Agent.velocity.magnitude; + _enemyController.EnemyAnimator.SetFloat(MoveSpeed, currentSpeed); + } + + public void Exit() + { + _detectPlayerTransform = null; + _enemyController.EnemyAnimator.SetBool(Trace, false); + _enemyController = null; + } +} + diff --git a/Assets/Scripts/Character/Enemy/EnemyState/EnemyStateTrace.cs.meta b/Assets/Scripts/Character/Enemy/EnemyState/EnemyStateTrace.cs.meta new file mode 100644 index 00000000..48083fc5 --- /dev/null +++ b/Assets/Scripts/Character/Enemy/EnemyState/EnemyStateTrace.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: d49fe89f824544eebeb0ad8e364e33d4 +timeCreated: 1744797593 \ No newline at end of file diff --git a/Assets/Scripts/Character/Enemy/EnemyState/IEnemyState.cs b/Assets/Scripts/Character/Enemy/EnemyState/IEnemyState.cs new file mode 100644 index 00000000..036a3de3 --- /dev/null +++ b/Assets/Scripts/Character/Enemy/EnemyState/IEnemyState.cs @@ -0,0 +1,6 @@ +public interface IEnemyState +{ + void Enter(EnemyController enemyController); + void Update(); + void Exit(); +} diff --git a/Assets/Scripts/Character/Enemy/EnemyState/IEnemyState.cs.meta b/Assets/Scripts/Character/Enemy/EnemyState/IEnemyState.cs.meta new file mode 100644 index 00000000..452112a0 --- /dev/null +++ b/Assets/Scripts/Character/Enemy/EnemyState/IEnemyState.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 418026380ec247acaf9ff06190d2fbf2 +timeCreated: 1744796715 \ No newline at end of file diff --git a/Assets/Scripts/Character/Enemy/PldDogController.cs b/Assets/Scripts/Character/Enemy/PldDogController.cs new file mode 100644 index 00000000..1a9eb28d --- /dev/null +++ b/Assets/Scripts/Character/Enemy/PldDogController.cs @@ -0,0 +1,7 @@ +using System; +using UnityEngine; + +public class PldDogController : EnemyController +{ + +} diff --git a/Assets/Scripts/Character/Enemy/PldDogController.cs.meta b/Assets/Scripts/Character/Enemy/PldDogController.cs.meta new file mode 100644 index 00000000..6ba942ce --- /dev/null +++ b/Assets/Scripts/Character/Enemy/PldDogController.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 10f85207f9bd92647b5c38d8a408f024 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/StoreAssets/DogKnight/Animations/Attack01.anim.meta b/Assets/StoreAssets/DogKnight/Animations/Attack01.anim.meta index f8e8feff..2d4f1ff7 100644 --- a/Assets/StoreAssets/DogKnight/Animations/Attack01.anim.meta +++ b/Assets/StoreAssets/DogKnight/Animations/Attack01.anim.meta @@ -1,8 +1,8 @@ fileFormatVersion: 2 -guid: 6019f1b4a095b0b4396f5561a51fee89 -timeCreated: 1544605028 -licenseType: Store +guid: 68de4930eebde9e479eaab7c237d2746 NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 7400000 userData: assetBundleName: assetBundleVariant: diff --git a/Assets/StoreAssets/DogKnight/Animations/Attack02.anim.meta b/Assets/StoreAssets/DogKnight/Animations/Attack02.anim.meta index 6d2fbfcc..ebea61de 100644 --- a/Assets/StoreAssets/DogKnight/Animations/Attack02.anim.meta +++ b/Assets/StoreAssets/DogKnight/Animations/Attack02.anim.meta @@ -1,8 +1,8 @@ fileFormatVersion: 2 -guid: eccbae3cfc77ad245ade46e143aa3200 -timeCreated: 1544605040 -licenseType: Store +guid: ff79b845bee80594a98ec31de14b5ecd NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 7400000 userData: assetBundleName: assetBundleVariant: diff --git a/Assets/StoreAssets/DogKnight/Animations/Defend.anim.meta b/Assets/StoreAssets/DogKnight/Animations/Defend.anim.meta index a1310b87..9c4cc3e5 100644 --- a/Assets/StoreAssets/DogKnight/Animations/Defend.anim.meta +++ b/Assets/StoreAssets/DogKnight/Animations/Defend.anim.meta @@ -1,8 +1,8 @@ fileFormatVersion: 2 -guid: cf357b5409b4ad54a82c45d7684564e1 -timeCreated: 1544607741 -licenseType: Store +guid: 5b0776984ffd79842a0465fb8a419441 NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 7400000 userData: assetBundleName: assetBundleVariant: diff --git a/Assets/StoreAssets/DogKnight/Animations/Die.anim.meta b/Assets/StoreAssets/DogKnight/Animations/Die.anim.meta index 3ed5768a..3f8a3143 100644 --- a/Assets/StoreAssets/DogKnight/Animations/Die.anim.meta +++ b/Assets/StoreAssets/DogKnight/Animations/Die.anim.meta @@ -1,8 +1,8 @@ fileFormatVersion: 2 -guid: 5d190d8211c88a64281f7b90c69f3eb3 -timeCreated: 1544605073 -licenseType: Store +guid: cef708be761542448b42d1f5e4d1d5e6 NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 7400000 userData: assetBundleName: assetBundleVariant: diff --git a/Assets/StoreAssets/DogKnight/Animations/DieRecover.anim b/Assets/StoreAssets/DogKnight/Animations/DieRecover.anim index c205f785..d8e064df 100644 --- a/Assets/StoreAssets/DogKnight/Animations/DieRecover.anim +++ b/Assets/StoreAssets/DogKnight/Animations/DieRecover.anim @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:a7eab6f2d54dd8af46d30b679d2319edd14456f988f5c674022bcf3bac2252df +oid sha256:460540d5faabb3b676215b186bd9ee6fad7a50837c092ed84805169177fa1d83 size 606894 diff --git a/Assets/StoreAssets/DogKnight/Animations/DieRecover.anim.meta b/Assets/StoreAssets/DogKnight/Animations/DieRecover.anim.meta index 1e729a3b..7c03fefc 100644 --- a/Assets/StoreAssets/DogKnight/Animations/DieRecover.anim.meta +++ b/Assets/StoreAssets/DogKnight/Animations/DieRecover.anim.meta @@ -1,8 +1,8 @@ fileFormatVersion: 2 -guid: 4a3671dbe6670524b8b6d9ad3664c179 -timeCreated: 1544607752 -licenseType: Store +guid: 7e5e21c2814211745a93c59b744df10e NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 7400000 userData: assetBundleName: assetBundleVariant: diff --git a/Assets/StoreAssets/DogKnight/Animations/Dizzy.anim.meta b/Assets/StoreAssets/DogKnight/Animations/Dizzy.anim.meta index b756a13d..07980a65 100644 --- a/Assets/StoreAssets/DogKnight/Animations/Dizzy.anim.meta +++ b/Assets/StoreAssets/DogKnight/Animations/Dizzy.anim.meta @@ -1,8 +1,8 @@ fileFormatVersion: 2 -guid: 30d4fe7af77240a44b9354aaed8e5beb -timeCreated: 1544607757 -licenseType: Store +guid: 6295306c82f8e6b49938378b3666db48 NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 7400000 userData: assetBundleName: assetBundleVariant: diff --git a/Assets/StoreAssets/DogKnight/Animations/GetHit.anim.meta b/Assets/StoreAssets/DogKnight/Animations/GetHit.anim.meta index 22ca0541..666b94ee 100644 --- a/Assets/StoreAssets/DogKnight/Animations/GetHit.anim.meta +++ b/Assets/StoreAssets/DogKnight/Animations/GetHit.anim.meta @@ -1,8 +1,8 @@ fileFormatVersion: 2 -guid: 1588532e68f51a040bda71c68cfab177 -timeCreated: 1544605085 -licenseType: Store +guid: 2b359afc6c4d41a4eb986dd6103e0f90 NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 7400000 userData: assetBundleName: assetBundleVariant: diff --git a/Assets/StoreAssets/DogKnight/Animations/Idle_Battle.anim.meta b/Assets/StoreAssets/DogKnight/Animations/Idle_Battle.anim.meta index ed48298b..2db69b2d 100644 --- a/Assets/StoreAssets/DogKnight/Animations/Idle_Battle.anim.meta +++ b/Assets/StoreAssets/DogKnight/Animations/Idle_Battle.anim.meta @@ -1,8 +1,8 @@ fileFormatVersion: 2 -guid: b79ff7bb68348be479d3db6b7fe8a569 -timeCreated: 1544605090 -licenseType: Store +guid: 3ec08e68e04f63f4393c07f4246dce96 NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 7400000 userData: assetBundleName: assetBundleVariant: diff --git a/Assets/StoreAssets/DogKnight/Animations/RunForwardBattle.anim b/Assets/StoreAssets/DogKnight/Animations/RunForwardBattle.anim index 2f48b050..bf68a90e 100644 --- a/Assets/StoreAssets/DogKnight/Animations/RunForwardBattle.anim +++ b/Assets/StoreAssets/DogKnight/Animations/RunForwardBattle.anim @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:892393373935cc7635222d531887fac334efcd0755dc02482e5cfafe2192239e +oid sha256:571e16dde03ce0f7c5be77b1db916e8ac2adf08041270dab3452274b18accf48 size 502807 diff --git a/Assets/StoreAssets/DogKnight/Animations/RunForwardBattle.anim.meta b/Assets/StoreAssets/DogKnight/Animations/RunForwardBattle.anim.meta index 0fca8d27..a9a61ed8 100644 --- a/Assets/StoreAssets/DogKnight/Animations/RunForwardBattle.anim.meta +++ b/Assets/StoreAssets/DogKnight/Animations/RunForwardBattle.anim.meta @@ -1,8 +1,8 @@ fileFormatVersion: 2 -guid: 9f0e03164414016409d28995a128ba98 -timeCreated: 1544605137 -licenseType: Store +guid: 6253b377de3be0f4897ab40c9921af28 NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 7400000 userData: assetBundleName: assetBundleVariant: diff --git a/Assets/StoreAssets/DogKnight/Animations/WalkForwardBattle.anim.meta b/Assets/StoreAssets/DogKnight/Animations/WalkForwardBattle.anim.meta index 80e93aa1..78dc0a60 100644 --- a/Assets/StoreAssets/DogKnight/Animations/WalkForwardBattle.anim.meta +++ b/Assets/StoreAssets/DogKnight/Animations/WalkForwardBattle.anim.meta @@ -1,8 +1,8 @@ fileFormatVersion: 2 -guid: f0c8c1d913b359a428b42d53947d3e93 -timeCreated: 1544607284 -licenseType: Store +guid: 82ae7cd6e51ade24b9467d436d2d7482 NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 7400000 userData: assetBundleName: assetBundleVariant: diff --git a/Assets/StoreAssets/DogKnight/Animator/DogControl 1.controller b/Assets/StoreAssets/DogKnight/Animator/DogControl 1.controller new file mode 100644 index 00000000..1f882091 --- /dev/null +++ b/Assets/StoreAssets/DogKnight/Animator/DogControl 1.controller @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:82b4d8a01d89f6246d28b194926a7c6994b6f8c4a51553944f7aa798bf3ab25c +size 9326 diff --git a/Assets/StoreAssets/DogKnight/Animator/DogControl 1.controller.meta b/Assets/StoreAssets/DogKnight/Animator/DogControl 1.controller.meta new file mode 100644 index 00000000..b349b46b --- /dev/null +++ b/Assets/StoreAssets/DogKnight/Animator/DogControl 1.controller.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: ae2ce41b02d61d247b6857c4cec7151c +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 9100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/StoreAssets/DogKnight/Animator/DogControl.controller b/Assets/StoreAssets/DogKnight/Animator/DogControl.controller index 8b175879..3dc34680 100644 --- a/Assets/StoreAssets/DogKnight/Animator/DogControl.controller +++ b/Assets/StoreAssets/DogKnight/Animator/DogControl.controller @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:47307ab6d36849a6cf611ad9757b3a0ffffbefcb412847607c12a85f4126d93a -size 14957 +oid sha256:d958fe887aee47a4b898cb54ba451dc9c86a22f8c0454f0dfb18010210b0f29c +size 9324 diff --git a/Packages/manifest.json b/Packages/manifest.json index 0ba460eb..8bbebd90 100644 --- a/Packages/manifest.json +++ b/Packages/manifest.json @@ -1,5 +1,6 @@ { "dependencies": { + "com.unity.ai.navigation": "1.1.5", "com.unity.2d.animation": "9.1.3", "com.unity.2d.sprite": "1.0.0", "com.unity.2d.spriteshape": "9.0.5", diff --git a/Packages/packages-lock.json b/Packages/packages-lock.json index a06a4ca2..365fcfeb 100644 --- a/Packages/packages-lock.json +++ b/Packages/packages-lock.json @@ -1,5 +1,11 @@ { "dependencies": { + "com.unity.ai.navigation": { + "version": "1.1.5", + "depth": 0, + "source": "registry", + "dependencies": { + "com.unity.modules.ai": "1.0.0" "com.unity.2d.animation": { "version": "9.1.3", "depth": 0, diff --git a/ProjectSettings/NavMeshAreas.asset b/ProjectSettings/NavMeshAreas.asset index 3b0b7c3d..dcf4931c 100644 --- a/ProjectSettings/NavMeshAreas.asset +++ b/ProjectSettings/NavMeshAreas.asset @@ -71,10 +71,10 @@ NavMeshProjectSettings: cost: 1 m_LastAgentTypeID: -887442657 m_Settings: - - serializedVersion: 2 + - serializedVersion: 3 agentTypeID: 0 agentRadius: 0.5 - agentHeight: 2 + agentHeight: 1.5 agentSlope: 45 agentClimb: 0.75 ledgeDropHeight: 0 @@ -84,7 +84,9 @@ NavMeshProjectSettings: cellSize: 0.16666667 manualTileSize: 0 tileSize: 256 - accuratePlacement: 0 + buildHeightMesh: 0 + maxJobWorkers: 0 + preserveTilesOutsideBounds: 0 debug: m_Flags: 0 m_SettingNames: diff --git a/ProjectSettings/TagManager.asset b/ProjectSettings/TagManager.asset index 74e73558..f877966a 100644 --- a/ProjectSettings/TagManager.asset +++ b/ProjectSettings/TagManager.asset @@ -37,7 +37,7 @@ TagManager: - - - - - + - Player m_SortingLayers: - name: Default uniqueID: 0