From 247de307c6f151d1926384d8dfec7fb0995e2727 Mon Sep 17 00:00:00 2001 From: Joywayer Date: Mon, 8 Jun 2026 16:05:00 +0800 Subject: [PATCH] =?UTF-8?q?UI=20=E7=B3=BB=E7=BB=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../AddressableAssetSettings.asset | 4 +- .../AssetGroups/Enemies.asset | 69 + .../AssetGroups/Enemies.asset.meta} | 2 +- .../AssetGroups/Projectiles.asset | 67 + .../AssetGroups/Projectiles.asset.meta | 8 + .../Enemies_BundledAssetGroupSchema.asset | 45 + ...Enemies_BundledAssetGroupSchema.asset.meta | 8 + .../Enemies_ContentUpdateGroupSchema.asset | 16 + ...nemies_ContentUpdateGroupSchema.asset.meta | 8 + .../Projectiles_BundledAssetGroupSchema.asset | 45 + ...ectiles_BundledAssetGroupSchema.asset.meta | 8 + ...Projectiles_ContentUpdateGroupSchema.asset | 16 + ...ctiles_ContentUpdateGroupSchema.asset.meta | 8 + .../Screenshots/GameView_20260608_154941.png | Bin 0 -> 382393 bytes .../GameView_20260608_154941.png.meta | 114 ++ Assets/_Game/Data/Combat/Projectiles.meta | 8 + .../Projectiles/PROJ_Boomerang_Config.asset | 23 + .../PROJ_Boomerang_Config.asset.meta | 8 + .../Projectiles/PROJ_FeiZhi_Acid_Config.asset | 23 + .../PROJ_FeiZhi_Acid_Config.asset.meta | 8 + .../PROJ_TornadoLarge_Config.asset | 23 + .../PROJ_TornadoLarge_Config.asset.meta | 8 + .../PROJ_TornadoSmall_Config.asset | 23 + .../PROJ_TornadoSmall_Config.asset.meta | 8 + .../Projectiles/PROJ_WindStone_Config.asset | 23 + .../PROJ_WindStone_Config.asset.meta | 8 + .../Projectiles/PROJ_ZhiMu_Acid_Config.asset | 23 + .../PROJ_ZhiMu_Acid_Config.asset.meta | 8 + Assets/_Game/Data/Enemies/ChaoFeng.meta | 8 + .../Data/Enemies/ChaoFeng/Abilities.meta | 8 + .../Abilities/ABL_ChaoFeng_Boomerang.asset} | 11 +- .../ABL_ChaoFeng_Boomerang.asset.meta | 8 + .../Abilities/ABL_ChaoFeng_FanCombo.asset | 50 + .../ABL_ChaoFeng_FanCombo.asset.meta | 8 + .../Abilities/ABL_ChaoFeng_TornadoLarge.asset | 50 + .../ABL_ChaoFeng_TornadoLarge.asset.meta | 8 + .../Abilities/ABL_ChaoFeng_TornadoSmall.asset | 50 + .../ABL_ChaoFeng_TornadoSmall.asset.meta | 8 + .../Abilities/ABL_ChaoFeng_WindStone.asset | 50 + .../ABL_ChaoFeng_WindStone.asset.meta | 8 + .../ChaoFeng/ENM_ChaoFeng_AnimConfig.asset | 25 + .../ENM_ChaoFeng_AnimConfig.asset.meta | 8 + .../Enemies/ChaoFeng/ENM_ChaoFeng_Stats.asset | 41 + .../ChaoFeng/ENM_ChaoFeng_Stats.asset.meta | 8 + Assets/_Game/Data/Enemies/E002.meta | 8 + Assets/_Game/Data/Enemies/E002/Abilities.meta | 8 + .../Abilities/ABL_E002_CeilingStrike.asset | 27 + .../ABL_E002_CeilingStrike.asset.meta | 8 + .../Enemies/E002/ENM_E002_AnimConfig.asset | 25 + .../E002/ENM_E002_AnimConfig.asset.meta | 8 + .../Data/Enemies/E002/ENM_E002_Stats.asset | 41 + .../Enemies/E002/ENM_E002_Stats.asset.meta | 8 + Assets/_Game/Data/Enemies/E003.meta | 8 + Assets/_Game/Data/Enemies/E003/Abilities.meta | 8 + .../E003/Abilities/ABL_E003_Fall.asset | 27 + .../E003/Abilities/ABL_E003_Fall.asset.meta | 8 + .../Enemies/E003/ENM_E003_AnimConfig.asset | 25 + .../E003/ENM_E003_AnimConfig.asset.meta | 8 + .../Data/Enemies/E003/ENM_E003_Stats.asset | 41 + .../Enemies/E003/ENM_E003_Stats.asset.meta | 8 + Assets/_Game/Data/Enemies/E004.meta | 8 + Assets/_Game/Data/Enemies/E004/Abilities.meta | 8 + .../E004/Abilities/ABL_E004_Acid.asset | 28 + .../E004/Abilities/ABL_E004_Acid.asset.meta | 8 + .../E004/Abilities/ABL_E004_Appear.asset | 27 + .../E004/Abilities/ABL_E004_Appear.asset.meta | 8 + .../E004/Abilities/ABL_E004_Bite.asset | 27 + .../E004/Abilities/ABL_E004_Bite.asset.meta | 8 + .../E004/Abilities/ABL_E004_Flip.asset | 27 + .../E004/Abilities/ABL_E004_Flip.asset.meta | 8 + .../E004/Abilities/ABL_E004_HeadSlam.asset | 27 + .../Abilities/ABL_E004_HeadSlam.asset.meta | 8 + .../E004/Abilities/EATK_E004_Acid.asset | 42 + .../E004/Abilities/EATK_E004_Acid.asset.meta | 8 + .../Enemies/E004/ENM_E004_AnimConfig.asset | 25 + .../E004/ENM_E004_AnimConfig.asset.meta | 8 + .../Data/Enemies/E004/ENM_E004_Stats.asset | 41 + .../Enemies/E004/ENM_E004_Stats.asset.meta | 8 + Assets/_Game/Data/Enemies/E005.meta | 8 + Assets/_Game/Data/Enemies/E005/Abilities.meta | 8 + .../E005/Abilities/ABL_E005_Acid.asset | 29 + .../E005/Abilities/ABL_E005_Acid.asset.meta | 8 + .../E005/Abilities/ABL_E005_Bite.asset | 27 + .../E005/Abilities/ABL_E005_Bite.asset.meta | 8 + .../E005/Abilities/EATK_E005_Acid_1.asset | 42 + .../Abilities/EATK_E005_Acid_1.asset.meta | 8 + .../E005/Abilities/EATK_E005_Acid_2.asset | 42 + .../Abilities/EATK_E005_Acid_2.asset.meta | 8 + .../Enemies/E005/ENM_E005_AnimConfig.asset | 25 + .../E005/ENM_E005_AnimConfig.asset.meta | 8 + .../Data/Enemies/E005/ENM_E005_Stats.asset | 41 + .../Enemies/E005/ENM_E005_Stats.asset.meta | 8 + Assets/_Game/Data/Enemies/E006.meta | 8 + Assets/_Game/Data/Enemies/E006/Abilities.meta | 8 + .../E006/Abilities/ABL_E006_Chase.asset | 27 + .../E006/Abilities/ABL_E006_Chase.asset.meta | 8 + .../E006/Abilities/ABL_E006_Leap.asset | 27 + .../E006/Abilities/ABL_E006_Leap.asset.meta | 8 + .../Enemies/E006/ENM_E006_AnimConfig.asset | 25 + .../E006/ENM_E006_AnimConfig.asset.meta | 8 + .../Data/Enemies/E006/ENM_E006_Stats.asset | 41 + .../Enemies/E006/ENM_E006_Stats.asset.meta | 8 + .../Combat/Projectiles/PROJ_Boomerang.prefab | 215 +++ .../Projectiles/PROJ_Boomerang.prefab.meta | 7 + .../Projectiles/PROJ_FeiZhi_Acid.prefab | 213 +++ .../Projectiles/PROJ_FeiZhi_Acid.prefab.meta | 7 + .../Projectiles/PROJ_TornadoLarge.prefab | 213 +++ .../Projectiles/PROJ_TornadoLarge.prefab.meta | 7 + .../Projectiles/PROJ_TornadoSmall.prefab | 213 +++ .../Projectiles/PROJ_TornadoSmall.prefab.meta | 7 + .../Combat/Projectiles/PROJ_WindStone.prefab | 213 +++ .../Projectiles/PROJ_WindStone.prefab.meta | 7 + .../Combat/Projectiles/PROJ_ZhiMu_Acid.prefab | 213 +++ .../Projectiles/PROJ_ZhiMu_Acid.prefab.meta | 7 + Assets/_Game/Prefabs/Enemies/ChaoFeng.meta | 8 + .../Enemies/ChaoFeng/ENM_ChaoFeng.prefab | 1262 +++++++++++++++++ .../Enemies/ChaoFeng/ENM_ChaoFeng.prefab.meta | 7 + Assets/_Game/Prefabs/Enemies/E001.meta | 8 + .../Prefabs/Enemies/E001/ENM_CaoZhi.prefab | 815 +++++++++++ .../Enemies/E001/ENM_CaoZhi.prefab.meta | 7 + Assets/_Game/Prefabs/Enemies/E002.meta | 8 + .../Prefabs/Enemies/E002/ENM_HuangZhi.prefab | 737 ++++++++++ .../Enemies/E002/ENM_HuangZhi.prefab.meta | 7 + Assets/_Game/Prefabs/Enemies/E003.meta | 8 + .../Prefabs/Enemies/E003/ENM_YouZhi.prefab | 782 ++++++++++ .../Enemies/E003/ENM_YouZhi.prefab.meta | 7 + Assets/_Game/Prefabs/Enemies/E004.meta | 8 + .../Prefabs/Enemies/E004/ENM_ZhiMu.prefab | 1181 +++++++++++++++ .../Enemies/E004/ENM_ZhiMu.prefab.meta | 7 + Assets/_Game/Prefabs/Enemies/E005.meta | 8 + .../Prefabs/Enemies/E005/ENM_FeiZhi.prefab | 882 ++++++++++++ .../Enemies/E005/ENM_FeiZhi.prefab.meta | 7 + Assets/_Game/Prefabs/Enemies/E006.meta | 8 + .../Prefabs/Enemies/E006/ENM_Huan.prefab | 927 ++++++++++++ .../Prefabs/Enemies/E006/ENM_Huan.prefab.meta | 7 + Assets/_Game/Scenes/Persistent.unity | 15 +- Assets/_Game/Scenes/Testings/TestRoomA.unity | 2 +- Assets/_Game/Scripts/Core/GameManager.cs | 75 + Assets/_Game/Scripts/Core/IGroundedActor.cs | 12 + .../_Game/Scripts/Core/IGroundedActor.cs.meta | 11 + .../Editor/Character/CharacterWizardWindow.cs | 50 +- .../Editor/Scene/SceneObjectPlacerTool.cs | 430 ++++-- .../Editor/Shared/AddressableRegistrar.cs | 100 ++ .../Shared/AddressableRegistrar.cs.meta | 11 + .../Scripts/Enemies/Boss/ChaoFengBoss.cs | 76 +- .../Enemies/Boss/ChaoFengKnockdownCounter.cs | 21 + Assets/_Game/Scripts/Player/PlayerMovement.cs | 2 +- .../UI/Menus/DataDrivenPauseMenuController.cs | 25 +- .../Guides/08_BehaviorTree_Authoring_Guide.md | 200 +++ Docs/Plan/小怪与Boss实现计划-01.md | 71 +- 150 files changed, 10945 insertions(+), 158 deletions(-) create mode 100644 Assets/AddressableAssetsData/AssetGroups/Enemies.asset rename Assets/{_Game/Data/Boss/Skills/ABL_Boss_Chaofeng.asset.meta => AddressableAssetsData/AssetGroups/Enemies.asset.meta} (79%) create mode 100644 Assets/AddressableAssetsData/AssetGroups/Projectiles.asset create mode 100644 Assets/AddressableAssetsData/AssetGroups/Projectiles.asset.meta create mode 100644 Assets/AddressableAssetsData/AssetGroups/Schemas/Enemies_BundledAssetGroupSchema.asset create mode 100644 Assets/AddressableAssetsData/AssetGroups/Schemas/Enemies_BundledAssetGroupSchema.asset.meta create mode 100644 Assets/AddressableAssetsData/AssetGroups/Schemas/Enemies_ContentUpdateGroupSchema.asset create mode 100644 Assets/AddressableAssetsData/AssetGroups/Schemas/Enemies_ContentUpdateGroupSchema.asset.meta create mode 100644 Assets/AddressableAssetsData/AssetGroups/Schemas/Projectiles_BundledAssetGroupSchema.asset create mode 100644 Assets/AddressableAssetsData/AssetGroups/Schemas/Projectiles_BundledAssetGroupSchema.asset.meta create mode 100644 Assets/AddressableAssetsData/AssetGroups/Schemas/Projectiles_ContentUpdateGroupSchema.asset create mode 100644 Assets/AddressableAssetsData/AssetGroups/Schemas/Projectiles_ContentUpdateGroupSchema.asset.meta create mode 100644 Assets/Screenshots/GameView_20260608_154941.png create mode 100644 Assets/Screenshots/GameView_20260608_154941.png.meta create mode 100644 Assets/_Game/Data/Combat/Projectiles.meta create mode 100644 Assets/_Game/Data/Combat/Projectiles/PROJ_Boomerang_Config.asset create mode 100644 Assets/_Game/Data/Combat/Projectiles/PROJ_Boomerang_Config.asset.meta create mode 100644 Assets/_Game/Data/Combat/Projectiles/PROJ_FeiZhi_Acid_Config.asset create mode 100644 Assets/_Game/Data/Combat/Projectiles/PROJ_FeiZhi_Acid_Config.asset.meta create mode 100644 Assets/_Game/Data/Combat/Projectiles/PROJ_TornadoLarge_Config.asset create mode 100644 Assets/_Game/Data/Combat/Projectiles/PROJ_TornadoLarge_Config.asset.meta create mode 100644 Assets/_Game/Data/Combat/Projectiles/PROJ_TornadoSmall_Config.asset create mode 100644 Assets/_Game/Data/Combat/Projectiles/PROJ_TornadoSmall_Config.asset.meta create mode 100644 Assets/_Game/Data/Combat/Projectiles/PROJ_WindStone_Config.asset create mode 100644 Assets/_Game/Data/Combat/Projectiles/PROJ_WindStone_Config.asset.meta create mode 100644 Assets/_Game/Data/Combat/Projectiles/PROJ_ZhiMu_Acid_Config.asset create mode 100644 Assets/_Game/Data/Combat/Projectiles/PROJ_ZhiMu_Acid_Config.asset.meta create mode 100644 Assets/_Game/Data/Enemies/ChaoFeng.meta create mode 100644 Assets/_Game/Data/Enemies/ChaoFeng/Abilities.meta rename Assets/_Game/Data/{Boss/Skills/ABL_Boss_Chaofeng.asset => Enemies/ChaoFeng/Abilities/ABL_ChaoFeng_Boomerang.asset} (86%) create mode 100644 Assets/_Game/Data/Enemies/ChaoFeng/Abilities/ABL_ChaoFeng_Boomerang.asset.meta create mode 100644 Assets/_Game/Data/Enemies/ChaoFeng/Abilities/ABL_ChaoFeng_FanCombo.asset create mode 100644 Assets/_Game/Data/Enemies/ChaoFeng/Abilities/ABL_ChaoFeng_FanCombo.asset.meta create mode 100644 Assets/_Game/Data/Enemies/ChaoFeng/Abilities/ABL_ChaoFeng_TornadoLarge.asset create mode 100644 Assets/_Game/Data/Enemies/ChaoFeng/Abilities/ABL_ChaoFeng_TornadoLarge.asset.meta create mode 100644 Assets/_Game/Data/Enemies/ChaoFeng/Abilities/ABL_ChaoFeng_TornadoSmall.asset create mode 100644 Assets/_Game/Data/Enemies/ChaoFeng/Abilities/ABL_ChaoFeng_TornadoSmall.asset.meta create mode 100644 Assets/_Game/Data/Enemies/ChaoFeng/Abilities/ABL_ChaoFeng_WindStone.asset create mode 100644 Assets/_Game/Data/Enemies/ChaoFeng/Abilities/ABL_ChaoFeng_WindStone.asset.meta create mode 100644 Assets/_Game/Data/Enemies/ChaoFeng/ENM_ChaoFeng_AnimConfig.asset create mode 100644 Assets/_Game/Data/Enemies/ChaoFeng/ENM_ChaoFeng_AnimConfig.asset.meta create mode 100644 Assets/_Game/Data/Enemies/ChaoFeng/ENM_ChaoFeng_Stats.asset create mode 100644 Assets/_Game/Data/Enemies/ChaoFeng/ENM_ChaoFeng_Stats.asset.meta create mode 100644 Assets/_Game/Data/Enemies/E002.meta create mode 100644 Assets/_Game/Data/Enemies/E002/Abilities.meta create mode 100644 Assets/_Game/Data/Enemies/E002/Abilities/ABL_E002_CeilingStrike.asset create mode 100644 Assets/_Game/Data/Enemies/E002/Abilities/ABL_E002_CeilingStrike.asset.meta create mode 100644 Assets/_Game/Data/Enemies/E002/ENM_E002_AnimConfig.asset create mode 100644 Assets/_Game/Data/Enemies/E002/ENM_E002_AnimConfig.asset.meta create mode 100644 Assets/_Game/Data/Enemies/E002/ENM_E002_Stats.asset create mode 100644 Assets/_Game/Data/Enemies/E002/ENM_E002_Stats.asset.meta create mode 100644 Assets/_Game/Data/Enemies/E003.meta create mode 100644 Assets/_Game/Data/Enemies/E003/Abilities.meta create mode 100644 Assets/_Game/Data/Enemies/E003/Abilities/ABL_E003_Fall.asset create mode 100644 Assets/_Game/Data/Enemies/E003/Abilities/ABL_E003_Fall.asset.meta create mode 100644 Assets/_Game/Data/Enemies/E003/ENM_E003_AnimConfig.asset create mode 100644 Assets/_Game/Data/Enemies/E003/ENM_E003_AnimConfig.asset.meta create mode 100644 Assets/_Game/Data/Enemies/E003/ENM_E003_Stats.asset create mode 100644 Assets/_Game/Data/Enemies/E003/ENM_E003_Stats.asset.meta create mode 100644 Assets/_Game/Data/Enemies/E004.meta create mode 100644 Assets/_Game/Data/Enemies/E004/Abilities.meta create mode 100644 Assets/_Game/Data/Enemies/E004/Abilities/ABL_E004_Acid.asset create mode 100644 Assets/_Game/Data/Enemies/E004/Abilities/ABL_E004_Acid.asset.meta create mode 100644 Assets/_Game/Data/Enemies/E004/Abilities/ABL_E004_Appear.asset create mode 100644 Assets/_Game/Data/Enemies/E004/Abilities/ABL_E004_Appear.asset.meta create mode 100644 Assets/_Game/Data/Enemies/E004/Abilities/ABL_E004_Bite.asset create mode 100644 Assets/_Game/Data/Enemies/E004/Abilities/ABL_E004_Bite.asset.meta create mode 100644 Assets/_Game/Data/Enemies/E004/Abilities/ABL_E004_Flip.asset create mode 100644 Assets/_Game/Data/Enemies/E004/Abilities/ABL_E004_Flip.asset.meta create mode 100644 Assets/_Game/Data/Enemies/E004/Abilities/ABL_E004_HeadSlam.asset create mode 100644 Assets/_Game/Data/Enemies/E004/Abilities/ABL_E004_HeadSlam.asset.meta create mode 100644 Assets/_Game/Data/Enemies/E004/Abilities/EATK_E004_Acid.asset create mode 100644 Assets/_Game/Data/Enemies/E004/Abilities/EATK_E004_Acid.asset.meta create mode 100644 Assets/_Game/Data/Enemies/E004/ENM_E004_AnimConfig.asset create mode 100644 Assets/_Game/Data/Enemies/E004/ENM_E004_AnimConfig.asset.meta create mode 100644 Assets/_Game/Data/Enemies/E004/ENM_E004_Stats.asset create mode 100644 Assets/_Game/Data/Enemies/E004/ENM_E004_Stats.asset.meta create mode 100644 Assets/_Game/Data/Enemies/E005.meta create mode 100644 Assets/_Game/Data/Enemies/E005/Abilities.meta create mode 100644 Assets/_Game/Data/Enemies/E005/Abilities/ABL_E005_Acid.asset create mode 100644 Assets/_Game/Data/Enemies/E005/Abilities/ABL_E005_Acid.asset.meta create mode 100644 Assets/_Game/Data/Enemies/E005/Abilities/ABL_E005_Bite.asset create mode 100644 Assets/_Game/Data/Enemies/E005/Abilities/ABL_E005_Bite.asset.meta create mode 100644 Assets/_Game/Data/Enemies/E005/Abilities/EATK_E005_Acid_1.asset create mode 100644 Assets/_Game/Data/Enemies/E005/Abilities/EATK_E005_Acid_1.asset.meta create mode 100644 Assets/_Game/Data/Enemies/E005/Abilities/EATK_E005_Acid_2.asset create mode 100644 Assets/_Game/Data/Enemies/E005/Abilities/EATK_E005_Acid_2.asset.meta create mode 100644 Assets/_Game/Data/Enemies/E005/ENM_E005_AnimConfig.asset create mode 100644 Assets/_Game/Data/Enemies/E005/ENM_E005_AnimConfig.asset.meta create mode 100644 Assets/_Game/Data/Enemies/E005/ENM_E005_Stats.asset create mode 100644 Assets/_Game/Data/Enemies/E005/ENM_E005_Stats.asset.meta create mode 100644 Assets/_Game/Data/Enemies/E006.meta create mode 100644 Assets/_Game/Data/Enemies/E006/Abilities.meta create mode 100644 Assets/_Game/Data/Enemies/E006/Abilities/ABL_E006_Chase.asset create mode 100644 Assets/_Game/Data/Enemies/E006/Abilities/ABL_E006_Chase.asset.meta create mode 100644 Assets/_Game/Data/Enemies/E006/Abilities/ABL_E006_Leap.asset create mode 100644 Assets/_Game/Data/Enemies/E006/Abilities/ABL_E006_Leap.asset.meta create mode 100644 Assets/_Game/Data/Enemies/E006/ENM_E006_AnimConfig.asset create mode 100644 Assets/_Game/Data/Enemies/E006/ENM_E006_AnimConfig.asset.meta create mode 100644 Assets/_Game/Data/Enemies/E006/ENM_E006_Stats.asset create mode 100644 Assets/_Game/Data/Enemies/E006/ENM_E006_Stats.asset.meta create mode 100644 Assets/_Game/Prefabs/Combat/Projectiles/PROJ_Boomerang.prefab create mode 100644 Assets/_Game/Prefabs/Combat/Projectiles/PROJ_Boomerang.prefab.meta create mode 100644 Assets/_Game/Prefabs/Combat/Projectiles/PROJ_FeiZhi_Acid.prefab create mode 100644 Assets/_Game/Prefabs/Combat/Projectiles/PROJ_FeiZhi_Acid.prefab.meta create mode 100644 Assets/_Game/Prefabs/Combat/Projectiles/PROJ_TornadoLarge.prefab create mode 100644 Assets/_Game/Prefabs/Combat/Projectiles/PROJ_TornadoLarge.prefab.meta create mode 100644 Assets/_Game/Prefabs/Combat/Projectiles/PROJ_TornadoSmall.prefab create mode 100644 Assets/_Game/Prefabs/Combat/Projectiles/PROJ_TornadoSmall.prefab.meta create mode 100644 Assets/_Game/Prefabs/Combat/Projectiles/PROJ_WindStone.prefab create mode 100644 Assets/_Game/Prefabs/Combat/Projectiles/PROJ_WindStone.prefab.meta create mode 100644 Assets/_Game/Prefabs/Combat/Projectiles/PROJ_ZhiMu_Acid.prefab create mode 100644 Assets/_Game/Prefabs/Combat/Projectiles/PROJ_ZhiMu_Acid.prefab.meta create mode 100644 Assets/_Game/Prefabs/Enemies/ChaoFeng.meta create mode 100644 Assets/_Game/Prefabs/Enemies/ChaoFeng/ENM_ChaoFeng.prefab create mode 100644 Assets/_Game/Prefabs/Enemies/ChaoFeng/ENM_ChaoFeng.prefab.meta create mode 100644 Assets/_Game/Prefabs/Enemies/E001.meta create mode 100644 Assets/_Game/Prefabs/Enemies/E001/ENM_CaoZhi.prefab create mode 100644 Assets/_Game/Prefabs/Enemies/E001/ENM_CaoZhi.prefab.meta create mode 100644 Assets/_Game/Prefabs/Enemies/E002.meta create mode 100644 Assets/_Game/Prefabs/Enemies/E002/ENM_HuangZhi.prefab create mode 100644 Assets/_Game/Prefabs/Enemies/E002/ENM_HuangZhi.prefab.meta create mode 100644 Assets/_Game/Prefabs/Enemies/E003.meta create mode 100644 Assets/_Game/Prefabs/Enemies/E003/ENM_YouZhi.prefab create mode 100644 Assets/_Game/Prefabs/Enemies/E003/ENM_YouZhi.prefab.meta create mode 100644 Assets/_Game/Prefabs/Enemies/E004.meta create mode 100644 Assets/_Game/Prefabs/Enemies/E004/ENM_ZhiMu.prefab create mode 100644 Assets/_Game/Prefabs/Enemies/E004/ENM_ZhiMu.prefab.meta create mode 100644 Assets/_Game/Prefabs/Enemies/E005.meta create mode 100644 Assets/_Game/Prefabs/Enemies/E005/ENM_FeiZhi.prefab create mode 100644 Assets/_Game/Prefabs/Enemies/E005/ENM_FeiZhi.prefab.meta create mode 100644 Assets/_Game/Prefabs/Enemies/E006.meta create mode 100644 Assets/_Game/Prefabs/Enemies/E006/ENM_Huan.prefab create mode 100644 Assets/_Game/Prefabs/Enemies/E006/ENM_Huan.prefab.meta create mode 100644 Assets/_Game/Scripts/Core/IGroundedActor.cs create mode 100644 Assets/_Game/Scripts/Core/IGroundedActor.cs.meta create mode 100644 Assets/_Game/Scripts/Editor/Shared/AddressableRegistrar.cs create mode 100644 Assets/_Game/Scripts/Editor/Shared/AddressableRegistrar.cs.meta create mode 100644 Docs/Guides/08_BehaviorTree_Authoring_Guide.md diff --git a/Assets/AddressableAssetsData/AddressableAssetSettings.asset b/Assets/AddressableAssetsData/AddressableAssetSettings.asset index 6df1e17..8159b0d 100644 --- a/Assets/AddressableAssetsData/AddressableAssetSettings.asset +++ b/Assets/AddressableAssetsData/AddressableAssetSettings.asset @@ -15,7 +15,7 @@ MonoBehaviour: m_DefaultGroup: 9ce5c865a2d3a0840aabdd8ccb3fd4b1 m_currentHash: serializedVersion: 2 - Hash: 31691697811707650999fb9a02054009 + Hash: 00000000000000000000000000000000 m_OptimizeCatalogSize: 0 m_BuildRemoteCatalog: 0 m_BundleLocalCatalog: 0 @@ -44,8 +44,10 @@ MonoBehaviour: m_BuildAddressablesWithPlayerBuild: 0 m_overridePlayerVersion: '[UnityEditor.PlayerSettings.bundleVersion]' m_GroupAssets: + - {fileID: 11400000, guid: cb30dc04fbca5dd468da2ae5dae42b5d, type: 2} - {fileID: 11400000, guid: c22627c324f1c25498607e9b6e157457, type: 2} - {fileID: 11400000, guid: dd7101d419030164a8916786fa463075, type: 2} + - {fileID: 11400000, guid: 40cb5914dc3667442b8c550715605949, type: 2} - {fileID: 11400000, guid: 0123a97ef69d06c429118db4ea81ab47, type: 2} m_BuildSettings: m_CompileScriptsInVirtualMode: 0 diff --git a/Assets/AddressableAssetsData/AssetGroups/Enemies.asset b/Assets/AddressableAssetsData/AssetGroups/Enemies.asset new file mode 100644 index 0000000..36d5d50 --- /dev/null +++ b/Assets/AddressableAssetsData/AssetGroups/Enemies.asset @@ -0,0 +1,69 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: bbb281ee3bf0b054c82ac2347e9e782c, type: 3} + m_Name: Enemies + m_EditorClassIdentifier: + m_GroupName: Enemies + m_Data: + m_SerializedData: [] + m_GUID: 4784fc796879ff14580834028bdb14ef + m_SerializeEntries: + - m_GUID: 027bcccb70638f143b77f51f3da389dc + m_Address: ENM_Huan + m_ReadOnly: 0 + m_SerializedLabels: + - Enemy + FlaggedDuringContentUpdateRestriction: 0 + - m_GUID: 3d79f19c55fbaaf40b96071ac7f602c0 + m_Address: ENM_YouZhi + m_ReadOnly: 0 + m_SerializedLabels: + - Enemy + - Poolable + - Preload + FlaggedDuringContentUpdateRestriction: 0 + - m_GUID: 69accaa6577ec1a4db552c3c31aa28d8 + m_Address: ENM_CaoZhi + m_ReadOnly: 0 + m_SerializedLabels: + - Enemy + FlaggedDuringContentUpdateRestriction: 0 + - m_GUID: 6e3d42a02e363ad4ab5079699a37d1d3 + m_Address: ENM_ZhiMu + m_ReadOnly: 0 + m_SerializedLabels: + - Enemy + FlaggedDuringContentUpdateRestriction: 0 + - m_GUID: 98db6e6457d39db43a998d00a26aa503 + m_Address: ENM_HuangZhi + m_ReadOnly: 0 + m_SerializedLabels: + - Enemy + FlaggedDuringContentUpdateRestriction: 0 + - m_GUID: a8a4005faff5aa34a83e5dd9b99b74c8 + m_Address: ENM_FeiZhi + m_ReadOnly: 0 + m_SerializedLabels: + - Enemy + FlaggedDuringContentUpdateRestriction: 0 + - m_GUID: e55e94346ed15ce40bc0ae5aa7771ea6 + m_Address: ENM_ChaoFeng + m_ReadOnly: 0 + m_SerializedLabels: + - Enemy + FlaggedDuringContentUpdateRestriction: 0 + m_ReadOnly: 0 + m_Settings: {fileID: 11400000, guid: ea6262c4e52d79d41ab2c167b19171ff, type: 2} + m_SchemaSet: + m_Schemas: + - {fileID: 11400000, guid: be5caea07d1f6dc4985f805ec23ddd16, type: 2} + - {fileID: 11400000, guid: 615d2d8d5a373d243954698f3311ca8d, type: 2} diff --git a/Assets/_Game/Data/Boss/Skills/ABL_Boss_Chaofeng.asset.meta b/Assets/AddressableAssetsData/AssetGroups/Enemies.asset.meta similarity index 79% rename from Assets/_Game/Data/Boss/Skills/ABL_Boss_Chaofeng.asset.meta rename to Assets/AddressableAssetsData/AssetGroups/Enemies.asset.meta index ed3ee9d..353b6c6 100644 --- a/Assets/_Game/Data/Boss/Skills/ABL_Boss_Chaofeng.asset.meta +++ b/Assets/AddressableAssetsData/AssetGroups/Enemies.asset.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: a21fed7fb6abbd6458ee5f69cf8cf603 +guid: cb30dc04fbca5dd468da2ae5dae42b5d NativeFormatImporter: externalObjects: {} mainObjectFileID: 11400000 diff --git a/Assets/AddressableAssetsData/AssetGroups/Projectiles.asset b/Assets/AddressableAssetsData/AssetGroups/Projectiles.asset new file mode 100644 index 0000000..4f5b4e1 --- /dev/null +++ b/Assets/AddressableAssetsData/AssetGroups/Projectiles.asset @@ -0,0 +1,67 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: bbb281ee3bf0b054c82ac2347e9e782c, type: 3} + m_Name: Projectiles + m_EditorClassIdentifier: + m_GroupName: Projectiles + m_Data: + m_SerializedData: [] + m_GUID: bbc19cde77c842c4bba9890de6610ffc + m_SerializeEntries: + - m_GUID: 37263e7701fe82d4ba56066888fed4b7 + m_Address: PROJ_Boomerang + m_ReadOnly: 0 + m_SerializedLabels: + - Poolable + - Preload + FlaggedDuringContentUpdateRestriction: 0 + - m_GUID: 457a51aa8bf796748a719bf54800755c + m_Address: PROJ_TornadoLarge + m_ReadOnly: 0 + m_SerializedLabels: + - Poolable + - Preload + FlaggedDuringContentUpdateRestriction: 0 + - m_GUID: 4f232046a7e00aa47afa2c243c191167 + m_Address: PROJ_WindStone + m_ReadOnly: 0 + m_SerializedLabels: + - Poolable + - Preload + FlaggedDuringContentUpdateRestriction: 0 + - m_GUID: 7718dc6d6f5dfd0408b99b037c35491b + m_Address: PROJ_FeiZhi_Acid + m_ReadOnly: 0 + m_SerializedLabels: + - Poolable + - Preload + FlaggedDuringContentUpdateRestriction: 0 + - m_GUID: 9fe4a83a6355657419e07f7dbbc671cf + m_Address: PROJ_TornadoSmall + m_ReadOnly: 0 + m_SerializedLabels: + - Poolable + - Preload + FlaggedDuringContentUpdateRestriction: 0 + - m_GUID: bdd51de8b53302048b4d125ce66512e8 + m_Address: PROJ_ZhiMu_Acid + m_ReadOnly: 0 + m_SerializedLabels: + - Poolable + - Preload + FlaggedDuringContentUpdateRestriction: 0 + m_ReadOnly: 0 + m_Settings: {fileID: 11400000, guid: ea6262c4e52d79d41ab2c167b19171ff, type: 2} + m_SchemaSet: + m_Schemas: + - {fileID: 11400000, guid: c41845d8fcac4f945b237f315d2980ee, type: 2} + - {fileID: 11400000, guid: e487350fe45e77147b569c566cf73ed3, type: 2} diff --git a/Assets/AddressableAssetsData/AssetGroups/Projectiles.asset.meta b/Assets/AddressableAssetsData/AssetGroups/Projectiles.asset.meta new file mode 100644 index 0000000..0191503 --- /dev/null +++ b/Assets/AddressableAssetsData/AssetGroups/Projectiles.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 40cb5914dc3667442b8c550715605949 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/AddressableAssetsData/AssetGroups/Schemas/Enemies_BundledAssetGroupSchema.asset b/Assets/AddressableAssetsData/AssetGroups/Schemas/Enemies_BundledAssetGroupSchema.asset new file mode 100644 index 0000000..6e9cb93 --- /dev/null +++ b/Assets/AddressableAssetsData/AssetGroups/Schemas/Enemies_BundledAssetGroupSchema.asset @@ -0,0 +1,45 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: e5d17a21594effb4e9591490b009e7aa, type: 3} + m_Name: Enemies_BundledAssetGroupSchema + m_EditorClassIdentifier: + m_Group: {fileID: 11400000, guid: cb30dc04fbca5dd468da2ae5dae42b5d, type: 2} + m_InternalBundleIdMode: 1 + m_Compression: 1 + m_IncludeAddressInCatalog: 1 + m_IncludeGUIDInCatalog: 1 + m_IncludeLabelsInCatalog: 1 + m_InternalIdNamingMode: 0 + m_CacheClearBehavior: 0 + m_IncludeInBuild: 1 + m_BundledAssetProviderType: + m_AssemblyName: Unity.ResourceManager, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + m_ClassName: UnityEngine.ResourceManagement.ResourceProviders.BundledAssetProvider + m_ForceUniqueProvider: 0 + m_UseAssetBundleCache: 1 + m_UseAssetBundleCrc: 1 + m_UseAssetBundleCrcForCachedBundles: 1 + m_UseUWRForLocalBundles: 0 + m_Timeout: 0 + m_ChunkedTransfer: 0 + m_RedirectLimit: -1 + m_RetryCount: 0 + m_BuildPath: + m_Id: 768ef6c5b40cf3841a6e6188ed781ca3 + m_LoadPath: + m_Id: a9ed4dec0ec20c2459505631f5a924dd + m_BundleMode: 0 + m_AssetBundleProviderType: + m_AssemblyName: Unity.ResourceManager, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + m_ClassName: UnityEngine.ResourceManagement.ResourceProviders.AssetBundleProvider + m_BundleNaming: 0 + m_AssetLoadMode: 0 diff --git a/Assets/AddressableAssetsData/AssetGroups/Schemas/Enemies_BundledAssetGroupSchema.asset.meta b/Assets/AddressableAssetsData/AssetGroups/Schemas/Enemies_BundledAssetGroupSchema.asset.meta new file mode 100644 index 0000000..a13cc73 --- /dev/null +++ b/Assets/AddressableAssetsData/AssetGroups/Schemas/Enemies_BundledAssetGroupSchema.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: be5caea07d1f6dc4985f805ec23ddd16 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/AddressableAssetsData/AssetGroups/Schemas/Enemies_ContentUpdateGroupSchema.asset b/Assets/AddressableAssetsData/AssetGroups/Schemas/Enemies_ContentUpdateGroupSchema.asset new file mode 100644 index 0000000..7519e14 --- /dev/null +++ b/Assets/AddressableAssetsData/AssetGroups/Schemas/Enemies_ContentUpdateGroupSchema.asset @@ -0,0 +1,16 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5834b5087d578d24c926ce20cd31e6d6, type: 3} + m_Name: Enemies_ContentUpdateGroupSchema + m_EditorClassIdentifier: + m_Group: {fileID: 11400000, guid: cb30dc04fbca5dd468da2ae5dae42b5d, type: 2} + m_StaticContent: 0 diff --git a/Assets/AddressableAssetsData/AssetGroups/Schemas/Enemies_ContentUpdateGroupSchema.asset.meta b/Assets/AddressableAssetsData/AssetGroups/Schemas/Enemies_ContentUpdateGroupSchema.asset.meta new file mode 100644 index 0000000..d063c28 --- /dev/null +++ b/Assets/AddressableAssetsData/AssetGroups/Schemas/Enemies_ContentUpdateGroupSchema.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 615d2d8d5a373d243954698f3311ca8d +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/AddressableAssetsData/AssetGroups/Schemas/Projectiles_BundledAssetGroupSchema.asset b/Assets/AddressableAssetsData/AssetGroups/Schemas/Projectiles_BundledAssetGroupSchema.asset new file mode 100644 index 0000000..8883b95 --- /dev/null +++ b/Assets/AddressableAssetsData/AssetGroups/Schemas/Projectiles_BundledAssetGroupSchema.asset @@ -0,0 +1,45 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: e5d17a21594effb4e9591490b009e7aa, type: 3} + m_Name: Projectiles_BundledAssetGroupSchema + m_EditorClassIdentifier: + m_Group: {fileID: 11400000, guid: 40cb5914dc3667442b8c550715605949, type: 2} + m_InternalBundleIdMode: 1 + m_Compression: 1 + m_IncludeAddressInCatalog: 1 + m_IncludeGUIDInCatalog: 1 + m_IncludeLabelsInCatalog: 1 + m_InternalIdNamingMode: 0 + m_CacheClearBehavior: 0 + m_IncludeInBuild: 1 + m_BundledAssetProviderType: + m_AssemblyName: Unity.ResourceManager, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + m_ClassName: UnityEngine.ResourceManagement.ResourceProviders.BundledAssetProvider + m_ForceUniqueProvider: 0 + m_UseAssetBundleCache: 1 + m_UseAssetBundleCrc: 1 + m_UseAssetBundleCrcForCachedBundles: 1 + m_UseUWRForLocalBundles: 0 + m_Timeout: 0 + m_ChunkedTransfer: 0 + m_RedirectLimit: -1 + m_RetryCount: 0 + m_BuildPath: + m_Id: 768ef6c5b40cf3841a6e6188ed781ca3 + m_LoadPath: + m_Id: a9ed4dec0ec20c2459505631f5a924dd + m_BundleMode: 0 + m_AssetBundleProviderType: + m_AssemblyName: Unity.ResourceManager, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + m_ClassName: UnityEngine.ResourceManagement.ResourceProviders.AssetBundleProvider + m_BundleNaming: 0 + m_AssetLoadMode: 0 diff --git a/Assets/AddressableAssetsData/AssetGroups/Schemas/Projectiles_BundledAssetGroupSchema.asset.meta b/Assets/AddressableAssetsData/AssetGroups/Schemas/Projectiles_BundledAssetGroupSchema.asset.meta new file mode 100644 index 0000000..cccda58 --- /dev/null +++ b/Assets/AddressableAssetsData/AssetGroups/Schemas/Projectiles_BundledAssetGroupSchema.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: c41845d8fcac4f945b237f315d2980ee +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/AddressableAssetsData/AssetGroups/Schemas/Projectiles_ContentUpdateGroupSchema.asset b/Assets/AddressableAssetsData/AssetGroups/Schemas/Projectiles_ContentUpdateGroupSchema.asset new file mode 100644 index 0000000..a9d366d --- /dev/null +++ b/Assets/AddressableAssetsData/AssetGroups/Schemas/Projectiles_ContentUpdateGroupSchema.asset @@ -0,0 +1,16 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5834b5087d578d24c926ce20cd31e6d6, type: 3} + m_Name: Projectiles_ContentUpdateGroupSchema + m_EditorClassIdentifier: + m_Group: {fileID: 11400000, guid: 40cb5914dc3667442b8c550715605949, type: 2} + m_StaticContent: 0 diff --git a/Assets/AddressableAssetsData/AssetGroups/Schemas/Projectiles_ContentUpdateGroupSchema.asset.meta b/Assets/AddressableAssetsData/AssetGroups/Schemas/Projectiles_ContentUpdateGroupSchema.asset.meta new file mode 100644 index 0000000..e731648 --- /dev/null +++ b/Assets/AddressableAssetsData/AssetGroups/Schemas/Projectiles_ContentUpdateGroupSchema.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: e487350fe45e77147b569c566cf73ed3 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Screenshots/GameView_20260608_154941.png b/Assets/Screenshots/GameView_20260608_154941.png new file mode 100644 index 0000000000000000000000000000000000000000..5eb493407ecc7ea54fcc39e7a570bbb91685d8fc GIT binary patch literal 382393 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 )`;?rAxtIGmf;;YH_lBM6E8z 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 z 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

HftAA!qX$ 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

(B#QuBVOiMe{MX^4*+=c=A)|@wo4<$IVAM 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


&wTw$Ye_^(4o5}m{`GVJBP4+`o^?|F?U( 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

@dJulw9baR5Y`a(h?p zd&1emi*?A7Q;i#otP19vd|Y%3UiCvV+*}z}ij-JNP4h6w0%&f9O0%N-nNoPd)W{P2 zJXLUxRagq*IAk;ceV6O($xII^_0z{>{5^wjqK0dN?jGnl#%?GLu?mKO@Nml53(3UJ z968?v3JxV`QI$GM$KxxXoaW()KD#R^O#v+k8HJNQ*h{4d;tQ3g1`X5jY6X0-gCc0L zk?j2>W`In9NlZ$kVT995*mxEMSzcPsSP+4phLeyBxG5kfdb^Pi?hFXQ6%3z|PL5+l zhnN1rIMCom#7&(v8K3UyNd_bpXTnN%GL^;w?08@dG&8)%FBnK8`%x+E z8e&iEF~fUcf)fG-Y=S)uJZieb99hX;tD3w5PmxxK60yieQ);BZK^TmpFpyyfvuz1x zMbrj5)P;p9i0PGfGWn1?trq;szl(UVP&9TVKuHxUWA7Nuj3E)l-6E?y6t)5eYv^5m zmwq!#}*cG`&n<^qW+glnGTazq^rvQ>glTekWs*GHy zyOBiKni1Xsj_7h9yg|EVe8Rxu>l0qqo!srZ$sVbq^yaY#8b>#%} zs9RUXrfz8?^$+a1Pr9X@cg$0y_PqDwOH!bYSRE2^GJW(P{^d)uCtpTJPt6=W^Mk+j zarEfj|Ani?z2u!A$LRRd_F{!^0Q}&~pO5W}exvekBOn8dWW<`WchJEEp$rnFlv;p*P9&KlJLyjFe+%i7YII`FH{o;Ym<(Uc^K=II4o{+zSd2^w= z&ZG-rm=Joy+nmHQ_<{Q##N-U`GszCIo|`vvS((k-PGNf!KHrI(chveJ9gm#&kb>?G z6qBoZB(^vzG65kTC8TK(gHgayCTaTxdK6E&=QgaHLjD@57z09g5i=^bY^5cj2LceV zY+T1xmLMSgaEcBg<*Q7)%bqgnH!hHe;1QOlLysZw4BCA8w^wXh&(Aw<*}=?$n>Jhm zKK>xno7lGfG#tv*EzBYC&7RxFh1HNg#;hC!?6z$?!$tKbk(pL(SkK&<9lPL1#Wl|f zGEri78-*vUDy~|gN9xoSfBtT1$Bz2;7W7o1%^Oh z$v_`xxt1Jf9r_InDQPzT7aRga5aYlB(DV0I6*m+KPcI-Y;6tEUzy}+7#x+D}M0-A@p-M9c_;Hi(hA#S6Ban)C zI*Rs;wa*1QrOuE%y{-v?ikxvQjfvO^aVbA8Urz4W38whCI0Mf0JXfv?XJQbh(crmc zAq(3l#{=m^5Y*`)_w~JLKo>lttezx-G@msyDolcvYqW~o2rI|se0jZ0j`KMyQ*A&_ z9P9CpA1N?;FiHl^WA_~uLoU%De(5}TO4eofV|;wwBpqlnLkSh7naB<8b%8^Iw7lLSV{2z$-#5$HxI!D$NT zsAeWzzR+C0W}GEEGpq^)PEfehmyYZGQ1)lbitbdudCKE!us2NcclfKSgViJq>A{YXGo2HB(-L`FTT zKPzjuXzoE*sDFmJr<3M1Fj*%gtV+;h3kQi=1NGfql6BSRRlf0Dx z99r-aDMA3gwV-{f#Zw)9$!C7v=Aa5?{o*VFK`jkGr)r+#CoIlklH$!z5t9<=w57)t9h*=H z31%~#hzvUXv49Z^^T#YVag&!;(^Oi*00}%toH`Fgu#1#=VIU4fm;gbLIuIyicsMx; z4nWd}n&gY!eMD7OW}E%DAOak2_7xMCA<;MGn#f zN$Lz#RsoH!h&6x+g>-d3p?y>UW-#UhJBTmd>NJ^*N%Yp~Cb#6wX8}Q_A*z8ygDG1v z70D z=WRkfy(P^reA`Ea%1(|67pTb<%D_{V?vom416 zuCR%^`0L^qR&`01=NCWTRih-*r<2@^dOg>Zxmh?D3uE^FX_`!=&B(!qt$p3C~U)D;xdi}(zB<`gsImM`NvGA_rCGudHcvi_r=o~a@c2r`El%H)P> zsQ?-Vm|l@M5LRd*=9pG|Tdwb-)}2-q$B%eDxRUGGV}?{M;IUrP)NwGW(Th6G2<@Gp zE?0j`@@npq7$UdsJ(fiNyYKpssM|5u-uS!(zv%{^7&q^F&=7YYF%v#>N1~)C0^)wm zP9=enzuf1Ne3me-wiIYhLahlF*dMJ$zuJf6_^~1HkwfgV<;)PQUGyvJphmi88LCJf z;RQxMM6@GZZWtsf3kfFhVWI>~LRl&AMpzR~z(ZGJDWwgpCCS}X#~zCxn~K7Z9G=&2 zIZ2gs<-Y$XxQfN^zU`-w&xO;>S3dnpTn!oR!Dbd+?0c0ld|DK1#ZBQfFg5Yu)>8@q zX|5^~2V#vYO;pmBJg#R;tOuu{7srBM6_`cZ-4h`5v*80R@hGQz+@J?DDcwnJzL^C(V8IF`M` zDF{hwkfCI2j3(c6Mb|J}WFVP!*dZv%4nkR9;YNfrw(mF#8f3SfEoL{YUjzv9xj?f; z$zt~TLtD>qz9QCUiShze@YPuufW$F~rza5>ne`Vo_w1cTr?7CFM+7#xbI6{9IuuOZ z&07IRn%ER#joY`Kf&})I-xwtctyh6u22p5ru^j?|f*qlAAS1aLOfF}UKQ>jDG?21D zj*Cd-4Ya9_HzUNVo7O=}fHXdUZ{K+aw*hh>H*~9|XaqsHZ3n;gdBe5vj`c{hrIv>v zr9u?JVy8m=1sxZuo^JA=7 zWNjDkE?9cK?K_!+0}-~&##07W_G_6<>#pMs33B2p&=_@Gm5jPxZIhU2fDFA#pnAo9cUoM+0jNPRfKv4B)c(3_>nSgZ zB~?V37=v#U7L|}bCc{&f9L((MNm@g*6q<`0yWXW|Y(ZTNwV6{R8zrqQ&rJh+lO<1N ztH~dwndiIZqH;xfy;Y_e*Z<&JVE@PO?#1?+)r(sx2Lscxan6rR>2j@HqpT>`%D4c0 z@;xy8WYKO@I6|veUEeEI8EW_9RpiCgYMgT(y6cU!PiOb$DW3O6Suw$qOZkxO^Y!Az ztUrF_1hy+z@~As=rh26TsH0e#ElR3=Kf;$TaJt!DKFZ$kH7fzx^7n$ss&jb`Ooxgl znCke)moHR8T%hKdWDjW)E?bkN@kpS zLuTA!ybjPMYzTb5pH)>Kt>Y|mkE0o0Ij*W(H~hYz1|m{cX+rDX&;B~_cis2JR;+k? zH(&oWV0RzhjO{l(`?-M<_ROISG{)mN2dP6@GUr9w41}kk@=g}`WMoDY*~;*PCafMl z=!$T6OkOtAKJxj=AhzbbUyPs|zJRW!A?GZ_jJUD(9lo2jT)E_fQM5Sm_qt6tf_SF! zrfO4y485jTpY*Y4@`bHqkV*=p>;(ZhayOH3>0KadrM3l6-3E`4ToVeJxNN5tYf(d976p!x2DEh!3 z>e@v!C@||q)X+wn!%(LL{O4S(Vbm0=jxc4UZ|zTw#ZDkFak^(3TDQnR*>o=3Y=Shi%OOdy{fiy|rs!pF4 zgGxSJH$feK9&MpK-yn29-CLY*+2=>zxaOt7=}_N>7c3zvW8EsHL2=nyEuJOfJ<5YK z-?|&>xpGc_Gd8a$Jx-w0q?-8T$C$=DN`djYQK>H_Zw|`qk)oV~eBj9fbC4@~-$a(I zts%MGh$uPiOU?@7iBq2flV5&+;F}@FunQ=qOhY?sOoHoFv!(`-{afx=I$o{d%j-?~+&))TW;QFpty?W+o z`HM)Bqe@*^yhzuxX z#`wa-*~xSGS}R}v>^-oVi8D89@ioQ3`iRlsG>L!E3wyRG!)wzz++?2Hv;iwm^^x<1 z*FBMcrx=39L?IZM3CPxMSSL$E=g1cHV%(UbMUf~-vqBUMl-O?F!4o6C1`7tJZYh0h z0;yB1Vu?Ma41<<&BgQtQf`)C~0UOTY%cANab?`1Vn1PR2GdzSuw*I+Eete-gw{<%f z)T0T2Z^Bw~Q+zuW63$M{o;|~qEGBRY!sr6kumu}8Y=jW{6BJ0q!`BM7ZlfjA%kH44 zi>?aJ*d3a@u!KOPkPMQEmZw0eAefY)c)~k|!w$J{;H(W|b+J+ln}dg#c`BjB6_@LM zTNy_Ba|JTgLHO2sh*)eJ)=gvZ z0QO7Gx)I}C+_{tXXj&18KV;8gTxl#n=Zbtu!nuSWK4K!D()0L7wZ+a|vxK8FJto#c zpuoUX3v~pD1`x*TgFiVtoMi9uF z1u%$JnosB#6;UDK&H+>_V4D(PgssQ=agZi0NWnV`Z)U5uiBEz`3AQH!bL$MFG?`Jd z9}UAPn8W(P1&s&72jv;ATBi(g{O}Gxp4a1kJjHsoO@8jV8F% zHK&^;Vh?vGJ5m>8sV#aK!R`C`EcynC8v1t0HE5oXRzs!c(A>0~z;%mF5>h3nOh8u# zpb}*+wnm?$5`C?5>~W@`rVO|mcFxUw<+zHF+EGx!Ei|5N58zhGC0@c~d(?e8=yfW{ zT8_y;4DY1)JgZV6z*|@PKx+BAhlz%5m+F}wn7R zce}+-t`}acUdfg0cnew-haR87cKx%JCHJX)sK4xYK922qDZx(Oo+vJ$m171;&N`+W z7Fwul1opH);Ulm^nCFY`!a?!b_l=zy*OcoO;&$vm4%B5UFKrSe$i=&IoJ@od?Y&e< zmNzS3`RrE$_?7>A}poaGFSN1{yruX*s1{ zddpjgaP{!P!uW`eS)nTI9grkERO-9(#DKU{9ocLrm5p9EX*(d8m00Yoj}&`_nDCTO zLil8QdJ-?O@&gD8xNrg&e7?fH0mEL3UV)Ls;SW0&67V0>f0A$EDPX^dbe z1){}32O|zp9fEQkJiU)Ke2c*z){GphLTe=awfM?wzh!lBY?<~)J6q4jiAuOb?SV{xb!iGL1hbc)C zG2EAuGN}CuCYYyQ2D>?iWnqKemuxywNNl7)GI+`rfIBSe2YO;XV71RZ@j4CZfE$Brp8d#zYk)^0g8YcjCY1Amx)Y!SI z<3pWdzwO&np!+CMrMe&@_Bf;Ffr8l`l_XU(CUQk`wrQ2^16t!ltk`A0Y3rP&D0-_} zLT>>CO0&h(kSSt7#lu+&K%>7wT2u+g(3;pGf`y{+s^S5yFpSjOI-(8M(M8u;n+~Z{ zgtmGzcRdZM5GB6?F_v#?f-*4!9XuZ$HI)m^1rIEEU>pxjeg8Xgj^_v}d!59jfsz-LSB!cRs+^hSqsPcBXd?pgeUZfY9X z*n0Ym@W|8Pychwv-P7IRylunXIqo+lhT{_boXc&(qUSM)@$m)>jlB%d%3*S|MskZn=!NM47kg0*inNY-nBkKVnSR1eDY3y*_ox+yZkvXb+xk9 z3~A{~3rJ$j+}#cLBFsBA!ig+tjsBqw$q7TNTlzp{DT$?Cp-7TsWLxh4Z23n`|Rwe6ES0g}k z*=4IzpJyKDj}R>FI*qGrcYdl|Aub>^OckQ60bMzM>t06fkr|grlEHv{;4Qz5?TcUa z>f?+77pT+}8OUuXq9m!;+E`#`%czu`tsaaVL0~IQDPri#af#HFUPUee z;pmy8m9^)V`a`rO#lRYjY!rl4=;7E8U#i5*ru`gmM9t~!6( z`D(hd8PZN)LiyB+|KOOMo;>_G;zY%o%lU+O$)ya%aalJJGcYm996FrjL4V*NGitB8 z0;xTd^`7D>dZKvrVEDEmo}M8Sn=4i$TS|sP2568Jws8@oa$L=ft5adi96DUd_(~?8 zsrj8#6l@SDLG~FN7C`9a+JRI-d{5QpVJo$!0wwi`K4T}6lgOX%gdh+x z!H(|ayuk-&8LCrfAi2*>JBO2kY{+B{487j=UC@m>`<6vzL}A_3#y)~2SqI7kkMXz9 zD_2iJz3P3`=>^Iy9zD!(!v}27S;!( zR%zaF13qh_S!1*LbAv9?l*<5`{@fd}KoHhS+oNBdiBzzNJ%JX+DzR#z>fEsOu$ti{ z;<1Ybt7dOk9@ZUQvZyi?;uqPg~4AO(O)Z9H&+FMTrR5qa4`YaZRoE$^3b2pMwK|*l+E7@x`e_2(Y zsbSQNJ!5xWr(pi~(c!eU1DOBFkcbJMsB?OI)`c{;-kMe6SwnKuhT`~PQ>3tE31Vh9 z5vOk6!^GOC$lvX>2Xu5aI0E2`%Tq#3!M>n_Fdm1qDorkc%iP8$8W2z*V>ILI9da;!iPbf~IDUcxS1xB_ z*VfM*#MZCnthz<1UZeN|Jo6~<9F@?4WyZ&-@}k>=5HI% ztz5MX?CY=QHeW@qD>Kg7b9Xt0_*+w+An#If*DXTP z58dDpj(5$tXMD-`zdLcf|M!0Y_5Ay)hP>qaelO94if%R$4XndQZ-*H$IzvX;b$f&( zrOl$6Dl|tenCOXGM^^4=9+$xb{LQ*j;9;LCNh6GnD9OmpRtXW=1>D$zc_}#M=M>0r zr{*P$%sxqWiLr0GRACkjW^Wfenj7>u)1|pZ@CV<=i^bK~UWV=dhaYdD5NIUjBN0_K z#3SMpfATpX{?m`Xu8JPNMH?!|(j1JcYaQm!93R6g(T0eN9j(hwZLZkG>rxq;Fv{nK zC^nIw{|X%C5>1Znu6<%i1YMkplwi&yOn_H6C#D#m;*G&XZ)zHk`%HtQFhBGwdq_bH z$^{qiARsxZQ$4hla)XeOV^5TkILXb)FsTo=p23@|`c(h}fuLA_R^bh(MJNP5M}Q-R zS3tl31pYLYu*M(l)^cmm3hl6lQfQIQ;1*5n_(Gsz6<-kLA~L+ThaVyQMK5+OUe^*Q znV|$GKp@;CVa6sq0V~B?xM#iv(ye?Q6)_hO!Ynj6DWO&_B9xMqjAwT0EDMy92JT0I zRImLqpdxeWEnX;47^g`i2#~vDDR7%S#T|`doQl5W4#Q4jYA^s5c~m6g2OL9h7WEVg z?PZ9wa@t{|K}=a3G!&C_Yg0ud+Nc9K*#S~fW%+eMfYB66qd_NAh@@2bg7QLf7tlu@ z!s0L+(1D6Ojsk{&@=89LEudp=Xj7YXickWeO+hyBf!F^flAfeSnWGIw6BG+i9m&T8 zLIEY9g2N8ei=oZv7J^+UkyMdd+US1CA`=~e{~!{bL`H7y0SR1eviGAEN~W}?Q2-|Y z1X;FVG{H40`k4lD%Q`z^0M!dq>c?((XQkhcYE1+86lh?53$J zDchkdB_P#u47I65ZHa0gmE6?4KB7pw9*jeI^PY?-e1YuC!UH%j;r#I7zx(Gei{5;h zbYco?WW4t$Ux?mJ>U~L_RErn?%Acrzx&Xw}YTU=3*V_@^*hj+jNLNx2g}>?pK#6YD zMm&2^WX2l}$Ux2NNJLGxixE=0qaMXXpSN?TwQ|`>B=fyFDnofHg7kYV*)wR2%_T`W zGNW6l;@QV{q{)Ht7EQiO4$M834jJAzq+1qJ#3x?X;qn%4{Q6I%iqLwe2+i(WLrWPj zg0TZZ?AW{9>YTa7e4=eh_`t~kvvN^oz3hGob4{Wu^8A!0Y=9?kXT)3XV+Nedjko@= zD&1Nlr9SSb_s|G|xX{~~llswKWX_WF^OV21>MXgbsc+OBYLwNn@A7L-?zvQ^Ddf1U z4&$69w{*oSfW6J|;k7kFK-y5ebUC^5lbD`^GXWiAZHisZ%(#qoKsC7)k285@-0Ug; zNGq+{OkKjCwT~S|^i8YV$KjB0$Ak1+cg%?+oYF&AH628&4epA<^IaedsG)w2B9h_7 z5`E9qxkSX~jw-b>!)Q<`<+W2SUdG^Kt)yX`IbIJ+9?!DjmM-J_@TD!1a!dqEWxT~A zr6kC&kq)*Tl5watUuHZNS1?=lWCJFldH<2%h+y1MC(i!G#|uf-&v_qg4naX?8%e%y{$w zlbeu;$DmM13W*)&ez@Dn$M=-k6_9Hu31-FTT(|Q?$oP&`Ckp2Dfj-Pu?%_IJ=1LMs zM<;u|M-K7qs!TKnPXK%LAj3sht>H(XKxNf%5_u(xM%ae15MG?>ii%PfwTnSPQWy!) zqlcB=XbWN#2SCwN+#}G7LTW2RHVqFDDV9cJBsr*;qN4cc&*SGktbxVv=c4PJCM3t6 zMmW8QoUvd~h@@x{xtGK)en z!CFoP6n$mYI?zJLNsVHysycmu;Pi&Y_MJH9B_3mh_l(7ZZw-U%x@#vi;1WVX`qFFB zTaWBH#8<`UyrFgcO00_5gJM~rVUY=u0ANnl{CrLoTyV4J}%$ZTvwZklp4 zsjS~Ws5uEiNZ6$K%q^_5WVWcy4Nw7@Y)X~}qUJ=+A!VKRQPx3am`Zp#8q{t@L{Qhi z+|3`ql?O*qtpu?)N{neOxtx+S965UOL*C=TnQ@lTNt1aZ>0%CA8$1z&N}`FCN=hAo zPM~9&WSO03-f%1^Z7@LgFfV#=7F*o_wVg57#fX7&X_5_2BFpn1TlLN#IM{#@<+s|| z3TzeV47lbha${x2S#mQo&hWNFvDKCZ;FITp`T-d=>uxw6GjSi0YS)1g+1Tq&B8Sdt zA}rCPT`mUo0X7Uk)r534Z@P_%51a3PBetiW;H7uP3N8S5NtR=brb~IAXPPv>se1V; zrp`6{dRj})nchbFyQ_xqOJ}?rBxdJd?!>m3Sd^}XXzjb_2(~Zyl|Lj(^G_KD-Gj4M6QXf^4`4_) z-Mkice`VENAAHXbq2jNv8iMVT6}W#2H?Oxo^A(yZX?@Jx=26zUQ29YWu(zL=0$m7I#DrcjwYF{U#yHQPVK zH#K>W!X@>=AA&-Z#84gW0GPU<2YRtEpk6WsK=jNN7Qb~HKf#M*Qu_a}CkwV%b$%G_; zfq1_+{PYQQ5@Bk}AtOmKX+VuYs@$7IK)CGTP?5;JBa;f-6_93Jf`kf*B8;k3!VZXt z5*Zs2U_xypKPDP%mg57K05K_=N~!F(zn+U0#50M{a1I&k=u%LhsbE#og^LOU0VP2V zpmbJ{*J`P{DvPKJg#(*Jqavdumd=&wYIy_OG0&ruO21_!gQ`*`g1n~Q4`S=UB^j>7 zX0VP;|6yyG`-Zvze?Wl090fczCpSfY!MG`15kZ08y9iACCOuKfS&6QzLOT-5xT3{`99?r(Ngd`7XnWaHYmI!N+3)~vA@jS?27UlQz8-)d6~+5R+Q7#E7G^fxb>6|34b~pG=N$=f%hP`})oYc+wfVl^ zGAcbdOia^nOD^RPAzm%c1kROPyyTnU$z#XO@i)3n?S&*ke7tG;8x!x?m42~okRK{FRGIKnx zC?{y16L(nt$%$RRd?~+SH@Kwv^Hoo~8qZJv`ng>hy^x8bDE|CizYXlNo7vs+td=nd zfwLS#a!Z%-_mUo7H5^(XZp@+tA6h{(GE?f3A}a0&s_E=i3s*T8TaXpd%<;;~aTS~z zquK^ykk)%B5w=`08wDboO4=b^!c5(2*wW=Ift@+VAIS!nT==q)xge7d@^#(rAs*ND z5FZtTEQH~T-XmNXjweor08l|FKw_Au)j#*}&I1k&5MC5(Z&;1!0zM4^mr@s5v_Y&0 z__GNAO<<)qdmEW|o7VA*oI8=`Gl7q&;`5{a=z)ZR*K<&j3g~=PpYrrzt+^bOG8bAP z6i@3+S~Q5JI#o>++z=9whNVcH=enE|sYw{l*d>!LQ?LR^IZ;Zmi$4CNcKV=imq$i|n_3yfiYhnNbdDO09 z5;ei>L9zxf!e7UwHuvv27zwg{uULEi6+zIs;t|=IttH1kbJ%GiCIg1jO-h$u&4}13 zhpN1up!AEucG7r`Bc!2FiX>;ISTd*qixOjv(sUeZGbTHeR$8`opchL0FL6%^-dXbUIF>D*}_1f;a zr)9;MTzDp+xMuAdH1|DRJ336>yXHE4WJzNc)|CUiM=j_Md>Ms$0mRg#{HBk|S}yUH z+rWB21&P{4>2=c1whXIdN6)CLa}I5X&+N9?ndQ^<*IhTl9m`N%B51BLm-r&8#Td|B zKqn*%#;J7KV|Xs9m9j~ev*h(W8?Kovms2j(zdSs^^(@CI;XD;0DdX{$C%`cjo-fjo zdRZmfqRhBOyZ9wj1Sxwro-*E7#i{Aac`AKq6~tYcab}+uV@~frUaE)clPCGGZ53Dl zyK7Ou?b*NZXRrHSR5m?}*PfHd(;I5IwDT9VUcsd6P(l}Y)&JOQUxw|iUv~|*e&0=Z zfDlgcfBB~G!}kCB>33tB$9Jq+z)?3rXEb{VTN`!1nEjUzymJ8K=RUU+SSO%)VK{Hi za^x{4TcI?8U8}{J-rHR}YnSsJd7kSyfb9RK+;Zi(Caw-icXgvY2$#h0J#SCq7<(wt zdgagD2@SvgOW%R5v*eU9SA4^>p9=^R;qnUuhtkZ9Gdyi! z(Bj#zMDuVS?nvmCicUD0F5XCUIf%s13zK0*{I<9lO@I*FJgs4+b@xFJy4g$aR zj;~2#|KdZRNBu`${r33OlQ47gPs!b0yP%VJya9!mx=KXB;UGZ>sf*C?NIr-v(d0%Z z;2_QpT+W-z>>w8ybYvsBS#W4u4inkXO$Ou$!DJu`HOEyP0^#JF#e1%Z<1suVDYz>j zBYqRpSKSFz;d*hP!y;|W&YNZKl~iJ{Y_C3ER;4+350c4al!gtY5=wb2)E~_8jvT^> z%x~33QZ39@KG*|H8~H^BiINJ+4FYHejZ)}>M;0(Zsn;Y?1Oq@s{CwwQEF*&KGi73n zI24)mM~v%4Lc2m4A}298DWz+e^+-L67LDR4*B3b3rNfN%(npgXKn z!^$qxECz*HQ$unhy&ElCPK+Qk372o_9105(6pNGZAL57S%4nX@3r7Jl^rB=U~qN3M}Qowe_}Tdcf;*8{9VePZF%WOZ1!> zUu`KN@CMI3a5tmCE0&d+QxDwDT)A6r`-z&82kv2}TmE4Gz`car@|8c@VpJ70t6#;Z zuw+fljI;1%`aaBwCm3N*xpEkt=}VbWHMsCGjo(o!EjNA4i7UDNX4Z0lC`RC8Gk=5q z9J1uPa^gy5F>j7pa-L^ZSLBqTj-jAqSekiohNo?sy33ZW`uh+5F5v0ArHN*g%40L> zSB+xT(#kI@W_M;>d?cxgM8eRilD&#+w9tJfp2q>z^EakZhzB&tOF)O;D6b@{)G#B; zr^E_ou8mCD$!t})rOO-Z$BA<0SbgQVu@ui7W9nS}W2{j`{!!O1nn+vUBkL+Za&vTt zn{$$S-7FpjY{!z|%(x~?6H?L2#5eqLOG=Hjmp8g<4U^hbCXm6DPXIp5gBs7%I9XUh zzrSzSVa$?ElPmBRscpyS8n*5{z^T*c4}Pg2I;Mmj0>IAnAq!!$kLJJhQnF7*5lecV zU$Oogr0O4W_6D&Zrm5xADOmAwTsK5DVwhONtBnwN6O& zSX{Xp5k0~HVP2RcgYZR6LyLPd&>j``g8ieTqO;g-#$5zK;+PHR7I41KiDlj5c>oYf zFo{Ld02lTTTKmP_Uw8y0H%?zhhskNkDOWr&l7@XLX!~ydSh!(ItC7^GiemdN3>+es zS171N^j&v9LX*!iu?|htX+Jk0MDPx$BB(Tgc>L{WdJ&R|)}X~U!*}eORw0sTWs!}tO~eZv3C!+`?uY8HNs5?osf7r zJ{(NxG)f=0MGLIXF5w4fQS>c(->q`a+fa0ynjN3HTxE_gME0>TJ z!qn;Pn3%x@;3&L_1#8CL^#-&S?OulMH{bqzWB%%6ce(;$)3?s<+vitQg6P$&nMUVE zeoD{lmrV0U^U$GV*e+YakD_|zxZFHv$sIq24~K{Hh0nbH`ft4fjr%^b726m7>iZ(5 z*mm!mQ{9!`G{t`OHUAOYr#*Kaw!RekX~f2Od&{$Ua{t)RybRmhf9XBg#$V!4;cwI? z6MVdlosjcDlz}yw|MI~>IdMDoGwaQ{Z+T{1E_rBu=MLV^u3KMu(nwsu=9lUOzo;se zyt!6CR?O9tPz9122^DSveO-je{HE}vUiWimoH;{6Tom(NFZ-QXjr;15|Mi{WNQvmM z&-3OOpXe1{CoU(u{`y-}Gu1!&p<<~x2Sq1r1jgLm+)Q#bX!owWfSmA=|_iD>~f z#CHQm<*uKeyCnvr^kCCQ<<;ff;d~~v(T)#G2mko27m9-}#$WAhRB9VI1Y&ICPLG16 zAlKT6>onuE2beeJq!>YKoAG$A-`qDfVv$FM~tF2ut@S4 z`q5X00xwvUoWcy6^uy`Mm9duUhc#D}CK*YsJ*=Oh}gCkg}O{>)Dft^?=SG9BD3iUCFIjb_J~w8VI3bPzH1 zD~46rSu{J+N;0wz@RoG>Id zu}?&n&aFlSG(=TM(K1yjm;y;h4|ymVpcki=YnYQ1sV9$%rA3*^+KA5gHkGFP2Y?*c zQjb0KsEMmi1z<@xln`|}Wyv&uOQnH-vt-InfobGbw6wX4Yx>IHQ4K*upyKa?VQ`(8gb6O|rUI#xC5 zU~e^IJQLa_4~BZ}l>ujoNB4i&5^%G6-AUqjOnCJxrTFs2o4SA6J$vTU82c)J~=~;4nB7 zbnMKrqYbJOuw==K+&Clfw%puO?z-qg$j;%8GS=Ij;bIKp(Mroh$aP zAqvU1R0KPLVvVHs00{t-5w4fpq+QIKqmh*I!x2!@hgvDit_Z$179cB5*3uZU1ZM<9 zFbTjEo(%R-kmH&<5Q5fhR~k@t1C38=2?`Lm001BWNkl8`r_z|#p8 zNwo-9X-X*!T{2jV|&V< z9CCA~=FL{Et-vu9S6w^?;{xe|2Npaq7Y}si$IV4p#xwAg)Oxndn4h}p)_a(VQ@fUQ zo72By4Rh#Fm_uAWTVAq=*>Ls)E-om}jAIQ?o=5puzGN96%g>(WnsIqC*CPBf93`M~ z^9wg6nunCZXR>F$lxqn+a^G%ZgFb%fQ*R;TvuM1X-M*Xe5n#m^Y_GeD?>=}5lv|(6 z7n48q%J0VZj$i*nY&(l3=jd>4$VapKc#soU>!17MdS+bnd#TNJ;;J&(N-M`14aYw-0%dAu~-~^vq()FoUczaYQXBs-H z`OuLBV_Y$;#`dD`c~^k=S9KZEe5TlN`zvdVw7FOO^_{;8xU=N^3ZFCJ@~^4-o2uVZ z{WhzcpZo~3L2vxdS7CeTz#|P6IiN9F8-Sd;S+CyNH}Rd20eXfwHxoJP7>|9wG{Cw{ z{l!$>`L`c|Ibl-vimq=pjAC-)jmLW!ko4|q>x-*;P^ujiVvNIi=iB*-kLSPQ$7?pc zSKm&x?LYGBx7DzCoWcWU9XMwDFFy1+$p4{Nz14itqA{g_e5f&_&dBjqM-CW2TJf1< zG};a-$3g1BtPbKaz^Mky83DdG1$*WR!Op`J(a#--Io?F@~b z>+jup$h5fDTyw)}(8q&_&)60U;N~+&fLOckiXel$!1Ea#fBvxnXYa^dy+lx>FbD=Q zx|E*kX##MRBIEdF&VI;469cpn$;(IzR#6tmw(B6AdCm2FGl2a3Cmd6^CJcE^5;>?=$m~bk}W=#SnP+UHh#9T==jCgzw)= zt8V+MtKd_-UzyC;tJyt%yh0`H2-umYb z@X3No0f*WUl8lv5NyV2IQrF^~Cb>Nq6z2w1WRKJc>hZoaUM9taxt12v8vZ2-p|)SI zlqM+XtUS57M8%rLnBQ-znnnEzL{A*&Bh`)iIdBVAl!|Yh;%|govR6lC96k!cmq}fc z$v!K`8sil;nxJmH9fOo1MJ^;hqS-y)JJ8lBMoobfNQe9)uB`2AzWQe=(<%w~v z-kjA3K#F~P`7W*BWA&S=Wbs?8{CdokyJlcx8$>r>ag7ijFR?zaK*4A)y=Gk<_(p1@ zBNf2icbAusq9|V?t`K!J2EU-%!E~{Jmv=rhUMvd$IdV_=!}az52VY}+ z_y8d{TyvTEpRP9_|N9%h7tL?~*+0OxSt(ey zHNgkCx)yq?H3u;A*w2*>Bpr;r|L)(swXwLHGvo4Q;2z!gr;t<2k^^M(7h^~oKrS7-^V;SzYVulIdNw3nsKg|+y3mdzO3ps<4SmIE#+lk zowyOc4Z3_8KaK6unk$D9SiY1r$7cQt+gg@f;GD-UWyu{n^f8M$bf{Rf`u4>gS#pMl zEIIsopkE8-pnu#HIXy{P4-cm~Xw+>opNi+mEtNAfM{P+{44=z0(I<{GZLlLt4%}sF ziYjq~YyER4rKOW<;8|yI?we&g{cQkcZam1k2WECL((by^on5FRE>u(wTJkZOubp@{ z)Z-x{SI8MtoQoPJdS}m`Lwsjq5)lSo4)_xS&aw)HF{*|*lOJlazS!AWkh1p@0=V<+ zkjLaKs@XGT!mk~Ra}T0illn!FjFc~S#2irZnss`3M*jpuNJJrK2Jw{Kf=MiZUbPJp z0AmOw6olv)mZAg$6#!%((bfhLrL(8`A=DHipfnZw)xH%DRR*v?$$JpK!x^ajJ|B&g z7CW#akR3|$;T%gwphQM-Lm&eutVpabXl%nv^d|W!6EQxL(j%nfm}p1sC>}n@5Eg*A zXHDS1MuZdw3QDh#Lxea8EeoxS2GWBZ->3|x+xkEd=}Kl=j@R2wQ2mm7!kd!Rg$w00NhoZo6fCRr0OoiTa>mI31J2Q-`7<&o_6`GJ5 z@E$2@1i;!Wu3?u#cZ{VBD)Gjiml;7IFf1go4wI-IHl9pqB#Eq}q1k65whT>j(R4j$ zvk*Z-5Im>1ENx{Yv_z@i=b~~(jVaZcfvO#B%p?x0=CVnf+OAOeKoPJZ&9aOzG3EAV z_)u-Sy-8DnB&#yHc0+}1v<8JG3zEg=&E$_JY#geZE}9Y9o2ZC+s`lY9d8*Ve=w0x@ zMeKpG!`|Z@;Jzgqt@r(6@iOL`ojlG}!=93oPGVze_jNejB#P56+W$!Y?iFFvTF~8E zOfz%*B;ZSzEymVz9)J7<>ZWmO8=5YsabsE(U--M%W4m}6f4is_i4^Cx&tM=`cT4!~ zl%dt7ik(mBiTAF**ae8!jQ=?=3!-_FT$1)gl>+>d`2YjN{ z<7`dn<(Dm~v(+ddB|iz)u%k7d4cAJ0_ym9Pz7VCB7I)Vd_t&)G% zqjb)?oU~KkaD=0B$W@&8!o6MqimP8H~(arNBo+%W-KKMA73&3 z_F_^0ezAUH1tVCoY~OJJUpT#X{T0Ook6^^$_9B4}59s>8Atg5z#rBfZbL-<&5fzL1SAr$cozc31G zKu;=02RVTF#|RYx`*t0~9tDtVZdgN17+~V}A;;=mesNvrb7p3d!x? zbrAZILI@H|N1_?)%$>Om+bz4X3T=-BfLWg$wofl5Y{J(Y=s?nMJ9`uXGPD?kjAs?2 zfVJhQShx&StK67GvOpghLLwVGPq8N76tdpva1(BrjQMV)2xKNk!>MggGbs<#Oon`ks+A*#o0zO|>8 zK+4@;*bhtinFtD%9916CmmegPim}K&MDlYGn3k)jIR8M#@Giro2k`NY$gXTS>kU>~ z$i4T31L3Q_nqQW%@!X@qo+;o9dF*p>;4!@6i!UThQ8yIhKib&HCDE#|*RHt%BSg9T zeSZzZLatfM&ugH-x%3k<5c#c)zSFz-^CqE%KWM<3+p2*Ysf!j0fI3}%Kmg6Fm9s`e zWw^PS&Xx*?lwTgujF%>%^yv?SCeT)=zv}x7SrruWHO2=v9m(-WnqPDE!p2{cLb zM;=1H8$O3p)oQqjMOj5hDb7B-?KWoZ3@+y-u`XA!R};yQwb|D*3`y9Vr&lMghxW9; zMzi+1s}fCQFDaW?(Clr9YLb~Ihc_Wf)KtOu=Z@*=(l$83ZLIG$oIJ(#XGYA7`@pCE z$%+=X7p(`Tj@)}Y5DW%%8=fS5`|HZAmHmvc&aB&;`6j;YQI$x+qQ4X(Wo=iSYzqk&OA>PgR zF$@~gtOVI2hRlij zXZM7%JT9H4)D_F|OG7VZ$w939o9EDh?1?k%(dko+bi0(fa{az@-O$&%r|<>m9Q4-gWD~CzoEXA7`jvu+J%Cedw&1Uy58* z)4kVYQ*8>vC_G7Vb6!eKQh45)ljxeLImu{edc#k=f=>fkr%$BsuD1EX*>L$Pas#sD z^3=H`41LMfsa53b$}MgzV`rN2whY%amSY=Fgs9W=Z3pj(<6L8I$;d0;!P!$&h;VT! zH)MwSr;gwpOcAUoH+zoX@5PxDr(LWghMiqjGeE#5CO{H`Um4(x<|C;uQIjx%i{>Nt zrl)rv%h3Q*;m=nhomgdl55*MTk9dU=E zg*+00>S2`+ym?3Qb~%M}wL8e5M!1E6Mad-uYU#uf_~A}@a|}nCjI!82@iU{4yo!{F zr;iju`rn3TTSLG%n|{<(Cv#GTR7B_vl*IEp7$wZxOm1>=2@BmZi>!t1nVx{B;Zba0 z4$|o?L$tGZNFB)XospCiER;}EhWifoQvakjY~Vo;H$^4+s9Qx48j!jN0>T1KA&I$C z(yBLf8m1FNVGdy>@u)~GFw|*NP*YvQOd&j2oLi|$sczYcW&bG>$^hn^$qO-(7dwcC zuWA_;jHgzbL3$MKgPRPHlq6f7=SJkR7%iv}7fdHF^=fZBO&U;9Xxft%9Q0L!MPmYh z-UU|LNK5J3B?eTaP{%?kC&!zK5aa0<9W4z>=3<{@xh0pPs6Lob0)x;DP^;QiZKg$6 zW(@LY)*e!AliJSGO4$k&KaBP`wo7Y)cFU>~SLxicw@ue{aFxHcRTbJwvH)E0z=8+P zrw77=6C!aVOO3Y@BQw+q=X9VuZ_YV%b%E!p4ZAiz{bwL-%iX^?H<8oXnsG}mW%x3j zfU_>oXi4>@db#Y3A_&fs^Hsy!rCx&FT=B%ZNP&h~tOMLuF1?B&|9){8Tim5%yXU|Y z*e<=4VR&B*H~-ZR)L#0oI|)$v;45B&{dc|n{h@t+cd^&+e$7uO!TwTeYR;iDG&8PA z;C0`+GUMR$+AYh9Rm))5Wh*X?z7J+LCC|bBoTX*uxW$){0ItI$NA}}M&gFXaZWB|5 zj6f%C6|PTx_S0y;{J(yv0&R-Q93*6Zawu;Jd*_&s5xy~Bk(f1bs6d*eY`p!a(ESJR zeW%f%?D$}7#$2z~#}v1gjZv=ibhVqk?xGw8&WFjyo%|?_7l205$Rrp248!RxxrCT^ z1+!v~UCz_uvbi>Ii!jj|^I_}W;p_2N6_+0CT1C$EWtLp8_>ot=ttteqQceRk1aN-m z<^W}Hc=;;=R*q}2xCJyo-Vl`gl}3D!>>BA1!Gq9F>zdoTazFcnKafPf=_h{@^`Cz0 zTN9*KdEF2FU=8B)UI3X$C?< z>0h~eN?$k)fjOR0GNi_YWZTdg(*t~7O{fNExR}n>@LNVJD%oQ!RmH2 z0BL0`#BvubAwy>o?Mbevz`lxgm zG7%65hhMU^{0V3OZY;mmqgSB@GLUdrU9|vHEiUM2E$pV81gHALZh7h4ay_z81Ml#l80+K}JgDyt}`!FG&X$<>|Lw1;x%e zviE2Q3w!B;oFIBuF1m7!dPE;G(oa%Yge|Jt2Oc@i%j79Vi~U8}l4q-l^s1Sq;5}ZP zfhZhZ%a+rv;+o6Uuj|i0^#5d<_iXkZkmR}E5$;T4F_Lw{%_)W>B95U2sS?Wi{p036dGxSMbFvn6~fCY-P z4#jj4m*vFe+(YU$>o%WpTHhe9lgH}0EQ|4jaWvzJD)!RlG!?*z$LmlsUK*SkcheLn zZNbNs;--T2&067(ZQf~LnS>jHZODL=2M!#fJT71?3uK%X{PBDFWqgdfd7AUE zS(hvcmf{7%jIErQ&5%MaDyWitjfc$D+6 zQRKduG1tIm{dw?Kx}_~ zA2Q~qVawx3nBa{vq08H%OL(X5E%P;+r8luz-%drA3c36=(j?P7Nryl2%Ke+smsqE! zdGq0$aBTSle}|lzMs{0MRsLnwa|-Amsm9g7;;*%u*G~a{BEVBUe*5oDf6Mfk@v)hs zyy>hR3x^JV%qkA?UY%u;R>yPQTMQp6$ByFxzF$v>%jsN~cbec)AmgUUjUqFr!Gl$J z49lUYXLC5mw1ahwoS3Qn`sFDB@3ylfp+nG#Zb-$e(V3`YO}dJNG7^`-{r;Q&;615T zRyr)q6W>bW5o)=-yq>c7y8kytHv0eUTLl{VsbvQxlB+0j5O`mU5cOZm?F^_7YMxAM)lqF!x zS|kTVS#mgkfJjD0B1^5Tc*h=ay*@G|vi9fe(6VmHxt(Xc&PlC3DXb=+JE@ryJr5sFKr!kVXQH2~DC1 z5Q%oEM(GAh4xy^p0AbXZpf->OIJ6{!=7co~;0AyWSt4AnGD1iS#t z6hgqO*@+6%<|tc}H1#O-43ksykiDlx8U--0Bn#a%M?yiH92o@}LDk}vgs{o%5+tWE zJ0wAzn5i7*=KQr*iKGX<^CK{jW+=e3%AfwRrz1aepiNFz6bD$=(0ros#9;VGp8R-@=)nt`+R_`q1hg1T9vBWYq?df*Scdi20!Lqa$OL{?<1f$G0kZN z@ksz}OpO*s%%m!`)~q5GB;XS$sPJD7paeEIPA|`hWw3rUAQ6K=vR_y2lZ=U@9ilsl z3xY0LiXo#3;6QR5YHN{U61A1fGXRzu#L zp+eO+{r(26p%&pJg`JQNVIBb!Y)_vS#g7$?PKLBHc{p(MyQM|3eeYpN;5SCOSYH2X ze7*D>^0p3wOC1T;jihX-|AMw}cq|a(DT<>biOi+ccq{9{ zCCiH9x>Gze@3~}9(tR^;4lK2Fxunjk#pStj35AL?*9^&XtuuoYfJ+rih)zY=6 zZeHR7BGua@)EO7r=gR~6wbU{NX@W;rxcE{&HZv-S$BYM=B)gp1WEfXS?VJmww$@0p z?ZGmuZsS+{XA-Dvd+^<{I&9y}ZWzXq@Q?2MFzQNeD0)hHbC%qqOK=}v9My{e&XOY; zLr}qPFC^#nof|8 zW_e=fxPg~0S=Ph?l5;KYplM|Uu<2yy;w@du>sl=@FF}?F+bZ+5zwsMgA-R*z^3$SP zOO}+^&66jN;!tdrc3yy;?mjQlB?N9vqmZ(1<`kGae>Npa@xdF9<9zz#Un~GA57q|| zrb7gfAOcx8Pns=YV%VmSuePF+N(j*e4KeOPuFOFY8(3f%PBDyi@w1*N2%YKk1rDGk zv7Hr&g26OIBr=Zx@+02okP2ce|37&p9*a%`pZEc<&q=vzY+_g7d~;gp8j#ex9+7jR)}9U`yE8VmrlRb6XW*Zc0haU*VQ`RD&vRd1@4Iy2(l?=EpOGXKn|n-MTXTdIef zF5@Q&i@+QT&?!WmFvUX|u@b9P!px1Oov^S+8_`7aLHrRf$)FDdRb(UY%Nwj0@5f#Z zi>Z6wF&;W2mKsw87GNTQ001BWNkl zfvaFycfF(q10f^25+Bc!)4_fQH7NPhgfeY>Cb+=6*j}PjVep)!od%-1jj1V_>iDAv z4TECi6AyXnT2x~ZBkqcPNHu8;4Mri9pX!GAd<#vyBo5S8l4XWNYlu~m(+$TM8d_-p zMlr!zxs#)AEhGXZK*iulAio*aM04R)kmE*HylAfigdH+6S86YViy2A8UG{W%;eK4KxeJ zFa648*w1`Bq`CE@iE`!kPr7eT!^3?q2L|WUTT|=7g?26R5AcI~l}N(LKC*ZawnOuW z=tXTsw*I#5cQ@Ni##$L3T2x4%z+viilhyeZ(LtHksV z_p0WB(w7Y&aOf?PMk!=75G5ICrD%jIh#usEf~&54%ey}Q`}7x@{D%M&n6B`U9Q<^}>W!EJyF9 z_}^&}5>;Y{F^X~DJnqch#dXBQDvg9>Arc3JzedGEt{|Uw#!0N3F9X%AbEczGj1AlKhZ|FBTSFyxQmOE`@+}%@M_~G_oPbx5?Qk6zcBQFKaV^Y3{NKTw8cSm?4*+7_Ji^q4F z&Nj%X=ygFS#cIg3fKRj1MJ+inJvrxzm`lz%zSs#lP3i(Xo;g5&l#(yRXSwW{+?G+y zF2`pBR;Brpq7~dxv_IZYNouIk>{sYN2$jSIvjlSgAs+wh78aIOEwIUA)Q&t)@IFo* z`r$+5*;BFhYp44oP9-~ShH^`3O=P};q^s=O9eq6z4V`t}LcP*7F^=Rl6gXCLp5=@R zllBvP^(lyE%UT<{1$fl3@+N0Q)&+JUAW|eC6@TtRHXJcPrl^p1MWBJ!bC6}~F@|+{ z1y#lpNM%S~w-QZx`7uIszlwWQ#CM%8*WxH>k>W9%VbYy6k(01CS59PQ_CtuP0;jTY zC?P0YS)(Qs#(BX!KhAn$%PfL?QhKhoo6TIabYH%wl%xi(Ca-y5ly(=WS?QT(Ra0U9 zfb$|BdzfmHD~H8r5s5Qq=udYK>1=nWVX8Zx+mUdU&E~-gL@2n!R3vb9&@6JY$y{<; z>wWa;Y`vkSdF6Ua$z*e~zN!W1i={TtC!$kXVo^40P&5rOh}+-2|mLwNs>?|Y-P z;WbzPS+OxPI#y&I9-?(19i+q4){)*0&Myq(iwkW06E`zMkC^;5N#_9HO4joTh5Y^< zkhf5|NAn$AZsY6BVucM2T3F!Ud;akkg*>ftgM<%|d!3?}dV$NcYJ=!1>##?l^qa2d zD|6<4&Ueem9iL`}6D{+{3C5ItuOQA@=l-W$iKj>g+&F#n(w&$HKaE1?H!P2>7UUrf ztvlyjnx*c(d;Z8nyYV73m^c)K@o}08SI*}I-==()9O2__Y{SM5y?1ox zdG_Iv@P$W=H8ICL`Nm1#g5h9+1Kt zWEd)6t^O&0eEOe%>-PXpHg=?}C3@^vNy&F>$Zqrc1?l7O=~Ae1-+#rG0BCH=j**5# zohjtRVa^23k{esU>7D=SKfddlkFDsC9Lz}=q*2pT^sVvOdU_LH@vSs4_h0_#Q!`Ts zKJ?bN>dEPR=xuKm-`@Vwk7X`-RPCH35s^d4oXI zi{v81J;A(Pqi^#En>>bt*X$0)n0T@@jW#JHZKMeqKj<6e0RAx*>2UNM!r4heA*|oX zcZRzs4lwX5!2@5+@X2}NH>=d%$A+XW&M2&^T_|EO4x*n&2rxiK;UX)l#leI|%hi%e z6BS}GTG~Z5+MpaN+)xmzoO~q@asmLGnjtPxK{p?LB|zHi2{b9WHc&-W$fymG$%7Om zaM=fwJn%#kIsyfjU_^~*ak|*O8@E4*>MLLHOtgZ;EFvm%tQ;k1g@BQB(uk>ZDF8z$ zv`27NlX7b0q>^Er7W7EXOpBb0D)5OKVjYGsxk<3NjrPn&N=)1mdZ?2B>}1{qpY%RRTh|NA`CXU|NxE!!TjiuUX{3ss*wXT{}9)!8%l&(4%zu&tgI zD%%@hniru-Ei|)v46oO z&%=K7V*2y19mUH;!C&f@$2X@e)y6>b?cKmjZ{s+dny2T{KKc^gyH#=pj`S+jy32g7iYN?zvssw>_q#CLt-8Yz6>iYuh> z&TAYclIpWkbGuJ91Ht`8MCn%9mcCVI03t|8i>yF=?Qj1!Dt~p=2S#|5|Lm>fuq+8% z0mLPo8-9~Ug#rT?9KW7b3yoEHep$_IygBhaZv(m*wXLiT)d`bS>40P~KfgB25NN6-fLIYmpn(!&7 z31v5e0wOY%cz6nA{LiU>*wZqjAn@3en;?&LaBHD~MsEl%+t`L-sk;yFcDI4G^5f>8HPDI!k=fkZw#Ae6uebu=1j@TPd$9L*x<&W=$i z5J`%svUESU?kb&1P5u%Yfrr3L>XSH3{j=+4yQ43K`4^E-dcdm|=cZ)6AxjQ|Pdg3C zYqXjwc*r}0rTdWt%A(l0(LUQc%7&xo6X3C-K%FIQOya8mG%Rk5{iD3V=+kFu3Ie*K z{2o{skj7zZIV8|^X?wdoj|ut=Ais_l_8Q)VWWq9G)TAwTM^iJbyQXAjxvi}LZm8tpJc`fjEH(qE(kJ7 zbK=N#@l7c;iHI)wWs)T)8ETRl$MnT}=5|NutkN_84ib_vC&77`bLAv6E>ji=vX1I$ zX5zVgWz~RQLTQ@++B`N+e~Ok(C|WBVEx5pLM>_QYO)0o*FHI73_L-Z#(BnUv@MT-* zE9Fgc<@yq_wpPnWLj;<}<6ilmPv$P#l(d|CtWfU$&imo2xg{^NQ*DTCzEKrDd-v0QbJ@3r>5xiYQ$9RKIZ8dhUG)zV z#hyIQ*_UEMGUM!P;{wlsj@i4(5T{2?ch;i+$W*WL7=7)3{bg|9^nZUwlr-$ex!>-3 z?9YIa%(#tgeS*j1R1p4lCo5kg-p`qFk`t%+a17t51{#-e)pWan;@*@9A_%RpyVIkSsYK0+gIM$&Z_!``OK#=%p*!Xy&*dS7(kJ<#@_| z_pZMY+4#jK(Ra*LaesE>2<==Bfllxx2D)3N$Hl_Z8A`LlHDt_{3 ze-e}vzv|6z!IkK5M1B}9Xzz5cdh-?1<2=lA2QEt_mRDzg&hQo9W{evNbfmf0WpMS| z2v$n0bF$LpqLUH_8T~*{YCuNf9*A=&Wk~AKf`1HQ4wTZ!9qkTv7Z)f1nm}d0?-oUZ z<1uGVq!pDg7{{K`&YvpCNSA>$D*%%mrhl}F`{-7L;vpZCrX~=NbyX6QB5RhiH%J^G zd;$=M8Z1JLQ{$q=>4ygn zz?t}y=WfNz+fDcGv?{*3eFv&9KW`iMXcLQ}X-tW;VJpl(K!l5iBa4FN^9 zW8Ee)==4AS(MAXAHC*AEluG+T>sWzzpBw9HrS4f$n$X}#$&B;QF@wQG+EukVWv-!m zwT9MTu}OpQd}bUeE_znc!JQ%Y2FOx$00Oz9Cf0Ba)`~GZ2HWvucX>54?pW*r7>{du zm6ayR`=mCnH(rq|b)1=+g6egn7~Trb)ZXNqotQcmlTUXfsSQZGID=1rvlR!^6P&nbH??N2-D&>Mg!i5Ruin%;-C>|{+VoX;#wIdEBHTt z3ZWJ4WQ*xRBg9G%#~yIQ%{QX_OTThC_W5`mrW*3d6(}rMY?j-#_H%4yXQb>(ud@KD z;bFhf9A}1<6{S?Hxw!uTjZKe_hrcMKprl^yudXpTlr!VJ9^YzTP*z4zh8~j?xx4Rt zP&s_mzIxVqr=kA9-891{J-aI%HOY)4dS!F3;t`kqTI{%42*|QrSO1()XC-#!a#?5$M#l&PfwcKK7$|R@Qi^^&hg`yjDp7==ybvnqHb4d6n zCq;}#@)XdCeRI%2nQ#Q86((FbLMuWkk>(RZ0c)}OI3ctUXwYetF%TZ{XcWbaEwYCO zB}5_gbcTnnsFCDQ)pN>Jqw_B|Sv6}Whlr+vq{Hjs3UO(ZqvD7{vN+ILHZcPg34jhR zC;}HY2*Gc10|$J+&Nc6%v`ez&2tcNSbvVublUi^BBeuh=8dIQ)SSuE#M|nm$GQ!$; zF1E#cdEz5AgRE6#h8S7BdA38;DF1d}HDOc2r%N%Esc5Xpmd<77I~Arz}Gr14s6V_D{slUd|!9-J*VDhNy~(mrF(PG%Q$ zaY+=O@>I&3v&s{gui6RYJaM&f+(bYhM;aS6J454NN82_#6QwUnl?Um1dn&&z8#Yir z3pTwWNNq`bs1oJVoEf)X7br}Wis_NH693fx{CpUp2tR|28X49Ru}(+QT(_JQCe4|h zqeoRqyW4)t`%pgr1@B2rFRhB9nczTARe$>a_X_5c%L>?AX}YRtYhHdKg0`zj!rcj* zTaP2K+MPRiPONq&RsvPZjFUmJLhv8F=TnIfYy7lg%CMPnN~5E!vN}PNFS#r^D$(XU zvQ(AE#~t_n367$3a*Dd##tk9&n<0f=J`yLHbPwF~$Mo3gNBu~1p_$Mqm>PG+Ts7W& zdTEs#=HZ?3^{sA+K_DxwM`EnMXqkI}Zv_d^$2ZT6lhY?FrP60doz5Hw*{U5f_klwP zb-*;S!BxrQ8(DvO^4;sqp;sd8^HYCc5W+haqb1by)7JqrGDgFxcH43at*^T0@xR8t zw!W(1Z2}|SL)IDRy~1zbcbjkE#b-a?(~AWky(0I>5!tVja|!KJ|Ih#BoCE`}6XD%L z$%~yoyY?MYx%~B)9L^Rcu6on4n-2AXE8qOikADIf>`|7s)HHZi^iJo7L;|g;1dZ6@ z%S!Ndj_{BC{%X#N`|Xc?tm=xif!PA4Vz-lL$u({x9N1N^O|B*qmUuG}eu_TZN(vgW{% zDh)M}TM;gR#Fqk>WlF)|YmT_I;YfoJ)Mg>*o~lX=*C-9hu?)4GqksYp<&Yi~m7`Q0 zCT10C>JQswjff{jncH3v0EsP#0VxVh40G8OxgL_*1RC~0;(zZ28ijJ+C@(-rBo6vI zyDBar7$ht_!eP_+x~dQh`^blgA52B$P;uwLjH|&1>YGjyPLY%J^|J`^fgBa5+#x6| zm#A&jFPxGH1QxCa+4N{)s#vgKlJs~GSX2>?;+&`jc~(@2^oXX2U#g%5bk9h)Mh_@h zULY~*>Av8ggo^|T5Y%{hq3}Q5ByrToU;By+3y6M5|L~pf1O9Jb@T`7>mK)m~wRT|{ z#HZ{G45DNpnU!nPK<=yxtw!KzjKES~K99yW_3u;n8M6nb=qo}=l#@kQts0py4wNJ_ z4wPLdJc0emJSa9jSNSuM)pg95i!cA>0hD9Dtt;LDc}!_x#{HlbgWp2@utO%Ept*IX z_J@(>CKs0SbKU%KLsnY{x#l8F(96YgZ$~0UPTPQvG}JqCiXP-xjr!tU|1>EI)0ieA zzUm9D{YX;eAUCo$3>i!M+ll;1^#fifpXGUX4-c;?bCp@-@P2^TvNh{;5<1nh^(YaPnHP>Es#hW}PcFChUG!o}G?p5+O?rDWW`DL~M z3?vxDmUbGV35QBY?G}G!(A&*YlNJ^zO>Ax+tES4x7sY~lD)&|_psCTJMfchc0;wxF zZ{FsFnN(qXFXl@k4hNogi=$M3+6;Ze{@BC2!H{eqcr`V9P|gqTmo#YM9fE}F7b~>q zu7acA5+bT@_=FIPlp%#A-!<$F5m>wQHv)uBd;lLoIEb}#SYl!y<^GJUp$Du`(TnLUe zmn7}Q!bfTSA4@1Gm|vi2@~{CXg#t*})JoDOvtq@tV8v(O5Vp~KJ*7?)O=6|ZWluQp z5`B2b7F4+!hyL7YRidEi*vMq0`h3a(>Y_hJu|rDVHQkZH>uSR$!0g{6UhR=Nvcg7_76?-9=YNXM8ODZsO|b9elO+)B}`%HQA+W z7P))edPfeU@_+^VJ|7tRza9DqbyiB<%Xcm%Gj#pU$74xGp&#!J<)jnV6NWYXZ% z3&gPEVogDes@G1Pq_ixVIZnzG9eNAih~;{hbvvEcR4uAJV}^VfGifU>OKzU7*=5`$ zNo|1X)g&b?7nf|9@%1jJ2d=iym`mEVjG1w(v&bc}J+`XR4dU2xz36SvEV=L9bQJ_o zdMf=+FD!)7jSYNV4RD8(MG_Ajpc~nGPPmiboS`l~rD57-?1%WH9#u}qIhV_$w9+ri z6i?^0VSRLSlyO67z_vD91#;b5p5B=AWkmJ%Ti*xd`Io$hB?jDWzxDl)ly;qW$-7Hh z4(&+b;O6<}^Bfeem#-z9rBkC(bI^yDv(mw5+Jy?d;#LjHrOw6WQgubvKeT1lM*NO=3XQzX2l991_Q<~LSn?+7mQx!Xs ziZwbykEOB%>b{A2^f#GBZZE&lkv-?E2+@AQ1Se26XmfMqo-E0!2#v(%^_a4Wz<_`mewF z1EButC*FxY)>nl}S!MP5&)%B0zT}e7a!2qkptsP1(Pbg!Mn!GxCZVFiIBy&8ZMJWD zx)ugs%%SF)YF^55W}03>N5?|S`BJpCm!)qlYdOrB778u;zGSeXfd4{gMs(a(>meRt zJG%;bW+1>^plVtXF1)uuf%k=}h7M`m3L z6hM(@(BxDxB+5H-n$<4Uaglr^99M88yJP`7u;@Rxd3h?36^^ZE6N-$p1babgbBwI# zqLC19UJZ>~nTqnw$yJg+8ZW)1XKFz`qq=JwN|;5C2;I)t?%qjsY>S;6x9`C573Xhb z=Rv4zb94UyM3{J&>IulN7Q>*`=gjXge2S-Vzz z_N)Ke4!DXssv~fWjmP10)Z{bOBN$ytqr>EJ2cEX?2)c2!nhwJ&N2`aKUq}7V)iOH> zb@>BV7L~yWHZ$(kuYKiUN>)f}kap9p*!AuW*mCni9C5z zb4*Xf=ffuKyXCvxSZ71+{_T%IJj#qSDa<#0^IpiF_nd8_!A&IR)HQ`=%{n)bOjrXP z-$H-v-NWl=Z8?EPlk+S&5(%3T4#cP=?-e;Nec6kImZu^{lN33q7MJw20EMk|8pE3} zLv%OzNStbLFHt3%9&$tq{0ggq>DPlw0v(3xKL4Q)FC1Dpk>><}_Te>{N#8YIk}3Ec z(9WNXDPBSjXG$o2`2wj8qcru~)ypj3Mv{E`?J9q9n6S zPSb)@C!b887Km3~AqzrHV#M>K0>C4~=z9b&4;2{r!RQnI;1wWjl=c`i!)O_JI%bA) zcZMdU>y9Fmh41%(F$E2Cz1|oRwd4!7{d@6OAGgs=UX&FH;Xt$HnMov}5ecz9$bUb3YRBa3xvAgya+65V zIS4Vy9Z*NY5m{XgT_xbqH>y`hWR#tCK8ORjqR|S@y>x zmFfYo9kG|HmhtJOCUmXdNJb=?aiCS(Q)TopWmk+n$O(@<1e7hAaayC}B>&OcQU=bL zLs}^G)R&-jt+lhliSws+D7jMd_1x5Nlay#V@YX&vZs0lEB+boc$+by*8@NTQg2!J3 zj@_+{mR$&iON%sE8*+Zyh&^0f8Dk0}r9X{XYf$JU|! z`$G!K=sHSrd3=}4*xJBfS2=}XPupRF@+ZA_e(imr zT=_eF%;R^i{|c;`$Ol4B*Dh zI5giq^enF@k|jsenc*jvzo{8EpQ%W$+^9*{k}Ns#!M`DRmv-FyCn(z-j@>d&nzOx*-b{*X|O>!-A z>*#TO4c-^=48f+?j?g)^*>JWjxpDx|l7u#F^_xF&*LkZ+hdqul=OuUiIeReAg%bz*11QAFC#;*x8DA@@mbu z`(+r0OFiKFGTl2RGfph@%#wpmX|OqY>YN=-;G0q#2S5Baolj8J*rWVh3T3D}Bv&ZC zhvFQ#jY_^IzJcS}3hQ~4mXRdM@?QLxBF05HF^{hco@A0?7HXOOBu0pM) zuMK7NjUymPrzQ9T42{vyfpxM1R>lGxHW7901AyBkMjhN9g4^VTk9a z_8zZHf)ml!iPm%DcBxW1LI&L>Z7*qZI2h43618b#oQ|A2@5-{|J@j**q=1Jen)|sY zTALgr=ej!xn@(}m3?efc`=}>Ui=2!M$w@^?B&Md}nOsJW06Fd=z&HvH)(u-0g{n$w zeeXq~D4}vmUDOYJFo7UsI5M(4WAOMf-VDo81nu zf!sa)^z#xqzt*a-d=)S($tttX9nD#COAJU74OH7GY=g-)uTmN!P)VU^kXQy*SZHCE zG99M&FXEf7^_#jFOdUUIeJ}tX-%R#A97d%#ol03kG9I@$LxWa(9;cz7^_ysva5ext zi^JuoYrs}wqvz&+Z+-D|TMw@^8qKiwZnV=U*80JcgybAFdpan0vGd5y;WY0yUyh%+ zfwIZk__|y3NAlZ#F8;vXk43&VjCgYN@4jn?;Mb1O-*T}Tou()}vk$ybGVFR0@ak6T z5O`s5V;%APS(Bd3fbZ-WiA$ImiAyLgtFg1yD7@qMuff1BI+^#OrT$hh6NPwT*;djX zgtjDGzuGbd^hO7rmX7iOLEzVRbO9FacK7X>by~2xE&oX_H52vWq**JF96X3WA%7y{iTBjnM~ z+@!Gp(E^qjVjlvK)0;@40|pLC-om10GC|qKQDj9q=Om=!9M8nZ47SJ!4hf-YV{+g@ zyRe1i=eaXrDq=ZT9*yDi=*@N)*KZh>k*3N0l$|FNJCGIcv?wxr!}23QhONbrB}b~9 zUA4@uke0Zns93L~53tvW3>RM(X~~$A4k1}ou@S223G7ZzQ}WA3%*_HnbyUiGA%bW! zOmJ&sP1+vk0E1jme9t6ZEG41@^-AC)t)J@&zI86=h=DRSo{@qGR)BRr;t!ocvDNMP z;1Zv%9xAY>eqattiCM@ylhar41**OEG0uz=mqnP%l)L9!kF~A%>Tt@*Z4n5I8e0Wb zA5@{9Y|52eTwIgQz~Pd}Vx4kMs}YF7RTnA@NyVzoxVJRjk;!Sk*Ete5W|R}hgd!QZ zQZ5>uoT4YFjqB6-Tb#m{hob6svU$cFD6Up?b$x75FX{McHEvPRZej#|5W^5Axe3_bd0K!gsITKc*RK#`r;S*W+fkG6s!t zPFzq5q*7$nRLPPPfd6Zu#hWr|JoowUHk4&3&hwPg-~U(2l9O$tndeLI&%}9n`$vBI zb)!nrV|Xa+==!#;&Z#pNAC@IE&MxYz&kV7dqo(%X-uVv1?>}7S@;x8A?~mcy2&YNr zbH<6+k_Trq<7{haTC{HGsb|u#nykR^Q!oB00pO|l(MP_5hp>n4{}WI!XWVRg+BAWe z_c9VE^TgTFw;YY7Jd@ztoH)D2Uu}I=tFz0?l13EM@j#cHFAH#G?x&JuXS3ww(cGpS z+JLXgGUleI=h2**#zdu2p46{7MNU><-OL|9%A}L?oXaNOj*o{Y=6(E`Imbn}k&cow-#y8Kh*)HQ0&R2jni-}DvFLLYwX z+j7yXm53m?jr(MS+rRzM-xDM*LEIeI=&IBFyB|7q?eAW}kQ%f{XIBT%z!D1f5TpTM z9vA_gmZJ2!xQHD+-URw z6aoM{G*ZJGjt(3Yh7vW>)|?OyB&RGI4{|6y0+GliRc0%i#xvC+k7I(;8L1HW_mB`y z=av@@ZYsyKd?Cj$#Tk@yAQ&e?2Px({v>};NBKSCY1=0{v;~Pa#ROqxj0~W?SQUFu_ zOcGqqM5Kjd2_2@dl5%WJl%m@UMOtkg6)=I=nTW-mhsd#20{7lX2LI?58Y#7s(9Kp8 zgqTwf3s5M8VCBnYhr>Y>0o8|erqiACf^{`Srz#U`PY?rqvI|DMo#Pudy_ToO9^95=dnj$dK{0vHhYg(li++PRtr7?$JltB_j|Rl8iAFF06lU%nSLz! zHF+fhdDwOKK6Ci_k56qzIP6Z7!QPImTPx}B;2ohs@`-QhlpjOg+rLX`Ya6%Fv>>u^ z)?0VaJ{rq-#%Yu*SKS(04(0>fNqPOsC3#&qH8zq(U$W$|rmFT8yk+TIG`}k;o%961 zxHPe60z@~9oXG@?O}428#e!xxQ(_xMg1L$Yza(C$ixnfHWv>BF(Kf zw$?4%N(k-}at5WUdybJ-<5MS{TrPGy} z9DDK|#tNkCXF0ZD!6LGi%LzTg8H;F)rwYba_^z zNZA?U%-y)CvJav(M6%)R&7r;jJ&h&5dcZf#G?#;W>bD996K`W;6?1$<;CLR7liyLC zCwuoC^S^WWbdDF(+`_MjGRLYtsqz)7r+i`i*HC`xi|Ia|umm$Ywsw@4H+}Snw7i4N zILph`!vS((&l6MFuft5q;4($;Zsh5LdA70+gXOj|wX^#PO1Rr{A}t9gzjV^@C1%Dw zwEe?gp*&fxanYpOa8<}k}o!;+wwd+^gQ{%K(S zYO3ottwVK+PdC0=Wi{NTnNC&HjvH>i5rj)G|5@z!Jg(me5r{Us+JjKmZ(?c91{Gqm zZ<869i1?~;jc7xhKqp^RIgB(&DqNNEfDiGn z!8$X^AZbI>Op4q(o-}ZplVru#Kzkc&QjnaTf=-X{g-+)?_kA14=bdx0;FCxFNC_g` z=Vt6g_cGA!7GR-d`CKlsKr4|wK4o(2h=_kn*iyAl6<%V@01JpdSB~CFV^(fGj=VS+ zZYMMtC!3svp?bq})qPS@+kJ{#xMa^E^Ue}iwk&UJQFkMQ?u;j=PQm@U6i$pv<`i&1 zY^Yp zRf|)s`T@|QB2o%LT=N@lBcjFY((BZnCeU4btrbRtP8U$1Q_1T|$Q8OpMG&e)1gR#Z zAkO$IH&>?Gt%y7QAZc(d*9~)tSHvJ3M3Mjmmt?TQ)mbBYV6b6;0RtFi{-;eRK;#Qc zI7-f7bc16ot-G={<+eDwP5?a|IP9s{l`r$6uRU#u6c3k@c8hQ5*cN8Wk+`8p#R7;j zXR#%max)9Spgz$M7==<@eE|$oS$7{=NI@U)vKM7)*|#!Qsl8=-BUG0j+ex%Tsm^2b zxSH&CY@WBH&gprjU0Xrt)Z9gpZl$Ak2)V$9a@dRY6K2@1o#P=pA8SY=>ZMm z@yES2)fC{_;Am`7Z^yMkE7<@%B^Ul|u9lmQy(RUVx=H>Mh-As_=FB*GIk@jp$}Br^ zGsZspZsJ1^{J6te-_r<#2>(v@K8~MhB~`3N>gBC5M-cxk$KWg;b^L z*wd8QM&G-x{Xz1a}vPuhiAJqRMSkD&=Li zA7-+npjK?QBNvkwC_l??T#HF=4p1JeU*w#oFl>O*M*OXg2jtu^iPffMbRuwFKf$7V zb2R+{SwS{Xn7T1B>xA)@D@y2rVAEd&`ASe_PK{iqz&VU4*IX)6z`FI%4Wy8^vO(d6 zJ>uqE4>Vh%X0b+9OMj6i)#i^h-1IQIBat8_?1Czg2C~~sH&)mKHQ<=2rZ7eL@cc=;(~~o9E;a!M1zZ~E zzXX#SO00BoMj)vRr4FFZIvD15ti=8C+jLNG3kBgCCd-I&-lw@Ov0a&$O*0T#mK)C9 z##bX5lZFGju&8m=#c_4;PmK68Hln$5PE$BU8oA||qK-C+0kJ(q3dAsfQwOmNxBYp< zBCW;E1B%=`JPs2?8?Xwnq@DG#d783xZ{Q3jBxfNEV*&hCx9?30e?3>vIA| zH@N<`G^GxhFCYW1(+OE}Dn^-cx_KA>_U79`lPo!zGcIJtDcBxuW}Kx<7qXOwvZjWV zAhEFiz=);-ag><{280NvI~rVP*G zv}ZSE$=Pj^r+B;IC*EU;#qvG3y-(@RAymhBGFSa|Gk))#2^!Ug zKknlfa>>(q(W^YU^Uc3A<^tK3Rys2dO*U_pnfarYAPHZ&ce22x&5}b-oQDnZ_Y%^P zgg7-J*>WBd6=tU9?|JBZo^1#`_o!o8h%nXQ#s5K#a*+t5ojQ zk7Wtk&70}ZFj!?3`!q8Sbf2`_?Mh}GY1U1$_Jl6;#JN|{Z1O&pC>(J=)W6pkxU$gd zb)UNpyo=9%zUv!{o$uUFnQ@oB?h@>;|J<#ekdQu;CYh*eVK9KMD zc;g@TFeHa}LW{9;C$~Bo9JxCsZrN#&!-Oc^X4VdHD_3dN08Ao@JpPb$eU-+_9<=qvZD`k>=WY~e~gTi<_UGb|i#d(gs^tP_e6FWcMNp+$`V_i4xn8C53v1$j0BkdXt6 zosa}qcun?Rsa_YCsEV#3=49Z0hVw~zys0}eHAh+(I~&{@HL8%h9C=c#3)#9v#BW4dc#iA3%gna;M1A&kszRpXYu@#k@?%m;p^q_Z2u}^sXlb$9TsZNGTz^L_#iEcLl z0oNQ8bR2|)7C?m~ve2z<+6BC!!l zp&=xrcBXq+YI;RU5lycq8NkIB_qSu<<#>2H@l z|Jgn+LcHwx&mJC@J2olEjplPAc@N4Kl`UCvc5Pgr`}R+_hw1iy{<#;ZM31ArI%E~y zW(OM7*=sh3)zmh0q_lHp(@N%6nkhb33CvDiWm$TIvb3aZ@8t<=wYnOC!6R@y=f|CX z?r%w8?!Dz|6xN+w4$~HXt@`2PlqGj)6Wu`8k5O0_=?kjPq~2Cfd-^G;?s(`4qMB{& zgnf{aM@#wBlsx9hpMu>ZkHJe(rcjuZ#Sob^%o8)s%~R&UTAs2>kTaZpmJkId0NIbR z&(l+s=Q6^pJxU6~_HVrpl=ENs9t-y6AAFm*{FuZ?ZtS`-N|~__1I%+fn;9phwWIWN zI>MPs7AfVuduhJ*WRu6_buPazOw%i{SNwZA-uU_cm-9@_^s3sGReNFk=C_+Uu5Y!u zfIidHqd=Y|CzG97y37NZ>&Yqfyxi%obv=_OJ6kvWf}f!2x^DSbN>H-7a*4QPz}<5o zJT4>vUzN-_UqwMyQ{9}+NI1diVB_mUhnbq84lj>E>t(r5^QgI>lSw5fZe%URXP(}F z2;tXGrHT=eIpaXXW`iaayO)dCt&z$M$&!;VdZY=sSo|B|ES9o`tC$a6x2b6gsnN>u7@d`xi9~QU8MVk#L5XsJ)?SvdX z$rBSz(B z>#IadpnJ5fqCb%Jbh#j~x{^-C1xYEDuqmc@o$e(-aXJxQDO?qkysud=Yfi2;(ZEC) zfp*bGW%_4yun(qgi%Iq}--ewm4(u>?R$HXn7^?I)>cl);$lCbF49-Rhtv{|zE}N|Z z9;;Fyj`aDT#Ge$gLTU+(Ke@GWgApmIFyK^-??sMDNDVb9H8S9|+>E*OTopzTQX^_o ze3X`@hU2Jsu8MjB3jB+QGr}h+1+X3vo9@bGTd5{C2{i_tL407He;FY7ow7{b6oL0O z>3Ts!D0zsG+|OVN>Ij5tWs29Y_&!qU^-)fn^)(JG*?2n^33Tv*F5V=`~S zvtPQE<>~(TwQJrix_KrVs}Wea2;hfBo`_b?M0?GL_g8L^ruUN~ho`>E8$}+Gw!UD@%@4`t zT9!t^AV_6Mu7ABJy^!*(pWC4?NhM3pb~C%ys;sgKSVIVQKDdiqppIJZtVodq4_R_a z%;zMzhJ<;mosUFJ;pVtF4^^>o$&&LJFeziM+>A06vQ>ugdOPOrwWj}>3=BkThY7#BAgd+1r3WF0p+eh;{hcFSHZuWSW~NZ4^)Ct^o?!5S%}{rt!hCBA)d2)Ctk9 zvOKjJRX8LP4l>0gN(7_x=fG;;RoOKM3qkgSW_MKrl8Tzj?Ms!q+IPDNME+@~Qz zaKXmEU`VwDLDJyPBLtkrPznN$6%nF}b0wllg<4Dh7(qLlD-Nv`lI=x=_b3r=xfhpJ zyrs|*VA@)5H`ApJCPso%;Y>ydJ=g`QM1N{e*sRtezkK^WtcGYmf6=*4Wn04qT!9q) zT#Pg0z^KDZoi%7mN))uJ{kJc9 zUd-&+v^dWK5%~Y@c{GQN-M;*t@1@s%r}N5-pKURRx7;eixl7l5D@?a{`3rlzYv7>AUpU z26{)`@x2d`96#Z0yMUtc-LJn7`?c$d?AzipE8J|Bl8AZYpw4z|!Aq_jx|Z)ZKiEmr!##6r_)(vmr!+3v{HGQ# zddc&JGCOF4sWVUT60ZAr zZ?oiVW*lJHhWJW76da7AxM?GG{;6rop_2_MW9(Wr&XPA5W?@r7`5?~FyFRZCkU5^s zO|X)zH>A^stAgk#v&ad_Ew#Lc-a!`*+N+%S!!}ixC*2$63(z)To|9@L1HRI(Pf=zZ zi@=9D4%ZOd9WmDF!L!?yEV+43?3FxRDR<2@dnQWW4=q&u!TTV;D0j|$%Cqq8>UE#J zl?A$&zn;38oki}Xp)=ZFC2BP~;@PytXi_W^u1xP~1n`w`T~=D^kx3zgFGksO$t`Jd zq0_DYNF|zmRZ`@r8Z{!bECOt?!h;5|Y3mtDjLPAPYxV6a)cM;GD>plPi!$VuD{2FK zw{TD&Tm&J`*Pgwi6O{-cz!Y%qx`dQJp9U4AgtB4fD&p@$g~_LhievJrbvR*ABj+$! zCd};BiR|aMGH&h!(M)!w7V-lQhOd{zuMZ5ROy3F*XAw~izT9<(C-^b2NV9}gQ_a2O;q+` zD2ENQe3m%qbSv-T8(aQ>khS8IN!8x1eBs4*#271~Xm%DC7J_}X1`2%`tL%JF_y7PP z07*naR8=yqWeBMqB1xI>z{oehQjt)Q97DKaUPn}*=909i>X`K$#Hgc-o^ou|578UG zn`XZw5m700`GiDdxKU~eq(~@oH>!}|5kV__s-RG$Iz|$(4k=`YU>K!ZOn&zQZbC%(60C1ro z8GSM-U*uS6lnX)u(Z~$2UTPwwRLYu5O(1*$O{5xJO!T|AU#d3B7QAW1FNs;Xk5zSs ztD`YG?i1$Zlj^G0aCKNn?Hg5#sg>pGsBu^6s}Wea2n-*bKlJdAXnne2eq%r7#Br2m zM!7SdvqcQw_|e});T3QD1F0T2`@j11owc^S_VqNEf#2}4>L?F;edXqV0rB!n!<^g~ zT}1QN%l75#?$=`ZXu)Mfr}NKW>Y+pgf9hwp)-dYb>tmv=|R6wVJ+1j zK^PtelGl%%(!#wyPH-RkTSNOW-=Z-wWN_U@$vylLeQbhicCA%Z(bMD+-sj5YB94M6 zl{T3_PB_hhEc!`;C9zY^pqUD2>vnhT{E_!`*F%qkcCzO(B-$0slsy-z0^F)gd>d#; zF6i^&CQ`*R$Jva#1ZiKw`+peW@l-8fFb+jlL!{o5$~6tUfrqU+Vh7%zUi%KlxE*f5 zzxJjNT1wCIhu?BVit!^H4ed;2`mA%O$a}^|-gYGv5uJJWQFn{B7oDTe0Q6hqUVudp zVy^#zWpsxVW{9el)yRMt4avz6Q}jy~e$-IX3i7NZI4rNqr}8Dp^u{H$|Yw7@}go!Du3Yg$H3j}vmG|@`UQ%`kVO(2OTA?p67dv~JvV$3cF3!+0=baX`Z zkgDPI3D6691%mcm=dh)Eo)oZWEnXGXO~s><0zkP|i=k%#r#VHYbt}eY_x#Z4MlrM^ zA!il<(UUxlu!Tm|&hgAGLqK4;`AvGj^FDad|8>_7eAyQMMd?5D>}Ohf`*N$(X4F+( zFGiNyQj{nXx#h-I&tgdn(Mt3l%0gzG0;@{2MSsV6VXxwhFqA7TP45e;zTDV<{5JCY zC`+ztJ;-OJb~5cynev$MS2uhsCb*j9%B^UYT+uF_^JQsRMf)oG$sB=le$#Olk$b;G z*+PI8Fu#%WP>PoxU6FdPtm{~D&WTUikl2vrT!m;8*@Pl(zw@Tw zr7FMI%*+VK?bnS)RaB&vvJk3OSeq?QexZs%6V;YA%;|Oe_68?5ZO%MMJsPn7^s}D} zNy(Bs=lp1}^}g-f!OFAb`n5!9affkxZb7leV2xmkLJ zlxg_Z@m*0e<030u(fN$2GCxn(`iPk?k0E@A@O{FO(t|of8j|gaLl1$%d2_+T1S3`H zMMW0f*GjKJ1a4+|b?Txg_(Gk-kj9Uld&$ND>3>L0Qsl6QD>R*4NMfj4rgytqu&70K zNp3IiXkd?~F z2WRn&!b=KR9UY$u8&SF9-!mY|$#i^`YD>kstl^M2M)!DziGXN^w*B&hXycY!r3=pK zLsEnEGuUEM)Z(b3dXV#__YyghoNGudfEuObs4bfGQURkQl$4FlGo>nfNO9wUR#TQO zft?V{4w8*7_$ zTfGm+P-2bHW^WR)qk>3G@VGBJq)+sNdk(@!H5tgvRZOBSt~&FQMT!i~po4FDyut(G zAi9DfQo({AKEAH%;B#0Jkub~)O zfmX=*MbxCc#H%;8gl>v#)=Zquh7(a#FT`47g*$m5eQnvefhQ2JYpi9)C0S|SZf)g+ zq6OE_!}~!Il@b%vDZ5l3K!nuvd4@}tS81yeC`Vv;$78!sJYhYUYxw(@yS{usl}Bi` zJOA_g3-A5ovh*=d{omhkAzI+G^U2@tWIXc%vXx zCk^)CP}kQVr*{-H1PCj-Wd^I(8pms@Qp?I{`NZGS<}-eZeqVMzn8NM+al*q}R2U#i z;c=bL7uMIKJ_~R0!fcb{JT#p-&NEcX5KK`o{aryC&=^Xn}#<39WrH$$!}DYs9#=IF1GhOij;3KhS-^U*e%U+mN9fcBo3Byobm#=&qA z!GU>tUyp#)FWjZ;;9xss-5diVJyc;r*s(VeDEPO=F0>{%9{ zl>;i2GLUNX&Q-7`GBJW{biXkOwNfA{D;&dl2AuT-1Kd;9MHaDv<~XEL1}Y_~J~_rY zhq+RwL`uj*zH@-3x*V!VA)dA+;A$n`{#>;c(H`JVRIAW-I{)(BAFwk)_e;**X4Eo0 zFb$_zG{{RY##@Y=MXseYUZrocr*Oe&j~V^d3f?p|vt~8VjO)vdf4ZIW21-|jsEN#C z&bT(p|M9lFBC$^A7vg#4KL6EQ6Ts_U9zG6hVtMdDN*#9*XqO-7?$}3l>vw+dBi_HQ&-yKt@BKDUn&zooIKHnZ zo5E(>EkC{cITLM^m!Y($beb2b1b!dS`zC@CsPT<7{|er#Q86?FrO#({rf2KZ4=KQ=bv- z%J$tG`p%?Vxz$w5nQ>^Ujk0>aTt`WcYtWYGmyL4LlVr&?ud-@qk-Pr7e- zH_x%%vS>x7N0ThMwJrxOJ;5@^Tv6OZ*Ku#R7@^2otDt+|ET&lYI)xi$$(ignSp`+{ z+N_=ho>dQ-ah@m&{mQeRuI(klA!NM;2@i2g+=e=acMVKZECV-jJurB9h^tjd0C%qY z>@BFBv}WtVZ24~+23sh$F_DR}Pzy-|LD6lYL?cQjKnjqfk&PLsF>kSBCXXXZoK%?! zSpt3wl0i>n&J?W-*`;d+Y!v*>JV5w;s6Y=0SE8Q`HDB&YnFyLpKGPLjjaVksI9-{d zvulmo$6I>GPiAjxxp`dc^c&QK8KMsjrI&DRHtbl}WPOwW>x zKeK$w&{ZNF+p_^5j7MFT9h#bKwjn#oLx>hpdVg}jZmc;JFHFZR(xeDsE zG?N`qCL6O+lO84sj8Ybj6gkuvJJa(nMMN#6{;LOhm}6tA*W*#}X9lJy@5b^>88AOl zo$EWotqBBKLg>Fh^`)RKR>d{vorJ~kP0=gL3JEAgkCDQim_k-p(j6j2M5JyZsy{i3FT79MmjDN-HYj9P13$9Xgsbsz--vYx zum(r?>a0i+S1MTF`BRCC@`{?K{*!91)N7gv-mfz?T@^jzQBlZd%;f;ftu%|>H$0n( zW~V7Mkk#U91Xd%^86F#3d;g8}S5_Hq`NfZXW;H5^z-unw=HnoVY?23O%N{UT!6w#; zhFZoPxYoLWC5`TmJ6ipPd@v7JrECNycbk++euP^3C$3iikuT%7x5cC3;qkL+xT1{* zcnXmrw<`Fsx3;~(#{8*jgO-(nwe7m{ld!C6gEB;;->rQBTWW6TBn>Qj4yQDWo)=3K zgm_JT9Q^8*KVf6^sc}f|4R54BO?~>4zk~gAE~EujVE)+`p8UnX;J>1CmK+n^n47jO zZh_jxyQmJlh>+XUdrq4%DSns5)%l?--}pNp|D;v%nNPjjSD$kcCA-OX*By`hmnfSP z_Z&`$8{npO^_4C&PTNFw%niebzaQP+Mb*`hurzc<_TSn0ShL>ep8m85fN@t2fDH}< zKzEUmgESEB#%U)R8gOu;R5MCh&JqkSE4Ie90mdGyEq7|bG-qAQvFj>QK8iRZ5VHVq zK##xSS)jyjMzsK9dAJi&*Mt|rVf&<4!Jr{*Y zn`Ka$#N0Vy4c<3qxbBq-g*r#W%K%<+qe3P{0e&#k5Z~nm!B@`OzP5kV0&Yhl%2h(8jcOvKRQkndDp)~9iw|0ms+@u)I+J9^Ron?))Jp$= z3Fhh^e(AQbJ}gXJb_soICfoJ5hH2R^HFV~-bcbMeHC3m&bjV;WO_X%?q_OUmG|lim$8=SnFew=F z=rcdFfU;!9Nz)qcDQhds%VLxO+t_;glk%S3Q`n1=wVcdE2KZ?MdzqF?eu4IJmR$1w zhGi}Z%x6n-9`NlMD0yZai0!wP%Ydu-P|l32p_i48^tTCKaC4le^qS&RydW7|6+?FZ zxP!bnuLTYdQxe!u@WQG8ded!S-Ei{_7Jz9ZWHC)4c6kLD3$W!G_}1;#CIpmqR4u+u zS*ARj<@Ev9t*3jJls9M74iZu?gF^=kogGga%J0n0QqLY8Zb~we+2v$8SL5oU%$O!~ z#tB`Jzx&4UhmHU8$zKKwPN0j+Y;k#(oYC1C8(q_lSI?AHO)W;s(+B1gr-!g`AkE!I zEjnZt#+{|pA(vXDW=*^ftT+k8?9@WHi))&$N(r@y4aqMC$LOrKSBYdAD?zXk*6^ZecbdNmSMD-;%z(JUwkj#b}EsL6@v;z=X)I% zH4bv#1;_ApW~m-#G7CE;s#RMz;sEN|RAli8aVrH=R$)OzgKnkBDRynqPxR&_V`aYi z)b(Ok!4i{^>kLwaz#ySE3uGQ zOUhYuO?|GSLa8XIpoLs@eh_7imWbIxY1N^c^7QH`;#wFk$`O%em!hDmd6lsmffbIx z@FO?<=->U`U#+l}V_UsVWV7XEZ`A z6^Q$>1cYbwt+-hLKP4-ry4f&skErp)y{7b`1bX~c+sz9`?OyIv=JnxGi(glZ!S$#j zw2Sh37K&hNoJg)I*YIV z)n~aBIqgRBe9h+_#$_ve!Lcc^%o|KH)~O2hxY+sN6>mK2!ly_bu0H3vAtz2jbd+4V z&-}mdma;ZVj|vr!Wfr+V{{u<}^xFe>J|X3-OZ#R9Z4w0Bh670+^SwID3B<+{EA_?_ zXpcZ8=;f~7{_qcF48ptj+%w{gxx}K!xz``ZrW`pASz}w%P$s&2RNc90M)d}v1^(np zYf#mmO9a!zU~6b-2!ARmvJ|8`v>qRgs1&6;!e8|!gf7Fzs`&2V#SE{Z@nKZU;ETn) z8Ee8Hql{-(n90iX<4zWVGWgomn8Wj(2+7C>Y$%BqBkgR4&^ey5rEYmCLtxFO9!`cw zHyHOAE_gNJEO=SwnVU+mv)~%j&pONY!a zhx}e_eePb+@BGT}o}D{T(5=Uh$;h|@v*VtfJB7Ao>(-1}CiG5@L)&|J6g2PO^&_oR zWMcB4{Vw6n)=ByFY)Uyn}D%z=Y&V{}8fCC+dn-Y6&Hd6}fZ{kGReC-!MMl-A>@y*;-f*!pd7LBN{ zd&f(N%l=8SWS$>~cUC}T-nuosY%Yo98!1T|Dj*Qk?Mt7yT}VTiI<4FJ(zR5jGUlo5 z(ERCOPn!RizbgwekotfNLntAtp%ieoWJBG6EwkvZ-1X@;POXfuJ#gobx$XpC z^{W^B-Cv}CG*Ul+!PY#?p;$gT0qKPihbqF&$c`YtB=M;imY36z+F=2usag*PA>}Ei zk7IZnWY3^6P+*|sZXenOYJNjOunp*~DnsXO2805ZA-(cC$3yCc*!i}&l1b3Sc@+HA zX^1vsDez_GEQT3E7is`$z89{j@qAy1LROYCR4uZU?<=H?Im$NLP0?}J3=Ppj;RcK1 z^R^=WZSgxhe@LoI(O%%i+;eS?!rF{V4>Sd02Z%4lL3f?Vb}$zrFJM%fV$o~EH^n-% zWFw|U=ga7%B9QF2#7}D$M7omb%HqftWXlE|`(Z(SmJ>zaymu!8B44VqCh!wTFi>TX zjEzkS{QC9>f)-=oYu~?L=r7|BT3>eF*&g<_?T$qh69^Ara%zaVMWU5!SFRW>3A4qD z*}T71fKG8Uw`9FcYu1x+-AWFgT4{UuQWZ88EZ?ZwuU5sOFY&jl*;lK<+sj@+AG%(D zOZdc9l&a!@Y*Ugr+gnE)sa4Es1dfsj3_qEZ;|@NZJ{D-Xo@tvC)-VB_i1(WT*Pu{T z3Bb-J_llp{D$6glarn5y;5P2=#v|j=mmu>KVHw<{)#q^H+kHrR!-swho7{6B%0f@T zhou@?(bF8Bfb8pfPkb*xAEtY$%K1jQDdsp&!SCzxyo-8`rhw;-Z%@FIazsJYbDzcsNhtAg3vIzmZ&PwOE@ zP1@;+xO?bnH1I5wsd=%pw(7{TKA%3glb7)D2n?Ek`up)E;GB?iTVxq&F48NQ`*s!C zcAhKaaj*K7XPvc8-B8|H7oH?V$yvkx)o-`}l%7|*oly>W_==r2PLD*S4bk{wbp+78 z+{FzPIqX?6)q+mf*~=%{<0BDLFu=x^tVZa_U*`r;+?UAh57D?xIrO%#~Ub zuY@nqT<8m&m=xpchQmqKGi}0K7h_}8*(+Pbs-jZiUQ&r7*Z^Ddvn|(it zw9q}u|5$wGj~|MdeO0n&v@iaC5BWxXu`50pgyl8Y#N-xo2&y zry2%D06SeTv3ada89k(gjlASR_^G;kWH=yb+;$mP9ca2Mt+A4d@1zH!TGq zU;T#jEzyq6dHSn<v%~@HL7BFJT4B}Ha%7v)q`D;DvQ#sJx*3}3se+1IMT`#|dqf(=c z#7SCNlCvfmXR=RN{WfJO;)w%EHSt7NSsi|)ngW*KkJsu$yD`AZ53N~t+Z~+#){ych zEWj`r*8mHlTfOUtSkz1SF)qEf)&-W%!HIEwfOLggC@tMaI}J;=Sc+ay8cL>>CC~7> zQhS*!!HH&cXEiSqgFM+5N-ePb#8AZQv*NsIa;k|3Yjt*01R+%vO||)Y&zR&5XA!61 z);;Oy8*;(&i!8F@Z5!3EdBX(*4aq@;xxTzY3eh3%W{#U=#$ECD3m@2V5HWtvb50Qj zW+aYOLd?I4^gA%e?ZZwo{z~q7KT8F~O13Sv9kW`QAFM=&G2$n@+s@5`RltK3{ zvzb~j6!?yzTY#VxPKRYgD0LvnDW!1CJt}~N)Jk7Py2*^{)nn8~ z($}s_S1k7?C+Dat(Atd>&^NBCex(>CZ(ys^>WZHgB{iQ*%2{(kJ&|hab9hdv`LGmv zvz2CUE4#~}qHJd{#ijFA);|z+FsBAGwJP*vjll5PXKp@hZ4c=NgPQajnll}&dO>(m)0^oK648zGv@&HY0jxB45w{ zV)p4_5^ZlfX^5*b`*R=QR6&m@S>)$4@=5f6?t|Yz`T5Uzsu#+h*#pOyyl=L9c&;gs z2PbSEGnA+ZJ)(-ATBr?sIs4KyRz^hN6ll@2(k+R7OSUcJbT%2~DB_u`#0RuO-3bgii;nK~ z27V}I;({jUGZxX3c7cSCLtp)?7tkv!ov^6Y!Hh5E3gl&1CFR-Lw%v=?3ch_R3t%rd zGF=iek}QjQBStyX9D}9GqGZd8Q=PXuToH%ySoE-LzYl0xK}Pk_&p0t5!i%?Yg#yt;UpW_9XSd?kwgyr`?c|Oe|=dA@)0{iM{y=3!RVDs7=$Jozxud}ko-P0A(T8*3RQ;3 zkz4-t%2U$<^#ek=VK{mrgB%FS#=a+1?*rOBG{l-1!Dq%jd=jDCSwmdiplY#0czz8f zYi1KI5QZn_l`|mVpy-U8RP`c0)TQaX;RY$82C@k2z_jbsIIn|=fz4IBhj+hu%@9&OhLuXi^+>QR6;rvUQno+DFmJ_>RZ4jgONqrhmok$e z6crk+DrS$3>_{Oa13ZtvRjcJlgA&WfCWXPQlkH6~Mii{aOh=RH#uH$SG!&E5R7GZP z)C4miR3?p!jWjZ2X#cg6H{?*6-nT1dfwJ|FN zSl6%3!xsF*W~ko?9C3V}(PJ~_+&p6a|Gv$CRsO-bai4YQ=k5e<4ehaT90 zgh3aBAS#m{zsM8erBtpEkDHCvT(-S(RO`7c?;y4=IwP#(yCmz@KyO7cx)PX_Z0gh{TW{gIE{Q~{`q0Xk zg;!V>G*m4{=A5|lyf!Hqaw^5FZ||hZgB= z24ITbp+X_jQQ#X=ON~Y%6r0SbUOfh>rIbu}@1@v4n=STI1nDZIXym4Q9xTyGNr}$h zWelBT&UH7*jI#}?`eZ@ATtO$D*~4pvlA5M=mGGoHr{|QK4@;ppTWRLjPoD9phYEu< zMOjC+IZJLJ#c+8rIpbVYaYdCk8D8Z*sUmQ!j>iprlJYeiiur4nXtUBRU3|zB*>X(L z+ZxQ86Xg)MU<;6$V-wE5|V;p{$(l^c+K(z#chuMS@i?q@ii-g*8 z{7{MmjXnm0XkNwPi2RzDJsUD#`1*I1y7A){TY*I1+n9vK%)&o6-$m>!)XZh-Psxg04DffGuKVo`dm zB^EisPIL4G;#i6g$DBc;G8zI!PKBrgL+Wb9_#_q?7nIvlaGG>Th?S;Ck5|u$!DlB@ z%oR8OC?Z6Gv)J?ZxuUQA(QK470Qia5sl``Y?_G!=GnVbTRq1PvclpNLjFxh-%wR9%&O+8ef^ccfp zs@7tQprS`9&&tQNSgI^hpc*C3aS#^_+`6J=Vh2blF+cKo^tj=>1D9gmxy2)Qa_<7vu?<=P0pHXr|i11>pnc}p#QfLys;;lPwOGo9VHo!0>+8(mqGLB2&r-G8{6l=CVmvRM&+ zucF;3QfabnS|(Ow`q;S5nIaN#Um{e(~QbaKPPr2Qack!2=4Z_sAOsj@zfqFfp>n+z|5& zY7_A>LMJf4M|0c=ESbedq7*izGLdK+l|qgl*!+PoVQmr|)$JB61gf_ssedxqhgN^# z)87+N+?JAxpiHg;oCt1)>;{sOx0Q>=+rCET4S1Fm?B_Ylgu~~y5)gKPSAt^Q~?5(797MuaExVM(XC8NN0Db`#QS{Ev;)86M~7j1x*NuoZfZT%mibaiP?(ng*se13sh=LBx>vDkIub1VVYB3<90?tT6>e?2CLe{~uex;1M4;_>+%eOjUXI#SGD$9z zRaPPAlhIJN`Dmgtr!>=r+j5_qu9@=+djdRiwQ%GkfO~oV*mY#wTB<8e@-5ofB<=zN zh;CXWsTRsrtoJd|R`#lFk$l3_Z8|7HHp^-fYGRrmkIIJfR^&KxMmHH$^cc%h2pyd} zWY%MS!2+oqF(Q!^>FP!xsE@JaK*X~$@>FUlUN+EN3p^(;Xd9CTFc7@(NE$mrEPg8H zmWBl*m`*(L!FhrnfD*cbvZWR}hQo;PR(Jfwa_uUUC{@mBuZYh#3Cls6b2Flpxy%vcwmO8}dbL%Wu)^q5b zmusVN08I7jm~@j{9bBL!osBK05p4JY#gjXdi0dFFP*P{f_Xgi$+&8n~y?ax2Bx9tg-ZZvtC z@&o_e*+j{`)`(Z} z7?|TZ*99SJU1A+qkSoWE9W0z!CqT^L4AmS32MSyg`Q&wkMS*l1i()5vnluF=pF5xk z$Y5$(7YUy9h(5ll5Lk_YsAP@Y&mfIT=yA@ZIZ&(!f&@B0w8wV45|GEnrog@M!c$nr zX-3(8D~hV*lu4G{wlnBT^BHrbz0-NkuU_zlzo3L-e7K4sIT5#+Xi|nV-VJR59mz0< zf|Yfyx%!SPO0&)h7vRN1hh!xUp)~EeO+K0Kn$mZ*BwoLs*iRsgf4M!4GvPSCIix*> z`hnj}ygaS3V1;vFV=Hoa6Q$WulceWGEoJKMJS&+8Na4BtO*5Bk)pMBWZLL}vN6$=jUd9lK{=0OdGeu1s*?O6aU)=a}fm9e6Bq$7= zWzEeEHB&IWWQRpEa0p-0oWLNN*bju%4yj~H3xtx0GeNq!7@H)c>=W(q&#qr;3^2si zQw2hHRPCHjK&Vc)5d_5`4TF`zQRz=D$zH4NIN${TN#zjL3GX&77CVhH z6>J{C!IE2mxD$*hmdwPalq1KqeTJJWGt8(6uQ5H`H8P8wYbiP1pgfY-N`HxRP0ex| z;Q+SuRH-?0QnC;S43$_9=~|xqZE}{`cn=R^f8tvE6BWxXM@=HU9Gc2Hl2AENrNsqu zM2ae9d!Q<+Y}$zR1Q={ujAYef42r2*iv(kVw8kPT2c{{;wU|L_qBq!_O^|$ZxE^rB zHbti`vYT3H+w?yAWD_*^t{;a~T92u0uX|)} z1`9njddpI%psRKhajllr5Ums(lBv>Fp+DA;0w~$_qJ=^g-@{B*u3)1=YNw*vk4$wt zrJ2}aA{^b`9i||xnpx=x47bdmvVII8BH~uC-&8C+k(qS{<*nPcV83(69#0R6GoEA$ zqN*8V;KypwM!RJjlKdk`<@r+$C&F6kH?gjbw>uww+?ufE^UgcnS4EXg5(MkM?UXKe z@@X!g&V!S}#C}>^Rz|6P8l6p)JNx|e0l1&FowRmSB93Y`V-9!p#&ztWW||Ay;0m7I@WPLi zC9A$h;|Szw-Ubqq4c)^J762C*wWh0Ji7(Q*IWI%r_)1d1a~6Br4Lw$|Is#S{CeSRV z7o?*KB&w6D@dBw~EJv1Q+CjzAV_zZlkI*`T*`*9Y#nTZY_#eBiXPf|^A9|P*Vo_h@ ztTeI2RVw-o9iA6Og{;i}#!5O9`$;)x$@x=+7It|lUU#NO*2qd3B0*a7UqBGoaGtUl zl-Iz>}h-g#$qGlbz}E;*kr2N|Ck2SMb@`9{g=4P;LI(j+^{j3c^k zSkl2uF%1GlAcypb#nCcu#>2g!!dS9@p1saH-XJ1^miIljh-7QIeh-uNtX!@Po} z6xg_U5Y%uqEfS1%rZpB(IWSEzuEh*ourVR7rB+-VKr)p|XeZZ4i28LUbs(*)qjYTI z2`-7V6>e4TVIe(_b)C7Q7e8|w;5YwZhYIBo$NB%+d$(pgt|UEdAKVCn_a=!e39`v1 zL9)r7mgKpQEQKtO9I{3a4u`FfUj6KM{{p}JKS<$AIP8#KJa*WYW2Sr56B^BQv)OF2 zyLkZt5a68zK@ivN%=|KQ<+@hwea-;^a2JWHwKBi_GFR5B+EweUs_HdjRk=B8Y*+Q& zX?QQ9hDV4xJYD=Zqgc6F6Fsw=ZA;2@GbbpFU?$Aqx9|3@X~^xH;!R|lfzA9lowGLR z5pg0LX3xc0a&gXDlcWaJk{<23GZ(<=FS&CUc=_FvUpIz?9J49h`5B;JgIjplwvww= zf2io%BHlC)TGnBvYjL~x-`0+eQ8V@Nn+SpJIKIICJ~}R;=KTmFQUCMY>F`~F0>sHIO)U<+)`_}pYlqI zyrKabqND#<#B_{j0{-V+QigGaR9rI9{!zh;EOr~J_`+nuOdE7j4_!38l0|@4F_CL? zg&BZQ!LmW~lAH+KU(SIqv3k(-Iyva$cUS-0|4xOuX}dQq977`u8d^hBipqMsQ2~V`u?-Vx z2?(|WD_14+u3@gQS~7I5UO`OEjzFQ9*Ia?GH~h`%^G=EHGf?$!ot*JG4!CeSXNd*Y zCPXS3W_0rIbPY50?J7wcaaPey3p|E&C{;!YGc2|3LcDFjkh7x*4zrY9^cRs^=~k z%zy;+>>|^yN8L}wZ0953dO?jCH@Zy*dKvh}#^d577t9n`dn(qsGyMK95MowTJ=v(MXyrNE~HPO#ZGHV#Z+*i;z8?I7z1Y^dIQ4~`;>fhd)wKzJ+O24vdnW{;m7rJ`*e_#6* zN&e&yz8~dyHCQ!Fvpje|&5Ptch1cF)xm12MGm=ob@Q!^9A-@f6Dc|daw6L72veCdW zWs1E?P0{e4(bKi*fGUHgit}I+83?Y)cYA5t8sT)794C?Hrs+gQ-7Rt-XS>L6sJ70X z`+^MVbEdRLhA~@HE}qpPPjeGXTB&HcxRz$H;udl1>q|V5jl=b($)zGXOu8CZt+$3P zcu@hX6M>eYgLnzT6IaR)J>!e3M^Ai5=(5#g-`R%%s0ned96%p^Op_M39;f#zm>-{8 zM}Ra}&T>fKcKDNj{t~HldYvREnql$um*>=d0A$e~Vf>0f(6t%+c2)wB{@}5v@m*ys7Rx`TU=y~Zit|uQf zbKtve)%MYrwi!g)Yg*5w7w3F=583m$o_w5$9f@Hc$vBXzaq~zkvyEVrfx9XLGshq9 zsy1&Lv&q0WlL7kGiMLGOOb|QdRewQOY!d%WhZN+sd6BJP^W%5lan3(@>bqW+LI@)$ z{^H%YsrLINI3UWR#Y0Ww0UN5KiEVzjmQe<;#iS&ml!VaqbREfKLy$$_gg3fBp%Dc$ zqb=iY(|t{$0tnioH#QDKkRsrfpy^&94Pr2c7udAeppR?eY}tSrRMrR>vO^-L3?aR= zH{{BjWDJ*`1Lv@Y3+yu>l~2hv9GNVKtmg{V^9FlH2n}PO|KJcL9&zmulZrL3IC9>~ zA~37)R$491XeAa%X>2qq%h6}1vox`=a!p@*z!W)Fsy2X3lo8IXP^;)a@0l$trl%%j zkG23^85?r4u-I0s($0>?Azt7pvG7o`QQ6jEx2#~%WDc9c3~@^;*kMgqQxP`wrKqeo z{je|q)86Z#OF*#gSd`+7p>3W^t(F;8Rvb-1KMZwg+_g2E zLW|>}M#|YGLX5;CHo;)K0=9h~Yy|*+WyEDYM&)62L5@(f42ViPaR?YIfoHo+^O_OF zSVFmlvE7nj;ThE=q*57jrYtJ8r&^MkwD$%>x`sVPPoDYn$||jraOTs`M|w2f5p+4Y_Mtb6ci(6I9B;W;`zCB9`h$N}ZK`Dk=p>r1dP?OTRiA3flzv-{-Bt3{BinvB zX=Eh#PRzcJ7%1wC^Tg8(32IG6%t*4M z5*+7h3x-_ok%KUV!N#l?j3-PfjmEYrt~bP-Mnx($(dO5z(SIxpjGRd@?9_G)WJb&; z#F;#T!=e;x#xll)LdvULs3#@x>o}jd0i{!kOgOzHj7G1(v-j|~R^uYOk^}|}x{p3- zPp))m@}5fNXIq(Xx%k)r^7ViEFJ656G)+R>`tC`(im2Ne94~Z|UHpV=rd}@Idgp2@ z}@9RLBT*>prR6!AhqI%&0_Gjm>_K>->F)Z z%!zHG&TA@TA1#G4iYh~pByVTXHi?!?`@;lrj^kFR?mO^>BGWWuPMB26DcN+8)e4+; zs4?o+stFKmlQIaiqOmwK70RZ$CL_ozb1=Du)w-6wEcJF^Pi~ItZO;Smq8iO&{B}0K_!WPe;DJN;&^ne^ zig{+PVtT;N8A6>l&?X&V7hKTgfHAG?jbc4(B zEeNmPvKz1PRR?vRo>BE^)-TYH%@!UtjUQg9A3hzlci&zbZ)xZwVJ|>--_xxp?=U`d z>M(iw@h{&dR-YwjN5la#`tmD&wE5K!&(Zq31YRtD{04(3XUXB{kXGbPNwrQ){G}9q zp8A1@!boL)`31T^W&Ng`N})&a`Itgf*gdpflpqG ztdb_ZVAx&DIEQ&HLQ^@F7)YaUGzRA;p+GoZctf#M#1qj8y1C*zQ4E@ODdavSWvEHh z6(UlZ=h$(eZE57aOX_!nYHLSC$3vgz4%1*ytQ$0X%ak?c(Dw*o#mH=$!xm8(%Vv~s zXWY!qAPJl?SPmEUAkB)Q5;(j#h)#0vz`Bq#=e3B23%p3~Z#{J^OE%-g(wY$rGsdhE zKq%&eah19+$lQ*7s3+$dp$A!Y`&2L{+a`^c8j6O<%|D@_&eez#kW;BFGtekcJ2)CcAv0Tk3gYU!~rZYy9ofkHoxo?%U}{*6>5satT)>` zAp`W=bC=zz(T}g)gRZj!R!<0BXl~=CU+yw=7tFd4nA}}i3v%=y|JEtW$^ZG&H;c?P zt}KnEl}^(!3u2BE<8H}JS8ek+nK$glq%8IWzBHQ9 z5M?&v%_Y(b7D=QYmE4;YLsT_!kcg$5Gd(Iqgc*P8QA|iBi*2=sy+}@Jdo$yJeEiYuGJt$yzBa#6j+QN+4F_a%jd-Bq zGIyl1Iq~gsvFwEZ=3l7`Zn2I}mLv|w;UkdbJ~#jXAOJ~3K~zq<7zdXHa)3T+rnZeh z0jZ#+kJ!9S9ZweBSSD5@$tiD-nlvotW!13ci>ry?2TvTGVsNk}wKi}_ttup;o6>PO zwi9g*A#>V?B*Qu<2Q<^Dhnyt0%4z{9#ZV_)2tKoFRM>E$d16)k22~~+MIHwyfR{q* zvO*qb#t9~_3T#vr4XBWkj(A8VL@Fs^5KLx~u>qfj6nDZ1Qy7J6%Zg<9UvVu=pa{{8 zk;|KfzS!NuSwNDXo}%g`7In`cQI@4XRhz39|EfG?98zzQlY%2@@%QA+)u3uoFjSTX z-c-$P58so|^fETrNZNa*3UemR>{f)E*)7;gWVdg4w;%%>7q>P8`_`CqbZa9Vd5eQz z!1bC_BS*YR*ucgtp;Z0DIvMyu1-7M^j&cgZZ`E2XW)!2{bpI{0SI?!1ZiI$rkAS)0xr zCd%>73PD=1zRh&(ZU(a$OADp+z(dwd4GKv}k!P_=bF9NOZ(x^SU&1#NqFsoSk}D*u zL@T>R_)^?42ho+wsQ|Yyv=GFvf>_4k80&Ib_j!C$0|qwkNQ^W~4qlCy5Mf`dgBcsT zr%&MfnPg^^Rl6VV&0D_k0%7vO2lP_(lYgR14dD>YWbAhGa z+d=ikd16!arG>Y@+6N`FQMW`oiT9m#*cuLYNrdF?7

`BxQnH?j}tfkZgyd2F&oH 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%0AJs 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 literal 0 HcmV?d00001 diff --git a/Assets/Screenshots/GameView_20260608_154941.png.meta b/Assets/Screenshots/GameView_20260608_154941.png.meta new file mode 100644 index 0000000..cd785cb --- /dev/null +++ b/Assets/Screenshots/GameView_20260608_154941.png.meta @@ -0,0 +1,114 @@ +fileFormatVersion: 2 +guid: 1c13f1b3d49bf51489cf168d93784bd9 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 13 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + 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: 8 + 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: 1 + 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 + 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/_Game/Data/Combat/Projectiles.meta b/Assets/_Game/Data/Combat/Projectiles.meta new file mode 100644 index 0000000..80783d3 --- /dev/null +++ b/Assets/_Game/Data/Combat/Projectiles.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: ecd5a940b00a1754e9e90535d19955f6 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/_Game/Data/Combat/Projectiles/PROJ_Boomerang_Config.asset b/Assets/_Game/Data/Combat/Projectiles/PROJ_Boomerang_Config.asset new file mode 100644 index 0000000..7c0c402 --- /dev/null +++ b/Assets/_Game/Data/Combat/Projectiles/PROJ_Boomerang_Config.asset @@ -0,0 +1,23 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 34d03fe23f5830b4e8abbe28bfbb5e52, type: 3} + m_Name: PROJ_Boomerang_Config + m_EditorClassIdentifier: + DamageSource: {fileID: 11400000, guid: caae9c7600281fe4e8d8637fa3fd2ca1, type: 2} + Speed: 10 + Lifetime: 6 + LaunchAngleDeg: 0 + GravityScale: 0 + HomingStrength: 4 + PoolKey: PROJ_Boomerang + ParrySpeedMultiplier: 1.2 + ParryDamageMultiplier: 2 diff --git a/Assets/_Game/Data/Combat/Projectiles/PROJ_Boomerang_Config.asset.meta b/Assets/_Game/Data/Combat/Projectiles/PROJ_Boomerang_Config.asset.meta new file mode 100644 index 0000000..93a0ab8 --- /dev/null +++ b/Assets/_Game/Data/Combat/Projectiles/PROJ_Boomerang_Config.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 368c944b48f7f254abf7273b489a5de8 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/_Game/Data/Combat/Projectiles/PROJ_FeiZhi_Acid_Config.asset b/Assets/_Game/Data/Combat/Projectiles/PROJ_FeiZhi_Acid_Config.asset new file mode 100644 index 0000000..1fdc527 --- /dev/null +++ b/Assets/_Game/Data/Combat/Projectiles/PROJ_FeiZhi_Acid_Config.asset @@ -0,0 +1,23 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 34d03fe23f5830b4e8abbe28bfbb5e52, type: 3} + m_Name: PROJ_FeiZhi_Acid_Config + m_EditorClassIdentifier: + DamageSource: {fileID: 11400000, guid: caae9c7600281fe4e8d8637fa3fd2ca1, type: 2} + Speed: 9 + Lifetime: 4 + LaunchAngleDeg: 45 + GravityScale: 1 + HomingStrength: 4 + PoolKey: PROJ_FeiZhi_Acid + ParrySpeedMultiplier: 1.2 + ParryDamageMultiplier: 2 diff --git a/Assets/_Game/Data/Combat/Projectiles/PROJ_FeiZhi_Acid_Config.asset.meta b/Assets/_Game/Data/Combat/Projectiles/PROJ_FeiZhi_Acid_Config.asset.meta new file mode 100644 index 0000000..0babdb8 --- /dev/null +++ b/Assets/_Game/Data/Combat/Projectiles/PROJ_FeiZhi_Acid_Config.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 9d2f30bef133efe458ed2113b1e17d15 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/_Game/Data/Combat/Projectiles/PROJ_TornadoLarge_Config.asset b/Assets/_Game/Data/Combat/Projectiles/PROJ_TornadoLarge_Config.asset new file mode 100644 index 0000000..ab7074f --- /dev/null +++ b/Assets/_Game/Data/Combat/Projectiles/PROJ_TornadoLarge_Config.asset @@ -0,0 +1,23 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 34d03fe23f5830b4e8abbe28bfbb5e52, type: 3} + m_Name: PROJ_TornadoLarge_Config + m_EditorClassIdentifier: + DamageSource: {fileID: 11400000, guid: caae9c7600281fe4e8d8637fa3fd2ca1, type: 2} + Speed: 0 + Lifetime: 5 + LaunchAngleDeg: 0 + GravityScale: 0 + HomingStrength: 4 + PoolKey: PROJ_TornadoLarge + ParrySpeedMultiplier: 1.2 + ParryDamageMultiplier: 2 diff --git a/Assets/_Game/Data/Combat/Projectiles/PROJ_TornadoLarge_Config.asset.meta b/Assets/_Game/Data/Combat/Projectiles/PROJ_TornadoLarge_Config.asset.meta new file mode 100644 index 0000000..da6852b --- /dev/null +++ b/Assets/_Game/Data/Combat/Projectiles/PROJ_TornadoLarge_Config.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 8677a7cb58cf7a0499c5f7592237c456 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/_Game/Data/Combat/Projectiles/PROJ_TornadoSmall_Config.asset b/Assets/_Game/Data/Combat/Projectiles/PROJ_TornadoSmall_Config.asset new file mode 100644 index 0000000..a917ad6 --- /dev/null +++ b/Assets/_Game/Data/Combat/Projectiles/PROJ_TornadoSmall_Config.asset @@ -0,0 +1,23 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 34d03fe23f5830b4e8abbe28bfbb5e52, type: 3} + m_Name: PROJ_TornadoSmall_Config + m_EditorClassIdentifier: + DamageSource: {fileID: 11400000, guid: caae9c7600281fe4e8d8637fa3fd2ca1, type: 2} + Speed: 7 + Lifetime: 4 + LaunchAngleDeg: 0 + GravityScale: 0 + HomingStrength: 4 + PoolKey: PROJ_TornadoSmall + ParrySpeedMultiplier: 1.2 + ParryDamageMultiplier: 2 diff --git a/Assets/_Game/Data/Combat/Projectiles/PROJ_TornadoSmall_Config.asset.meta b/Assets/_Game/Data/Combat/Projectiles/PROJ_TornadoSmall_Config.asset.meta new file mode 100644 index 0000000..1fddacd --- /dev/null +++ b/Assets/_Game/Data/Combat/Projectiles/PROJ_TornadoSmall_Config.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 437473018d038ad4c9205a6dba568f94 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/_Game/Data/Combat/Projectiles/PROJ_WindStone_Config.asset b/Assets/_Game/Data/Combat/Projectiles/PROJ_WindStone_Config.asset new file mode 100644 index 0000000..e499d07 --- /dev/null +++ b/Assets/_Game/Data/Combat/Projectiles/PROJ_WindStone_Config.asset @@ -0,0 +1,23 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 34d03fe23f5830b4e8abbe28bfbb5e52, type: 3} + m_Name: PROJ_WindStone_Config + m_EditorClassIdentifier: + DamageSource: {fileID: 11400000, guid: caae9c7600281fe4e8d8637fa3fd2ca1, type: 2} + Speed: 6 + Lifetime: 4 + LaunchAngleDeg: -90 + GravityScale: 2.5 + HomingStrength: 4 + PoolKey: PROJ_WindStone + ParrySpeedMultiplier: 1.2 + ParryDamageMultiplier: 2 diff --git a/Assets/_Game/Data/Combat/Projectiles/PROJ_WindStone_Config.asset.meta b/Assets/_Game/Data/Combat/Projectiles/PROJ_WindStone_Config.asset.meta new file mode 100644 index 0000000..8dc4171 --- /dev/null +++ b/Assets/_Game/Data/Combat/Projectiles/PROJ_WindStone_Config.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 54a8109b6ebe8d64491e292718261031 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/_Game/Data/Combat/Projectiles/PROJ_ZhiMu_Acid_Config.asset b/Assets/_Game/Data/Combat/Projectiles/PROJ_ZhiMu_Acid_Config.asset new file mode 100644 index 0000000..bcfe846 --- /dev/null +++ b/Assets/_Game/Data/Combat/Projectiles/PROJ_ZhiMu_Acid_Config.asset @@ -0,0 +1,23 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 34d03fe23f5830b4e8abbe28bfbb5e52, type: 3} + m_Name: PROJ_ZhiMu_Acid_Config + m_EditorClassIdentifier: + DamageSource: {fileID: 11400000, guid: caae9c7600281fe4e8d8637fa3fd2ca1, type: 2} + Speed: 9 + Lifetime: 4 + LaunchAngleDeg: 45 + GravityScale: 1 + HomingStrength: 4 + PoolKey: PROJ_ZhiMu_Acid + ParrySpeedMultiplier: 1.2 + ParryDamageMultiplier: 2 diff --git a/Assets/_Game/Data/Combat/Projectiles/PROJ_ZhiMu_Acid_Config.asset.meta b/Assets/_Game/Data/Combat/Projectiles/PROJ_ZhiMu_Acid_Config.asset.meta new file mode 100644 index 0000000..e10df23 --- /dev/null +++ b/Assets/_Game/Data/Combat/Projectiles/PROJ_ZhiMu_Acid_Config.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 347d33b1a5698d148a281e7e77a83886 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/_Game/Data/Enemies/ChaoFeng.meta b/Assets/_Game/Data/Enemies/ChaoFeng.meta new file mode 100644 index 0000000..e0d7e89 --- /dev/null +++ b/Assets/_Game/Data/Enemies/ChaoFeng.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 924b53b1d7324c74bba05c41fc4c8ac6 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/_Game/Data/Enemies/ChaoFeng/Abilities.meta b/Assets/_Game/Data/Enemies/ChaoFeng/Abilities.meta new file mode 100644 index 0000000..fbe63af --- /dev/null +++ b/Assets/_Game/Data/Enemies/ChaoFeng/Abilities.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 9beaa5af50f8dce428f027e548d67ddf +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/_Game/Data/Boss/Skills/ABL_Boss_Chaofeng.asset b/Assets/_Game/Data/Enemies/ChaoFeng/Abilities/ABL_ChaoFeng_Boomerang.asset similarity index 86% rename from Assets/_Game/Data/Boss/Skills/ABL_Boss_Chaofeng.asset rename to Assets/_Game/Data/Enemies/ChaoFeng/Abilities/ABL_ChaoFeng_Boomerang.asset index 2cb6fbe..1743b35 100644 --- a/Assets/_Game/Data/Boss/Skills/ABL_Boss_Chaofeng.asset +++ b/Assets/_Game/Data/Enemies/ChaoFeng/Abilities/ABL_ChaoFeng_Boomerang.asset @@ -10,14 +10,14 @@ MonoBehaviour: m_Enabled: 1 m_EditorHideFlags: 0 m_Script: {fileID: 11500000, guid: de92221c7c3fb4a42a7cd122a8f97632, type: 3} - m_Name: ABL_Boss_Chaofeng + m_Name: ABL_ChaoFeng_Boomerang m_EditorClassIdentifier: - skillId: - displayName: + skillId: boomerang + displayName: Boomerang designNote: category: 0 skillType: 0 - availablePhaseIndices: + availablePhaseIndices: 00000000 attackPatterns: [] vulnerabilityWindows: [] interactionTags: 0 @@ -35,7 +35,7 @@ MonoBehaviour: NormalizedStart: 0 NormalizedEnd: 0 skillAnimation: - _FadeDuration: 0 + _FadeDuration: 0.25 _Speed: 1 _Events: _NormalizedTimes: [] @@ -44,6 +44,7 @@ MonoBehaviour: _Clip: {fileID: 0} _NormalizedStartTime: NaN cooldown: 0 + weight: 1 references: version: 2 RefIds: [] diff --git a/Assets/_Game/Data/Enemies/ChaoFeng/Abilities/ABL_ChaoFeng_Boomerang.asset.meta b/Assets/_Game/Data/Enemies/ChaoFeng/Abilities/ABL_ChaoFeng_Boomerang.asset.meta new file mode 100644 index 0000000..6b63e4e --- /dev/null +++ b/Assets/_Game/Data/Enemies/ChaoFeng/Abilities/ABL_ChaoFeng_Boomerang.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 6076c1b736f69af4c9048d9d4e7ec768 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/_Game/Data/Enemies/ChaoFeng/Abilities/ABL_ChaoFeng_FanCombo.asset b/Assets/_Game/Data/Enemies/ChaoFeng/Abilities/ABL_ChaoFeng_FanCombo.asset new file mode 100644 index 0000000..73349e4 --- /dev/null +++ b/Assets/_Game/Data/Enemies/ChaoFeng/Abilities/ABL_ChaoFeng_FanCombo.asset @@ -0,0 +1,50 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: de92221c7c3fb4a42a7cd122a8f97632, type: 3} + m_Name: ABL_ChaoFeng_FanCombo + m_EditorClassIdentifier: + skillId: fan_combo + displayName: FanCombo + designNote: + category: 0 + skillType: 0 + availablePhaseIndices: 00000000 + attackPatterns: [] + vulnerabilityWindows: [] + interactionTags: 0 + sequenceOnHit: {fileID: 0} + sequenceOnMiss: {fileID: 0} + counterResponses: [] + arenaEvents: [] + resourceCost: + resourceId: + cost: 0 + minRequired: 0 + buildsRage: 0 + poiseWindow: + Level: 0 + NormalizedStart: 0 + NormalizedEnd: 0 + skillAnimation: + _FadeDuration: 0.25 + _Speed: 1 + _Events: + _NormalizedTimes: [] + _Callbacks: [] + _Names: [] + _Clip: {fileID: 0} + _NormalizedStartTime: NaN + cooldown: 0 + weight: 1.5 + references: + version: 2 + RefIds: [] diff --git a/Assets/_Game/Data/Enemies/ChaoFeng/Abilities/ABL_ChaoFeng_FanCombo.asset.meta b/Assets/_Game/Data/Enemies/ChaoFeng/Abilities/ABL_ChaoFeng_FanCombo.asset.meta new file mode 100644 index 0000000..218a738 --- /dev/null +++ b/Assets/_Game/Data/Enemies/ChaoFeng/Abilities/ABL_ChaoFeng_FanCombo.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: b13d174edfd74654188f1cd08f072123 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/_Game/Data/Enemies/ChaoFeng/Abilities/ABL_ChaoFeng_TornadoLarge.asset b/Assets/_Game/Data/Enemies/ChaoFeng/Abilities/ABL_ChaoFeng_TornadoLarge.asset new file mode 100644 index 0000000..eaf3aee --- /dev/null +++ b/Assets/_Game/Data/Enemies/ChaoFeng/Abilities/ABL_ChaoFeng_TornadoLarge.asset @@ -0,0 +1,50 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: de92221c7c3fb4a42a7cd122a8f97632, type: 3} + m_Name: ABL_ChaoFeng_TornadoLarge + m_EditorClassIdentifier: + skillId: tornado_large + displayName: TornadoLarge + designNote: + category: 0 + skillType: 0 + availablePhaseIndices: 00000000 + attackPatterns: [] + vulnerabilityWindows: [] + interactionTags: 0 + sequenceOnHit: {fileID: 0} + sequenceOnMiss: {fileID: 0} + counterResponses: [] + arenaEvents: [] + resourceCost: + resourceId: + cost: 0 + minRequired: 0 + buildsRage: 0 + poiseWindow: + Level: 0 + NormalizedStart: 0 + NormalizedEnd: 0 + skillAnimation: + _FadeDuration: 0.25 + _Speed: 1 + _Events: + _NormalizedTimes: [] + _Callbacks: [] + _Names: [] + _Clip: {fileID: 0} + _NormalizedStartTime: NaN + cooldown: 0 + weight: 0.8 + references: + version: 2 + RefIds: [] diff --git a/Assets/_Game/Data/Enemies/ChaoFeng/Abilities/ABL_ChaoFeng_TornadoLarge.asset.meta b/Assets/_Game/Data/Enemies/ChaoFeng/Abilities/ABL_ChaoFeng_TornadoLarge.asset.meta new file mode 100644 index 0000000..a39bd53 --- /dev/null +++ b/Assets/_Game/Data/Enemies/ChaoFeng/Abilities/ABL_ChaoFeng_TornadoLarge.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 27037bf4ed7188741ba55bb82fdd8fa9 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/_Game/Data/Enemies/ChaoFeng/Abilities/ABL_ChaoFeng_TornadoSmall.asset b/Assets/_Game/Data/Enemies/ChaoFeng/Abilities/ABL_ChaoFeng_TornadoSmall.asset new file mode 100644 index 0000000..e808ecc --- /dev/null +++ b/Assets/_Game/Data/Enemies/ChaoFeng/Abilities/ABL_ChaoFeng_TornadoSmall.asset @@ -0,0 +1,50 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: de92221c7c3fb4a42a7cd122a8f97632, type: 3} + m_Name: ABL_ChaoFeng_TornadoSmall + m_EditorClassIdentifier: + skillId: tornado_small + displayName: TornadoSmall + designNote: + category: 0 + skillType: 0 + availablePhaseIndices: 00000000 + attackPatterns: [] + vulnerabilityWindows: [] + interactionTags: 0 + sequenceOnHit: {fileID: 0} + sequenceOnMiss: {fileID: 0} + counterResponses: [] + arenaEvents: [] + resourceCost: + resourceId: + cost: 0 + minRequired: 0 + buildsRage: 0 + poiseWindow: + Level: 0 + NormalizedStart: 0 + NormalizedEnd: 0 + skillAnimation: + _FadeDuration: 0.25 + _Speed: 1 + _Events: + _NormalizedTimes: [] + _Callbacks: [] + _Names: [] + _Clip: {fileID: 0} + _NormalizedStartTime: NaN + cooldown: 0 + weight: 1.2 + references: + version: 2 + RefIds: [] diff --git a/Assets/_Game/Data/Enemies/ChaoFeng/Abilities/ABL_ChaoFeng_TornadoSmall.asset.meta b/Assets/_Game/Data/Enemies/ChaoFeng/Abilities/ABL_ChaoFeng_TornadoSmall.asset.meta new file mode 100644 index 0000000..83a78a6 --- /dev/null +++ b/Assets/_Game/Data/Enemies/ChaoFeng/Abilities/ABL_ChaoFeng_TornadoSmall.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 7cb2926dd5b97e64b9e37f07124ae307 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/_Game/Data/Enemies/ChaoFeng/Abilities/ABL_ChaoFeng_WindStone.asset b/Assets/_Game/Data/Enemies/ChaoFeng/Abilities/ABL_ChaoFeng_WindStone.asset new file mode 100644 index 0000000..ba43f77 --- /dev/null +++ b/Assets/_Game/Data/Enemies/ChaoFeng/Abilities/ABL_ChaoFeng_WindStone.asset @@ -0,0 +1,50 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: de92221c7c3fb4a42a7cd122a8f97632, type: 3} + m_Name: ABL_ChaoFeng_WindStone + m_EditorClassIdentifier: + skillId: wind_stone + displayName: WindStone + designNote: + category: 0 + skillType: 0 + availablePhaseIndices: 01000000 + attackPatterns: [] + vulnerabilityWindows: [] + interactionTags: 0 + sequenceOnHit: {fileID: 0} + sequenceOnMiss: {fileID: 0} + counterResponses: [] + arenaEvents: [] + resourceCost: + resourceId: + cost: 0 + minRequired: 0 + buildsRage: 0 + poiseWindow: + Level: 0 + NormalizedStart: 0 + NormalizedEnd: 0 + skillAnimation: + _FadeDuration: 0.25 + _Speed: 1 + _Events: + _NormalizedTimes: [] + _Callbacks: [] + _Names: [] + _Clip: {fileID: 0} + _NormalizedStartTime: NaN + cooldown: 0 + weight: 1 + references: + version: 2 + RefIds: [] diff --git a/Assets/_Game/Data/Enemies/ChaoFeng/Abilities/ABL_ChaoFeng_WindStone.asset.meta b/Assets/_Game/Data/Enemies/ChaoFeng/Abilities/ABL_ChaoFeng_WindStone.asset.meta new file mode 100644 index 0000000..4bf6f05 --- /dev/null +++ b/Assets/_Game/Data/Enemies/ChaoFeng/Abilities/ABL_ChaoFeng_WindStone.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 02b79b9dc903c824786ed3cc3c3e225e +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/_Game/Data/Enemies/ChaoFeng/ENM_ChaoFeng_AnimConfig.asset b/Assets/_Game/Data/Enemies/ChaoFeng/ENM_ChaoFeng_AnimConfig.asset new file mode 100644 index 0000000..996ce69 --- /dev/null +++ b/Assets/_Game/Data/Enemies/ChaoFeng/ENM_ChaoFeng_AnimConfig.asset @@ -0,0 +1,25 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f7dd720bca19fcc49b22106fb65f7652, type: 3} + m_Name: ENM_ChaoFeng_AnimConfig + m_EditorClassIdentifier: + Idle: {fileID: 0} + Walk: {fileID: 0} + Run: {fileID: 0} + Turn: {fileID: 0} + Attack: {fileID: 0} + Hurt: {fileID: 0} + Stagger: {fileID: 0} + KnockUp: {fileID: 0} + Dead: {fileID: 0} + Alert: {fileID: 0} + Investigate: {fileID: 0} diff --git a/Assets/_Game/Data/Enemies/ChaoFeng/ENM_ChaoFeng_AnimConfig.asset.meta b/Assets/_Game/Data/Enemies/ChaoFeng/ENM_ChaoFeng_AnimConfig.asset.meta new file mode 100644 index 0000000..39055c5 --- /dev/null +++ b/Assets/_Game/Data/Enemies/ChaoFeng/ENM_ChaoFeng_AnimConfig.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: c0216d0b27f9d09499a7c7485cb044d2 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/_Game/Data/Enemies/ChaoFeng/ENM_ChaoFeng_Stats.asset b/Assets/_Game/Data/Enemies/ChaoFeng/ENM_ChaoFeng_Stats.asset new file mode 100644 index 0000000..0bb5747 --- /dev/null +++ b/Assets/_Game/Data/Enemies/ChaoFeng/ENM_ChaoFeng_Stats.asset @@ -0,0 +1,41 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ed4391dfa14c0304c8932f1ef9f8ce63, type: 3} + m_Name: ENM_ChaoFeng_Stats + m_EditorClassIdentifier: + MaxHP: 50 + Defense: 0 + WalkSpeed: 2 + RunSpeed: 4 + AttackDamage: 10 + AttackRange: 1.5 + AttackCooldown: 1 + DetectRange: 6 + MaxChaseDistance: 15 + LoseLinkTimeout: 2 + AlertDuration: 0.6 + InvestigateDuration: 3 + HomeRadius: 0.5 + KnockbackForce: 5 + HitStunDuration: 0.3 + HitTiers: + heavyHitThreshold: 0 + launchThreshold: 0 + launchUpForce: 0 + launchHorzForce: 0 + knockUpDuration: 0 + EyeOffset: {x: 0, y: 0.8} + LOSBlockingMask: + serializedVersion: 2 + m_Bits: 1 + DetectAngleDeg: 0 + AlertBroadcastRadius: 0 diff --git a/Assets/_Game/Data/Enemies/ChaoFeng/ENM_ChaoFeng_Stats.asset.meta b/Assets/_Game/Data/Enemies/ChaoFeng/ENM_ChaoFeng_Stats.asset.meta new file mode 100644 index 0000000..f0052ed --- /dev/null +++ b/Assets/_Game/Data/Enemies/ChaoFeng/ENM_ChaoFeng_Stats.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: e921dd14e2848404f8418f423fbd4243 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/_Game/Data/Enemies/E002.meta b/Assets/_Game/Data/Enemies/E002.meta new file mode 100644 index 0000000..a41201b --- /dev/null +++ b/Assets/_Game/Data/Enemies/E002.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 215115dfd334c8343928dc7ed8ed9c36 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/_Game/Data/Enemies/E002/Abilities.meta b/Assets/_Game/Data/Enemies/E002/Abilities.meta new file mode 100644 index 0000000..62d4ced --- /dev/null +++ b/Assets/_Game/Data/Enemies/E002/Abilities.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: df1d9d27668525644b8838f75ffd86d1 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/_Game/Data/Enemies/E002/Abilities/ABL_E002_CeilingStrike.asset b/Assets/_Game/Data/Enemies/E002/Abilities/ABL_E002_CeilingStrike.asset new file mode 100644 index 0000000..ffe21e2 --- /dev/null +++ b/Assets/_Game/Data/Enemies/E002/Abilities/ABL_E002_CeilingStrike.asset @@ -0,0 +1,27 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9050afa76362dff469c64fbb48c9ff8d, type: 3} + m_Name: ABL_E002_CeilingStrike + m_EditorClassIdentifier: + abilityId: e002_ceiling_strike + attackSequence: [] + cooldown: 1.5 + telegraphVfxKey: + telegraphDuration: 0 + interruptOnHurt: 1 + interruptOnStagger: 1 + preferredMinRange: 0 + preferredMaxRange: 5 + requiresLineOfSight: 1 + requiresGrounded: 1 + exclusionGroup: + priority: 0 diff --git a/Assets/_Game/Data/Enemies/E002/Abilities/ABL_E002_CeilingStrike.asset.meta b/Assets/_Game/Data/Enemies/E002/Abilities/ABL_E002_CeilingStrike.asset.meta new file mode 100644 index 0000000..cbeab3c --- /dev/null +++ b/Assets/_Game/Data/Enemies/E002/Abilities/ABL_E002_CeilingStrike.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 9094c0fd7780aca488db9408bec2323e +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/_Game/Data/Enemies/E002/ENM_E002_AnimConfig.asset b/Assets/_Game/Data/Enemies/E002/ENM_E002_AnimConfig.asset new file mode 100644 index 0000000..a9d9057 --- /dev/null +++ b/Assets/_Game/Data/Enemies/E002/ENM_E002_AnimConfig.asset @@ -0,0 +1,25 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f7dd720bca19fcc49b22106fb65f7652, type: 3} + m_Name: ENM_E002_AnimConfig + m_EditorClassIdentifier: + Idle: {fileID: 0} + Walk: {fileID: 0} + Run: {fileID: 0} + Turn: {fileID: 0} + Attack: {fileID: 0} + Hurt: {fileID: 0} + Stagger: {fileID: 0} + KnockUp: {fileID: 0} + Dead: {fileID: 0} + Alert: {fileID: 0} + Investigate: {fileID: 0} diff --git a/Assets/_Game/Data/Enemies/E002/ENM_E002_AnimConfig.asset.meta b/Assets/_Game/Data/Enemies/E002/ENM_E002_AnimConfig.asset.meta new file mode 100644 index 0000000..f661413 --- /dev/null +++ b/Assets/_Game/Data/Enemies/E002/ENM_E002_AnimConfig.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: ffe2c8557c1f3d740b9518172c47a725 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/_Game/Data/Enemies/E002/ENM_E002_Stats.asset b/Assets/_Game/Data/Enemies/E002/ENM_E002_Stats.asset new file mode 100644 index 0000000..7fb9f76 --- /dev/null +++ b/Assets/_Game/Data/Enemies/E002/ENM_E002_Stats.asset @@ -0,0 +1,41 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ed4391dfa14c0304c8932f1ef9f8ce63, type: 3} + m_Name: ENM_E002_Stats + m_EditorClassIdentifier: + MaxHP: 50 + Defense: 0 + WalkSpeed: 2 + RunSpeed: 4 + AttackDamage: 10 + AttackRange: 1.5 + AttackCooldown: 1 + DetectRange: 6 + MaxChaseDistance: 15 + LoseLinkTimeout: 2 + AlertDuration: 0.6 + InvestigateDuration: 3 + HomeRadius: 0.5 + KnockbackForce: 5 + HitStunDuration: 0.3 + HitTiers: + heavyHitThreshold: 0 + launchThreshold: 0 + launchUpForce: 0 + launchHorzForce: 0 + knockUpDuration: 0 + EyeOffset: {x: 0, y: 0.8} + LOSBlockingMask: + serializedVersion: 2 + m_Bits: 1 + DetectAngleDeg: 0 + AlertBroadcastRadius: 0 diff --git a/Assets/_Game/Data/Enemies/E002/ENM_E002_Stats.asset.meta b/Assets/_Game/Data/Enemies/E002/ENM_E002_Stats.asset.meta new file mode 100644 index 0000000..49d3a41 --- /dev/null +++ b/Assets/_Game/Data/Enemies/E002/ENM_E002_Stats.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 05814ecfd4222a44a8d8ef0fd57e49a5 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/_Game/Data/Enemies/E003.meta b/Assets/_Game/Data/Enemies/E003.meta new file mode 100644 index 0000000..c8a71e8 --- /dev/null +++ b/Assets/_Game/Data/Enemies/E003.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 42a0211058e56d54c835bb12e020b26a +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/_Game/Data/Enemies/E003/Abilities.meta b/Assets/_Game/Data/Enemies/E003/Abilities.meta new file mode 100644 index 0000000..e61b3d0 --- /dev/null +++ b/Assets/_Game/Data/Enemies/E003/Abilities.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: c505e682c27726741a49d2a96ad6e017 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/_Game/Data/Enemies/E003/Abilities/ABL_E003_Fall.asset b/Assets/_Game/Data/Enemies/E003/Abilities/ABL_E003_Fall.asset new file mode 100644 index 0000000..afcd599 --- /dev/null +++ b/Assets/_Game/Data/Enemies/E003/Abilities/ABL_E003_Fall.asset @@ -0,0 +1,27 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9050afa76362dff469c64fbb48c9ff8d, type: 3} + m_Name: ABL_E003_Fall + m_EditorClassIdentifier: + abilityId: e003_fall + attackSequence: [] + cooldown: 1.5 + telegraphVfxKey: + telegraphDuration: 0 + interruptOnHurt: 1 + interruptOnStagger: 1 + preferredMinRange: 0 + preferredMaxRange: 5 + requiresLineOfSight: 1 + requiresGrounded: 1 + exclusionGroup: + priority: 0 diff --git a/Assets/_Game/Data/Enemies/E003/Abilities/ABL_E003_Fall.asset.meta b/Assets/_Game/Data/Enemies/E003/Abilities/ABL_E003_Fall.asset.meta new file mode 100644 index 0000000..2cb0f35 --- /dev/null +++ b/Assets/_Game/Data/Enemies/E003/Abilities/ABL_E003_Fall.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 85b5fb5f084da5b4891b55ccdf59fe5a +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/_Game/Data/Enemies/E003/ENM_E003_AnimConfig.asset b/Assets/_Game/Data/Enemies/E003/ENM_E003_AnimConfig.asset new file mode 100644 index 0000000..225e973 --- /dev/null +++ b/Assets/_Game/Data/Enemies/E003/ENM_E003_AnimConfig.asset @@ -0,0 +1,25 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f7dd720bca19fcc49b22106fb65f7652, type: 3} + m_Name: ENM_E003_AnimConfig + m_EditorClassIdentifier: + Idle: {fileID: 0} + Walk: {fileID: 0} + Run: {fileID: 0} + Turn: {fileID: 0} + Attack: {fileID: 0} + Hurt: {fileID: 0} + Stagger: {fileID: 0} + KnockUp: {fileID: 0} + Dead: {fileID: 0} + Alert: {fileID: 0} + Investigate: {fileID: 0} diff --git a/Assets/_Game/Data/Enemies/E003/ENM_E003_AnimConfig.asset.meta b/Assets/_Game/Data/Enemies/E003/ENM_E003_AnimConfig.asset.meta new file mode 100644 index 0000000..a662060 --- /dev/null +++ b/Assets/_Game/Data/Enemies/E003/ENM_E003_AnimConfig.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: d952eb2afa4e3c444ab526cd8c17101e +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/_Game/Data/Enemies/E003/ENM_E003_Stats.asset b/Assets/_Game/Data/Enemies/E003/ENM_E003_Stats.asset new file mode 100644 index 0000000..0a18eed --- /dev/null +++ b/Assets/_Game/Data/Enemies/E003/ENM_E003_Stats.asset @@ -0,0 +1,41 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ed4391dfa14c0304c8932f1ef9f8ce63, type: 3} + m_Name: ENM_E003_Stats + m_EditorClassIdentifier: + MaxHP: 50 + Defense: 0 + WalkSpeed: 2 + RunSpeed: 4 + AttackDamage: 10 + AttackRange: 1.5 + AttackCooldown: 1 + DetectRange: 6 + MaxChaseDistance: 15 + LoseLinkTimeout: 2 + AlertDuration: 0.6 + InvestigateDuration: 3 + HomeRadius: 0.5 + KnockbackForce: 5 + HitStunDuration: 0.3 + HitTiers: + heavyHitThreshold: 0 + launchThreshold: 0 + launchUpForce: 0 + launchHorzForce: 0 + knockUpDuration: 0 + EyeOffset: {x: 0, y: 0.8} + LOSBlockingMask: + serializedVersion: 2 + m_Bits: 1 + DetectAngleDeg: 0 + AlertBroadcastRadius: 0 diff --git a/Assets/_Game/Data/Enemies/E003/ENM_E003_Stats.asset.meta b/Assets/_Game/Data/Enemies/E003/ENM_E003_Stats.asset.meta new file mode 100644 index 0000000..42baeae --- /dev/null +++ b/Assets/_Game/Data/Enemies/E003/ENM_E003_Stats.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 2e20aefeac08baa498e6f2153c812406 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/_Game/Data/Enemies/E004.meta b/Assets/_Game/Data/Enemies/E004.meta new file mode 100644 index 0000000..7d34af4 --- /dev/null +++ b/Assets/_Game/Data/Enemies/E004.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 68dd1bd5d926aa4488f1d3c67bc88969 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/_Game/Data/Enemies/E004/Abilities.meta b/Assets/_Game/Data/Enemies/E004/Abilities.meta new file mode 100644 index 0000000..4da6d70 --- /dev/null +++ b/Assets/_Game/Data/Enemies/E004/Abilities.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 131b1cbe257c0df4490914d60dd9d45b +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/_Game/Data/Enemies/E004/Abilities/ABL_E004_Acid.asset b/Assets/_Game/Data/Enemies/E004/Abilities/ABL_E004_Acid.asset new file mode 100644 index 0000000..faba0db --- /dev/null +++ b/Assets/_Game/Data/Enemies/E004/Abilities/ABL_E004_Acid.asset @@ -0,0 +1,28 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9050afa76362dff469c64fbb48c9ff8d, type: 3} + m_Name: ABL_E004_Acid + m_EditorClassIdentifier: + abilityId: e004_acid + attackSequence: + - {fileID: 11400000, guid: b0bce0e3cbc007842a69b60d6cf12792, type: 2} + cooldown: 1.5 + telegraphVfxKey: + telegraphDuration: 0 + interruptOnHurt: 1 + interruptOnStagger: 1 + preferredMinRange: 0 + preferredMaxRange: 5 + requiresLineOfSight: 1 + requiresGrounded: 1 + exclusionGroup: + priority: 0 diff --git a/Assets/_Game/Data/Enemies/E004/Abilities/ABL_E004_Acid.asset.meta b/Assets/_Game/Data/Enemies/E004/Abilities/ABL_E004_Acid.asset.meta new file mode 100644 index 0000000..985f439 --- /dev/null +++ b/Assets/_Game/Data/Enemies/E004/Abilities/ABL_E004_Acid.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: d9537ac857760e541aabf05f7b519e84 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/_Game/Data/Enemies/E004/Abilities/ABL_E004_Appear.asset b/Assets/_Game/Data/Enemies/E004/Abilities/ABL_E004_Appear.asset new file mode 100644 index 0000000..14cd37e --- /dev/null +++ b/Assets/_Game/Data/Enemies/E004/Abilities/ABL_E004_Appear.asset @@ -0,0 +1,27 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9050afa76362dff469c64fbb48c9ff8d, type: 3} + m_Name: ABL_E004_Appear + m_EditorClassIdentifier: + abilityId: e004_appear + attackSequence: [] + cooldown: 1.5 + telegraphVfxKey: + telegraphDuration: 0 + interruptOnHurt: 1 + interruptOnStagger: 1 + preferredMinRange: 0 + preferredMaxRange: 5 + requiresLineOfSight: 1 + requiresGrounded: 1 + exclusionGroup: + priority: 0 diff --git a/Assets/_Game/Data/Enemies/E004/Abilities/ABL_E004_Appear.asset.meta b/Assets/_Game/Data/Enemies/E004/Abilities/ABL_E004_Appear.asset.meta new file mode 100644 index 0000000..634d891 --- /dev/null +++ b/Assets/_Game/Data/Enemies/E004/Abilities/ABL_E004_Appear.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: b99aa7c679fcecd49871bfec9439b96a +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/_Game/Data/Enemies/E004/Abilities/ABL_E004_Bite.asset b/Assets/_Game/Data/Enemies/E004/Abilities/ABL_E004_Bite.asset new file mode 100644 index 0000000..15de9e8 --- /dev/null +++ b/Assets/_Game/Data/Enemies/E004/Abilities/ABL_E004_Bite.asset @@ -0,0 +1,27 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9050afa76362dff469c64fbb48c9ff8d, type: 3} + m_Name: ABL_E004_Bite + m_EditorClassIdentifier: + abilityId: e004_bite + attackSequence: [] + cooldown: 1.5 + telegraphVfxKey: + telegraphDuration: 0 + interruptOnHurt: 1 + interruptOnStagger: 1 + preferredMinRange: 0 + preferredMaxRange: 5 + requiresLineOfSight: 1 + requiresGrounded: 1 + exclusionGroup: + priority: 0 diff --git a/Assets/_Game/Data/Enemies/E004/Abilities/ABL_E004_Bite.asset.meta b/Assets/_Game/Data/Enemies/E004/Abilities/ABL_E004_Bite.asset.meta new file mode 100644 index 0000000..4b60430 --- /dev/null +++ b/Assets/_Game/Data/Enemies/E004/Abilities/ABL_E004_Bite.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: cff0e3da4be26be42a3b3332c085bdfc +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/_Game/Data/Enemies/E004/Abilities/ABL_E004_Flip.asset b/Assets/_Game/Data/Enemies/E004/Abilities/ABL_E004_Flip.asset new file mode 100644 index 0000000..f06c0a4 --- /dev/null +++ b/Assets/_Game/Data/Enemies/E004/Abilities/ABL_E004_Flip.asset @@ -0,0 +1,27 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9050afa76362dff469c64fbb48c9ff8d, type: 3} + m_Name: ABL_E004_Flip + m_EditorClassIdentifier: + abilityId: e004_flip + attackSequence: [] + cooldown: 1.5 + telegraphVfxKey: + telegraphDuration: 0 + interruptOnHurt: 1 + interruptOnStagger: 1 + preferredMinRange: 0 + preferredMaxRange: 5 + requiresLineOfSight: 1 + requiresGrounded: 1 + exclusionGroup: + priority: 0 diff --git a/Assets/_Game/Data/Enemies/E004/Abilities/ABL_E004_Flip.asset.meta b/Assets/_Game/Data/Enemies/E004/Abilities/ABL_E004_Flip.asset.meta new file mode 100644 index 0000000..088760f --- /dev/null +++ b/Assets/_Game/Data/Enemies/E004/Abilities/ABL_E004_Flip.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: c43ff9a2528259b48aa83f9f950bb089 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/_Game/Data/Enemies/E004/Abilities/ABL_E004_HeadSlam.asset b/Assets/_Game/Data/Enemies/E004/Abilities/ABL_E004_HeadSlam.asset new file mode 100644 index 0000000..9732f9f --- /dev/null +++ b/Assets/_Game/Data/Enemies/E004/Abilities/ABL_E004_HeadSlam.asset @@ -0,0 +1,27 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9050afa76362dff469c64fbb48c9ff8d, type: 3} + m_Name: ABL_E004_HeadSlam + m_EditorClassIdentifier: + abilityId: e004_headslam + attackSequence: [] + cooldown: 1.5 + telegraphVfxKey: + telegraphDuration: 0 + interruptOnHurt: 1 + interruptOnStagger: 1 + preferredMinRange: 0 + preferredMaxRange: 5 + requiresLineOfSight: 1 + requiresGrounded: 1 + exclusionGroup: + priority: 0 diff --git a/Assets/_Game/Data/Enemies/E004/Abilities/ABL_E004_HeadSlam.asset.meta b/Assets/_Game/Data/Enemies/E004/Abilities/ABL_E004_HeadSlam.asset.meta new file mode 100644 index 0000000..bb36a4a --- /dev/null +++ b/Assets/_Game/Data/Enemies/E004/Abilities/ABL_E004_HeadSlam.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: e31246206a0c7a34fb4350050cf0901f +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/_Game/Data/Enemies/E004/Abilities/EATK_E004_Acid.asset b/Assets/_Game/Data/Enemies/E004/Abilities/EATK_E004_Acid.asset new file mode 100644 index 0000000..7eaec8c --- /dev/null +++ b/Assets/_Game/Data/Enemies/E004/Abilities/EATK_E004_Acid.asset @@ -0,0 +1,42 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 33dae93853f55b34c95cb12fb235c8b6, type: 3} + m_Name: EATK_E004_Acid + m_EditorClassIdentifier: + attackName: EATK_E004_Acid + clip: + _FadeDuration: 0.25 + _Speed: 1 + _Events: + _NormalizedTimes: [] + _Callbacks: [] + _Names: [] + _Clip: {fileID: 0} + _NormalizedStartTime: NaN + fallbackDuration: 0.8 + hitBoxSlot: + hitBoxEnterT: 0.3 + hitBoxExitT: 0.55 + damageSource: {fileID: 0} + projectileConfig: {fileID: 11400000, guid: 347d33b1a5698d148a281e7e77a83886, type: 2} + projectileCount: 3 + spreadAngleDeg: 30 + projectileFireT: 0.5 + postDelay: 0 + lockMovement: 1 + hasPoiseWindow: 0 + poiseLevel: 1 + poiseStartT: 0.1 + poiseEndT: 0.55 + references: + version: 2 + RefIds: [] diff --git a/Assets/_Game/Data/Enemies/E004/Abilities/EATK_E004_Acid.asset.meta b/Assets/_Game/Data/Enemies/E004/Abilities/EATK_E004_Acid.asset.meta new file mode 100644 index 0000000..e638d95 --- /dev/null +++ b/Assets/_Game/Data/Enemies/E004/Abilities/EATK_E004_Acid.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: b0bce0e3cbc007842a69b60d6cf12792 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/_Game/Data/Enemies/E004/ENM_E004_AnimConfig.asset b/Assets/_Game/Data/Enemies/E004/ENM_E004_AnimConfig.asset new file mode 100644 index 0000000..acb72e2 --- /dev/null +++ b/Assets/_Game/Data/Enemies/E004/ENM_E004_AnimConfig.asset @@ -0,0 +1,25 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f7dd720bca19fcc49b22106fb65f7652, type: 3} + m_Name: ENM_E004_AnimConfig + m_EditorClassIdentifier: + Idle: {fileID: 0} + Walk: {fileID: 0} + Run: {fileID: 0} + Turn: {fileID: 0} + Attack: {fileID: 0} + Hurt: {fileID: 0} + Stagger: {fileID: 0} + KnockUp: {fileID: 0} + Dead: {fileID: 0} + Alert: {fileID: 0} + Investigate: {fileID: 0} diff --git a/Assets/_Game/Data/Enemies/E004/ENM_E004_AnimConfig.asset.meta b/Assets/_Game/Data/Enemies/E004/ENM_E004_AnimConfig.asset.meta new file mode 100644 index 0000000..0a1774e --- /dev/null +++ b/Assets/_Game/Data/Enemies/E004/ENM_E004_AnimConfig.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 1cdc4c1944fbee046976435c37b11ace +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/_Game/Data/Enemies/E004/ENM_E004_Stats.asset b/Assets/_Game/Data/Enemies/E004/ENM_E004_Stats.asset new file mode 100644 index 0000000..aaec675 --- /dev/null +++ b/Assets/_Game/Data/Enemies/E004/ENM_E004_Stats.asset @@ -0,0 +1,41 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ed4391dfa14c0304c8932f1ef9f8ce63, type: 3} + m_Name: ENM_E004_Stats + m_EditorClassIdentifier: + MaxHP: 50 + Defense: 0 + WalkSpeed: 2 + RunSpeed: 4 + AttackDamage: 10 + AttackRange: 1.5 + AttackCooldown: 1 + DetectRange: 6 + MaxChaseDistance: 15 + LoseLinkTimeout: 2 + AlertDuration: 0.6 + InvestigateDuration: 3 + HomeRadius: 0.5 + KnockbackForce: 5 + HitStunDuration: 0.3 + HitTiers: + heavyHitThreshold: 0 + launchThreshold: 0 + launchUpForce: 0 + launchHorzForce: 0 + knockUpDuration: 0 + EyeOffset: {x: 0, y: 0.8} + LOSBlockingMask: + serializedVersion: 2 + m_Bits: 1 + DetectAngleDeg: 0 + AlertBroadcastRadius: 0 diff --git a/Assets/_Game/Data/Enemies/E004/ENM_E004_Stats.asset.meta b/Assets/_Game/Data/Enemies/E004/ENM_E004_Stats.asset.meta new file mode 100644 index 0000000..a40896a --- /dev/null +++ b/Assets/_Game/Data/Enemies/E004/ENM_E004_Stats.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 2d4955ff6e80d8a42aafe8b1b5bd016f +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/_Game/Data/Enemies/E005.meta b/Assets/_Game/Data/Enemies/E005.meta new file mode 100644 index 0000000..18b5154 --- /dev/null +++ b/Assets/_Game/Data/Enemies/E005.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: e70b4ff174809a84fb802d48cc16d5a4 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/_Game/Data/Enemies/E005/Abilities.meta b/Assets/_Game/Data/Enemies/E005/Abilities.meta new file mode 100644 index 0000000..04d4ded --- /dev/null +++ b/Assets/_Game/Data/Enemies/E005/Abilities.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 2e69f73fa2cb915468eb1ccbc5ba2726 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/_Game/Data/Enemies/E005/Abilities/ABL_E005_Acid.asset b/Assets/_Game/Data/Enemies/E005/Abilities/ABL_E005_Acid.asset new file mode 100644 index 0000000..62aaffc --- /dev/null +++ b/Assets/_Game/Data/Enemies/E005/Abilities/ABL_E005_Acid.asset @@ -0,0 +1,29 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9050afa76362dff469c64fbb48c9ff8d, type: 3} + m_Name: ABL_E005_Acid + m_EditorClassIdentifier: + abilityId: e005_acid + attackSequence: + - {fileID: 11400000, guid: cabdf15fd8ee5c8449c6236751ada4f5, type: 2} + - {fileID: 11400000, guid: 800b72bef8e5be446aa56ec4993ba21d, type: 2} + cooldown: 1.5 + telegraphVfxKey: + telegraphDuration: 0 + interruptOnHurt: 1 + interruptOnStagger: 1 + preferredMinRange: 0 + preferredMaxRange: 5 + requiresLineOfSight: 1 + requiresGrounded: 1 + exclusionGroup: + priority: 0 diff --git a/Assets/_Game/Data/Enemies/E005/Abilities/ABL_E005_Acid.asset.meta b/Assets/_Game/Data/Enemies/E005/Abilities/ABL_E005_Acid.asset.meta new file mode 100644 index 0000000..23cdd4d --- /dev/null +++ b/Assets/_Game/Data/Enemies/E005/Abilities/ABL_E005_Acid.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: ea4fff3a624d77a4c96ca44c50df0b1b +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/_Game/Data/Enemies/E005/Abilities/ABL_E005_Bite.asset b/Assets/_Game/Data/Enemies/E005/Abilities/ABL_E005_Bite.asset new file mode 100644 index 0000000..b628281 --- /dev/null +++ b/Assets/_Game/Data/Enemies/E005/Abilities/ABL_E005_Bite.asset @@ -0,0 +1,27 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9050afa76362dff469c64fbb48c9ff8d, type: 3} + m_Name: ABL_E005_Bite + m_EditorClassIdentifier: + abilityId: e005_bite + attackSequence: [] + cooldown: 1.5 + telegraphVfxKey: + telegraphDuration: 0 + interruptOnHurt: 1 + interruptOnStagger: 1 + preferredMinRange: 0 + preferredMaxRange: 5 + requiresLineOfSight: 1 + requiresGrounded: 1 + exclusionGroup: + priority: 0 diff --git a/Assets/_Game/Data/Enemies/E005/Abilities/ABL_E005_Bite.asset.meta b/Assets/_Game/Data/Enemies/E005/Abilities/ABL_E005_Bite.asset.meta new file mode 100644 index 0000000..ddf13a6 --- /dev/null +++ b/Assets/_Game/Data/Enemies/E005/Abilities/ABL_E005_Bite.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 58e8275cf496c914ba86a3e0759ec0a5 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/_Game/Data/Enemies/E005/Abilities/EATK_E005_Acid_1.asset b/Assets/_Game/Data/Enemies/E005/Abilities/EATK_E005_Acid_1.asset new file mode 100644 index 0000000..7523ed1 --- /dev/null +++ b/Assets/_Game/Data/Enemies/E005/Abilities/EATK_E005_Acid_1.asset @@ -0,0 +1,42 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 33dae93853f55b34c95cb12fb235c8b6, type: 3} + m_Name: EATK_E005_Acid_1 + m_EditorClassIdentifier: + attackName: EATK_E005_Acid_1 + clip: + _FadeDuration: 0.25 + _Speed: 1 + _Events: + _NormalizedTimes: [] + _Callbacks: [] + _Names: [] + _Clip: {fileID: 0} + _NormalizedStartTime: NaN + fallbackDuration: 0.8 + hitBoxSlot: + hitBoxEnterT: 0.3 + hitBoxExitT: 0.55 + damageSource: {fileID: 0} + projectileConfig: {fileID: 11400000, guid: 9d2f30bef133efe458ed2113b1e17d15, type: 2} + projectileCount: 1 + spreadAngleDeg: 0 + projectileFireT: 0.6 + postDelay: 0.2 + lockMovement: 1 + hasPoiseWindow: 0 + poiseLevel: 1 + poiseStartT: 0.1 + poiseEndT: 0.55 + references: + version: 2 + RefIds: [] diff --git a/Assets/_Game/Data/Enemies/E005/Abilities/EATK_E005_Acid_1.asset.meta b/Assets/_Game/Data/Enemies/E005/Abilities/EATK_E005_Acid_1.asset.meta new file mode 100644 index 0000000..ba3b6f5 --- /dev/null +++ b/Assets/_Game/Data/Enemies/E005/Abilities/EATK_E005_Acid_1.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: cabdf15fd8ee5c8449c6236751ada4f5 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/_Game/Data/Enemies/E005/Abilities/EATK_E005_Acid_2.asset b/Assets/_Game/Data/Enemies/E005/Abilities/EATK_E005_Acid_2.asset new file mode 100644 index 0000000..0a8a864 --- /dev/null +++ b/Assets/_Game/Data/Enemies/E005/Abilities/EATK_E005_Acid_2.asset @@ -0,0 +1,42 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 33dae93853f55b34c95cb12fb235c8b6, type: 3} + m_Name: EATK_E005_Acid_2 + m_EditorClassIdentifier: + attackName: EATK_E005_Acid_2 + clip: + _FadeDuration: 0.25 + _Speed: 1 + _Events: + _NormalizedTimes: [] + _Callbacks: [] + _Names: [] + _Clip: {fileID: 0} + _NormalizedStartTime: NaN + fallbackDuration: 0.8 + hitBoxSlot: + hitBoxEnterT: 0.3 + hitBoxExitT: 0.55 + damageSource: {fileID: 0} + projectileConfig: {fileID: 11400000, guid: 9d2f30bef133efe458ed2113b1e17d15, type: 2} + projectileCount: 1 + spreadAngleDeg: 0 + projectileFireT: 0.6 + postDelay: 0 + lockMovement: 1 + hasPoiseWindow: 0 + poiseLevel: 1 + poiseStartT: 0.1 + poiseEndT: 0.55 + references: + version: 2 + RefIds: [] diff --git a/Assets/_Game/Data/Enemies/E005/Abilities/EATK_E005_Acid_2.asset.meta b/Assets/_Game/Data/Enemies/E005/Abilities/EATK_E005_Acid_2.asset.meta new file mode 100644 index 0000000..e065985 --- /dev/null +++ b/Assets/_Game/Data/Enemies/E005/Abilities/EATK_E005_Acid_2.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 800b72bef8e5be446aa56ec4993ba21d +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/_Game/Data/Enemies/E005/ENM_E005_AnimConfig.asset b/Assets/_Game/Data/Enemies/E005/ENM_E005_AnimConfig.asset new file mode 100644 index 0000000..1a505f5 --- /dev/null +++ b/Assets/_Game/Data/Enemies/E005/ENM_E005_AnimConfig.asset @@ -0,0 +1,25 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f7dd720bca19fcc49b22106fb65f7652, type: 3} + m_Name: ENM_E005_AnimConfig + m_EditorClassIdentifier: + Idle: {fileID: 0} + Walk: {fileID: 0} + Run: {fileID: 0} + Turn: {fileID: 0} + Attack: {fileID: 0} + Hurt: {fileID: 0} + Stagger: {fileID: 0} + KnockUp: {fileID: 0} + Dead: {fileID: 0} + Alert: {fileID: 0} + Investigate: {fileID: 0} diff --git a/Assets/_Game/Data/Enemies/E005/ENM_E005_AnimConfig.asset.meta b/Assets/_Game/Data/Enemies/E005/ENM_E005_AnimConfig.asset.meta new file mode 100644 index 0000000..0eb1f6b --- /dev/null +++ b/Assets/_Game/Data/Enemies/E005/ENM_E005_AnimConfig.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 95f92f5bfffe81b4696ffba29787152d +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/_Game/Data/Enemies/E005/ENM_E005_Stats.asset b/Assets/_Game/Data/Enemies/E005/ENM_E005_Stats.asset new file mode 100644 index 0000000..800d243 --- /dev/null +++ b/Assets/_Game/Data/Enemies/E005/ENM_E005_Stats.asset @@ -0,0 +1,41 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ed4391dfa14c0304c8932f1ef9f8ce63, type: 3} + m_Name: ENM_E005_Stats + m_EditorClassIdentifier: + MaxHP: 50 + Defense: 0 + WalkSpeed: 2 + RunSpeed: 4 + AttackDamage: 10 + AttackRange: 1.5 + AttackCooldown: 1 + DetectRange: 6 + MaxChaseDistance: 15 + LoseLinkTimeout: 2 + AlertDuration: 0.6 + InvestigateDuration: 3 + HomeRadius: 0.5 + KnockbackForce: 5 + HitStunDuration: 0.3 + HitTiers: + heavyHitThreshold: 0 + launchThreshold: 0 + launchUpForce: 0 + launchHorzForce: 0 + knockUpDuration: 0 + EyeOffset: {x: 0, y: 0.8} + LOSBlockingMask: + serializedVersion: 2 + m_Bits: 1 + DetectAngleDeg: 0 + AlertBroadcastRadius: 0 diff --git a/Assets/_Game/Data/Enemies/E005/ENM_E005_Stats.asset.meta b/Assets/_Game/Data/Enemies/E005/ENM_E005_Stats.asset.meta new file mode 100644 index 0000000..ed596b9 --- /dev/null +++ b/Assets/_Game/Data/Enemies/E005/ENM_E005_Stats.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 2a5e1728de5b3ed499dd1e9bea60c9c7 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/_Game/Data/Enemies/E006.meta b/Assets/_Game/Data/Enemies/E006.meta new file mode 100644 index 0000000..a9d472f --- /dev/null +++ b/Assets/_Game/Data/Enemies/E006.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 481d15fe875a9f241835193ea93ae9a0 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/_Game/Data/Enemies/E006/Abilities.meta b/Assets/_Game/Data/Enemies/E006/Abilities.meta new file mode 100644 index 0000000..dc02bf0 --- /dev/null +++ b/Assets/_Game/Data/Enemies/E006/Abilities.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 59dfd0970de714742864832a01a1c849 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/_Game/Data/Enemies/E006/Abilities/ABL_E006_Chase.asset b/Assets/_Game/Data/Enemies/E006/Abilities/ABL_E006_Chase.asset new file mode 100644 index 0000000..5219bb7 --- /dev/null +++ b/Assets/_Game/Data/Enemies/E006/Abilities/ABL_E006_Chase.asset @@ -0,0 +1,27 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9050afa76362dff469c64fbb48c9ff8d, type: 3} + m_Name: ABL_E006_Chase + m_EditorClassIdentifier: + abilityId: e006_chase + attackSequence: [] + cooldown: 1.5 + telegraphVfxKey: + telegraphDuration: 0 + interruptOnHurt: 1 + interruptOnStagger: 1 + preferredMinRange: 0 + preferredMaxRange: 5 + requiresLineOfSight: 1 + requiresGrounded: 1 + exclusionGroup: + priority: 0 diff --git a/Assets/_Game/Data/Enemies/E006/Abilities/ABL_E006_Chase.asset.meta b/Assets/_Game/Data/Enemies/E006/Abilities/ABL_E006_Chase.asset.meta new file mode 100644 index 0000000..8835242 --- /dev/null +++ b/Assets/_Game/Data/Enemies/E006/Abilities/ABL_E006_Chase.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: f5f7cb08e1c1c83448830da185a7b796 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/_Game/Data/Enemies/E006/Abilities/ABL_E006_Leap.asset b/Assets/_Game/Data/Enemies/E006/Abilities/ABL_E006_Leap.asset new file mode 100644 index 0000000..bbdba21 --- /dev/null +++ b/Assets/_Game/Data/Enemies/E006/Abilities/ABL_E006_Leap.asset @@ -0,0 +1,27 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9050afa76362dff469c64fbb48c9ff8d, type: 3} + m_Name: ABL_E006_Leap + m_EditorClassIdentifier: + abilityId: e006_leap + attackSequence: [] + cooldown: 1.5 + telegraphVfxKey: + telegraphDuration: 0 + interruptOnHurt: 1 + interruptOnStagger: 1 + preferredMinRange: 0 + preferredMaxRange: 5 + requiresLineOfSight: 1 + requiresGrounded: 1 + exclusionGroup: + priority: 0 diff --git a/Assets/_Game/Data/Enemies/E006/Abilities/ABL_E006_Leap.asset.meta b/Assets/_Game/Data/Enemies/E006/Abilities/ABL_E006_Leap.asset.meta new file mode 100644 index 0000000..385bb7b --- /dev/null +++ b/Assets/_Game/Data/Enemies/E006/Abilities/ABL_E006_Leap.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 61cf33bbff8e0d94789f3924313422cf +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/_Game/Data/Enemies/E006/ENM_E006_AnimConfig.asset b/Assets/_Game/Data/Enemies/E006/ENM_E006_AnimConfig.asset new file mode 100644 index 0000000..2c28466 --- /dev/null +++ b/Assets/_Game/Data/Enemies/E006/ENM_E006_AnimConfig.asset @@ -0,0 +1,25 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f7dd720bca19fcc49b22106fb65f7652, type: 3} + m_Name: ENM_E006_AnimConfig + m_EditorClassIdentifier: + Idle: {fileID: 0} + Walk: {fileID: 0} + Run: {fileID: 0} + Turn: {fileID: 0} + Attack: {fileID: 0} + Hurt: {fileID: 0} + Stagger: {fileID: 0} + KnockUp: {fileID: 0} + Dead: {fileID: 0} + Alert: {fileID: 0} + Investigate: {fileID: 0} diff --git a/Assets/_Game/Data/Enemies/E006/ENM_E006_AnimConfig.asset.meta b/Assets/_Game/Data/Enemies/E006/ENM_E006_AnimConfig.asset.meta new file mode 100644 index 0000000..c7db113 --- /dev/null +++ b/Assets/_Game/Data/Enemies/E006/ENM_E006_AnimConfig.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 42f233a9fb329154eaaed287ec83d281 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/_Game/Data/Enemies/E006/ENM_E006_Stats.asset b/Assets/_Game/Data/Enemies/E006/ENM_E006_Stats.asset new file mode 100644 index 0000000..1789ee1 --- /dev/null +++ b/Assets/_Game/Data/Enemies/E006/ENM_E006_Stats.asset @@ -0,0 +1,41 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ed4391dfa14c0304c8932f1ef9f8ce63, type: 3} + m_Name: ENM_E006_Stats + m_EditorClassIdentifier: + MaxHP: 50 + Defense: 0 + WalkSpeed: 2 + RunSpeed: 4 + AttackDamage: 10 + AttackRange: 1.5 + AttackCooldown: 1 + DetectRange: 6 + MaxChaseDistance: 15 + LoseLinkTimeout: 2 + AlertDuration: 0.6 + InvestigateDuration: 3 + HomeRadius: 0.5 + KnockbackForce: 5 + HitStunDuration: 0.3 + HitTiers: + heavyHitThreshold: 0 + launchThreshold: 0 + launchUpForce: 0 + launchHorzForce: 0 + knockUpDuration: 0 + EyeOffset: {x: 0, y: 0.8} + LOSBlockingMask: + serializedVersion: 2 + m_Bits: 1 + DetectAngleDeg: 0 + AlertBroadcastRadius: 0 diff --git a/Assets/_Game/Data/Enemies/E006/ENM_E006_Stats.asset.meta b/Assets/_Game/Data/Enemies/E006/ENM_E006_Stats.asset.meta new file mode 100644 index 0000000..6246f05 --- /dev/null +++ b/Assets/_Game/Data/Enemies/E006/ENM_E006_Stats.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 6dc1736f3fba08940af06955e735575b +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/_Game/Prefabs/Combat/Projectiles/PROJ_Boomerang.prefab b/Assets/_Game/Prefabs/Combat/Projectiles/PROJ_Boomerang.prefab new file mode 100644 index 0000000..5ebcfd8 --- /dev/null +++ b/Assets/_Game/Prefabs/Combat/Projectiles/PROJ_Boomerang.prefab @@ -0,0 +1,215 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &3488065450009558167 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7668102554190526753} + - component: {fileID: 4294834334038607794} + - component: {fileID: 6864768538076854245} + - component: {fileID: 2892133521765500668} + - component: {fileID: 2062187923577546388} + - component: {fileID: 3138430680453669752} + - component: {fileID: 736095158778655089} + m_Layer: 12 + m_Name: PROJ_Boomerang + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &7668102554190526753 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3488065450009558167} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 1968.4287, y: 77.1997, 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} +--- !u!50 &4294834334038607794 +Rigidbody2D: + serializedVersion: 4 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3488065450009558167} + m_BodyType: 0 + m_Simulated: 1 + m_UseFullKinematicContacts: 0 + m_UseAutoMass: 0 + m_Mass: 1 + m_LinearDrag: 0 + m_AngularDrag: 0.05 + m_GravityScale: 0 + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_Interpolate: 1 + m_SleepingMode: 1 + m_CollisionDetection: 0 + m_Constraints: 4 +--- !u!58 &6864768538076854245 +CircleCollider2D: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3488065450009558167} + m_Enabled: 1 + 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_UsedByComposite: 0 + m_Offset: {x: 0, y: 0} + serializedVersion: 2 + m_Radius: 0.25 +--- !u!114 &2892133521765500668 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3488065450009558167} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: a655e2461396a8348a32a13144438e8e, type: 3} + m_Name: + m_EditorClassIdentifier: + _defaultSource: {fileID: 11400000, guid: caae9c7600281fe4e8d8637fa3fd2ca1, type: 2} + _hitCooldown: 0.1 + _id: + _rivalHitBoxMask: + serializedVersion: 2 + m_Bits: 0 +--- !u!114 &2062187923577546388 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3488065450009558167} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5a1abe6a66724ba4586a0d4f7ae5f6e5, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!114 &3138430680453669752 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3488065450009558167} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4b3290cb8ac8a2f42a10c7c0c845c8ef, type: 3} + m_Name: + m_EditorClassIdentifier: + DamageInfo: + RawDamage: 0 + Amount: 0 + FinalDamage: 0 + KnockbackDirection: {x: 0, y: 0} + KnockbackForce: 0 + HitStunDuration: 0 + Type: 0 + Category: 0 + Flags: 0 + Tags: 0 + SourcePosition: {x: 0, y: 0} + SourceLayer: 0 + FxType: 0 + Break: 0 + SourceId: + SkillId: + Direction: {x: 0, y: 0} + _maxRange: 8 + _returnSpeed: 6 +--- !u!212 &736095158778655089 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3488065450009558167} + 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_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 6c1a7b756ba1d4646a405f7f6e0833ad, 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: 0 + m_Sprite: {fileID: 7482667652216324306, guid: 311925a002f4447b3a28927169b83ea6, 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, y: 1} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 diff --git a/Assets/_Game/Prefabs/Combat/Projectiles/PROJ_Boomerang.prefab.meta b/Assets/_Game/Prefabs/Combat/Projectiles/PROJ_Boomerang.prefab.meta new file mode 100644 index 0000000..35b1226 --- /dev/null +++ b/Assets/_Game/Prefabs/Combat/Projectiles/PROJ_Boomerang.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 37263e7701fe82d4ba56066888fed4b7 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/_Game/Prefabs/Combat/Projectiles/PROJ_FeiZhi_Acid.prefab b/Assets/_Game/Prefabs/Combat/Projectiles/PROJ_FeiZhi_Acid.prefab new file mode 100644 index 0000000..19c5a7f --- /dev/null +++ b/Assets/_Game/Prefabs/Combat/Projectiles/PROJ_FeiZhi_Acid.prefab @@ -0,0 +1,213 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &7833493523521740835 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4863454166993893376} + - component: {fileID: 5205451474657119381} + - component: {fileID: 7680961749375182632} + - component: {fileID: 6851139451504427099} + - component: {fileID: 7617515723234641801} + - component: {fileID: 2029140640650865583} + - component: {fileID: 3635983162399863908} + m_Layer: 12 + m_Name: PROJ_FeiZhi_Acid + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4863454166993893376 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7833493523521740835} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 1968.4287, y: 77.1997, 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} +--- !u!50 &5205451474657119381 +Rigidbody2D: + serializedVersion: 4 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7833493523521740835} + m_BodyType: 0 + m_Simulated: 1 + m_UseFullKinematicContacts: 0 + m_UseAutoMass: 0 + m_Mass: 1 + m_LinearDrag: 0 + m_AngularDrag: 0.05 + m_GravityScale: 0 + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_Interpolate: 1 + m_SleepingMode: 1 + m_CollisionDetection: 0 + m_Constraints: 4 +--- !u!58 &7680961749375182632 +CircleCollider2D: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7833493523521740835} + m_Enabled: 1 + 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_UsedByComposite: 0 + m_Offset: {x: 0, y: 0} + serializedVersion: 2 + m_Radius: 0.25 +--- !u!114 &6851139451504427099 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7833493523521740835} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: a655e2461396a8348a32a13144438e8e, type: 3} + m_Name: + m_EditorClassIdentifier: + _defaultSource: {fileID: 11400000, guid: caae9c7600281fe4e8d8637fa3fd2ca1, type: 2} + _hitCooldown: 0.1 + _id: + _rivalHitBoxMask: + serializedVersion: 2 + m_Bits: 0 +--- !u!114 &7617515723234641801 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7833493523521740835} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5a1abe6a66724ba4586a0d4f7ae5f6e5, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!114 &2029140640650865583 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7833493523521740835} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f43e5039135c2f84682862a9249e2688, type: 3} + m_Name: + m_EditorClassIdentifier: + DamageInfo: + RawDamage: 0 + Amount: 0 + FinalDamage: 0 + KnockbackDirection: {x: 0, y: 0} + KnockbackForce: 0 + HitStunDuration: 0 + Type: 0 + Category: 0 + Flags: 0 + Tags: 0 + SourcePosition: {x: 0, y: 0} + SourceLayer: 0 + FxType: 0 + Break: 0 + SourceId: + SkillId: + Direction: {x: 0, y: 0} +--- !u!212 &3635983162399863908 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7833493523521740835} + 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_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 6c1a7b756ba1d4646a405f7f6e0833ad, 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: 0 + m_Sprite: {fileID: 7482667652216324306, guid: 311925a002f4447b3a28927169b83ea6, 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, y: 1} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 diff --git a/Assets/_Game/Prefabs/Combat/Projectiles/PROJ_FeiZhi_Acid.prefab.meta b/Assets/_Game/Prefabs/Combat/Projectiles/PROJ_FeiZhi_Acid.prefab.meta new file mode 100644 index 0000000..c566b2f --- /dev/null +++ b/Assets/_Game/Prefabs/Combat/Projectiles/PROJ_FeiZhi_Acid.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 7718dc6d6f5dfd0408b99b037c35491b +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/_Game/Prefabs/Combat/Projectiles/PROJ_TornadoLarge.prefab b/Assets/_Game/Prefabs/Combat/Projectiles/PROJ_TornadoLarge.prefab new file mode 100644 index 0000000..d01c6c7 --- /dev/null +++ b/Assets/_Game/Prefabs/Combat/Projectiles/PROJ_TornadoLarge.prefab @@ -0,0 +1,213 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &4084644928896976871 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7133139494159531361} + - component: {fileID: 8524426885769991751} + - component: {fileID: 789369426810771525} + - component: {fileID: 2956861687172331329} + - component: {fileID: 8663162249503755608} + - component: {fileID: 5748963518813468955} + - component: {fileID: 6369005130890613301} + m_Layer: 12 + m_Name: PROJ_TornadoLarge + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &7133139494159531361 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4084644928896976871} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 1968.4287, y: 77.1997, 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} +--- !u!50 &8524426885769991751 +Rigidbody2D: + serializedVersion: 4 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4084644928896976871} + m_BodyType: 0 + m_Simulated: 1 + m_UseFullKinematicContacts: 0 + m_UseAutoMass: 0 + m_Mass: 1 + m_LinearDrag: 0 + m_AngularDrag: 0.05 + m_GravityScale: 0 + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_Interpolate: 1 + m_SleepingMode: 1 + m_CollisionDetection: 0 + m_Constraints: 4 +--- !u!58 &789369426810771525 +CircleCollider2D: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4084644928896976871} + m_Enabled: 1 + 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_UsedByComposite: 0 + m_Offset: {x: 0, y: 0} + serializedVersion: 2 + m_Radius: 0.25 +--- !u!114 &2956861687172331329 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4084644928896976871} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: a655e2461396a8348a32a13144438e8e, type: 3} + m_Name: + m_EditorClassIdentifier: + _defaultSource: {fileID: 11400000, guid: caae9c7600281fe4e8d8637fa3fd2ca1, type: 2} + _hitCooldown: 0.1 + _id: + _rivalHitBoxMask: + serializedVersion: 2 + m_Bits: 0 +--- !u!114 &8663162249503755608 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4084644928896976871} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5a1abe6a66724ba4586a0d4f7ae5f6e5, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!114 &5748963518813468955 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4084644928896976871} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 8e7b0c1c571010c4c9f65f953274086d, type: 3} + m_Name: + m_EditorClassIdentifier: + DamageInfo: + RawDamage: 0 + Amount: 0 + FinalDamage: 0 + KnockbackDirection: {x: 0, y: 0} + KnockbackForce: 0 + HitStunDuration: 0 + Type: 0 + Category: 0 + Flags: 0 + Tags: 0 + SourcePosition: {x: 0, y: 0} + SourceLayer: 0 + FxType: 0 + Break: 0 + SourceId: + SkillId: + Direction: {x: 0, y: 0} +--- !u!212 &6369005130890613301 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4084644928896976871} + 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_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 6c1a7b756ba1d4646a405f7f6e0833ad, 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: 0 + m_Sprite: {fileID: 7482667652216324306, guid: 311925a002f4447b3a28927169b83ea6, 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, y: 1} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 diff --git a/Assets/_Game/Prefabs/Combat/Projectiles/PROJ_TornadoLarge.prefab.meta b/Assets/_Game/Prefabs/Combat/Projectiles/PROJ_TornadoLarge.prefab.meta new file mode 100644 index 0000000..72ef1a5 --- /dev/null +++ b/Assets/_Game/Prefabs/Combat/Projectiles/PROJ_TornadoLarge.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 457a51aa8bf796748a719bf54800755c +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/_Game/Prefabs/Combat/Projectiles/PROJ_TornadoSmall.prefab b/Assets/_Game/Prefabs/Combat/Projectiles/PROJ_TornadoSmall.prefab new file mode 100644 index 0000000..fff4f9e --- /dev/null +++ b/Assets/_Game/Prefabs/Combat/Projectiles/PROJ_TornadoSmall.prefab @@ -0,0 +1,213 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &6129214921161605851 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8352438712416923375} + - component: {fileID: 5960388256124503901} + - component: {fileID: 2662930786361905303} + - component: {fileID: 1168834810368358564} + - component: {fileID: 4063128492545939301} + - component: {fileID: 9141290378527403149} + - component: {fileID: 657109727862847657} + m_Layer: 12 + m_Name: PROJ_TornadoSmall + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &8352438712416923375 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6129214921161605851} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 1968.4287, y: 77.1997, 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} +--- !u!50 &5960388256124503901 +Rigidbody2D: + serializedVersion: 4 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6129214921161605851} + m_BodyType: 0 + m_Simulated: 1 + m_UseFullKinematicContacts: 0 + m_UseAutoMass: 0 + m_Mass: 1 + m_LinearDrag: 0 + m_AngularDrag: 0.05 + m_GravityScale: 0 + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_Interpolate: 1 + m_SleepingMode: 1 + m_CollisionDetection: 0 + m_Constraints: 4 +--- !u!58 &2662930786361905303 +CircleCollider2D: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6129214921161605851} + m_Enabled: 1 + 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_UsedByComposite: 0 + m_Offset: {x: 0, y: 0} + serializedVersion: 2 + m_Radius: 0.25 +--- !u!114 &1168834810368358564 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6129214921161605851} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: a655e2461396a8348a32a13144438e8e, type: 3} + m_Name: + m_EditorClassIdentifier: + _defaultSource: {fileID: 11400000, guid: caae9c7600281fe4e8d8637fa3fd2ca1, type: 2} + _hitCooldown: 0.1 + _id: + _rivalHitBoxMask: + serializedVersion: 2 + m_Bits: 0 +--- !u!114 &4063128492545939301 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6129214921161605851} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5a1abe6a66724ba4586a0d4f7ae5f6e5, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!114 &9141290378527403149 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6129214921161605851} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 8e7b0c1c571010c4c9f65f953274086d, type: 3} + m_Name: + m_EditorClassIdentifier: + DamageInfo: + RawDamage: 0 + Amount: 0 + FinalDamage: 0 + KnockbackDirection: {x: 0, y: 0} + KnockbackForce: 0 + HitStunDuration: 0 + Type: 0 + Category: 0 + Flags: 0 + Tags: 0 + SourcePosition: {x: 0, y: 0} + SourceLayer: 0 + FxType: 0 + Break: 0 + SourceId: + SkillId: + Direction: {x: 0, y: 0} +--- !u!212 &657109727862847657 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6129214921161605851} + 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_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 6c1a7b756ba1d4646a405f7f6e0833ad, 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: 0 + m_Sprite: {fileID: 7482667652216324306, guid: 311925a002f4447b3a28927169b83ea6, 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, y: 1} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 diff --git a/Assets/_Game/Prefabs/Combat/Projectiles/PROJ_TornadoSmall.prefab.meta b/Assets/_Game/Prefabs/Combat/Projectiles/PROJ_TornadoSmall.prefab.meta new file mode 100644 index 0000000..f4aad43 --- /dev/null +++ b/Assets/_Game/Prefabs/Combat/Projectiles/PROJ_TornadoSmall.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 9fe4a83a6355657419e07f7dbbc671cf +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/_Game/Prefabs/Combat/Projectiles/PROJ_WindStone.prefab b/Assets/_Game/Prefabs/Combat/Projectiles/PROJ_WindStone.prefab new file mode 100644 index 0000000..8bb157d --- /dev/null +++ b/Assets/_Game/Prefabs/Combat/Projectiles/PROJ_WindStone.prefab @@ -0,0 +1,213 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &4707267785828862278 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3162641301680856447} + - component: {fileID: 4016146839322670541} + - component: {fileID: 3447809826357650724} + - component: {fileID: 5156139254032400564} + - component: {fileID: 3320501390722975119} + - component: {fileID: 4272475671486193409} + - component: {fileID: 2207080523172841964} + m_Layer: 12 + m_Name: PROJ_WindStone + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &3162641301680856447 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4707267785828862278} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 1968.4287, y: 77.1997, 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} +--- !u!50 &4016146839322670541 +Rigidbody2D: + serializedVersion: 4 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4707267785828862278} + m_BodyType: 0 + m_Simulated: 1 + m_UseFullKinematicContacts: 0 + m_UseAutoMass: 0 + m_Mass: 1 + m_LinearDrag: 0 + m_AngularDrag: 0.05 + m_GravityScale: 0 + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_Interpolate: 1 + m_SleepingMode: 1 + m_CollisionDetection: 0 + m_Constraints: 4 +--- !u!58 &3447809826357650724 +CircleCollider2D: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4707267785828862278} + m_Enabled: 1 + 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_UsedByComposite: 0 + m_Offset: {x: 0, y: 0} + serializedVersion: 2 + m_Radius: 0.25 +--- !u!114 &5156139254032400564 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4707267785828862278} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: a655e2461396a8348a32a13144438e8e, type: 3} + m_Name: + m_EditorClassIdentifier: + _defaultSource: {fileID: 11400000, guid: caae9c7600281fe4e8d8637fa3fd2ca1, type: 2} + _hitCooldown: 0.1 + _id: + _rivalHitBoxMask: + serializedVersion: 2 + m_Bits: 0 +--- !u!114 &3320501390722975119 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4707267785828862278} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5a1abe6a66724ba4586a0d4f7ae5f6e5, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!114 &4272475671486193409 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4707267785828862278} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f43e5039135c2f84682862a9249e2688, type: 3} + m_Name: + m_EditorClassIdentifier: + DamageInfo: + RawDamage: 0 + Amount: 0 + FinalDamage: 0 + KnockbackDirection: {x: 0, y: 0} + KnockbackForce: 0 + HitStunDuration: 0 + Type: 0 + Category: 0 + Flags: 0 + Tags: 0 + SourcePosition: {x: 0, y: 0} + SourceLayer: 0 + FxType: 0 + Break: 0 + SourceId: + SkillId: + Direction: {x: 0, y: 0} +--- !u!212 &2207080523172841964 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4707267785828862278} + 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_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 6c1a7b756ba1d4646a405f7f6e0833ad, 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: 0 + m_Sprite: {fileID: 7482667652216324306, guid: 311925a002f4447b3a28927169b83ea6, 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, y: 1} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 diff --git a/Assets/_Game/Prefabs/Combat/Projectiles/PROJ_WindStone.prefab.meta b/Assets/_Game/Prefabs/Combat/Projectiles/PROJ_WindStone.prefab.meta new file mode 100644 index 0000000..4c5ad84 --- /dev/null +++ b/Assets/_Game/Prefabs/Combat/Projectiles/PROJ_WindStone.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 4f232046a7e00aa47afa2c243c191167 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/_Game/Prefabs/Combat/Projectiles/PROJ_ZhiMu_Acid.prefab b/Assets/_Game/Prefabs/Combat/Projectiles/PROJ_ZhiMu_Acid.prefab new file mode 100644 index 0000000..03b397b --- /dev/null +++ b/Assets/_Game/Prefabs/Combat/Projectiles/PROJ_ZhiMu_Acid.prefab @@ -0,0 +1,213 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &1149027015145764877 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1281129234898592} + - component: {fileID: 4239670882705589811} + - component: {fileID: 2626239491349564631} + - component: {fileID: 2346894420424886389} + - component: {fileID: 5239582150481991937} + - component: {fileID: 4326572609276719881} + - component: {fileID: 1402297315896396356} + m_Layer: 12 + m_Name: PROJ_ZhiMu_Acid + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1281129234898592 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1149027015145764877} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 1968.4287, y: 77.1997, 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} +--- !u!50 &4239670882705589811 +Rigidbody2D: + serializedVersion: 4 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1149027015145764877} + m_BodyType: 0 + m_Simulated: 1 + m_UseFullKinematicContacts: 0 + m_UseAutoMass: 0 + m_Mass: 1 + m_LinearDrag: 0 + m_AngularDrag: 0.05 + m_GravityScale: 0 + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_Interpolate: 1 + m_SleepingMode: 1 + m_CollisionDetection: 0 + m_Constraints: 4 +--- !u!58 &2626239491349564631 +CircleCollider2D: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1149027015145764877} + m_Enabled: 1 + 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_UsedByComposite: 0 + m_Offset: {x: 0, y: 0} + serializedVersion: 2 + m_Radius: 0.25 +--- !u!114 &2346894420424886389 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1149027015145764877} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: a655e2461396a8348a32a13144438e8e, type: 3} + m_Name: + m_EditorClassIdentifier: + _defaultSource: {fileID: 11400000, guid: caae9c7600281fe4e8d8637fa3fd2ca1, type: 2} + _hitCooldown: 0.1 + _id: + _rivalHitBoxMask: + serializedVersion: 2 + m_Bits: 0 +--- !u!114 &5239582150481991937 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1149027015145764877} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5a1abe6a66724ba4586a0d4f7ae5f6e5, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!114 &4326572609276719881 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1149027015145764877} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f43e5039135c2f84682862a9249e2688, type: 3} + m_Name: + m_EditorClassIdentifier: + DamageInfo: + RawDamage: 0 + Amount: 0 + FinalDamage: 0 + KnockbackDirection: {x: 0, y: 0} + KnockbackForce: 0 + HitStunDuration: 0 + Type: 0 + Category: 0 + Flags: 0 + Tags: 0 + SourcePosition: {x: 0, y: 0} + SourceLayer: 0 + FxType: 0 + Break: 0 + SourceId: + SkillId: + Direction: {x: 0, y: 0} +--- !u!212 &1402297315896396356 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1149027015145764877} + 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_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 6c1a7b756ba1d4646a405f7f6e0833ad, 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: 0 + m_Sprite: {fileID: 7482667652216324306, guid: 311925a002f4447b3a28927169b83ea6, 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, y: 1} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 diff --git a/Assets/_Game/Prefabs/Combat/Projectiles/PROJ_ZhiMu_Acid.prefab.meta b/Assets/_Game/Prefabs/Combat/Projectiles/PROJ_ZhiMu_Acid.prefab.meta new file mode 100644 index 0000000..e1c2350 --- /dev/null +++ b/Assets/_Game/Prefabs/Combat/Projectiles/PROJ_ZhiMu_Acid.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: bdd51de8b53302048b4d125ce66512e8 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/_Game/Prefabs/Enemies/ChaoFeng.meta b/Assets/_Game/Prefabs/Enemies/ChaoFeng.meta new file mode 100644 index 0000000..7e0e1f4 --- /dev/null +++ b/Assets/_Game/Prefabs/Enemies/ChaoFeng.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 7d917c9ea84e90a48a878dab7cf88e90 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/_Game/Prefabs/Enemies/ChaoFeng/ENM_ChaoFeng.prefab b/Assets/_Game/Prefabs/Enemies/ChaoFeng/ENM_ChaoFeng.prefab new file mode 100644 index 0000000..99aa760 --- /dev/null +++ b/Assets/_Game/Prefabs/Enemies/ChaoFeng/ENM_ChaoFeng.prefab @@ -0,0 +1,1262 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &1231266844344956596 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2397879757105861778} + m_Layer: 0 + m_Name: TornadoMuzzle + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2397879757105861778 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1231266844344956596} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 2025611111464161772} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1233271721931573469 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7580995191264333933} + m_Layer: 0 + m_Name: BoomerangMuzzle + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &7580995191264333933 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1233271721931573469} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 2025611111464161772} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &2290525692157171072 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 376149298811787739} + - component: {fileID: 652300847870584734} + - component: {fileID: 230484937522067432} + m_Layer: 25 + m_Name: Phase1_FanCombo_HitBox_1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!4 &376149298811787739 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2290525692157171072} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 2025611111464161772} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!61 &652300847870584734 +BoxCollider2D: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2290525692157171072} + m_Enabled: 1 + 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_UsedByComposite: 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 + serializedVersion: 2 + m_Size: {x: 1, y: 0.5} + m_EdgeRadius: 0 +--- !u!114 &230484937522067432 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2290525692157171072} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: a655e2461396a8348a32a13144438e8e, type: 3} + m_Name: + m_EditorClassIdentifier: + _defaultSource: {fileID: 11400000, guid: caae9c7600281fe4e8d8637fa3fd2ca1, type: 2} + _hitCooldown: 0.1 + _id: + _rivalHitBoxMask: + serializedVersion: 2 + m_Bits: 0 +--- !u!1 &2904988631977355437 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5517492589801030229} + - component: {fileID: 2716402953932227971} + - component: {fileID: 8300109994792221770} + - component: {fileID: 5553302832888627324} + m_Layer: 0 + m_Name: Visual + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &5517492589801030229 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2904988631977355437} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 2025611111464161772} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!95 &2716402953932227971 +Animator: + serializedVersion: 5 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2904988631977355437} + m_Enabled: 1 + m_Avatar: {fileID: 0} + m_Controller: {fileID: 0} + m_CullingMode: 0 + m_UpdateMode: 0 + m_ApplyRootMotion: 0 + m_LinearVelocityBlending: 0 + m_StabilizeFeet: 0 + m_WarningMessage: + m_HasTransformHierarchy: 1 + m_AllowConstantClipSamplingOptimization: 1 + m_KeepAnimatorStateOnDisable: 0 + m_WriteDefaultValuesOnDisable: 0 +--- !u!114 &8300109994792221770 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2904988631977355437} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0ad50f81b1d25c441943c37a89ba23f6, type: 3} + m_Name: + m_EditorClassIdentifier: + _Animator: {fileID: 2716402953932227971} + _Transitions: {fileID: 0} + _ActionOnDisable: 0 +--- !u!212 &5553302832888627324 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2904988631977355437} + 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_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 6c1a7b756ba1d4646a405f7f6e0833ad, 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: 0 + m_Sprite: {fileID: 7482667652216324306, guid: 311925a002f4447b3a28927169b83ea6, 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, y: 1} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 +--- !u!1 &3015807690815610513 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1409576167468823365} + - component: {fileID: 2458103135947848963} + - component: {fileID: 2450883169310398879} + m_Layer: 25 + m_Name: Phase1_Tornado_HitBox + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!4 &1409576167468823365 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3015807690815610513} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 2025611111464161772} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!61 &2458103135947848963 +BoxCollider2D: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3015807690815610513} + m_Enabled: 1 + 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_UsedByComposite: 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 + serializedVersion: 2 + m_Size: {x: 0.6, y: 1.2} + m_EdgeRadius: 0 +--- !u!114 &2450883169310398879 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3015807690815610513} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: a655e2461396a8348a32a13144438e8e, type: 3} + m_Name: + m_EditorClassIdentifier: + _defaultSource: {fileID: 11400000, guid: caae9c7600281fe4e8d8637fa3fd2ca1, type: 2} + _hitCooldown: 0.1 + _id: + _rivalHitBoxMask: + serializedVersion: 2 + m_Bits: 0 +--- !u!1 &3277627412355666927 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8814706017035826473} + - component: {fileID: 6818385686673977407} + - component: {fileID: 4630646362173111049} + m_Layer: 25 + m_Name: Phase1_FanCombo_HitBox_3 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!4 &8814706017035826473 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3277627412355666927} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 2025611111464161772} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!61 &6818385686673977407 +BoxCollider2D: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3277627412355666927} + m_Enabled: 1 + 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_UsedByComposite: 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 + serializedVersion: 2 + m_Size: {x: 1.2, y: 0.6} + m_EdgeRadius: 0 +--- !u!114 &4630646362173111049 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3277627412355666927} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: a655e2461396a8348a32a13144438e8e, type: 3} + m_Name: + m_EditorClassIdentifier: + _defaultSource: {fileID: 11400000, guid: caae9c7600281fe4e8d8637fa3fd2ca1, type: 2} + _hitCooldown: 0.1 + _id: + _rivalHitBoxMask: + serializedVersion: 2 + m_Bits: 0 +--- !u!1 &4177669747969163254 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8176707102135037433} + - component: {fileID: 7402601177075906274} + - component: {fileID: 9170136654108653383} + m_Layer: 25 + m_Name: Phase1_FanCombo_HitBox_2 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!4 &8176707102135037433 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4177669747969163254} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 2025611111464161772} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!61 &7402601177075906274 +BoxCollider2D: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4177669747969163254} + m_Enabled: 1 + 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_UsedByComposite: 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 + serializedVersion: 2 + m_Size: {x: 1, y: 0.5} + m_EdgeRadius: 0 +--- !u!114 &9170136654108653383 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4177669747969163254} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: a655e2461396a8348a32a13144438e8e, type: 3} + m_Name: + m_EditorClassIdentifier: + _defaultSource: {fileID: 11400000, guid: caae9c7600281fe4e8d8637fa3fd2ca1, type: 2} + _hitCooldown: 0.1 + _id: + _rivalHitBoxMask: + serializedVersion: 2 + m_Bits: 0 +--- !u!1 &7162325650151894005 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4107279870065028942} + m_Layer: 0 + m_Name: WindStoneMuzzle + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4107279870065028942 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7162325650151894005} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 2025611111464161772} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &7781161515165213226 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2025611111464161772} + - component: {fileID: 6158877404411547497} + - component: {fileID: 4474032822853512122} + - component: {fileID: 5739222398083040455} + - component: {fileID: 973594085864951384} + - component: {fileID: 5341485012012430190} + - component: {fileID: 8088437629491012474} + - component: {fileID: 2411854421509848595} + - component: {fileID: 5982200902246897711} + - component: {fileID: 7883797407525050464} + - component: {fileID: 3437191888218430966} + - component: {fileID: 1810872916174435854} + - component: {fileID: 1201243240150589714} + - component: {fileID: 6858366591425580670} + m_Layer: 13 + m_Name: ENM_ChaoFeng + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2025611111464161772 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7781161515165213226} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 1968.4287, y: 77.1997, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 5517492589801030229} + - {fileID: 6397871098464242200} + - {fileID: 376149298811787739} + - {fileID: 8176707102135037433} + - {fileID: 8814706017035826473} + - {fileID: 1409576167468823365} + - {fileID: 7580995191264333933} + - {fileID: 2397879757105861778} + - {fileID: 4107279870065028942} + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!50 &6158877404411547497 +Rigidbody2D: + serializedVersion: 4 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7781161515165213226} + m_BodyType: 0 + m_Simulated: 1 + m_UseFullKinematicContacts: 0 + m_UseAutoMass: 0 + m_Mass: 1 + m_LinearDrag: 0 + m_AngularDrag: 0.05 + m_GravityScale: 2 + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_Interpolate: 1 + m_SleepingMode: 1 + m_CollisionDetection: 1 + m_Constraints: 4 +--- !u!61 &4474032822853512122 +BoxCollider2D: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7781161515165213226} + m_Enabled: 1 + 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: 0 + m_UsedByEffector: 0 + m_UsedByComposite: 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 + serializedVersion: 2 + m_Size: {x: 1.2, y: 2} + m_EdgeRadius: 0 +--- !u!114 &5739222398083040455 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7781161515165213226} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 7eec9978ded028a409537e37d029c8cd, type: 3} + m_Name: + m_EditorClassIdentifier: + _enemyId: + _statsSO: {fileID: 11400000, guid: e921dd14e2848404f8418f423fbd4243, type: 2} + _animConfig: {fileID: 11400000, guid: c0216d0b27f9d09499a7c7485cb044d2, type: 2} + _stats: {fileID: 973594085864951384} + _movement: {fileID: 8088437629491012474} + _combat: {fileID: 0} + _animancer: {fileID: 8300109994792221770} + _feedback: {fileID: 5341485012012430190} + _hurtBox: {fileID: 6579043664862402528} + _patrolZone: {fileID: 0} + _onEnemyDied: {fileID: 11400000, guid: def849e2c5ec8204eae6b083b02307aa, type: 2} + _onPlayerSpawned: {fileID: 11400000, guid: 7e2c7e614f6627b449a244ab44443adf, type: 2} + _btIdleTickInterval: 0.3 + _btPatrolTickInterval: 0.15 + _btAlertTickInterval: 0.08 + _btChaseTickInterval: 0.05 + _btCombatTickInterval: 0 + _dbg_CurrentState: 0 + _dbg_AiPhase: 0 + _dbg_HasPlayer: 0 + _dbg_LastKnownPos: {x: 0, y: 0} + _dbg_BtTickInterval: 0 + _autoPlayPhaseAnimation: 1 + _bossId: + _onBossFightEnded: {fileID: 11400000, guid: f367dc6d9a2848241b54799ce37f7288, type: 2} + _onBossPhaseChanged: {fileID: 11400000, guid: 9f49e575a92a7fb43af755ba1840abd2, type: 2} + _skillExecutor: {fileID: 0} + _bossResource: {fileID: 0} + _onParrySuccess: {fileID: 0} + _floatController: {fileID: 1810872916174435854} + _knockdownCounter: {fileID: 1201243240150589714} + _phaseTransitionClip: + _FadeDuration: 0.25 + _Speed: 1 + _Events: + _NormalizedTimes: [] + _Callbacks: [] + _Names: [] + _Clip: {fileID: 0} + _NormalizedStartTime: NaN + _boomerangEndClip: + _FadeDuration: 0.25 + _Speed: 1 + _Events: + _NormalizedTimes: [] + _Callbacks: [] + _Names: [] + _Clip: {fileID: 0} + _NormalizedStartTime: NaN + _boomerangMuzzle: {fileID: 7580995191264333933} + _tornadoMuzzle: {fileID: 2397879757105861778} + _windStoneMuzzle: {fileID: 4107279870065028942} + _boomerangConfig: {fileID: 11400000, guid: 368c944b48f7f254abf7273b489a5de8, type: 2} + _tornadoSmallConfig: {fileID: 11400000, guid: 437473018d038ad4c9205a6dba568f94, type: 2} + _tornadoLargeConfig: {fileID: 11400000, guid: 8677a7cb58cf7a0499c5f7592237c456, type: 2} + _windStoneConfig: {fileID: 11400000, guid: 54a8109b6ebe8d64491e292718261031, type: 2} + _defeatStruggleClip: + _FadeDuration: 0.25 + _Speed: 1 + _Events: + _NormalizedTimes: [] + _Callbacks: [] + _Names: [] + _Clip: {fileID: 0} + _NormalizedStartTime: NaN + _defeatPantClip: + _FadeDuration: 0.25 + _Speed: 1 + _Events: + _NormalizedTimes: [] + _Callbacks: [] + _Names: [] + _Clip: {fileID: 0} + _NormalizedStartTime: NaN + _defeatStandUpClip: + _FadeDuration: 0.25 + _Speed: 1 + _Events: + _NormalizedTimes: [] + _Callbacks: [] + _Names: [] + _Clip: {fileID: 0} + _NormalizedStartTime: NaN + _defeatPantDuration: 3 + _onDefeatWhiteFlash: + m_PersistentCalls: + m_Calls: [] + references: + version: 2 + RefIds: [] +--- !u!114 &973594085864951384 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7781161515165213226} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 48bc7c82cd2c1df4ba7103160db48a11, type: 3} + m_Name: + m_EditorClassIdentifier: + _onDifficultyChanged: {fileID: 11400000, guid: 156874a2ffc17694e91e949abbf97fee, type: 2} +--- !u!114 &5341485012012430190 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7781161515165213226} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9892874f77e34964092168ab0642a47c, type: 3} + m_Name: + m_EditorClassIdentifier: + _onHitLight: {fileID: 0} + _onHitMedium: {fileID: 0} + _onHitHeavy: {fileID: 0} + _onTakeHit: {fileID: 0} + _onDeath: {fileID: 0} +--- !u!114 &8088437629491012474 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7781161515165213226} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 20bd45717dc17a94581eee24814fe60c, type: 3} + m_Name: + m_EditorClassIdentifier: + _config: {fileID: 11400000, guid: e921dd14e2848404f8418f423fbd4243, type: 2} + _spriteRenderer: {fileID: 5553302832888627324} + _enableTurnAnimation: 0 + _animancer: {fileID: 8300109994792221770} + _animConfig: {fileID: 11400000, guid: c0216d0b27f9d09499a7c7485cb044d2, type: 2} + _visualRoot: {fileID: 5517492589801030229} + _spriteDefaultFacingDir: 1 + _navJumpMaxHeight: 6 + _navJumpMaxDist: 10 + _groundCheckCollider: {fileID: 0} + _groundCheckDist: 0.15 + _groundCheckCount: 3 + _groundMask: + serializedVersion: 2 + m_Bits: 68159744 + _wallCheckDist: 0.2 + _ledgeCheckFwdOffset: 0.1 + _ledgeCheckDownDist: 0.4 + _wallMask: + serializedVersion: 2 + m_Bits: 0 + _dbg_FacingDirection: 0 + _dbg_VelocityX: 0 + _dbg_VelocityY: 0 + _dbg_IsGrounded: 0 + _dbg_IsWallAhead: 0 + _dbg_IsLedgeAhead: 0 + _dbg_IsTurning: 0 + _dbg_NavDriving: 0 + _dbg_Input_MoveDir: 0 + _dbg_Input_MoveSpeed: 0 + _dbg_Input_WantStop: 0 + _dbg_Input_WantFace: 0 + _dbg_Input_FaceTargetPos: {x: 0, y: 0} + _dbg_Input_FaceDir: 0 +--- !u!114 &2411854421509848595 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7781161515165213226} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 3864fd1487d130847b11b82f276d11b6, type: 3} + m_Name: + m_EditorClassIdentifier: + height: 1 + maxSlopeAngle: 180 + autoRepathIntervall: 1 + maximumDistanceToPathStart: 0.7 + linkTraversalCostMultipliers: + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + allowCloseEnoughPath: 0 + movementSpeed: 5 + cornerSpeed: 100 + jumpSpeed: 5 + fallSpeed: 5 + climbSpeed: 5 + enableDebugMessages: 0 + navTagTraversalCostMultipliers: + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + status: 0 + navTagMask: -1 +--- !u!114 &5982200902246897711 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7781161515165213226} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 77030faff3812a7429edeaca91e9c873, type: 3} + m_Name: + m_EditorClassIdentifier: + movementSpeed: 5 + cornerSpeed: 100 + jumpSpeed: 5 + fallSpeed: 5 + climbSpeed: 5 + enableAgentRotation: 1 + enabledFeatures: 2147483647 +--- !u!114 &7883797407525050464 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7781161515165213226} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 44871319d7318de40b9ac21757b69c78, type: 3} + m_Name: + m_EditorClassIdentifier: + _edgeCheckFwdOffset: 0.3 + _edgeCheckDownLen: 0.6 + _groundMask: + serializedVersion: 2 + m_Bits: 4294967295 +--- !u!114 &3437191888218430966 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7781161515165213226} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4dfa1c525eaca5640b3cfe945626a466, type: 3} + m_Name: + m_EditorClassIdentifier: + _hitBoxes: + - {fileID: 230484937522067432} + - {fileID: 9170136654108653383} + - {fileID: 4630646362173111049} + - {fileID: 2450883169310398879} + _weakPointSystem: {fileID: 0} + _animancer: {fileID: 8300109994792221770} + _bossId: ChaoFeng + _onBossSkillStarted: {fileID: 0} + _onBossSkillEnded: {fileID: 0} + _playerTransform: {fileID: 0} + _skills: + - {fileID: 11400000, guid: 6076c1b736f69af4c9048d9d4e7ec768, type: 2} + - {fileID: 11400000, guid: b13d174edfd74654188f1cd08f072123, type: 2} + - {fileID: 11400000, guid: 7cb2926dd5b97e64b9e37f07124ae307, type: 2} + - {fileID: 11400000, guid: 27037bf4ed7188741ba55bb82fdd8fa9, type: 2} + - {fileID: 11400000, guid: 02b79b9dc903c824786ed3cc3c3e225e, type: 2} + _repeatRangeCheck: 8 +--- !u!114 &1810872916174435854 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7781161515165213226} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 29caa23156f932e43b02015182e66819, type: 3} + m_Name: + m_EditorClassIdentifier: + _floatHeight: 5 + _riseDuration: 1.5 + _fallDuration: 0.8 + _rb: {fileID: 6158877404411547497} +--- !u!114 &1201243240150589714 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7781161515165213226} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e0b39336c1ec5740abb2754b75bde04, type: 3} + m_Name: + m_EditorClassIdentifier: + _threshold: 8 + _boss: {fileID: 5739222398083040455} + _floatCtrl: {fileID: 1810872916174435854} + _knockdownHitClip: + _FadeDuration: 0.25 + _Speed: 1 + _Events: + _NormalizedTimes: [] + _Callbacks: [] + _Names: [] + _Clip: {fileID: 0} + _NormalizedStartTime: NaN + _staggerClip: + _FadeDuration: 0.25 + _Speed: 1 + _Events: + _NormalizedTimes: [] + _Callbacks: [] + _Names: [] + _Clip: {fileID: 0} + _NormalizedStartTime: NaN + _staggerDuration: 3 + references: + version: 2 + RefIds: [] +--- !u!114 &6858366591425580670 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7781161515165213226} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: c0026fe36cfaffc4e95698bccd0a8380, type: 3} + m_Name: + m_EditorClassIdentifier: + _slots: + - slotName: aggro + type: 0 + offset: {x: 0, y: 0} + gizmoColor: {r: 1, g: 0.6, b: 0.1, a: 1} + isDisabled: 0 + tickInterval: 0 + radius: 5 + detectLayer: + serializedVersion: 2 + m_Bits: 512 + fanAngle: 0 + fanRayCount: 0 + boxSize: {x: 0, y: 0} + boxOffset: {x: 0, y: 0} + losBlockMask: + serializedVersion: 2 + m_Bits: 0 + losRayCount: 0 + losMinVisibility: 0 + rayDirection: {x: 0, y: 0} + rayLength: 0 + raySpread: 0 + rayCount: 0 + obstructLayer: + serializedVersion: 2 + m_Bits: 0 + - slotName: attack_melee + type: 0 + offset: {x: 0, y: 0} + gizmoColor: {r: 1, g: 0.2, b: 0.2, a: 1} + isDisabled: 0 + tickInterval: 0 + radius: 1.5 + detectLayer: + serializedVersion: 2 + m_Bits: 512 + fanAngle: 0 + fanRayCount: 0 + boxSize: {x: 0, y: 0} + boxOffset: {x: 0, y: 0} + losBlockMask: + serializedVersion: 2 + m_Bits: 0 + losRayCount: 0 + losMinVisibility: 0 + rayDirection: {x: 0, y: 0} + rayLength: 0 + raySpread: 0 + rayCount: 0 + obstructLayer: + serializedVersion: 2 + m_Bits: 0 + - slotName: attack_range + type: 0 + offset: {x: 0, y: 0} + gizmoColor: {r: 1, g: 0.4, b: 0.6, a: 1} + isDisabled: 0 + tickInterval: 0 + radius: 8 + detectLayer: + serializedVersion: 2 + m_Bits: 512 + fanAngle: 0 + fanRayCount: 0 + boxSize: {x: 0, y: 0} + boxOffset: {x: 0, y: 0} + losBlockMask: + serializedVersion: 2 + m_Bits: 0 + losRayCount: 0 + losMinVisibility: 0 + rayDirection: {x: 0, y: 0} + rayLength: 0 + raySpread: 0 + rayCount: 0 + obstructLayer: + serializedVersion: 2 + m_Bits: 0 + - slotName: sight + type: 4 + offset: {x: 0, y: 0} + gizmoColor: {r: 0.3, g: 0.85, b: 1, a: 1} + isDisabled: 0 + tickInterval: 0 + radius: 6 + detectLayer: + serializedVersion: 2 + m_Bits: 512 + fanAngle: 0 + fanRayCount: 0 + boxSize: {x: 0, y: 0} + boxOffset: {x: 0, y: 0} + losBlockMask: + serializedVersion: 2 + m_Bits: 0 + losRayCount: 3 + losMinVisibility: 0 + rayDirection: {x: 0, y: 0} + rayLength: 0 + raySpread: 0 + rayCount: 0 + obstructLayer: + serializedVersion: 2 + m_Bits: 0 +--- !u!1 &8109938981782931710 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6397871098464242200} + - component: {fileID: 5510659119725211148} + - component: {fileID: 6579043664862402528} + m_Layer: 27 + m_Name: HurtBox + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &6397871098464242200 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8109938981782931710} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 2025611111464161772} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!70 &5510659119725211148 +CapsuleCollider2D: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8109938981782931710} + m_Enabled: 1 + 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_UsedByComposite: 0 + m_Offset: {x: 0, y: 0} + m_Size: {x: 1.1, y: 1.9} + m_Direction: 0 +--- !u!114 &6579043664862402528 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8109938981782931710} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d7b7a233d7f70aa4f86b473412b826de, type: 3} + m_Name: + m_EditorClassIdentifier: + _onDamageDealt: {fileID: 0} + _onHitConfirmed: {fileID: 11400000, guid: a67d56f5124e0db4f98f326c74be8091, type: 2} diff --git a/Assets/_Game/Prefabs/Enemies/ChaoFeng/ENM_ChaoFeng.prefab.meta b/Assets/_Game/Prefabs/Enemies/ChaoFeng/ENM_ChaoFeng.prefab.meta new file mode 100644 index 0000000..6a429aa --- /dev/null +++ b/Assets/_Game/Prefabs/Enemies/ChaoFeng/ENM_ChaoFeng.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: e55e94346ed15ce40bc0ae5aa7771ea6 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/_Game/Prefabs/Enemies/E001.meta b/Assets/_Game/Prefabs/Enemies/E001.meta new file mode 100644 index 0000000..ff97bc9 --- /dev/null +++ b/Assets/_Game/Prefabs/Enemies/E001.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: d9e1770e113bfd24bbf86e04c39c6587 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/_Game/Prefabs/Enemies/E001/ENM_CaoZhi.prefab b/Assets/_Game/Prefabs/Enemies/E001/ENM_CaoZhi.prefab new file mode 100644 index 0000000..82a8968 --- /dev/null +++ b/Assets/_Game/Prefabs/Enemies/E001/ENM_CaoZhi.prefab @@ -0,0 +1,815 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &444424242173842105 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1509821362700786356} + m_Layer: 0 + m_Name: Abilities + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1509821362700786356 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 444424242173842105} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 7511576130651589432} + - {fileID: 7963057630187492059} + m_Father: {fileID: 1584616613766364365} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &2378558940863543267 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1594798921504223030} + - component: {fileID: 6298434870842327813} + - component: {fileID: 7326741988116792408} + - component: {fileID: 7572402007749840909} + m_Layer: 0 + m_Name: Visual + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1594798921504223030 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2378558940863543267} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1584616613766364365} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!95 &6298434870842327813 +Animator: + serializedVersion: 5 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2378558940863543267} + m_Enabled: 1 + m_Avatar: {fileID: 0} + m_Controller: {fileID: 0} + m_CullingMode: 0 + m_UpdateMode: 0 + m_ApplyRootMotion: 0 + m_LinearVelocityBlending: 0 + m_StabilizeFeet: 0 + m_WarningMessage: + m_HasTransformHierarchy: 1 + m_AllowConstantClipSamplingOptimization: 1 + m_KeepAnimatorStateOnDisable: 0 + m_WriteDefaultValuesOnDisable: 0 +--- !u!114 &7326741988116792408 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2378558940863543267} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0ad50f81b1d25c441943c37a89ba23f6, type: 3} + m_Name: + m_EditorClassIdentifier: + _Animator: {fileID: 6298434870842327813} + _Transitions: {fileID: 0} + _ActionOnDisable: 0 +--- !u!212 &7572402007749840909 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2378558940863543267} + 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_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 6c1a7b756ba1d4646a405f7f6e0833ad, 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: 0 + m_Sprite: {fileID: 7482667652216324306, guid: 311925a002f4447b3a28927169b83ea6, 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, y: 1} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 +--- !u!1 &4060394683168505230 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1584616613766364365} + - component: {fileID: 6037085586479056480} + - component: {fileID: 2067579373980048563} + - component: {fileID: 6958071664500836132} + - component: {fileID: 3227522604157326171} + - component: {fileID: 3849744426832546310} + - component: {fileID: 3631153374386594397} + - component: {fileID: 47111425058439551} + - component: {fileID: 8798631432003224959} + - component: {fileID: 3225188436228842581} + m_Layer: 13 + m_Name: ENM_CaoZhi + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1584616613766364365 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4060394683168505230} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 1968.4287, y: 77.1997, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1594798921504223030} + - {fileID: 8414909081001592724} + - {fileID: 3621416060650874532} + - {fileID: 1509821362700786356} + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!50 &6037085586479056480 +Rigidbody2D: + serializedVersion: 4 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4060394683168505230} + m_BodyType: 0 + m_Simulated: 1 + m_UseFullKinematicContacts: 0 + m_UseAutoMass: 0 + m_Mass: 1 + m_LinearDrag: 0 + m_AngularDrag: 0.05 + m_GravityScale: 2 + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_Interpolate: 0 + m_SleepingMode: 1 + m_CollisionDetection: 1 + m_Constraints: 4 +--- !u!61 &2067579373980048563 +BoxCollider2D: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4060394683168505230} + m_Enabled: 1 + 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: 0 + m_UsedByEffector: 0 + m_UsedByComposite: 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 + serializedVersion: 2 + m_Size: {x: 0.6, y: 0.8} + m_EdgeRadius: 0 +--- !u!114 &6958071664500836132 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4060394683168505230} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1a2dbfbcc31a4c34cbd3ac893f02e07d, type: 3} + m_Name: + m_EditorClassIdentifier: + _enemyId: + _statsSO: {fileID: 11400000, guid: 508afd17a0cf2fe47935c78097c3b093, type: 2} + _animConfig: {fileID: 11400000, guid: 06936c5bc3358904cb269abdfa60ed14, type: 2} + _stats: {fileID: 3227522604157326171} + _movement: {fileID: 3849744426832546310} + _combat: {fileID: 0} + _animancer: {fileID: 7326741988116792408} + _feedback: {fileID: 0} + _hurtBox: {fileID: 7843048500329562790} + _patrolZone: {fileID: 0} + _onEnemyDied: {fileID: 11400000, guid: def849e2c5ec8204eae6b083b02307aa, type: 2} + _onPlayerSpawned: {fileID: 11400000, guid: 7e2c7e614f6627b449a244ab44443adf, type: 2} + _btIdleTickInterval: 0.3 + _btPatrolTickInterval: 0.15 + _btAlertTickInterval: 0.08 + _btChaseTickInterval: 0.05 + _btCombatTickInterval: 0 + _dbg_CurrentState: 0 + _dbg_AiPhase: 0 + _dbg_HasPlayer: 0 + _dbg_LastKnownPos: {x: 0, y: 0} + _dbg_BtTickInterval: 0 + _autoPlayPhaseAnimation: 1 +--- !u!114 &3227522604157326171 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4060394683168505230} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 48bc7c82cd2c1df4ba7103160db48a11, type: 3} + m_Name: + m_EditorClassIdentifier: + _onDifficultyChanged: {fileID: 11400000, guid: 156874a2ffc17694e91e949abbf97fee, type: 2} +--- !u!114 &3849744426832546310 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4060394683168505230} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 20bd45717dc17a94581eee24814fe60c, type: 3} + m_Name: + m_EditorClassIdentifier: + _config: {fileID: 11400000, guid: 508afd17a0cf2fe47935c78097c3b093, type: 2} + _spriteRenderer: {fileID: 7572402007749840909} + _enableTurnAnimation: 0 + _animancer: {fileID: 7326741988116792408} + _animConfig: {fileID: 11400000, guid: 06936c5bc3358904cb269abdfa60ed14, type: 2} + _visualRoot: {fileID: 1594798921504223030} + _spriteDefaultFacingDir: 1 + _navJumpMaxHeight: 6 + _navJumpMaxDist: 10 + _groundCheckCollider: {fileID: 0} + _groundCheckDist: 0.15 + _groundCheckCount: 3 + _groundMask: + serializedVersion: 2 + m_Bits: 68159744 + _wallCheckDist: 0.2 + _ledgeCheckFwdOffset: 0.1 + _ledgeCheckDownDist: 0.4 + _wallMask: + serializedVersion: 2 + m_Bits: 0 + _dbg_FacingDirection: 0 + _dbg_VelocityX: 0 + _dbg_VelocityY: 0 + _dbg_IsGrounded: 0 + _dbg_IsWallAhead: 0 + _dbg_IsLedgeAhead: 0 + _dbg_IsTurning: 0 + _dbg_NavDriving: 0 + _dbg_Input_MoveDir: 0 + _dbg_Input_MoveSpeed: 0 + _dbg_Input_WantStop: 0 + _dbg_Input_WantFace: 0 + _dbg_Input_FaceTargetPos: {x: 0, y: 0} + _dbg_Input_FaceDir: 0 +--- !u!114 &3631153374386594397 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4060394683168505230} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 3864fd1487d130847b11b82f276d11b6, type: 3} + m_Name: + m_EditorClassIdentifier: + height: 1 + maxSlopeAngle: 180 + autoRepathIntervall: 1 + maximumDistanceToPathStart: 0.7 + linkTraversalCostMultipliers: + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + allowCloseEnoughPath: 0 + movementSpeed: 5 + cornerSpeed: 100 + jumpSpeed: 5 + fallSpeed: 5 + climbSpeed: 5 + enableDebugMessages: 0 + navTagTraversalCostMultipliers: + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + status: 0 + navTagMask: -1 +--- !u!114 &47111425058439551 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4060394683168505230} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 77030faff3812a7429edeaca91e9c873, type: 3} + m_Name: + m_EditorClassIdentifier: + movementSpeed: 5 + cornerSpeed: 100 + jumpSpeed: 5 + fallSpeed: 5 + climbSpeed: 5 + enableAgentRotation: 1 + enabledFeatures: 2147483647 +--- !u!114 &8798631432003224959 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4060394683168505230} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 44871319d7318de40b9ac21757b69c78, type: 3} + m_Name: + m_EditorClassIdentifier: + _edgeCheckFwdOffset: 0.3 + _edgeCheckDownLen: 0.6 + _groundMask: + serializedVersion: 2 + m_Bits: 4294967295 +--- !u!114 &3225188436228842581 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4060394683168505230} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: c0026fe36cfaffc4e95698bccd0a8380, type: 3} + m_Name: + m_EditorClassIdentifier: + _slots: + - slotName: aggro + type: 0 + offset: {x: 0, y: 0} + gizmoColor: {r: 1, g: 0.6, b: 0.1, a: 1} + isDisabled: 0 + tickInterval: 0 + radius: 5 + detectLayer: + serializedVersion: 2 + m_Bits: 512 + fanAngle: 0 + fanRayCount: 0 + boxSize: {x: 0, y: 0} + boxOffset: {x: 0, y: 0} + losBlockMask: + serializedVersion: 2 + m_Bits: 0 + losRayCount: 0 + losMinVisibility: 0 + rayDirection: {x: 0, y: 0} + rayLength: 0 + raySpread: 0 + rayCount: 0 + obstructLayer: + serializedVersion: 2 + m_Bits: 0 + - slotName: los + type: 1 + offset: {x: 0, y: 0} + gizmoColor: {r: 0, g: 0.8, b: 1, a: 1} + isDisabled: 0 + tickInterval: 0 + radius: 0 + detectLayer: + serializedVersion: 2 + m_Bits: 0 + fanAngle: 0 + fanRayCount: 0 + boxSize: {x: 0, y: 0} + boxOffset: {x: 0, y: 0} + losBlockMask: + serializedVersion: 2 + m_Bits: 0 + losRayCount: 0 + losMinVisibility: 0 + rayDirection: {x: 0, y: 0} + rayLength: 0 + raySpread: 0 + rayCount: 0 + obstructLayer: + serializedVersion: 2 + m_Bits: 0 +--- !u!1 &6141681234124103774 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7963057630187492059} + - component: {fileID: 8461630426717485673} + m_Layer: 0 + m_Name: ContactChaseAbility_Chase + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &7963057630187492059 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6141681234124103774} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1509821362700786356} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &8461630426717485673 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6141681234124103774} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 7bfd6f44ebdb5bf489ab6703b1ee429b, type: 3} + m_Name: + m_EditorClassIdentifier: + _config: {fileID: 11400000, guid: 0adeaa8a8508fbd40986dbb71cc85acd, type: 2} + _loopClip: + _FadeDuration: 0.25 + _Speed: 1 + _Events: + _NormalizedTimes: [] + _Callbacks: [] + _Names: [] + _Clip: {fileID: 0} + _NormalizedStartTime: NaN + _endClip: + _FadeDuration: 0.25 + _Speed: 1 + _Events: + _NormalizedTimes: [] + _Callbacks: [] + _Names: [] + _Clip: {fileID: 0} + _NormalizedStartTime: NaN + _contactDamage: {fileID: 9135205194319985817} + _aggroSlotName: aggro + references: + version: 2 + RefIds: [] +--- !u!1 &6788684755218838016 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3621416060650874532} + - component: {fileID: 4224821075314171012} + - component: {fileID: 8468978500168207169} + - component: {fileID: 9135205194319985817} + m_Layer: 25 + m_Name: ContactDamageZone + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &3621416060650874532 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6788684755218838016} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1584616613766364365} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!58 &4224821075314171012 +CircleCollider2D: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6788684755218838016} + m_Enabled: 1 + 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_UsedByComposite: 0 + m_Offset: {x: 0, y: 0} + serializedVersion: 2 + m_Radius: 0.4 +--- !u!114 &8468978500168207169 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6788684755218838016} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: a655e2461396a8348a32a13144438e8e, type: 3} + m_Name: + m_EditorClassIdentifier: + _defaultSource: {fileID: 11400000, guid: caae9c7600281fe4e8d8637fa3fd2ca1, type: 2} + _hitCooldown: 0.1 + _id: + _rivalHitBoxMask: + serializedVersion: 2 + m_Bits: 0 +--- !u!114 &9135205194319985817 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6788684755218838016} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 6def12af0589a9545b80eb5accf61bb6, type: 3} + m_Name: + m_EditorClassIdentifier: + _repeatInterval: 0.5 +--- !u!1 &8344198090396325649 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8414909081001592724} + - component: {fileID: 669818646738819813} + - component: {fileID: 7843048500329562790} + m_Layer: 27 + m_Name: HurtBox + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &8414909081001592724 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8344198090396325649} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1584616613766364365} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!70 &669818646738819813 +CapsuleCollider2D: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8344198090396325649} + m_Enabled: 1 + 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_UsedByComposite: 0 + m_Offset: {x: 0, y: 0} + m_Size: {x: 0.55, y: 0.75} + m_Direction: 0 +--- !u!114 &7843048500329562790 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8344198090396325649} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d7b7a233d7f70aa4f86b473412b826de, type: 3} + m_Name: + m_EditorClassIdentifier: + _onDamageDealt: {fileID: 0} + _onHitConfirmed: {fileID: 11400000, guid: a67d56f5124e0db4f98f326c74be8091, type: 2} +--- !u!1 &9197466520231538566 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7511576130651589432} + - component: {fileID: 4229412279466832384} + m_Layer: 0 + m_Name: PlayClipAbility_Alert + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &7511576130651589432 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 9197466520231538566} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1509821362700786356} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &4229412279466832384 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 9197466520231538566} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: a26fca0fa72894a4da1a5a58ee023154, type: 3} + m_Name: + m_EditorClassIdentifier: + _config: {fileID: 11400000, guid: 157dc45e6b444c64ea1a80a5886a8b92, type: 2} + _clip: + _FadeDuration: 0.25 + _Speed: 1 + _Events: + _NormalizedTimes: [] + _Callbacks: [] + _Names: [] + _Clip: {fileID: 0} + _NormalizedStartTime: NaN + references: + version: 2 + RefIds: [] diff --git a/Assets/_Game/Prefabs/Enemies/E001/ENM_CaoZhi.prefab.meta b/Assets/_Game/Prefabs/Enemies/E001/ENM_CaoZhi.prefab.meta new file mode 100644 index 0000000..c24e0ac --- /dev/null +++ b/Assets/_Game/Prefabs/Enemies/E001/ENM_CaoZhi.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 69accaa6577ec1a4db552c3c31aa28d8 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/_Game/Prefabs/Enemies/E002.meta b/Assets/_Game/Prefabs/Enemies/E002.meta new file mode 100644 index 0000000..4035896 --- /dev/null +++ b/Assets/_Game/Prefabs/Enemies/E002.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 468cd113837f0934ea7f0adfbf3b0cc9 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/_Game/Prefabs/Enemies/E002/ENM_HuangZhi.prefab b/Assets/_Game/Prefabs/Enemies/E002/ENM_HuangZhi.prefab new file mode 100644 index 0000000..0f43f03 --- /dev/null +++ b/Assets/_Game/Prefabs/Enemies/E002/ENM_HuangZhi.prefab @@ -0,0 +1,737 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &231485347074778206 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1952564073119898262} + - component: {fileID: 6571792693567870670} + - component: {fileID: 1292370771080036383} + m_Layer: 27 + m_Name: HurtBox + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1952564073119898262 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 231485347074778206} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 9176789658569836661} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!70 &6571792693567870670 +CapsuleCollider2D: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 231485347074778206} + m_Enabled: 1 + 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_UsedByComposite: 0 + m_Offset: {x: 0, y: 0} + m_Size: {x: 0.45, y: 0.65} + m_Direction: 0 +--- !u!114 &1292370771080036383 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 231485347074778206} + m_Enabled: 0 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d7b7a233d7f70aa4f86b473412b826de, type: 3} + m_Name: + m_EditorClassIdentifier: + _onDamageDealt: {fileID: 0} + _onHitConfirmed: {fileID: 11400000, guid: a67d56f5124e0db4f98f326c74be8091, type: 2} +--- !u!1 &895412785764071880 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5590689631630432746} + - component: {fileID: 246444818747598045} + m_Layer: 0 + m_Name: CeilingHangStrikeAbility + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &5590689631630432746 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 895412785764071880} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 3853069460277176744} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &246444818747598045 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 895412785764071880} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5615d1d3eb70f414fb137428a3f7f962, type: 3} + m_Name: + m_EditorClassIdentifier: + _config: {fileID: 11400000, guid: 9094c0fd7780aca488db9408bec2323e, type: 2} + _strikeClip: + _FadeDuration: 0.25 + _Speed: 1 + _Events: + _NormalizedTimes: [] + _Callbacks: [] + _Names: [] + _Clip: {fileID: 0} + _NormalizedStartTime: NaN + _loopClip: + _FadeDuration: 0.25 + _Speed: 1 + _Events: + _NormalizedTimes: [] + _Callbacks: [] + _Names: [] + _Clip: {fileID: 0} + _NormalizedStartTime: NaN + _endClip: + _FadeDuration: 0.25 + _Speed: 1 + _Events: + _NormalizedTimes: [] + _Callbacks: [] + _Names: [] + _Clip: {fileID: 0} + _NormalizedStartTime: NaN + _attackHitBox: {fileID: 8864880579192852541} + _hurtBox: {fileID: 1292370771080036383} + _hangDuration: 2 + references: + version: 2 + RefIds: [] +--- !u!1 &2626404704847607916 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4087026395575398602} + - component: {fileID: 9026259887024175127} + - component: {fileID: 3488274412331748671} + - component: {fileID: 5368651502830272287} + m_Layer: 0 + m_Name: Visual + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4087026395575398602 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2626404704847607916} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 9176789658569836661} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!95 &9026259887024175127 +Animator: + serializedVersion: 5 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2626404704847607916} + m_Enabled: 1 + m_Avatar: {fileID: 0} + m_Controller: {fileID: 0} + m_CullingMode: 0 + m_UpdateMode: 0 + m_ApplyRootMotion: 0 + m_LinearVelocityBlending: 0 + m_StabilizeFeet: 0 + m_WarningMessage: + m_HasTransformHierarchy: 1 + m_AllowConstantClipSamplingOptimization: 1 + m_KeepAnimatorStateOnDisable: 0 + m_WriteDefaultValuesOnDisable: 0 +--- !u!114 &3488274412331748671 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2626404704847607916} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0ad50f81b1d25c441943c37a89ba23f6, type: 3} + m_Name: + m_EditorClassIdentifier: + _Animator: {fileID: 9026259887024175127} + _Transitions: {fileID: 0} + _ActionOnDisable: 0 +--- !u!212 &5368651502830272287 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2626404704847607916} + 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_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 6c1a7b756ba1d4646a405f7f6e0833ad, 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: 0 + m_Sprite: {fileID: 7482667652216324306, guid: 311925a002f4447b3a28927169b83ea6, 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, y: 1} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 +--- !u!1 &4481867872475370171 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8018188397413282834} + - component: {fileID: 3006202620781200989} + - component: {fileID: 8864880579192852541} + m_Layer: 25 + m_Name: AttackHitBox + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &8018188397413282834 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4481867872475370171} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 9176789658569836661} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!61 &3006202620781200989 +BoxCollider2D: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4481867872475370171} + m_Enabled: 1 + 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_UsedByComposite: 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 + serializedVersion: 2 + m_Size: {x: 0.6, y: 0.8} + m_EdgeRadius: 0 +--- !u!114 &8864880579192852541 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4481867872475370171} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: a655e2461396a8348a32a13144438e8e, type: 3} + m_Name: + m_EditorClassIdentifier: + _defaultSource: {fileID: 11400000, guid: caae9c7600281fe4e8d8637fa3fd2ca1, type: 2} + _hitCooldown: 0.1 + _id: + _rivalHitBoxMask: + serializedVersion: 2 + m_Bits: 0 +--- !u!1 &4879284000855287095 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3853069460277176744} + m_Layer: 0 + m_Name: Abilities + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &3853069460277176744 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4879284000855287095} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 5590689631630432746} + m_Father: {fileID: 9176789658569836661} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &6263538408783402233 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 9176789658569836661} + - component: {fileID: 6026231699680543836} + - component: {fileID: 6545152936416898533} + - component: {fileID: 2849807483096381127} + - component: {fileID: 7385133688981904921} + - component: {fileID: 405395412105190663} + - component: {fileID: 3527685756250305040} + - component: {fileID: 4296718727111344892} + - component: {fileID: 4864840914786830555} + - component: {fileID: 5017611108458001053} + m_Layer: 13 + m_Name: ENM_HuangZhi + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &9176789658569836661 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6263538408783402233} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 1968.4287, y: 77.1997, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 4087026395575398602} + - {fileID: 1952564073119898262} + - {fileID: 8018188397413282834} + - {fileID: 3853069460277176744} + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!50 &6026231699680543836 +Rigidbody2D: + serializedVersion: 4 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6263538408783402233} + m_BodyType: 1 + m_Simulated: 1 + m_UseFullKinematicContacts: 0 + m_UseAutoMass: 0 + m_Mass: 1 + m_LinearDrag: 0 + m_AngularDrag: 0.05 + m_GravityScale: 0 + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_Interpolate: 0 + m_SleepingMode: 1 + m_CollisionDetection: 0 + m_Constraints: 0 +--- !u!61 &6545152936416898533 +BoxCollider2D: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6263538408783402233} + m_Enabled: 1 + 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: 0 + m_UsedByEffector: 0 + m_UsedByComposite: 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 + serializedVersion: 2 + m_Size: {x: 0.5, y: 0.7} + m_EdgeRadius: 0 +--- !u!114 &2849807483096381127 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6263538408783402233} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1a2dbfbcc31a4c34cbd3ac893f02e07d, type: 3} + m_Name: + m_EditorClassIdentifier: + _enemyId: + _statsSO: {fileID: 11400000, guid: 05814ecfd4222a44a8d8ef0fd57e49a5, type: 2} + _animConfig: {fileID: 11400000, guid: ffe2c8557c1f3d740b9518172c47a725, type: 2} + _stats: {fileID: 7385133688981904921} + _movement: {fileID: 405395412105190663} + _combat: {fileID: 0} + _animancer: {fileID: 3488274412331748671} + _feedback: {fileID: 0} + _hurtBox: {fileID: 1292370771080036383} + _patrolZone: {fileID: 0} + _onEnemyDied: {fileID: 11400000, guid: def849e2c5ec8204eae6b083b02307aa, type: 2} + _onPlayerSpawned: {fileID: 11400000, guid: 7e2c7e614f6627b449a244ab44443adf, type: 2} + _btIdleTickInterval: 0.3 + _btPatrolTickInterval: 0.15 + _btAlertTickInterval: 0.08 + _btChaseTickInterval: 0.05 + _btCombatTickInterval: 0 + _dbg_CurrentState: 0 + _dbg_AiPhase: 0 + _dbg_HasPlayer: 0 + _dbg_LastKnownPos: {x: 0, y: 0} + _dbg_BtTickInterval: 0 + _autoPlayPhaseAnimation: 1 +--- !u!114 &7385133688981904921 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6263538408783402233} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 48bc7c82cd2c1df4ba7103160db48a11, type: 3} + m_Name: + m_EditorClassIdentifier: + _onDifficultyChanged: {fileID: 11400000, guid: 156874a2ffc17694e91e949abbf97fee, type: 2} +--- !u!114 &405395412105190663 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6263538408783402233} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 20bd45717dc17a94581eee24814fe60c, type: 3} + m_Name: + m_EditorClassIdentifier: + _config: {fileID: 11400000, guid: 05814ecfd4222a44a8d8ef0fd57e49a5, type: 2} + _spriteRenderer: {fileID: 5368651502830272287} + _enableTurnAnimation: 0 + _animancer: {fileID: 3488274412331748671} + _animConfig: {fileID: 11400000, guid: ffe2c8557c1f3d740b9518172c47a725, type: 2} + _visualRoot: {fileID: 4087026395575398602} + _spriteDefaultFacingDir: 1 + _navJumpMaxHeight: 6 + _navJumpMaxDist: 10 + _groundCheckCollider: {fileID: 0} + _groundCheckDist: 0.15 + _groundCheckCount: 3 + _groundMask: + serializedVersion: 2 + m_Bits: 68159744 + _wallCheckDist: 0.2 + _ledgeCheckFwdOffset: 0.1 + _ledgeCheckDownDist: 0.4 + _wallMask: + serializedVersion: 2 + m_Bits: 0 + _dbg_FacingDirection: 0 + _dbg_VelocityX: 0 + _dbg_VelocityY: 0 + _dbg_IsGrounded: 0 + _dbg_IsWallAhead: 0 + _dbg_IsLedgeAhead: 0 + _dbg_IsTurning: 0 + _dbg_NavDriving: 0 + _dbg_Input_MoveDir: 0 + _dbg_Input_MoveSpeed: 0 + _dbg_Input_WantStop: 0 + _dbg_Input_WantFace: 0 + _dbg_Input_FaceTargetPos: {x: 0, y: 0} + _dbg_Input_FaceDir: 0 +--- !u!114 &3527685756250305040 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6263538408783402233} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 3864fd1487d130847b11b82f276d11b6, type: 3} + m_Name: + m_EditorClassIdentifier: + height: 1 + maxSlopeAngle: 180 + autoRepathIntervall: 1 + maximumDistanceToPathStart: 0.7 + linkTraversalCostMultipliers: + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + allowCloseEnoughPath: 0 + movementSpeed: 5 + cornerSpeed: 100 + jumpSpeed: 5 + fallSpeed: 5 + climbSpeed: 5 + enableDebugMessages: 0 + navTagTraversalCostMultipliers: + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + status: 0 + navTagMask: -1 +--- !u!114 &4296718727111344892 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6263538408783402233} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 77030faff3812a7429edeaca91e9c873, type: 3} + m_Name: + m_EditorClassIdentifier: + movementSpeed: 5 + cornerSpeed: 100 + jumpSpeed: 5 + fallSpeed: 5 + climbSpeed: 5 + enableAgentRotation: 1 + enabledFeatures: 2147483647 +--- !u!114 &4864840914786830555 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6263538408783402233} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 44871319d7318de40b9ac21757b69c78, type: 3} + m_Name: + m_EditorClassIdentifier: + _edgeCheckFwdOffset: 0.3 + _edgeCheckDownLen: 0.6 + _groundMask: + serializedVersion: 2 + m_Bits: 4294967295 +--- !u!114 &5017611108458001053 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6263538408783402233} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: c0026fe36cfaffc4e95698bccd0a8380, type: 3} + m_Name: + m_EditorClassIdentifier: + _slots: + - slotName: attack_range + type: 0 + offset: {x: 0, y: 0} + gizmoColor: {r: 1, g: 0.4, b: 0.6, a: 1} + isDisabled: 0 + tickInterval: 0 + radius: 8 + detectLayer: + serializedVersion: 2 + m_Bits: 512 + fanAngle: 0 + fanRayCount: 0 + boxSize: {x: 0, y: 0} + boxOffset: {x: 0, y: 0} + losBlockMask: + serializedVersion: 2 + m_Bits: 0 + losRayCount: 0 + losMinVisibility: 0 + rayDirection: {x: 0, y: 0} + rayLength: 0 + raySpread: 0 + rayCount: 0 + obstructLayer: + serializedVersion: 2 + m_Bits: 0 diff --git a/Assets/_Game/Prefabs/Enemies/E002/ENM_HuangZhi.prefab.meta b/Assets/_Game/Prefabs/Enemies/E002/ENM_HuangZhi.prefab.meta new file mode 100644 index 0000000..fe04cec --- /dev/null +++ b/Assets/_Game/Prefabs/Enemies/E002/ENM_HuangZhi.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 98db6e6457d39db43a998d00a26aa503 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/_Game/Prefabs/Enemies/E003.meta b/Assets/_Game/Prefabs/Enemies/E003.meta new file mode 100644 index 0000000..efa97bf --- /dev/null +++ b/Assets/_Game/Prefabs/Enemies/E003.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 7229d50196e290f43832edd768a88de6 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/_Game/Prefabs/Enemies/E003/ENM_YouZhi.prefab b/Assets/_Game/Prefabs/Enemies/E003/ENM_YouZhi.prefab new file mode 100644 index 0000000..d5d46a5 --- /dev/null +++ b/Assets/_Game/Prefabs/Enemies/E003/ENM_YouZhi.prefab @@ -0,0 +1,782 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &1004048321277205856 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2516342930953455562} + - component: {fileID: 3554745157941597108} + - component: {fileID: 6518222380166957483} + m_Layer: 27 + m_Name: HurtBox + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2516342930953455562 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1004048321277205856} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 6209021289861093731} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!70 &3554745157941597108 +CapsuleCollider2D: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1004048321277205856} + m_Enabled: 1 + 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_UsedByComposite: 0 + m_Offset: {x: 0, y: 0} + m_Size: {x: 0.45, y: 0.55} + m_Direction: 0 +--- !u!114 &6518222380166957483 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1004048321277205856} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d7b7a233d7f70aa4f86b473412b826de, type: 3} + m_Name: + m_EditorClassIdentifier: + _onDamageDealt: {fileID: 0} + _onHitConfirmed: {fileID: 11400000, guid: a67d56f5124e0db4f98f326c74be8091, type: 2} +--- !u!1 &1128442748147486908 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6032435820954292607} + - component: {fileID: 4177636856684110501} + - component: {fileID: 2614105923759935458} + - component: {fileID: 4102702191917059354} + m_Layer: 0 + m_Name: Visual + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &6032435820954292607 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1128442748147486908} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 6209021289861093731} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!95 &4177636856684110501 +Animator: + serializedVersion: 5 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1128442748147486908} + m_Enabled: 1 + m_Avatar: {fileID: 0} + m_Controller: {fileID: 0} + m_CullingMode: 0 + m_UpdateMode: 0 + m_ApplyRootMotion: 0 + m_LinearVelocityBlending: 0 + m_StabilizeFeet: 0 + m_WarningMessage: + m_HasTransformHierarchy: 1 + m_AllowConstantClipSamplingOptimization: 1 + m_KeepAnimatorStateOnDisable: 0 + m_WriteDefaultValuesOnDisable: 0 +--- !u!114 &2614105923759935458 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1128442748147486908} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0ad50f81b1d25c441943c37a89ba23f6, type: 3} + m_Name: + m_EditorClassIdentifier: + _Animator: {fileID: 4177636856684110501} + _Transitions: {fileID: 0} + _ActionOnDisable: 0 +--- !u!212 &4102702191917059354 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1128442748147486908} + 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_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 6c1a7b756ba1d4646a405f7f6e0833ad, 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: 0 + m_Sprite: {fileID: 7482667652216324306, guid: 311925a002f4447b3a28927169b83ea6, 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, y: 1} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 +--- !u!1 &4314609994364337386 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5498694926406521012} + - component: {fileID: 5187190945624614487} + - component: {fileID: 1631864141013321754} + m_Layer: 0 + m_Name: AnimatedCeilingDropAbility + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &5498694926406521012 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4314609994364337386} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 8553470670195208020} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!50 &5187190945624614487 +Rigidbody2D: + serializedVersion: 4 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4314609994364337386} + m_BodyType: 0 + m_Simulated: 1 + m_UseFullKinematicContacts: 0 + m_UseAutoMass: 0 + m_Mass: 1 + m_LinearDrag: 0 + m_AngularDrag: 0.05 + m_GravityScale: 1 + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_Interpolate: 0 + m_SleepingMode: 1 + m_CollisionDetection: 0 + m_Constraints: 0 +--- !u!114 &1631864141013321754 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4314609994364337386} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 76c9c3969851d084396edd617bac8ef0, type: 3} + m_Name: + m_EditorClassIdentifier: + _config: {fileID: 11400000, guid: 85b5fb5f084da5b4891b55ccdf59fe5a, type: 2} + _fallLoopClip: + _FadeDuration: 0.25 + _Speed: 1 + _Events: + _NormalizedTimes: [] + _Callbacks: [] + _Names: [] + _Clip: {fileID: 0} + _NormalizedStartTime: NaN + _fallGravityScale: 3.5 + _maxFallTime: 3 + _groundMask: + serializedVersion: 2 + m_Bits: 0 + _recoveryTime: 0.1 + _contactDamage: {fileID: 9017371590541886208} + references: + version: 2 + RefIds: [] +--- !u!1 &6230483477122915711 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3556653467699140077} + - component: {fileID: 5564888517388777890} + - component: {fileID: 3640288699065052616} + - component: {fileID: 9017371590541886208} + m_Layer: 25 + m_Name: ContactDamageZone + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &3556653467699140077 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6230483477122915711} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 6209021289861093731} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!58 &5564888517388777890 +CircleCollider2D: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6230483477122915711} + m_Enabled: 1 + 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_UsedByComposite: 0 + m_Offset: {x: 0, y: 0} + serializedVersion: 2 + m_Radius: 0.35 +--- !u!114 &3640288699065052616 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6230483477122915711} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: a655e2461396a8348a32a13144438e8e, type: 3} + m_Name: + m_EditorClassIdentifier: + _defaultSource: {fileID: 11400000, guid: caae9c7600281fe4e8d8637fa3fd2ca1, type: 2} + _hitCooldown: 0.1 + _id: + _rivalHitBoxMask: + serializedVersion: 2 + m_Bits: 0 +--- !u!114 &9017371590541886208 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6230483477122915711} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 6def12af0589a9545b80eb5accf61bb6, type: 3} + m_Name: + m_EditorClassIdentifier: + _repeatInterval: 0.5 +--- !u!1 &6255869283652534460 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6209021289861093731} + - component: {fileID: 4427122285574610353} + - component: {fileID: 5239487631775938377} + - component: {fileID: 442450625045441887} + - component: {fileID: 3136685549398515749} + - component: {fileID: 9112720192901396863} + - component: {fileID: 7317348117306297099} + - component: {fileID: 3801052615690156945} + - component: {fileID: 1497225151565698519} + - component: {fileID: 1137051351926306612} + m_Layer: 13 + m_Name: ENM_YouZhi + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &6209021289861093731 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6255869283652534460} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 1968.4287, y: 77.1997, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 6032435820954292607} + - {fileID: 2516342930953455562} + - {fileID: 3556653467699140077} + - {fileID: 8553470670195208020} + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!50 &4427122285574610353 +Rigidbody2D: + serializedVersion: 4 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6255869283652534460} + m_BodyType: 1 + m_Simulated: 1 + m_UseFullKinematicContacts: 0 + m_UseAutoMass: 0 + m_Mass: 1 + m_LinearDrag: 0 + m_AngularDrag: 0.05 + m_GravityScale: 0 + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_Interpolate: 0 + m_SleepingMode: 1 + m_CollisionDetection: 0 + m_Constraints: 0 +--- !u!61 &5239487631775938377 +BoxCollider2D: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6255869283652534460} + m_Enabled: 1 + 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: 0 + m_UsedByEffector: 0 + m_UsedByComposite: 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 + serializedVersion: 2 + m_Size: {x: 0.5, y: 0.6} + m_EdgeRadius: 0 +--- !u!114 &442450625045441887 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6255869283652534460} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d86a36c2999f88842a212d095749c349, type: 3} + m_Name: + m_EditorClassIdentifier: + _enemyId: + _statsSO: {fileID: 11400000, guid: 2e20aefeac08baa498e6f2153c812406, type: 2} + _animConfig: {fileID: 11400000, guid: d952eb2afa4e3c444ab526cd8c17101e, type: 2} + _stats: {fileID: 3136685549398515749} + _movement: {fileID: 9112720192901396863} + _combat: {fileID: 0} + _animancer: {fileID: 2614105923759935458} + _feedback: {fileID: 0} + _hurtBox: {fileID: 6518222380166957483} + _patrolZone: {fileID: 0} + _onEnemyDied: {fileID: 11400000, guid: def849e2c5ec8204eae6b083b02307aa, type: 2} + _onPlayerSpawned: {fileID: 11400000, guid: 7e2c7e614f6627b449a244ab44443adf, type: 2} + _btIdleTickInterval: 0.3 + _btPatrolTickInterval: 0.15 + _btAlertTickInterval: 0.08 + _btChaseTickInterval: 0.05 + _btCombatTickInterval: 0 + _dbg_CurrentState: 0 + _dbg_AiPhase: 0 + _dbg_HasPlayer: 0 + _dbg_LastKnownPos: {x: 0, y: 0} + _dbg_BtTickInterval: 0 + _autoPlayPhaseAnimation: 1 + _activateOnSpawn: 1 +--- !u!114 &3136685549398515749 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6255869283652534460} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 48bc7c82cd2c1df4ba7103160db48a11, type: 3} + m_Name: + m_EditorClassIdentifier: + _onDifficultyChanged: {fileID: 11400000, guid: 156874a2ffc17694e91e949abbf97fee, type: 2} +--- !u!114 &9112720192901396863 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6255869283652534460} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 20bd45717dc17a94581eee24814fe60c, type: 3} + m_Name: + m_EditorClassIdentifier: + _config: {fileID: 11400000, guid: 2e20aefeac08baa498e6f2153c812406, type: 2} + _spriteRenderer: {fileID: 4102702191917059354} + _enableTurnAnimation: 0 + _animancer: {fileID: 2614105923759935458} + _animConfig: {fileID: 11400000, guid: d952eb2afa4e3c444ab526cd8c17101e, type: 2} + _visualRoot: {fileID: 6032435820954292607} + _spriteDefaultFacingDir: 1 + _navJumpMaxHeight: 6 + _navJumpMaxDist: 10 + _groundCheckCollider: {fileID: 0} + _groundCheckDist: 0.15 + _groundCheckCount: 3 + _groundMask: + serializedVersion: 2 + m_Bits: 68159744 + _wallCheckDist: 0.2 + _ledgeCheckFwdOffset: 0.1 + _ledgeCheckDownDist: 0.4 + _wallMask: + serializedVersion: 2 + m_Bits: 0 + _dbg_FacingDirection: 0 + _dbg_VelocityX: 0 + _dbg_VelocityY: 0 + _dbg_IsGrounded: 0 + _dbg_IsWallAhead: 0 + _dbg_IsLedgeAhead: 0 + _dbg_IsTurning: 0 + _dbg_NavDriving: 0 + _dbg_Input_MoveDir: 0 + _dbg_Input_MoveSpeed: 0 + _dbg_Input_WantStop: 0 + _dbg_Input_WantFace: 0 + _dbg_Input_FaceTargetPos: {x: 0, y: 0} + _dbg_Input_FaceDir: 0 +--- !u!114 &7317348117306297099 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6255869283652534460} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 3864fd1487d130847b11b82f276d11b6, type: 3} + m_Name: + m_EditorClassIdentifier: + height: 1 + maxSlopeAngle: 180 + autoRepathIntervall: 1 + maximumDistanceToPathStart: 0.7 + linkTraversalCostMultipliers: + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + allowCloseEnoughPath: 0 + movementSpeed: 5 + cornerSpeed: 100 + jumpSpeed: 5 + fallSpeed: 5 + climbSpeed: 5 + enableDebugMessages: 0 + navTagTraversalCostMultipliers: + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + status: 0 + navTagMask: -1 +--- !u!114 &3801052615690156945 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6255869283652534460} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 77030faff3812a7429edeaca91e9c873, type: 3} + m_Name: + m_EditorClassIdentifier: + movementSpeed: 5 + cornerSpeed: 100 + jumpSpeed: 5 + fallSpeed: 5 + climbSpeed: 5 + enableAgentRotation: 1 + enabledFeatures: 2147483647 +--- !u!114 &1497225151565698519 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6255869283652534460} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 44871319d7318de40b9ac21757b69c78, type: 3} + m_Name: + m_EditorClassIdentifier: + _edgeCheckFwdOffset: 0.3 + _edgeCheckDownLen: 0.6 + _groundMask: + serializedVersion: 2 + m_Bits: 4294967295 +--- !u!114 &1137051351926306612 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6255869283652534460} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: c0026fe36cfaffc4e95698bccd0a8380, type: 3} + m_Name: + m_EditorClassIdentifier: + _slots: + - slotName: aggro + type: 0 + offset: {x: 0, y: 0} + gizmoColor: {r: 1, g: 0.6, b: 0.1, a: 1} + isDisabled: 0 + tickInterval: 0 + radius: 5 + detectLayer: + serializedVersion: 2 + m_Bits: 512 + fanAngle: 0 + fanRayCount: 0 + boxSize: {x: 0, y: 0} + boxOffset: {x: 0, y: 0} + losBlockMask: + serializedVersion: 2 + m_Bits: 0 + losRayCount: 0 + losMinVisibility: 0 + rayDirection: {x: 0, y: 0} + rayLength: 0 + raySpread: 0 + rayCount: 0 + obstructLayer: + serializedVersion: 2 + m_Bits: 0 + - slotName: los + type: 1 + offset: {x: 0, y: 0} + gizmoColor: {r: 0, g: 0.8, b: 1, a: 1} + isDisabled: 0 + tickInterval: 0 + radius: 0 + detectLayer: + serializedVersion: 2 + m_Bits: 0 + fanAngle: 0 + fanRayCount: 0 + boxSize: {x: 0, y: 0} + boxOffset: {x: 0, y: 0} + losBlockMask: + serializedVersion: 2 + m_Bits: 0 + losRayCount: 0 + losMinVisibility: 0 + rayDirection: {x: 0, y: 0} + rayLength: 0 + raySpread: 0 + rayCount: 0 + obstructLayer: + serializedVersion: 2 + m_Bits: 0 +--- !u!1 &7519275599598288895 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8553470670195208020} + m_Layer: 0 + m_Name: Abilities + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &8553470670195208020 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7519275599598288895} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 5498694926406521012} + m_Father: {fileID: 6209021289861093731} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} diff --git a/Assets/_Game/Prefabs/Enemies/E003/ENM_YouZhi.prefab.meta b/Assets/_Game/Prefabs/Enemies/E003/ENM_YouZhi.prefab.meta new file mode 100644 index 0000000..b5c5a0e --- /dev/null +++ b/Assets/_Game/Prefabs/Enemies/E003/ENM_YouZhi.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 3d79f19c55fbaaf40b96071ac7f602c0 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/_Game/Prefabs/Enemies/E004.meta b/Assets/_Game/Prefabs/Enemies/E004.meta new file mode 100644 index 0000000..ee79013 --- /dev/null +++ b/Assets/_Game/Prefabs/Enemies/E004.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: af4208c23159490498eb8a7cbf2c1ce6 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/_Game/Prefabs/Enemies/E004/ENM_ZhiMu.prefab b/Assets/_Game/Prefabs/Enemies/E004/ENM_ZhiMu.prefab new file mode 100644 index 0000000..a241dc0 --- /dev/null +++ b/Assets/_Game/Prefabs/Enemies/E004/ENM_ZhiMu.prefab @@ -0,0 +1,1181 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &588999541409236050 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8447001862721884116} + - component: {fileID: 5226026638942432412} + - component: {fileID: 2584268727877936759} + - component: {fileID: 3870410760426187954} + m_Layer: 0 + m_Name: Visual + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &8447001862721884116 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 588999541409236050} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 2103993666191014279} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!95 &5226026638942432412 +Animator: + serializedVersion: 5 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 588999541409236050} + m_Enabled: 1 + m_Avatar: {fileID: 0} + m_Controller: {fileID: 0} + m_CullingMode: 0 + m_UpdateMode: 0 + m_ApplyRootMotion: 0 + m_LinearVelocityBlending: 0 + m_StabilizeFeet: 0 + m_WarningMessage: + m_HasTransformHierarchy: 1 + m_AllowConstantClipSamplingOptimization: 1 + m_KeepAnimatorStateOnDisable: 0 + m_WriteDefaultValuesOnDisable: 0 +--- !u!114 &2584268727877936759 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 588999541409236050} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0ad50f81b1d25c441943c37a89ba23f6, type: 3} + m_Name: + m_EditorClassIdentifier: + _Animator: {fileID: 5226026638942432412} + _Transitions: {fileID: 0} + _ActionOnDisable: 0 +--- !u!212 &3870410760426187954 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 588999541409236050} + 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_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 6c1a7b756ba1d4646a405f7f6e0833ad, 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: 0 + m_Sprite: {fileID: 7482667652216324306, guid: 311925a002f4447b3a28927169b83ea6, 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, y: 1} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 +--- !u!1 &979863218123742432 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 9105534232883188564} + - component: {fileID: 402989712503763660} + m_Layer: 0 + m_Name: RepeatSlamAbility_HeadSlam + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &9105534232883188564 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 979863218123742432} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 6925272127731859689} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &402989712503763660 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 979863218123742432} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ff71de2a91f535d488c76df6395f1d78, type: 3} + m_Name: + m_EditorClassIdentifier: + _config: {fileID: 11400000, guid: e31246206a0c7a34fb4350050cf0901f, type: 2} + _startClip: + _FadeDuration: 0.25 + _Speed: 1 + _Events: + _NormalizedTimes: [] + _Callbacks: [] + _Names: [] + _Clip: {fileID: 0} + _NormalizedStartTime: NaN + _loopClip: + _FadeDuration: 0.25 + _Speed: 1 + _Events: + _NormalizedTimes: [] + _Callbacks: [] + _Names: [] + _Clip: {fileID: 0} + _NormalizedStartTime: NaN + _endClip: + _FadeDuration: 0.25 + _Speed: 1 + _Events: + _NormalizedTimes: [] + _Callbacks: [] + _Names: [] + _Clip: {fileID: 0} + _NormalizedStartTime: NaN + _hitBox: {fileID: 1268810239883892084} + _hitActiveTime: 0.15 + _slamCount: 2 + _staggerDuration: 1.2 + references: + version: 2 + RefIds: [] +--- !u!1 &1545843639864236458 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5107822462529639940} + - component: {fileID: 1453196476591422361} + m_Layer: 0 + m_Name: FacePlayerAbility_Flip + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &5107822462529639940 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1545843639864236458} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 6925272127731859689} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1453196476591422361 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1545843639864236458} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 6c97df5c477ad0b488171b2b39530b08, type: 3} + m_Name: + m_EditorClassIdentifier: + _config: {fileID: 11400000, guid: c43ff9a2528259b48aa83f9f950bb089, type: 2} + _faceClip: + _FadeDuration: 0.25 + _Speed: 1 + _Events: + _NormalizedTimes: [] + _Callbacks: [] + _Names: [] + _Clip: {fileID: 0} + _NormalizedStartTime: NaN + references: + version: 2 + RefIds: [] +--- !u!1 &2254842475826608971 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6925272127731859689} + m_Layer: 0 + m_Name: Abilities + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &6925272127731859689 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2254842475826608971} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 2915444472910162146} + - {fileID: 2313341465130108409} + - {fileID: 9105534232883188564} + - {fileID: 163064557017705167} + - {fileID: 5107822462529639940} + m_Father: {fileID: 2103993666191014279} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &2849796015473758890 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6852989283427571305} + - component: {fileID: 1413656956578576152} + - component: {fileID: 1268810239883892084} + m_Layer: 25 + m_Name: SlamHitBox + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!4 &6852989283427571305 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2849796015473758890} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 2103993666191014279} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!58 &1413656956578576152 +CircleCollider2D: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2849796015473758890} + m_Enabled: 1 + 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_UsedByComposite: 0 + m_Offset: {x: 0, y: 0} + serializedVersion: 2 + m_Radius: 0.7 +--- !u!114 &1268810239883892084 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2849796015473758890} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: a655e2461396a8348a32a13144438e8e, type: 3} + m_Name: + m_EditorClassIdentifier: + _defaultSource: {fileID: 11400000, guid: caae9c7600281fe4e8d8637fa3fd2ca1, type: 2} + _hitCooldown: 0.1 + _id: + _rivalHitBoxMask: + serializedVersion: 2 + m_Bits: 0 +--- !u!1 &3565875836618067878 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 163064557017705167} + - component: {fileID: 1270013544657238781} + m_Layer: 0 + m_Name: ProjectileAttackAbility_Acid + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &163064557017705167 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3565875836618067878} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 6925272127731859689} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1270013544657238781 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3565875836618067878} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: a80eb7827a2ec3b44bc7ad651e86dbce, type: 3} + m_Name: + m_EditorClassIdentifier: + _config: {fileID: 11400000, guid: d9537ac857760e541aabf05f7b519e84, type: 2} + _muzzle: {fileID: 7264053847966736484} + _faceTargetOnStart: 1 +--- !u!1 &3664545586731380095 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7264053847966736484} + m_Layer: 0 + m_Name: AcidMuzzle + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &7264053847966736484 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3664545586731380095} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 2103993666191014279} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &3721838498060190841 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2915444472910162146} + - component: {fileID: 3210081690713680430} + m_Layer: 0 + m_Name: AppearAbility + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2915444472910162146 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3721838498060190841} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 6925272127731859689} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &3210081690713680430 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3721838498060190841} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 419edb00543abc047a8e7601cf0f3ac4, type: 3} + m_Name: + m_EditorClassIdentifier: + _config: {fileID: 11400000, guid: b99aa7c679fcecd49871bfec9439b96a, type: 2} + _appearClip: + _FadeDuration: 0.25 + _Speed: 1 + _Events: + _NormalizedTimes: [] + _Callbacks: [] + _Names: [] + _Clip: {fileID: 0} + _NormalizedStartTime: NaN + references: + version: 2 + RefIds: [] +--- !u!1 &4500835447412736162 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2957096751107027348} + - component: {fileID: 7468349931044582455} + - component: {fileID: 2227632051621531476} + m_Layer: 25 + m_Name: BiteHitBox + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!4 &2957096751107027348 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4500835447412736162} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 2103993666191014279} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!61 &7468349931044582455 +BoxCollider2D: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4500835447412736162} + m_Enabled: 1 + 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_UsedByComposite: 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 + serializedVersion: 2 + m_Size: {x: 0.6, y: 0.4} + m_EdgeRadius: 0 +--- !u!114 &2227632051621531476 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4500835447412736162} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: a655e2461396a8348a32a13144438e8e, type: 3} + m_Name: + m_EditorClassIdentifier: + _defaultSource: {fileID: 11400000, guid: caae9c7600281fe4e8d8637fa3fd2ca1, type: 2} + _hitCooldown: 0.1 + _id: + _rivalHitBoxMask: + serializedVersion: 2 + m_Bits: 0 +--- !u!1 &4603567129690431567 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2313341465130108409} + - component: {fileID: 8591104850210120807} + m_Layer: 0 + m_Name: MeleeAttackAbility_Bite + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2313341465130108409 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4603567129690431567} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 6925272127731859689} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &8591104850210120807 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4603567129690431567} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 971ba82e05d87234e8b944760542e47c, type: 3} + m_Name: + m_EditorClassIdentifier: + _config: {fileID: 11400000, guid: cff0e3da4be26be42a3b3332c085bdfc, type: 2} + _hitBoxSlots: + - slotName: bite + hitBox: {fileID: 2227632051621531476} + _faceTargetOnStart: 1 +--- !u!1 &4922266539100476086 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1072089156746565370} + - component: {fileID: 6064089299867542662} + - component: {fileID: 6064615757515489567} + m_Layer: 27 + m_Name: HurtBox + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1072089156746565370 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4922266539100476086} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 2103993666191014279} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!70 &6064089299867542662 +CapsuleCollider2D: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4922266539100476086} + m_Enabled: 1 + 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_UsedByComposite: 0 + m_Offset: {x: 0, y: 0} + m_Size: {x: 0.75, y: 1.1} + m_Direction: 0 +--- !u!114 &6064615757515489567 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4922266539100476086} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d7b7a233d7f70aa4f86b473412b826de, type: 3} + m_Name: + m_EditorClassIdentifier: + _onDamageDealt: {fileID: 0} + _onHitConfirmed: {fileID: 11400000, guid: a67d56f5124e0db4f98f326c74be8091, type: 2} +--- !u!1 &7501196512915604413 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2103993666191014279} + - component: {fileID: 3355772017171009690} + - component: {fileID: 4327104935651131780} + - component: {fileID: 7906623128972001973} + - component: {fileID: 7254417954483924161} + - component: {fileID: 1089811227987322101} + - component: {fileID: 3328651193270866812} + - component: {fileID: 2681291004329430697} + - component: {fileID: 9180313924888131203} + - component: {fileID: 1758362558550688781} + - component: {fileID: 1140989549255509988} + m_Layer: 13 + m_Name: ENM_ZhiMu + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2103993666191014279 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7501196512915604413} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 1968.4287, y: 77.1997, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 8447001862721884116} + - {fileID: 1072089156746565370} + - {fileID: 2957096751107027348} + - {fileID: 6852989283427571305} + - {fileID: 7264053847966736484} + - {fileID: 6925272127731859689} + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!50 &3355772017171009690 +Rigidbody2D: + serializedVersion: 4 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7501196512915604413} + m_BodyType: 0 + m_Simulated: 1 + m_UseFullKinematicContacts: 0 + m_UseAutoMass: 0 + m_Mass: 1 + m_LinearDrag: 0 + m_AngularDrag: 0.05 + m_GravityScale: 2 + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_Interpolate: 0 + m_SleepingMode: 1 + m_CollisionDetection: 1 + m_Constraints: 4 +--- !u!61 &4327104935651131780 +BoxCollider2D: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7501196512915604413} + m_Enabled: 1 + 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: 0 + m_UsedByEffector: 0 + m_UsedByComposite: 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 + serializedVersion: 2 + m_Size: {x: 0.8, y: 1.2} + m_EdgeRadius: 0 +--- !u!114 &7906623128972001973 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7501196512915604413} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: cf8f8c7225dca9c42b5a451b177319b9, type: 3} + m_Name: + m_EditorClassIdentifier: + _enemyId: + _statsSO: {fileID: 11400000, guid: 2d4955ff6e80d8a42aafe8b1b5bd016f, type: 2} + _animConfig: {fileID: 11400000, guid: 1cdc4c1944fbee046976435c37b11ace, type: 2} + _stats: {fileID: 7254417954483924161} + _movement: {fileID: 3328651193270866812} + _combat: {fileID: 0} + _animancer: {fileID: 2584268727877936759} + _feedback: {fileID: 1089811227987322101} + _hurtBox: {fileID: 6064615757515489567} + _patrolZone: {fileID: 0} + _onEnemyDied: {fileID: 11400000, guid: def849e2c5ec8204eae6b083b02307aa, type: 2} + _onPlayerSpawned: {fileID: 11400000, guid: 7e2c7e614f6627b449a244ab44443adf, type: 2} + _btIdleTickInterval: 0.3 + _btPatrolTickInterval: 0.15 + _btAlertTickInterval: 0.08 + _btChaseTickInterval: 0.05 + _btCombatTickInterval: 0 + _dbg_CurrentState: 0 + _dbg_AiPhase: 0 + _dbg_HasPlayer: 0 + _dbg_LastKnownPos: {x: 0, y: 0} + _dbg_BtTickInterval: 0 + _autoPlayPhaseAnimation: 1 + _deathPreClip: + _FadeDuration: 0.25 + _Speed: 1 + _Events: + _NormalizedTimes: [] + _Callbacks: [] + _Names: [] + _Clip: {fileID: 0} + _NormalizedStartTime: NaN + _hurtBox: {fileID: 0} + _deathPreDuration: 3 + references: + version: 2 + RefIds: [] +--- !u!114 &7254417954483924161 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7501196512915604413} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 48bc7c82cd2c1df4ba7103160db48a11, type: 3} + m_Name: + m_EditorClassIdentifier: + _onDifficultyChanged: {fileID: 11400000, guid: 156874a2ffc17694e91e949abbf97fee, type: 2} +--- !u!114 &1089811227987322101 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7501196512915604413} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9892874f77e34964092168ab0642a47c, type: 3} + m_Name: + m_EditorClassIdentifier: + _onHitLight: {fileID: 0} + _onHitMedium: {fileID: 0} + _onHitHeavy: {fileID: 0} + _onTakeHit: {fileID: 0} + _onDeath: {fileID: 0} +--- !u!114 &3328651193270866812 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7501196512915604413} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 20bd45717dc17a94581eee24814fe60c, type: 3} + m_Name: + m_EditorClassIdentifier: + _config: {fileID: 11400000, guid: 2d4955ff6e80d8a42aafe8b1b5bd016f, type: 2} + _spriteRenderer: {fileID: 3870410760426187954} + _enableTurnAnimation: 0 + _animancer: {fileID: 2584268727877936759} + _animConfig: {fileID: 11400000, guid: 1cdc4c1944fbee046976435c37b11ace, type: 2} + _visualRoot: {fileID: 8447001862721884116} + _spriteDefaultFacingDir: 1 + _navJumpMaxHeight: 6 + _navJumpMaxDist: 10 + _groundCheckCollider: {fileID: 0} + _groundCheckDist: 0.15 + _groundCheckCount: 3 + _groundMask: + serializedVersion: 2 + m_Bits: 68159744 + _wallCheckDist: 0.2 + _ledgeCheckFwdOffset: 0.1 + _ledgeCheckDownDist: 0.4 + _wallMask: + serializedVersion: 2 + m_Bits: 0 + _dbg_FacingDirection: 0 + _dbg_VelocityX: 0 + _dbg_VelocityY: 0 + _dbg_IsGrounded: 0 + _dbg_IsWallAhead: 0 + _dbg_IsLedgeAhead: 0 + _dbg_IsTurning: 0 + _dbg_NavDriving: 0 + _dbg_Input_MoveDir: 0 + _dbg_Input_MoveSpeed: 0 + _dbg_Input_WantStop: 0 + _dbg_Input_WantFace: 0 + _dbg_Input_FaceTargetPos: {x: 0, y: 0} + _dbg_Input_FaceDir: 0 +--- !u!114 &2681291004329430697 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7501196512915604413} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 3864fd1487d130847b11b82f276d11b6, type: 3} + m_Name: + m_EditorClassIdentifier: + height: 1 + maxSlopeAngle: 180 + autoRepathIntervall: 1 + maximumDistanceToPathStart: 0.7 + linkTraversalCostMultipliers: + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + allowCloseEnoughPath: 0 + movementSpeed: 5 + cornerSpeed: 100 + jumpSpeed: 5 + fallSpeed: 5 + climbSpeed: 5 + enableDebugMessages: 0 + navTagTraversalCostMultipliers: + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + status: 0 + navTagMask: -1 +--- !u!114 &9180313924888131203 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7501196512915604413} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 77030faff3812a7429edeaca91e9c873, type: 3} + m_Name: + m_EditorClassIdentifier: + movementSpeed: 5 + cornerSpeed: 100 + jumpSpeed: 5 + fallSpeed: 5 + climbSpeed: 5 + enableAgentRotation: 1 + enabledFeatures: 2147483647 +--- !u!114 &1758362558550688781 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7501196512915604413} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 44871319d7318de40b9ac21757b69c78, type: 3} + m_Name: + m_EditorClassIdentifier: + _edgeCheckFwdOffset: 0.3 + _edgeCheckDownLen: 0.6 + _groundMask: + serializedVersion: 2 + m_Bits: 4294967295 +--- !u!114 &1140989549255509988 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7501196512915604413} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: c0026fe36cfaffc4e95698bccd0a8380, type: 3} + m_Name: + m_EditorClassIdentifier: + _slots: + - slotName: aggro + type: 0 + offset: {x: 0, y: 0} + gizmoColor: {r: 1, g: 0.6, b: 0.1, a: 1} + isDisabled: 0 + tickInterval: 0 + radius: 5 + detectLayer: + serializedVersion: 2 + m_Bits: 512 + fanAngle: 0 + fanRayCount: 0 + boxSize: {x: 0, y: 0} + boxOffset: {x: 0, y: 0} + losBlockMask: + serializedVersion: 2 + m_Bits: 0 + losRayCount: 0 + losMinVisibility: 0 + rayDirection: {x: 0, y: 0} + rayLength: 0 + raySpread: 0 + rayCount: 0 + obstructLayer: + serializedVersion: 2 + m_Bits: 0 + - slotName: attack_melee + type: 0 + offset: {x: 0, y: 0} + gizmoColor: {r: 1, g: 0.2, b: 0.2, a: 1} + isDisabled: 0 + tickInterval: 0 + radius: 1.5 + detectLayer: + serializedVersion: 2 + m_Bits: 512 + fanAngle: 0 + fanRayCount: 0 + boxSize: {x: 0, y: 0} + boxOffset: {x: 0, y: 0} + losBlockMask: + serializedVersion: 2 + m_Bits: 0 + losRayCount: 0 + losMinVisibility: 0 + rayDirection: {x: 0, y: 0} + rayLength: 0 + raySpread: 0 + rayCount: 0 + obstructLayer: + serializedVersion: 2 + m_Bits: 0 + - slotName: attack_range + type: 0 + offset: {x: 0, y: 0} + gizmoColor: {r: 1, g: 0.4, b: 0.6, a: 1} + isDisabled: 0 + tickInterval: 0 + radius: 8 + detectLayer: + serializedVersion: 2 + m_Bits: 512 + fanAngle: 0 + fanRayCount: 0 + boxSize: {x: 0, y: 0} + boxOffset: {x: 0, y: 0} + losBlockMask: + serializedVersion: 2 + m_Bits: 0 + losRayCount: 0 + losMinVisibility: 0 + rayDirection: {x: 0, y: 0} + rayLength: 0 + raySpread: 0 + rayCount: 0 + obstructLayer: + serializedVersion: 2 + m_Bits: 0 + - slotName: sight + type: 4 + offset: {x: 0, y: 0} + gizmoColor: {r: 0.3, g: 0.85, b: 1, a: 1} + isDisabled: 0 + tickInterval: 0 + radius: 6 + detectLayer: + serializedVersion: 2 + m_Bits: 512 + fanAngle: 0 + fanRayCount: 0 + boxSize: {x: 0, y: 0} + boxOffset: {x: 0, y: 0} + losBlockMask: + serializedVersion: 2 + m_Bits: 0 + losRayCount: 3 + losMinVisibility: 0 + rayDirection: {x: 0, y: 0} + rayLength: 0 + raySpread: 0 + rayCount: 0 + obstructLayer: + serializedVersion: 2 + m_Bits: 0 diff --git a/Assets/_Game/Prefabs/Enemies/E004/ENM_ZhiMu.prefab.meta b/Assets/_Game/Prefabs/Enemies/E004/ENM_ZhiMu.prefab.meta new file mode 100644 index 0000000..3630656 --- /dev/null +++ b/Assets/_Game/Prefabs/Enemies/E004/ENM_ZhiMu.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 6e3d42a02e363ad4ab5079699a37d1d3 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/_Game/Prefabs/Enemies/E005.meta b/Assets/_Game/Prefabs/Enemies/E005.meta new file mode 100644 index 0000000..22c9424 --- /dev/null +++ b/Assets/_Game/Prefabs/Enemies/E005.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 29383376f5568f4479854075a0f8d9e1 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/_Game/Prefabs/Enemies/E005/ENM_FeiZhi.prefab b/Assets/_Game/Prefabs/Enemies/E005/ENM_FeiZhi.prefab new file mode 100644 index 0000000..6a722bb --- /dev/null +++ b/Assets/_Game/Prefabs/Enemies/E005/ENM_FeiZhi.prefab @@ -0,0 +1,882 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &651163718730328631 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 994692467667540276} + - component: {fileID: 4499181483200742099} + m_Layer: 0 + m_Name: ProjectileAttackAbility_Acid + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &994692467667540276 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 651163718730328631} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1870740793056724981} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &4499181483200742099 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 651163718730328631} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: a80eb7827a2ec3b44bc7ad651e86dbce, type: 3} + m_Name: + m_EditorClassIdentifier: + _config: {fileID: 11400000, guid: ea4fff3a624d77a4c96ca44c50df0b1b, type: 2} + _muzzle: {fileID: 6247874888270033228} + _faceTargetOnStart: 1 +--- !u!1 &2295433460861380470 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 56565623918759137} + - component: {fileID: 7427970578385462241} + m_Layer: 0 + m_Name: MeleeAttackAbility_Bite + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &56565623918759137 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2295433460861380470} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1870740793056724981} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &7427970578385462241 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2295433460861380470} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 971ba82e05d87234e8b944760542e47c, type: 3} + m_Name: + m_EditorClassIdentifier: + _config: {fileID: 11400000, guid: 58e8275cf496c914ba86a3e0759ec0a5, type: 2} + _hitBoxSlots: + - slotName: bite + hitBox: {fileID: 1670874721358880622} + _faceTargetOnStart: 1 +--- !u!1 &2353362101102141229 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6247874888270033228} + m_Layer: 0 + m_Name: AcidMuzzle + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &6247874888270033228 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2353362101102141229} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 3740776134859424860} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &2629677849933047618 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7964830862819179182} + - component: {fileID: 3872768156420138268} + - component: {fileID: 4352280425747122196} + - component: {fileID: 2325612629252950092} + m_Layer: 0 + m_Name: Visual + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &7964830862819179182 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2629677849933047618} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 3740776134859424860} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!95 &3872768156420138268 +Animator: + serializedVersion: 5 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2629677849933047618} + m_Enabled: 1 + m_Avatar: {fileID: 0} + m_Controller: {fileID: 0} + m_CullingMode: 0 + m_UpdateMode: 0 + m_ApplyRootMotion: 0 + m_LinearVelocityBlending: 0 + m_StabilizeFeet: 0 + m_WarningMessage: + m_HasTransformHierarchy: 1 + m_AllowConstantClipSamplingOptimization: 1 + m_KeepAnimatorStateOnDisable: 0 + m_WriteDefaultValuesOnDisable: 0 +--- !u!114 &4352280425747122196 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2629677849933047618} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0ad50f81b1d25c441943c37a89ba23f6, type: 3} + m_Name: + m_EditorClassIdentifier: + _Animator: {fileID: 3872768156420138268} + _Transitions: {fileID: 0} + _ActionOnDisable: 0 +--- !u!212 &2325612629252950092 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2629677849933047618} + 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_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 6c1a7b756ba1d4646a405f7f6e0833ad, 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: 0 + m_Sprite: {fileID: 7482667652216324306, guid: 311925a002f4447b3a28927169b83ea6, 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, y: 1} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 +--- !u!1 &3986905312391723074 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3740776134859424860} + - component: {fileID: 3127108423255305804} + - component: {fileID: 762913631040188429} + - component: {fileID: 4815300046273218105} + - component: {fileID: 1218518018103485926} + - component: {fileID: 3241781122289397033} + - component: {fileID: 1246560075068959634} + - component: {fileID: 7306072729481347792} + - component: {fileID: 6593689935047063830} + - component: {fileID: 7475404416877533072} + m_Layer: 13 + m_Name: ENM_FeiZhi + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &3740776134859424860 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3986905312391723074} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 1968.4287, y: 77.1997, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 7964830862819179182} + - {fileID: 9140927448329499690} + - {fileID: 6220213161530368437} + - {fileID: 6247874888270033228} + - {fileID: 1870740793056724981} + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!50 &3127108423255305804 +Rigidbody2D: + serializedVersion: 4 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3986905312391723074} + m_BodyType: 0 + m_Simulated: 1 + m_UseFullKinematicContacts: 0 + m_UseAutoMass: 0 + m_Mass: 1 + m_LinearDrag: 0 + m_AngularDrag: 0.05 + m_GravityScale: 2 + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_Interpolate: 0 + m_SleepingMode: 1 + m_CollisionDetection: 1 + m_Constraints: 4 +--- !u!61 &762913631040188429 +BoxCollider2D: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3986905312391723074} + m_Enabled: 1 + 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: 0 + m_UsedByEffector: 0 + m_UsedByComposite: 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 + serializedVersion: 2 + m_Size: {x: 0.9, y: 1} + m_EdgeRadius: 0 +--- !u!114 &4815300046273218105 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3986905312391723074} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f2460e8735a4dc5409fe6b0949bd65c0, type: 3} + m_Name: + m_EditorClassIdentifier: + _enemyId: + _statsSO: {fileID: 11400000, guid: 2a5e1728de5b3ed499dd1e9bea60c9c7, type: 2} + _animConfig: {fileID: 11400000, guid: 95f92f5bfffe81b4696ffba29787152d, type: 2} + _stats: {fileID: 1218518018103485926} + _movement: {fileID: 3241781122289397033} + _combat: {fileID: 0} + _animancer: {fileID: 4352280425747122196} + _feedback: {fileID: 0} + _hurtBox: {fileID: 9041154183844542258} + _patrolZone: {fileID: 0} + _onEnemyDied: {fileID: 11400000, guid: def849e2c5ec8204eae6b083b02307aa, type: 2} + _onPlayerSpawned: {fileID: 11400000, guid: 7e2c7e614f6627b449a244ab44443adf, type: 2} + _btIdleTickInterval: 0.3 + _btPatrolTickInterval: 0.15 + _btAlertTickInterval: 0.08 + _btChaseTickInterval: 0.05 + _btCombatTickInterval: 0 + _dbg_CurrentState: 0 + _dbg_AiPhase: 0 + _dbg_HasPlayer: 0 + _dbg_LastKnownPos: {x: 0, y: 0} + _dbg_BtTickInterval: 0 + _autoPlayPhaseAnimation: 1 + _deathPreClip: + _FadeDuration: 0.25 + _Speed: 1 + _Events: + _NormalizedTimes: [] + _Callbacks: [] + _Names: [] + _Clip: {fileID: 0} + _NormalizedStartTime: NaN + _hurtBox: {fileID: 0} + _deathPreDuration: 3 + _spawnCount: 3 + _spawnRadius: 1.5 + references: + version: 2 + RefIds: [] +--- !u!114 &1218518018103485926 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3986905312391723074} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 48bc7c82cd2c1df4ba7103160db48a11, type: 3} + m_Name: + m_EditorClassIdentifier: + _onDifficultyChanged: {fileID: 11400000, guid: 156874a2ffc17694e91e949abbf97fee, type: 2} +--- !u!114 &3241781122289397033 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3986905312391723074} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 20bd45717dc17a94581eee24814fe60c, type: 3} + m_Name: + m_EditorClassIdentifier: + _config: {fileID: 11400000, guid: 2a5e1728de5b3ed499dd1e9bea60c9c7, type: 2} + _spriteRenderer: {fileID: 2325612629252950092} + _enableTurnAnimation: 0 + _animancer: {fileID: 4352280425747122196} + _animConfig: {fileID: 11400000, guid: 95f92f5bfffe81b4696ffba29787152d, type: 2} + _visualRoot: {fileID: 7964830862819179182} + _spriteDefaultFacingDir: 1 + _navJumpMaxHeight: 6 + _navJumpMaxDist: 10 + _groundCheckCollider: {fileID: 0} + _groundCheckDist: 0.15 + _groundCheckCount: 3 + _groundMask: + serializedVersion: 2 + m_Bits: 68159744 + _wallCheckDist: 0.2 + _ledgeCheckFwdOffset: 0.1 + _ledgeCheckDownDist: 0.4 + _wallMask: + serializedVersion: 2 + m_Bits: 0 + _dbg_FacingDirection: 0 + _dbg_VelocityX: 0 + _dbg_VelocityY: 0 + _dbg_IsGrounded: 0 + _dbg_IsWallAhead: 0 + _dbg_IsLedgeAhead: 0 + _dbg_IsTurning: 0 + _dbg_NavDriving: 0 + _dbg_Input_MoveDir: 0 + _dbg_Input_MoveSpeed: 0 + _dbg_Input_WantStop: 0 + _dbg_Input_WantFace: 0 + _dbg_Input_FaceTargetPos: {x: 0, y: 0} + _dbg_Input_FaceDir: 0 +--- !u!114 &1246560075068959634 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3986905312391723074} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 3864fd1487d130847b11b82f276d11b6, type: 3} + m_Name: + m_EditorClassIdentifier: + height: 1 + maxSlopeAngle: 180 + autoRepathIntervall: 1 + maximumDistanceToPathStart: 0.7 + linkTraversalCostMultipliers: + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + allowCloseEnoughPath: 0 + movementSpeed: 5 + cornerSpeed: 100 + jumpSpeed: 5 + fallSpeed: 5 + climbSpeed: 5 + enableDebugMessages: 0 + navTagTraversalCostMultipliers: + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + status: 0 + navTagMask: -1 +--- !u!114 &7306072729481347792 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3986905312391723074} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 77030faff3812a7429edeaca91e9c873, type: 3} + m_Name: + m_EditorClassIdentifier: + movementSpeed: 5 + cornerSpeed: 100 + jumpSpeed: 5 + fallSpeed: 5 + climbSpeed: 5 + enableAgentRotation: 1 + enabledFeatures: 2147483647 +--- !u!114 &6593689935047063830 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3986905312391723074} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 44871319d7318de40b9ac21757b69c78, type: 3} + m_Name: + m_EditorClassIdentifier: + _edgeCheckFwdOffset: 0.3 + _edgeCheckDownLen: 0.6 + _groundMask: + serializedVersion: 2 + m_Bits: 4294967295 +--- !u!114 &7475404416877533072 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3986905312391723074} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: c0026fe36cfaffc4e95698bccd0a8380, type: 3} + m_Name: + m_EditorClassIdentifier: + _slots: + - slotName: aggro + type: 0 + offset: {x: 0, y: 0} + gizmoColor: {r: 1, g: 0.6, b: 0.1, a: 1} + isDisabled: 0 + tickInterval: 0 + radius: 5 + detectLayer: + serializedVersion: 2 + m_Bits: 512 + fanAngle: 0 + fanRayCount: 0 + boxSize: {x: 0, y: 0} + boxOffset: {x: 0, y: 0} + losBlockMask: + serializedVersion: 2 + m_Bits: 0 + losRayCount: 0 + losMinVisibility: 0 + rayDirection: {x: 0, y: 0} + rayLength: 0 + raySpread: 0 + rayCount: 0 + obstructLayer: + serializedVersion: 2 + m_Bits: 0 + - slotName: attack_melee + type: 0 + offset: {x: 0, y: 0} + gizmoColor: {r: 1, g: 0.2, b: 0.2, a: 1} + isDisabled: 0 + tickInterval: 0 + radius: 1.5 + detectLayer: + serializedVersion: 2 + m_Bits: 512 + fanAngle: 0 + fanRayCount: 0 + boxSize: {x: 0, y: 0} + boxOffset: {x: 0, y: 0} + losBlockMask: + serializedVersion: 2 + m_Bits: 0 + losRayCount: 0 + losMinVisibility: 0 + rayDirection: {x: 0, y: 0} + rayLength: 0 + raySpread: 0 + rayCount: 0 + obstructLayer: + serializedVersion: 2 + m_Bits: 0 + - slotName: attack_range + type: 0 + offset: {x: 0, y: 0} + gizmoColor: {r: 1, g: 0.4, b: 0.6, a: 1} + isDisabled: 0 + tickInterval: 0 + radius: 8 + detectLayer: + serializedVersion: 2 + m_Bits: 512 + fanAngle: 0 + fanRayCount: 0 + boxSize: {x: 0, y: 0} + boxOffset: {x: 0, y: 0} + losBlockMask: + serializedVersion: 2 + m_Bits: 0 + losRayCount: 0 + losMinVisibility: 0 + rayDirection: {x: 0, y: 0} + rayLength: 0 + raySpread: 0 + rayCount: 0 + obstructLayer: + serializedVersion: 2 + m_Bits: 0 + - slotName: los + type: 1 + offset: {x: 0, y: 0} + gizmoColor: {r: 0, g: 0.8, b: 1, a: 1} + isDisabled: 0 + tickInterval: 0 + radius: 0 + detectLayer: + serializedVersion: 2 + m_Bits: 0 + fanAngle: 0 + fanRayCount: 0 + boxSize: {x: 0, y: 0} + boxOffset: {x: 0, y: 0} + losBlockMask: + serializedVersion: 2 + m_Bits: 0 + losRayCount: 0 + losMinVisibility: 0 + rayDirection: {x: 0, y: 0} + rayLength: 0 + raySpread: 0 + rayCount: 0 + obstructLayer: + serializedVersion: 2 + m_Bits: 0 +--- !u!1 &5960285064422745315 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1870740793056724981} + m_Layer: 0 + m_Name: Abilities + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1870740793056724981 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5960285064422745315} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 56565623918759137} + - {fileID: 994692467667540276} + m_Father: {fileID: 3740776134859424860} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &6061314371201426545 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 9140927448329499690} + - component: {fileID: 5160176708288841742} + - component: {fileID: 9041154183844542258} + m_Layer: 27 + m_Name: HurtBox + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &9140927448329499690 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6061314371201426545} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 3740776134859424860} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!70 &5160176708288841742 +CapsuleCollider2D: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6061314371201426545} + m_Enabled: 1 + 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_UsedByComposite: 0 + m_Offset: {x: 0, y: 0} + m_Size: {x: 0.85, y: 0.95} + m_Direction: 0 +--- !u!114 &9041154183844542258 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6061314371201426545} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d7b7a233d7f70aa4f86b473412b826de, type: 3} + m_Name: + m_EditorClassIdentifier: + _onDamageDealt: {fileID: 0} + _onHitConfirmed: {fileID: 11400000, guid: a67d56f5124e0db4f98f326c74be8091, type: 2} +--- !u!1 &6746988183245611203 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6220213161530368437} + - component: {fileID: 6711884781601590842} + - component: {fileID: 1670874721358880622} + m_Layer: 25 + m_Name: BiteHitBox + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!4 &6220213161530368437 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6746988183245611203} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 3740776134859424860} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!61 &6711884781601590842 +BoxCollider2D: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6746988183245611203} + m_Enabled: 1 + 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_UsedByComposite: 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 + serializedVersion: 2 + m_Size: {x: 0.7, y: 0.45} + m_EdgeRadius: 0 +--- !u!114 &1670874721358880622 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6746988183245611203} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: a655e2461396a8348a32a13144438e8e, type: 3} + m_Name: + m_EditorClassIdentifier: + _defaultSource: {fileID: 11400000, guid: caae9c7600281fe4e8d8637fa3fd2ca1, type: 2} + _hitCooldown: 0.1 + _id: + _rivalHitBoxMask: + serializedVersion: 2 + m_Bits: 0 diff --git a/Assets/_Game/Prefabs/Enemies/E005/ENM_FeiZhi.prefab.meta b/Assets/_Game/Prefabs/Enemies/E005/ENM_FeiZhi.prefab.meta new file mode 100644 index 0000000..edbe719 --- /dev/null +++ b/Assets/_Game/Prefabs/Enemies/E005/ENM_FeiZhi.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: a8a4005faff5aa34a83e5dd9b99b74c8 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/_Game/Prefabs/Enemies/E006.meta b/Assets/_Game/Prefabs/Enemies/E006.meta new file mode 100644 index 0000000..92166f6 --- /dev/null +++ b/Assets/_Game/Prefabs/Enemies/E006.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: b6def19e8d5397c49aee4a3bf092da83 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/_Game/Prefabs/Enemies/E006/ENM_Huan.prefab b/Assets/_Game/Prefabs/Enemies/E006/ENM_Huan.prefab new file mode 100644 index 0000000..fed3fe1 --- /dev/null +++ b/Assets/_Game/Prefabs/Enemies/E006/ENM_Huan.prefab @@ -0,0 +1,927 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &1288256297225731108 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4609291816196098939} + - component: {fileID: 5584090307293152411} + - component: {fileID: 8352365884694441361} + m_Layer: 0 + m_Name: LeapAttackAbility + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4609291816196098939 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1288256297225731108} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 3786007913612466994} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!50 &5584090307293152411 +Rigidbody2D: + serializedVersion: 4 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1288256297225731108} + m_BodyType: 0 + m_Simulated: 1 + m_UseFullKinematicContacts: 0 + m_UseAutoMass: 0 + m_Mass: 1 + m_LinearDrag: 0 + m_AngularDrag: 0.05 + m_GravityScale: 1 + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_Interpolate: 0 + m_SleepingMode: 1 + m_CollisionDetection: 0 + m_Constraints: 0 +--- !u!114 &8352365884694441361 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1288256297225731108} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1f6cb37d9690ce647ae1e3385d86eb96, type: 3} + m_Name: + m_EditorClassIdentifier: + _config: {fileID: 11400000, guid: 61cf33bbff8e0d94789f3924313422cf, type: 2} + _jumpHeight: 4 + _maxRange: 8 + _windupTime: 0.35 + _recoveryTime: 0.4 + _groundMask: + serializedVersion: 2 + m_Bits: 0 + _landingHitBox: {fileID: 5473806727429807662} + _hitBoxActiveTime: 0.15 +--- !u!1 &2442230046140014908 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6149450746298436889} + - component: {fileID: 7339315499647590089} + - component: {fileID: 3413222408394340997} + - component: {fileID: 8194098284136736016} + - component: {fileID: 8540742522477078293} + - component: {fileID: 102050237386594366} + - component: {fileID: 3812949066808455230} + - component: {fileID: 2632595454670494425} + - component: {fileID: 6267508362221413575} + - component: {fileID: 8559401075920380543} + m_Layer: 13 + m_Name: ENM_Huan + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &6149450746298436889 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2442230046140014908} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 1968.4287, y: 77.1997, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 2192824397826389187} + - {fileID: 1221652452861780002} + - {fileID: 6178826682277457588} + - {fileID: 161425088149604830} + - {fileID: 3786007913612466994} + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!50 &7339315499647590089 +Rigidbody2D: + serializedVersion: 4 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2442230046140014908} + m_BodyType: 0 + m_Simulated: 1 + m_UseFullKinematicContacts: 0 + m_UseAutoMass: 0 + m_Mass: 1 + m_LinearDrag: 0 + m_AngularDrag: 0.05 + m_GravityScale: 2 + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_Interpolate: 0 + m_SleepingMode: 1 + m_CollisionDetection: 1 + m_Constraints: 4 +--- !u!61 &3413222408394340997 +BoxCollider2D: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2442230046140014908} + m_Enabled: 1 + 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: 0 + m_UsedByEffector: 0 + m_UsedByComposite: 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 + serializedVersion: 2 + m_Size: {x: 0.7, y: 1} + m_EdgeRadius: 0 +--- !u!114 &8194098284136736016 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2442230046140014908} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1a2dbfbcc31a4c34cbd3ac893f02e07d, type: 3} + m_Name: + m_EditorClassIdentifier: + _enemyId: + _statsSO: {fileID: 11400000, guid: 6dc1736f3fba08940af06955e735575b, type: 2} + _animConfig: {fileID: 11400000, guid: 42f233a9fb329154eaaed287ec83d281, type: 2} + _stats: {fileID: 8540742522477078293} + _movement: {fileID: 102050237386594366} + _combat: {fileID: 0} + _animancer: {fileID: 4691788123608061692} + _feedback: {fileID: 0} + _hurtBox: {fileID: 9043512532875703193} + _patrolZone: {fileID: 0} + _onEnemyDied: {fileID: 11400000, guid: def849e2c5ec8204eae6b083b02307aa, type: 2} + _onPlayerSpawned: {fileID: 11400000, guid: 7e2c7e614f6627b449a244ab44443adf, type: 2} + _btIdleTickInterval: 0.3 + _btPatrolTickInterval: 0.15 + _btAlertTickInterval: 0.08 + _btChaseTickInterval: 0.05 + _btCombatTickInterval: 0 + _dbg_CurrentState: 0 + _dbg_AiPhase: 0 + _dbg_HasPlayer: 0 + _dbg_LastKnownPos: {x: 0, y: 0} + _dbg_BtTickInterval: 0 + _autoPlayPhaseAnimation: 1 +--- !u!114 &8540742522477078293 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2442230046140014908} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 48bc7c82cd2c1df4ba7103160db48a11, type: 3} + m_Name: + m_EditorClassIdentifier: + _onDifficultyChanged: {fileID: 11400000, guid: 156874a2ffc17694e91e949abbf97fee, type: 2} +--- !u!114 &102050237386594366 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2442230046140014908} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 20bd45717dc17a94581eee24814fe60c, type: 3} + m_Name: + m_EditorClassIdentifier: + _config: {fileID: 11400000, guid: 6dc1736f3fba08940af06955e735575b, type: 2} + _spriteRenderer: {fileID: 2474038846231198750} + _enableTurnAnimation: 0 + _animancer: {fileID: 4691788123608061692} + _animConfig: {fileID: 11400000, guid: 42f233a9fb329154eaaed287ec83d281, type: 2} + _visualRoot: {fileID: 2192824397826389187} + _spriteDefaultFacingDir: 1 + _navJumpMaxHeight: 6 + _navJumpMaxDist: 10 + _groundCheckCollider: {fileID: 0} + _groundCheckDist: 0.15 + _groundCheckCount: 3 + _groundMask: + serializedVersion: 2 + m_Bits: 68159744 + _wallCheckDist: 0.2 + _ledgeCheckFwdOffset: 0.1 + _ledgeCheckDownDist: 0.4 + _wallMask: + serializedVersion: 2 + m_Bits: 0 + _dbg_FacingDirection: 0 + _dbg_VelocityX: 0 + _dbg_VelocityY: 0 + _dbg_IsGrounded: 0 + _dbg_IsWallAhead: 0 + _dbg_IsLedgeAhead: 0 + _dbg_IsTurning: 0 + _dbg_NavDriving: 0 + _dbg_Input_MoveDir: 0 + _dbg_Input_MoveSpeed: 0 + _dbg_Input_WantStop: 0 + _dbg_Input_WantFace: 0 + _dbg_Input_FaceTargetPos: {x: 0, y: 0} + _dbg_Input_FaceDir: 0 +--- !u!114 &3812949066808455230 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2442230046140014908} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 3864fd1487d130847b11b82f276d11b6, type: 3} + m_Name: + m_EditorClassIdentifier: + height: 1 + maxSlopeAngle: 180 + autoRepathIntervall: 1 + maximumDistanceToPathStart: 0.7 + linkTraversalCostMultipliers: + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + allowCloseEnoughPath: 0 + movementSpeed: 5 + cornerSpeed: 100 + jumpSpeed: 5 + fallSpeed: 5 + climbSpeed: 5 + enableDebugMessages: 0 + navTagTraversalCostMultipliers: + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + status: 0 + navTagMask: -1 +--- !u!114 &2632595454670494425 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2442230046140014908} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 77030faff3812a7429edeaca91e9c873, type: 3} + m_Name: + m_EditorClassIdentifier: + movementSpeed: 5 + cornerSpeed: 100 + jumpSpeed: 5 + fallSpeed: 5 + climbSpeed: 5 + enableAgentRotation: 1 + enabledFeatures: 2147483647 +--- !u!114 &6267508362221413575 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2442230046140014908} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 44871319d7318de40b9ac21757b69c78, type: 3} + m_Name: + m_EditorClassIdentifier: + _edgeCheckFwdOffset: 0.3 + _edgeCheckDownLen: 0.6 + _groundMask: + serializedVersion: 2 + m_Bits: 4294967295 +--- !u!114 &8559401075920380543 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2442230046140014908} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: c0026fe36cfaffc4e95698bccd0a8380, type: 3} + m_Name: + m_EditorClassIdentifier: + _slots: + - slotName: aggro + type: 0 + offset: {x: 0, y: 0} + gizmoColor: {r: 1, g: 0.6, b: 0.1, a: 1} + isDisabled: 0 + tickInterval: 0 + radius: 5 + detectLayer: + serializedVersion: 2 + m_Bits: 512 + fanAngle: 0 + fanRayCount: 0 + boxSize: {x: 0, y: 0} + boxOffset: {x: 0, y: 0} + losBlockMask: + serializedVersion: 2 + m_Bits: 0 + losRayCount: 0 + losMinVisibility: 0 + rayDirection: {x: 0, y: 0} + rayLength: 0 + raySpread: 0 + rayCount: 0 + obstructLayer: + serializedVersion: 2 + m_Bits: 0 + - slotName: los + type: 1 + offset: {x: 0, y: 0} + gizmoColor: {r: 0, g: 0.8, b: 1, a: 1} + isDisabled: 0 + tickInterval: 0 + radius: 0 + detectLayer: + serializedVersion: 2 + m_Bits: 0 + fanAngle: 0 + fanRayCount: 0 + boxSize: {x: 0, y: 0} + boxOffset: {x: 0, y: 0} + losBlockMask: + serializedVersion: 2 + m_Bits: 0 + losRayCount: 0 + losMinVisibility: 0 + rayDirection: {x: 0, y: 0} + rayLength: 0 + raySpread: 0 + rayCount: 0 + obstructLayer: + serializedVersion: 2 + m_Bits: 0 +--- !u!1 &2890140796016714332 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3786007913612466994} + m_Layer: 0 + m_Name: Abilities + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &3786007913612466994 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2890140796016714332} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 4609291816196098939} + - {fileID: 5751007343021437944} + m_Father: {fileID: 6149450746298436889} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &5534264839806670752 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 161425088149604830} + - component: {fileID: 960969886192400984} + - component: {fileID: 5473806727429807662} + m_Layer: 25 + m_Name: LandingHitBox + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!4 &161425088149604830 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5534264839806670752} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 6149450746298436889} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!58 &960969886192400984 +CircleCollider2D: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5534264839806670752} + m_Enabled: 1 + 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_UsedByComposite: 0 + m_Offset: {x: 0, y: 0} + serializedVersion: 2 + m_Radius: 0.8 +--- !u!114 &5473806727429807662 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5534264839806670752} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: a655e2461396a8348a32a13144438e8e, type: 3} + m_Name: + m_EditorClassIdentifier: + _defaultSource: {fileID: 11400000, guid: caae9c7600281fe4e8d8637fa3fd2ca1, type: 2} + _hitCooldown: 0.1 + _id: + _rivalHitBoxMask: + serializedVersion: 2 + m_Bits: 0 +--- !u!1 &5719736224266459581 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2192824397826389187} + - component: {fileID: 4379013022825192688} + - component: {fileID: 4691788123608061692} + - component: {fileID: 2474038846231198750} + m_Layer: 0 + m_Name: Visual + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2192824397826389187 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5719736224266459581} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 6149450746298436889} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!95 &4379013022825192688 +Animator: + serializedVersion: 5 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5719736224266459581} + m_Enabled: 1 + m_Avatar: {fileID: 0} + m_Controller: {fileID: 0} + m_CullingMode: 0 + m_UpdateMode: 0 + m_ApplyRootMotion: 0 + m_LinearVelocityBlending: 0 + m_StabilizeFeet: 0 + m_WarningMessage: + m_HasTransformHierarchy: 1 + m_AllowConstantClipSamplingOptimization: 1 + m_KeepAnimatorStateOnDisable: 0 + m_WriteDefaultValuesOnDisable: 0 +--- !u!114 &4691788123608061692 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5719736224266459581} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0ad50f81b1d25c441943c37a89ba23f6, type: 3} + m_Name: + m_EditorClassIdentifier: + _Animator: {fileID: 4379013022825192688} + _Transitions: {fileID: 0} + _ActionOnDisable: 0 +--- !u!212 &2474038846231198750 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5719736224266459581} + 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_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 6c1a7b756ba1d4646a405f7f6e0833ad, 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: 0 + m_Sprite: {fileID: 7482667652216324306, guid: 311925a002f4447b3a28927169b83ea6, 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, y: 1} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 +--- !u!1 &5723904946640612754 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5751007343021437944} + - component: {fileID: 7027404100684499604} + m_Layer: 0 + m_Name: ContactChaseAbility + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &5751007343021437944 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5723904946640612754} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 3786007913612466994} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &7027404100684499604 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5723904946640612754} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 7bfd6f44ebdb5bf489ab6703b1ee429b, type: 3} + m_Name: + m_EditorClassIdentifier: + _config: {fileID: 11400000, guid: f5f7cb08e1c1c83448830da185a7b796, type: 2} + _loopClip: + _FadeDuration: 0.25 + _Speed: 1 + _Events: + _NormalizedTimes: [] + _Callbacks: [] + _Names: [] + _Clip: {fileID: 0} + _NormalizedStartTime: NaN + _endClip: + _FadeDuration: 0.25 + _Speed: 1 + _Events: + _NormalizedTimes: [] + _Callbacks: [] + _Names: [] + _Clip: {fileID: 0} + _NormalizedStartTime: NaN + _contactDamage: {fileID: 6544477441689240465} + _aggroSlotName: aggro + references: + version: 2 + RefIds: [] +--- !u!1 &5947943584201101387 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6178826682277457588} + - component: {fileID: 9070369623729911394} + - component: {fileID: 157027494609075859} + - component: {fileID: 6544477441689240465} + m_Layer: 25 + m_Name: ContactDamageZone + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &6178826682277457588 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5947943584201101387} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 6149450746298436889} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!58 &9070369623729911394 +CircleCollider2D: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5947943584201101387} + m_Enabled: 1 + 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_UsedByComposite: 0 + m_Offset: {x: 0, y: 0} + serializedVersion: 2 + m_Radius: 0.4 +--- !u!114 &157027494609075859 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5947943584201101387} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: a655e2461396a8348a32a13144438e8e, type: 3} + m_Name: + m_EditorClassIdentifier: + _defaultSource: {fileID: 11400000, guid: caae9c7600281fe4e8d8637fa3fd2ca1, type: 2} + _hitCooldown: 0.1 + _id: + _rivalHitBoxMask: + serializedVersion: 2 + m_Bits: 0 +--- !u!114 &6544477441689240465 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5947943584201101387} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 6def12af0589a9545b80eb5accf61bb6, type: 3} + m_Name: + m_EditorClassIdentifier: + _repeatInterval: 0.5 +--- !u!1 &6573576220892875987 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1221652452861780002} + - component: {fileID: 6934199950930067997} + - component: {fileID: 9043512532875703193} + m_Layer: 27 + m_Name: HurtBox + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1221652452861780002 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6573576220892875987} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 6149450746298436889} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!70 &6934199950930067997 +CapsuleCollider2D: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6573576220892875987} + m_Enabled: 1 + 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_UsedByComposite: 0 + m_Offset: {x: 0, y: 0} + m_Size: {x: 0.65, y: 0.95} + m_Direction: 0 +--- !u!114 &9043512532875703193 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6573576220892875987} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d7b7a233d7f70aa4f86b473412b826de, type: 3} + m_Name: + m_EditorClassIdentifier: + _onDamageDealt: {fileID: 0} + _onHitConfirmed: {fileID: 11400000, guid: a67d56f5124e0db4f98f326c74be8091, type: 2} diff --git a/Assets/_Game/Prefabs/Enemies/E006/ENM_Huan.prefab.meta b/Assets/_Game/Prefabs/Enemies/E006/ENM_Huan.prefab.meta new file mode 100644 index 0000000..34e5fbe --- /dev/null +++ b/Assets/_Game/Prefabs/Enemies/E006/ENM_Huan.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 027bcccb70638f143b77f51f3da389dc +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/_Game/Scenes/Persistent.unity b/Assets/_Game/Scenes/Persistent.unity index 89abb8a..23e9f21 100644 --- a/Assets/_Game/Scenes/Persistent.unity +++ b/Assets/_Game/Scenes/Persistent.unity @@ -1835,7 +1835,7 @@ MonoBehaviour: m_OnCullStateChanged: m_PersistentCalls: m_Calls: [] - m_text: Map + m_text: "\u5730\u56FE" m_isRightToLeft: 0 m_fontAsset: {fileID: 11400000, guid: c9ebf78286d2b6345b16575012502acc, type: 2} m_sharedMaterial: {fileID: 1445647621079294416, guid: c9ebf78286d2b6345b16575012502acc, type: 2} @@ -6254,7 +6254,7 @@ MonoBehaviour: m_OnCullStateChanged: m_PersistentCalls: m_Calls: [] - m_text: Abilities + m_text: "\u80FD\u529B" m_isRightToLeft: 0 m_fontAsset: {fileID: 11400000, guid: c9ebf78286d2b6345b16575012502acc, type: 2} m_sharedMaterial: {fileID: 1445647621079294416, guid: c9ebf78286d2b6345b16575012502acc, type: 2} @@ -8018,7 +8018,7 @@ MonoBehaviour: m_OnCullStateChanged: m_PersistentCalls: m_Calls: [] - m_text: Inventory + m_text: "\u7269\u54C1" m_isRightToLeft: 0 m_fontAsset: {fileID: 11400000, guid: c9ebf78286d2b6345b16575012502acc, type: 2} m_sharedMaterial: {fileID: 1445647621079294416, guid: c9ebf78286d2b6345b16575012502acc, type: 2} @@ -9892,7 +9892,7 @@ MonoBehaviour: m_OnCullStateChanged: m_PersistentCalls: m_Calls: [] - m_text: Bestiary + m_text: "\u56FE\u9274" m_isRightToLeft: 0 m_fontAsset: {fileID: 11400000, guid: c9ebf78286d2b6345b16575012502acc, type: 2} m_sharedMaterial: {fileID: 1445647621079294416, guid: c9ebf78286d2b6345b16575012502acc, type: 2} @@ -10042,7 +10042,7 @@ MonoBehaviour: m_OnCullStateChanged: m_PersistentCalls: m_Calls: [] - m_text: FormSkills + m_text: "\u5F62\u6001\u6280\u80FD" m_isRightToLeft: 0 m_fontAsset: {fileID: 11400000, guid: c9ebf78286d2b6345b16575012502acc, type: 2} m_sharedMaterial: {fileID: 1445647621079294416, guid: c9ebf78286d2b6345b16575012502acc, type: 2} @@ -10484,6 +10484,7 @@ MonoBehaviour: m_EditorClassIdentifier: _settingsManager: {fileID: 1487104783} _bootSequencer: {fileID: 1756665936} + _devSkipMainMenu: 1 _onPlayerDied: {fileID: 11400000, guid: 7e1624bde83886d40b32f43e84a65a75, type: 2} _onPauseRequested: {fileID: 11400000, guid: a02c7f0e5fa99054bac624adc82c4a53, type: 2} _onResumeRequested: {fileID: 11400000, guid: f4a33cc49cd41d8498eefb1afd736cce, type: 2} @@ -10567,7 +10568,7 @@ MonoBehaviour: m_OnCullStateChanged: m_PersistentCalls: m_Calls: [] - m_text: Quests + m_text: "\u4EFB\u52A1" m_isRightToLeft: 0 m_fontAsset: {fileID: 11400000, guid: c9ebf78286d2b6345b16575012502acc, type: 2} m_sharedMaterial: {fileID: 1445647621079294416, guid: c9ebf78286d2b6345b16575012502acc, type: 2} @@ -12820,7 +12821,7 @@ MonoBehaviour: m_OnCullStateChanged: m_PersistentCalls: m_Calls: [] - m_text: Charm + m_text: "\u62A4\u7B26" m_isRightToLeft: 0 m_fontAsset: {fileID: 11400000, guid: c9ebf78286d2b6345b16575012502acc, type: 2} m_sharedMaterial: {fileID: 1445647621079294416, guid: c9ebf78286d2b6345b16575012502acc, type: 2} diff --git a/Assets/_Game/Scenes/Testings/TestRoomA.unity b/Assets/_Game/Scenes/Testings/TestRoomA.unity index 6537250..c6e10ca 100644 --- a/Assets/_Game/Scenes/Testings/TestRoomA.unity +++ b/Assets/_Game/Scenes/Testings/TestRoomA.unity @@ -26949,7 +26949,7 @@ Transform: m_GameObject: {fileID: 1445121930} serializedVersion: 2 m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: -19.8, y: 8, z: 0} + m_LocalPosition: {x: -31.63, y: 3.3, z: 0} m_LocalScale: {x: 1.5, y: 1.5, z: 1.5} m_ConstrainProportionsScale: 0 m_Children: [] diff --git a/Assets/_Game/Scripts/Core/GameManager.cs b/Assets/_Game/Scripts/Core/GameManager.cs index 1beb4f0..baedb8e 100644 --- a/Assets/_Game/Scripts/Core/GameManager.cs +++ b/Assets/_Game/Scripts/Core/GameManager.cs @@ -1,5 +1,6 @@ using System.Collections; using UnityEngine; +using UnityEngine.SceneManagement; using BaseGames.Core.Assets; using BaseGames.Core.Events; using BaseGames.Core.States; @@ -19,6 +20,14 @@ namespace BaseGames.Core [SerializeField] private SettingsManager _settingsManager; [SerializeField] private BootSequencer _bootSequencer; +#if UNITY_EDITOR + [Header("调试(仅编辑器,打包自动忽略)")] + [Tooltip("勾选后:从某个游玩场景直接按 Play 时,跳过 Splash 与 MainMenu,\n" + + "直接以当前已打开的场景进入 Gameplay(HUD / 暂停 / 相机等照常工作)。\n" + + "若按 Play 时未打开任何游玩场景(仅 Persistent / MainMenu),则自动回退正常启动流程。")] + [SerializeField] private bool _devSkipMainMenu; +#endif + [Header("Event Channels - Listen")] [SerializeField] private VoidEventChannelSO _onPlayerDied; [SerializeField] private VoidEventChannelSO _onPauseRequested; @@ -72,6 +81,19 @@ namespace BaseGames.Core /// private IEnumerator BootCoroutine() { +#if UNITY_EDITOR + // 开发直连:跳过 Splash/MainMenu,直接以当前打开的游玩场景进入 Gameplay。 + if (_devSkipMainMenu) + { + string devScene = FindOpenGameplaySceneName(); + if (devScene != null) + { + yield return DevDirectPlayCoroutine(devScene); + yield break; + } + Debug.Log("[GameManager] 开发直连:未检测到已打开的游玩场景,回退正常启动(Splash → MainMenu)。"); + } +#endif if (_bootSequencer != null) yield return StartCoroutine(_bootSequencer.RunBootSequenceCoroutine()); @@ -83,6 +105,59 @@ namespace BaseGames.Core " 请检查 Persistent 场景的 GameServiceRegistrar 配置。"); } +#if UNITY_EDITOR + ///

+ /// 开发直连协程(仅编辑器):建立内存存档并把状态机推进到 Gameplay,以当前已打开的场景直接开玩。 + /// + /// 不重新加载场景(当前场景已在 Hierarchy 中,重载会与流式管线产生重复实例), + /// 仅切换全局状态:RoomController.Start() 冷启动接管相机,玩家按 Tag 绑定,HUD 跟随 Gameplay 状态显示。 + /// + /// + /// 关键:先 yield return null 等一帧。GameManager 执行序为 -1000,其 Start 早于 + /// InputReaderBootstrap.Start —— 后者会兜底调用 EnableUIInput()。若本帧内就切到 Gameplay, + /// 输入会被随后执行的 EnableUIInput() 覆盖回 UI 模式,导致玩家输入全部失效。 + /// 等一帧让所有 Start() 执行完毕后再切状态,EnableGameplayInput 才是最终态。 + /// + /// + private IEnumerator DevDirectPlayCoroutine(string sceneName) + { + // 等一帧:让 Persistent 内所有组件的 Start() 跑完(尤其 InputReaderBootstrap 的 EnableUIInput 兜底)。 + yield return null; + + // 复刻新游戏初始状态:确保槽 0 存在内存存档,供存档点 / 世界状态等系统使用。 + var save = ServiceLocator.GetOrDefault(); + if (save != null && !save.HasSave(0)) + save.CreateSlot(0, false); + + // 驱动状态机走完整合法链路:Initializing → MainMenu → LoadingScene → Gameplay。 + // 期间不加载任何场景,仅切换全局状态;末态 Gameplay 使 HUD 显示、暂停可用、输入切到 Gameplay。 + RequestTransition(GameStates.MainMenu); + RequestTransition(GameStates.LoadingScene); + RequestTransition(GameStates.Gameplay); + + Debug.Log($"[GameManager] 开发直连:已跳过 MainMenu,直接以 '{sceneName}' 进入 Gameplay。"); + } + + /// + /// 返回当前已加载的、非系统场景(即游玩场景)的名称;没有则返回 null。 + /// 仅按场景名约定判断,避免 Core 反向依赖 World 程序集的 RoomController 类型。 + /// + private static string FindOpenGameplaySceneName() + { + for (int i = 0; i < SceneManager.sceneCount; i++) + { + var scene = SceneManager.GetSceneAt(i); + if (!scene.isLoaded) continue; + string n = scene.name; + if (string.IsNullOrEmpty(n)) continue; + if (n == AddressKeys.ScenePersistentName || n == AddressKeys.ScenePersistent) continue; + if (n == AddressKeys.SceneMainMenu) continue; + return n; + } + return null; + } +#endif + private void OnEnable() { _onPlayerDied? .Subscribe(HandlePlayerDied).AddTo(_subs); diff --git a/Assets/_Game/Scripts/Core/IGroundedActor.cs b/Assets/_Game/Scripts/Core/IGroundedActor.cs new file mode 100644 index 0000000..c514b1d --- /dev/null +++ b/Assets/_Game/Scripts/Core/IGroundedActor.cs @@ -0,0 +1,12 @@ +namespace BaseGames.Core +{ + /// + /// 暴露「是否站在地面」的角色接口。定义于最底层 Core 程序集, + /// 供跨模块(如 Boss 击落计数)在不直接依赖 Player/Enemies 程序集的前提下查询地面状态。 + /// + public interface IGroundedActor + { + /// 当前是否站在地面(false = 处于空中)。 + bool IsGrounded { get; } + } +} diff --git a/Assets/_Game/Scripts/Core/IGroundedActor.cs.meta b/Assets/_Game/Scripts/Core/IGroundedActor.cs.meta new file mode 100644 index 0000000..811604a --- /dev/null +++ b/Assets/_Game/Scripts/Core/IGroundedActor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 24e27360e2a7ca6458cb3e994ab2d29f +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/_Game/Scripts/Editor/Character/CharacterWizardWindow.cs b/Assets/_Game/Scripts/Editor/Character/CharacterWizardWindow.cs index b587da8..b193c76 100644 --- a/Assets/_Game/Scripts/Editor/Character/CharacterWizardWindow.cs +++ b/Assets/_Game/Scripts/Editor/Character/CharacterWizardWindow.cs @@ -323,11 +323,12 @@ namespace BaseGames.Editor var factory = MakeActionGroup(); factory.Add(MakeFactoryButton("ENM_ChaoFeng_Stats.asset", () => { CreateChaoFengStatsSO(); RefreshSOStatus(); })); factory.Add(MakeFactoryButton("ENM_ChaoFeng_AnimConfig.asset",() => { CreateChaoFengAnimConfigSO(); RefreshSOStatus(); })); - factory.Add(MakeFactoryButton("ABL_ChaoFeng_Idle.asset", () => { CreateChaoFengSkillSO("Idle", "chaofeng_idle"); RefreshSOStatus(); })); - factory.Add(MakeFactoryButton("ABL_ChaoFeng_Slam.asset", () => { CreateChaoFengSkillSO("Slam", "chaofeng_slam"); RefreshSOStatus(); })); - factory.Add(MakeFactoryButton("ABL_ChaoFeng_Sweep.asset", () => { CreateChaoFengSkillSO("Sweep", "chaofeng_sweep"); RefreshSOStatus(); })); - factory.Add(MakeFactoryButton("ABL_ChaoFeng_WindBlade.asset", () => { CreateChaoFengSkillSO("WindBlade", "chaofeng_windblade"); RefreshSOStatus(); })); - factory.Add(MakeFactoryButton("ABL_ChaoFeng_Summon.asset", () => { CreateChaoFengSkillSO("Summon", "chaofeng_summon"); RefreshSOStatus(); })); + foreach (var (skName, skId, skPhases, skWeight) in ChaoFengSkillDefs) + { + string cName = skName; string cId = skId; int[] cPhases = skPhases; float cWeight = skWeight; + factory.Add(MakeFactoryButton($"ABL_ChaoFeng_{cName}.asset", + () => { CreateChaoFengSkillSO(cName, cId, cPhases, cWeight); RefreshSOStatus(); })); + } root.Add(factory); var createAllBtn = new Button(() => { CreateAllChaoFengSOs(); RefreshSOStatus(); }) @@ -570,10 +571,10 @@ namespace BaseGames.Editor private static (string ablName, string ablId)[] GetEnemyAbilityDefs(string enemyId) => enemyId switch { "E001" => new[] { ("Alert", "e001_alert"), ("Chase", "e001_chase") }, - "E002" => new[] { ("Strike", "e002_strike") }, + "E002" => new[] { ("CeilingStrike", "e002_ceiling_strike") }, "E003" => new[] { ("Fall", "e003_fall") }, - "E004" => new[] { ("Bite", "e004_bite"), ("Slam", "e004_slam"), ("Acid", "e004_acid"), - ("Charge", "e004_charge"), ("Chase", "e004_chase") }, + "E004" => new[] { ("Appear", "e004_appear"), ("Bite", "e004_bite"), ("HeadSlam", "e004_headslam"), + ("Acid", "e004_acid"), ("Flip", "e004_flip") }, "E005" => new[] { ("Bite", "e005_bite"), ("Acid", "e005_acid") }, "E006" => new[] { ("Leap", "e006_leap"), ("Chase", "e006_chase") }, _ => System.Array.Empty<(string, string)>(), @@ -669,26 +670,38 @@ namespace BaseGames.Editor EditorScaffoldUtils.CreateSOAsset(dir, "ENM_ChaoFeng_AnimConfig"); } - private static void CreateChaoFengSkillSO(string skillName, string skillId) + private static void CreateChaoFengSkillSO(string skillName, string skillId, int[] phaseIndices, float weight) { string dir = "Assets/_Game/Data/Enemies/ChaoFeng/Abilities"; string name = $"ABL_ChaoFeng_{skillName}"; var so = EditorScaffoldUtils.CreateSOAsset(dir, name); if (so != null) { + so.skillId = skillId; + so.displayName = skillName; + so.availablePhaseIndices = phaseIndices; + so.weight = weight; EditorUtility.SetDirty(so); AssetDatabase.SaveAssets(); } } + /// 嘲风技能集(计划):Phase0 四技能加权随机 + Phase1 风石。 + private static readonly (string name, string id, int[] phases, float weight)[] ChaoFengSkillDefs = + { + ("Boomerang", "boomerang", new[] { 0 }, 1.0f), + ("FanCombo", "fan_combo", new[] { 0 }, 1.5f), + ("TornadoSmall", "tornado_small", new[] { 0 }, 1.2f), + ("TornadoLarge", "tornado_large", new[] { 0 }, 0.8f), + ("WindStone", "wind_stone", new[] { 1 }, 1.0f), + }; + private static void CreateAllChaoFengSOs() { CreateChaoFengStatsSO(); CreateChaoFengAnimConfigSO(); - foreach (var (n, id) in new[] { ("Idle","chaofeng_idle"), ("Slam","chaofeng_slam"), - ("Sweep","chaofeng_sweep"), ("WindBlade","chaofeng_windblade"), - ("Summon","chaofeng_summon") }) - CreateChaoFengSkillSO(n, id); + foreach (var (n, id, phases, weight) in ChaoFengSkillDefs) + CreateChaoFengSkillSO(n, id, phases, weight); AssetDatabase.SaveAssets(); EditorUtility.DisplayDialog("创建完成", "全部嘲风 SO 已创建(已存在的跳过)。\n放置到场景后检查 BossSkillExecutor._skills 绑定。", "确定"); @@ -757,18 +770,15 @@ namespace BaseGames.Editor const string dir = "Assets/_Game/Data/Enemies/ChaoFeng"; const string ablDir = "Assets/_Game/Data/Enemies/ChaoFeng/Abilities"; - var checks = new (string label, UnityEngine.Object asset)[] + var checks = new List<(string label, UnityEngine.Object asset)> { ("ENM_ChaoFeng_Stats", FindAtPath($"{dir}/ENM_ChaoFeng_Stats.asset")), ("ENM_ChaoFeng_AnimConfig",FindAtPath($"{dir}/ENM_ChaoFeng_AnimConfig.asset")), - ("ABL_ChaoFeng_Idle", FindAtPath($"{ablDir}/ABL_ChaoFeng_Idle.asset")), - ("ABL_ChaoFeng_Slam", FindAtPath($"{ablDir}/ABL_ChaoFeng_Slam.asset")), - ("ABL_ChaoFeng_Sweep", FindAtPath($"{ablDir}/ABL_ChaoFeng_Sweep.asset")), - ("ABL_ChaoFeng_WindBlade", FindAtPath($"{ablDir}/ABL_ChaoFeng_WindBlade.asset")), - ("ABL_ChaoFeng_Summon", FindAtPath($"{ablDir}/ABL_ChaoFeng_Summon.asset")), }; + foreach (var (skName, _, _, _) in ChaoFengSkillDefs) + checks.Add(($"ABL_ChaoFeng_{skName}", FindAtPath($"{ablDir}/ABL_ChaoFeng_{skName}.asset"))); - _bossStatusPanel.Add(MakeStatusGrid(checks)); + _bossStatusPanel.Add(MakeStatusGrid(checks.ToArray())); } // ── 辅助:状态格 ───────────────────────────────────────────────────── diff --git a/Assets/_Game/Scripts/Editor/Scene/SceneObjectPlacerTool.cs b/Assets/_Game/Scripts/Editor/Scene/SceneObjectPlacerTool.cs index dc43341..a11e75d 100644 --- a/Assets/_Game/Scripts/Editor/Scene/SceneObjectPlacerTool.cs +++ b/Assets/_Game/Scripts/Editor/Scene/SceneObjectPlacerTool.cs @@ -5,6 +5,8 @@ using BaseGames.Boss; using BaseGames.Camera; using BaseGames.Combat; using BaseGames.Combat.StatusEffects; +using BaseGames.Core.Assets; +using BaseGames.Core.Pool; using BaseGames.Dialogue; using BaseGames.Enemies; using BaseGames.Enemies.Abilities; @@ -546,37 +548,26 @@ namespace BaseGames.Editor GetOrAddComponent(go); // required by EnemyNavAgent [RequireComponent] PhysicsPerceptionSystem sensorHub = GetOrAddComponent(go); - // HurtBox(初始禁用,悬挂阶段无法被攻击) + // HurtBox(component.enabled 初始为 false:仅悬挂脆弱窗口期间由能力开启) Transform hurtBoxT = GetOrCreateChild(go.transform, "HurtBox"); SetLayer(hurtBoxT.gameObject, "EnemyHurtBox", report); CapsuleCollider2D hurtCap = GetOrAddComponent(hurtBoxT.gameObject); hurtCap.isTrigger = true; hurtCap.size = new Vector2(0.45f, 0.65f); HurtBox hurtBox = GetOrAddComponent(hurtBoxT.gameObject); - hurtBoxT.gameObject.SetActive(false); + hurtBox.enabled = false; // 悬挂阶段外不可被攻击;CeilingHangStrikeAbility 在 _loopClip 期间开启 - // LandingHitBox(落地瞬间 AoE,由 CeilingDropAbility 激活) - Transform landingHitBoxT = GetOrCreateChild(go.transform, "LandingHitBox"); - SetLayer(landingHitBoxT.gameObject, "EnemyHitBox", report); - BoxCollider2D landingCol = GetOrAddComponent(landingHitBoxT.gameObject); - landingCol.isTrigger = true; - landingCol.size = new Vector2(0.8f, 0.3f); - HitBox landingHitBox = GetOrAddComponent(landingHitBoxT.gameObject); - landingHitBoxT.gameObject.SetActive(false); - - // ContactDamageZone(地面巡逻时造成接触伤害,落地后由行为树启用) - Transform contactT = GetOrCreateChild(go.transform, "ContactDamageZone"); - SetLayer(contactT.gameObject, "EnemyHitBox", report); - CircleCollider2D contactCol = GetOrAddComponent(contactT.gameObject); - contactCol.isTrigger = true; - contactCol.radius = 0.35f; - HitBox contactHitBox = GetOrAddComponent(contactT.gameObject); - GetOrAddComponent(contactT.gameObject); - contactT.gameObject.SetActive(false); + // AttackHitBox(钻出啃咬瞬间判定,由 CeilingHangStrikeAbility 激活) + Transform attackHitBoxT = GetOrCreateChild(go.transform, "AttackHitBox"); + SetLayer(attackHitBoxT.gameObject, "EnemyHitBox", report); + BoxCollider2D attackCol = GetOrAddComponent(attackHitBoxT.gameObject); + attackCol.isTrigger = true; + attackCol.size = new Vector2(0.6f, 0.8f); // 正下方钻出范围 + HitBox attackHitBox = GetOrAddComponent(attackHitBoxT.gameObject); Transform abilitiesT = GetOrCreateChild(go.transform, "Abilities"); - Transform dropT = GetOrCreateChild(abilitiesT, "CeilingDropAbility"); - CeilingDropAbility dropAbility = GetOrAddComponent(dropT.gameObject); + Transform strikeT = GetOrCreateChild(abilitiesT, "CeilingHangStrikeAbility"); + CeilingHangStrikeAbility strikeAbility = GetOrAddComponent(strikeT.gameObject); // SOs — assign first so OnValidate doesn't warn during wiring AssignAsset(enemyBase, "_statsSO", report, false, "ENM_E002_Stats"); @@ -601,21 +592,18 @@ namespace BaseGames.Editor new[] { "Platform", "OneWayPlatform", "MovingOneWayPlatform", "MidHeightOneWayPlatform" }, report); - AssignReference(dropAbility, "_landingHitBox", landingHitBox, report); - AssignLayerMask(dropAbility, "_groundMask", - new[] { "Platform", "OneWayPlatform", "MovingOneWayPlatform", "MidHeightOneWayPlatform" }, - report); + AssignAsset(strikeAbility, "_config", report, false, "ABL_E002_CeilingStrike"); + AssignReference(strikeAbility, "_attackHitBox", attackHitBox, report); + AssignReference(strikeAbility, "_hurtBox", hurtBox, report); Object dmgSrc = FindFirstAsset("CMB_DS_EnemyBody"); if (dmgSrc != null) - { - AssignReference(landingHitBox, "_defaultSource", dmgSrc, report); - AssignReference(contactHitBox, "_defaultSource", dmgSrc, report); - } + AssignReference(attackHitBox, "_defaultSource", dmgSrc, report); - SetupPerceptionSystemSlots(sensorHub, new[] { "aggro", "attack_range" }, report); + SetupPerceptionSystemSlots(sensorHub, new[] { "attack_range" }, report); report.Add("★ 将此对象放置于天花板,调整位置使 CapsuleCollider 正好贴合天花板底面。"); - report.Add("★ HurtBox / ContactDamageZone 初始禁用;落地后由行为树激活。"); + report.Add("★ HurtBox.enabled 初始为 false;钻出后由 CeilingHangStrikeAbility 在悬挂窗口开启。"); + report.Add("★ attack_range 槽位为正下方 BoxCast(玩家经过检测区);按需在 Inspector 调整 offset/size。"); report.Add("★ 挂载行为树 BehaviorTree 组件,指定 E002_HuangZhi.asset。"); report.Add("★ BD 树逻辑建议:Idle(悬挂)→ IsSensorDetecting(aggro) → UseAbility(CeilingDrop) → IsGrounded → Patrol(Pace)。"); @@ -775,27 +763,20 @@ namespace BaseGames.Editor HitBox slamHitBox = GetOrAddComponent(slamT.gameObject); slamT.gameObject.SetActive(false); - Transform chargeHitBoxT = GetOrCreateChild(go.transform, "ChargeHitBox"); - SetLayer(chargeHitBoxT.gameObject, "EnemyHitBox", report); - BoxCollider2D chargeHitCol = GetOrAddComponent(chargeHitBoxT.gameObject); - chargeHitCol.isTrigger = true; - chargeHitCol.size = new Vector2(0.9f, 0.8f); - HitBox chargeHitBox = GetOrAddComponent(chargeHitBoxT.gameObject); - chargeHitBoxT.gameObject.SetActive(false); - Transform acidMuzzleT = GetOrCreateChild(go.transform, "AcidMuzzle"); + // 能力集(计划 E004):出场 / 撕咬 / 头槌 / 酸液 / 转身 Transform abilitiesT = GetOrCreateChild(go.transform, "Abilities"); + Transform appearAblT = GetOrCreateChild(abilitiesT, "AppearAbility"); + AppearAbility appearAbl = GetOrAddComponent(appearAblT.gameObject); Transform biteAblT = GetOrCreateChild(abilitiesT, "MeleeAttackAbility_Bite"); MeleeAttackAbility biteAbl = GetOrAddComponent(biteAblT.gameObject); - Transform slamAblT = GetOrCreateChild(abilitiesT, "RepeatSlamAbility"); + Transform slamAblT = GetOrCreateChild(abilitiesT, "RepeatSlamAbility_HeadSlam"); RepeatSlamAbility slamAbl = GetOrAddComponent(slamAblT.gameObject); Transform acidAblT = GetOrCreateChild(abilitiesT, "ProjectileAttackAbility_Acid"); ProjectileAttackAbility acidAbl = GetOrAddComponent(acidAblT.gameObject); - Transform chargeAblT = GetOrCreateChild(abilitiesT, "ChargeAbility"); - ChargeAbility chargeAbl = GetOrAddComponent(chargeAblT.gameObject); - Transform chaseAblT = GetOrCreateChild(abilitiesT, "ContactChaseAbility"); - ContactChaseAbility chaseAbl = GetOrAddComponent(chaseAblT.gameObject); + Transform flipAblT = GetOrCreateChild(abilitiesT, "FacePlayerAbility_Flip"); + FacePlayerAbility flipAbl = GetOrAddComponent(flipAblT.gameObject); // SOs — assign first so OnValidate doesn't warn during wiring AssignAsset(enemyBase, "_statsSO", report, false, "ENM_E004_Stats"); @@ -821,26 +802,26 @@ namespace BaseGames.Editor new[] { "Platform", "OneWayPlatform", "MovingOneWayPlatform", "MidHeightOneWayPlatform" }, report); - AssignAsset(biteAbl,"_config", report, false, "ABL_E004_Bite"); - AssignAsset(slamAbl, "_config", report, false, "ABL_E004_Slam"); - AssignAsset(acidAbl, "_config", report, false, "ABL_E004_Acid"); - AssignAsset(chargeAbl, "_config", report, false, "ABL_E004_Charge"); - AssignAsset(chaseAbl, "_config", report, false, "ABL_E004_Chase"); + AssignAsset(appearAbl, "_config", report, false, "ABL_E004_Appear"); + AssignAsset(biteAbl, "_config", report, false, "ABL_E004_Bite"); + AssignAsset(slamAbl, "_config", report, false, "ABL_E004_HeadSlam"); + AssignAsset(acidAbl, "_config", report, false, "ABL_E004_Acid"); + AssignAsset(flipAbl, "_config", report, false, "ABL_E004_Flip"); AssignMeleeHitBoxSlots(biteAbl, new[] { ("bite", biteHitBox) }, report); - AssignReference(slamAbl, "_hitBox", slamHitBox, report); - AssignReference(acidAbl, "_muzzle", acidMuzzleT, report); - AssignReference(chargeAbl, "_chargeHitBox", chargeHitBox, report); + AssignReference(slamAbl, "_hitBox", slamHitBox, report); + AssignReference(acidAbl, "_muzzle", acidMuzzleT, report); Object dmgSrc = FindFirstAsset("CMB_DS_EnemyBody"); if (dmgSrc != null) { - AssignReference(biteHitBox, "_defaultSource", dmgSrc, report); - AssignReference(slamHitBox, "_defaultSource", dmgSrc, report); - AssignReference(chargeHitBox, "_defaultSource", dmgSrc, report); + AssignReference(biteHitBox, "_defaultSource", dmgSrc, report); + AssignReference(slamHitBox, "_defaultSource", dmgSrc, report); } - SetupPerceptionSystemSlots(sensorHub, new[] { "aggro", "attack_melee", "attack_range", "los" }, report); + SetupPerceptionSystemSlots(sensorHub, new[] { "aggro", "attack_melee", "attack_range", "sight" }, report); + report.Add("★ AppearAbility._appearClip / FacePlayerAbility._faceClip 等动画 Clip 待美术接入后在 Inspector 指定。"); + report.Add("★ 在 E004_ZhiMu._deathPreClip 配置死亡前摇动画(两阶段死亡 Death_Pre 无敌)。"); report.Add("★ 挂载行为树 BehaviorTree 组件,指定 E004_ZhiMu.asset。"); Undo.CollapseUndoOperations(undoGroup); @@ -1106,20 +1087,21 @@ namespace BaseGames.Editor hurtCap.size = new Vector2(1.1f, 1.9f); HurtBox hurtBox = GetOrAddComponent(hurtBoxT.gameObject); - // Phase1 attack hitboxes (disabled by default; abilities enable/disable as needed) - HitBox biteHB = CreateDisabledHitBox(go.transform, "Phase1_BiteHitBox", "EnemyHitBox", - true, report, size: new Vector2(0.8f, 0.5f)); - HitBox swipeR = CreateDisabledHitBox(go.transform, "Phase1_SwipeHitBox_R","EnemyHitBox", - true, report, size: new Vector2(1.2f, 0.4f)); - HitBox swipeL = CreateDisabledHitBox(go.transform, "Phase1_SwipeHitBox_L","EnemyHitBox", - true, report, size: new Vector2(1.2f, 0.4f)); - HitBox stompHB = CreateDisabledHitBox(go.transform, "Phase1_StompHitBox", "EnemyHitBox", - false, report, radius: 1.0f); + // Phase1 攻击 HitBox(默认禁用;技能执行时由 BossSkillExecutor 开关)。 + // 计划:挥扇三连 FanCombo ×3 + 龙卷接触 Tornado。 + HitBox fan1 = CreateDisabledHitBox(go.transform, "Phase1_FanCombo_HitBox_1", "EnemyHitBox", + true, report, size: new Vector2(1.0f, 0.5f)); + HitBox fan2 = CreateDisabledHitBox(go.transform, "Phase1_FanCombo_HitBox_2", "EnemyHitBox", + true, report, size: new Vector2(1.0f, 0.5f)); + HitBox fan3 = CreateDisabledHitBox(go.transform, "Phase1_FanCombo_HitBox_3", "EnemyHitBox", + true, report, size: new Vector2(1.2f, 0.6f)); + HitBox tornadoHB = CreateDisabledHitBox(go.transform, "Phase1_Tornado_HitBox", "EnemyHitBox", + true, report, size: new Vector2(0.6f, 1.2f)); - // Muzzle transforms for Phase 2 skills - GetOrCreateChild(go.transform, "WindBladeMuzzle"); - GetOrCreateChild(go.transform, "TornadoMuzzle"); - GetOrCreateChild(go.transform, "SummonSpawnPoint"); + // 弹体发射点(Phase1 回旋扇 / 龙卷;Phase2 风石) + Transform boomerangMuzzleT = GetOrCreateChild(go.transform, "BoomerangMuzzle"); + Transform tornadoMuzzleT = GetOrCreateChild(go.transform, "TornadoMuzzle"); + Transform windStoneMuzzleT = GetOrCreateChild(go.transform, "WindStoneMuzzle"); // SOs — assign first so OnValidate doesn't warn during wiring AssignAsset(bossBase, "_statsSO", report, false, "ENM_ChaoFeng_Stats"); @@ -1133,6 +1115,22 @@ namespace BaseGames.Editor AssignReference(bossBase, "_hurtBox", hurtBox, report); AssignReference(skillExec, "_animancer", animancer, report); + // 浮空 / 击落 / 弹体发射点接线(计划) + AssignReference(bossBase, "_floatController", floatCtrl, report); + AssignReference(bossBase, "_knockdownCounter", knockdown, report); + AssignReference(bossBase, "_boomerangMuzzle", boomerangMuzzleT, report); + AssignReference(bossBase, "_tornadoMuzzle", tornadoMuzzleT, report); + AssignReference(bossBase, "_windStoneMuzzle", windStoneMuzzleT, report); + AssignReference(floatCtrl, "_rb", rb, report); + AssignReference(knockdown, "_boss", bossBase, report); + AssignReference(knockdown, "_floatCtrl", floatCtrl, report); + + // 弹体配置接线(ProjectileConfigSO,存在时自动绑定) + AssignAsset(bossBase, "_boomerangConfig", report, false, "PROJ_Boomerang_Config"); + AssignAsset(bossBase, "_tornadoSmallConfig", report, false, "PROJ_TornadoSmall_Config"); + AssignAsset(bossBase, "_tornadoLargeConfig", report, false, "PROJ_TornadoLarge_Config"); + AssignAsset(bossBase, "_windStoneConfig", report, false, "PROJ_WindStone_Config"); + AssignAsset(bossBase, "_onEnemyDied", report, false, "EVT_EnemyDied"); AssignAsset(bossBase, "_onPlayerSpawned", report, false, "EVT_PlayerSpawned"); AssignAsset(bossBase, "_onBossFightEnded", report, false, "EVT_BossFightEnded"); @@ -1150,30 +1148,34 @@ namespace BaseGames.Editor new[] { "Platform", "OneWayPlatform", "MovingOneWayPlatform", "MidHeightOneWayPlatform" }, report); - // Collect BossSkillSOs and assign to executor + // 收集 BossSkillSO 并赋给执行器(计划技能集) var skillAssets = new System.Collections.Generic.List(); - foreach (var n in new[] { "ABL_ChaoFeng_Idle", "ABL_ChaoFeng_Slam", "ABL_ChaoFeng_Sweep", - "ABL_ChaoFeng_WindBlade", "ABL_ChaoFeng_Summon" }) + foreach (var n in new[] { "ABL_ChaoFeng_Boomerang", "ABL_ChaoFeng_FanCombo", + "ABL_ChaoFeng_TornadoSmall", "ABL_ChaoFeng_TornadoLarge", + "ABL_ChaoFeng_WindStone" }) { Object sk = FindFirstAsset(n); if (sk != null) skillAssets.Add(sk); - else report.Add($"未找到 BossSkillSO:{n},请先一键创建 SO 后再重新运行此放置操作。"); + else report.Add($"未找到 BossSkillSO:{n},请先一键创建 ChaoFeng SO 后再重新运行此放置操作。"); } if (skillAssets.Count > 0) AssignObjectArray(skillExec, "_skills", skillAssets.ToArray(), report); + AssignString(skillExec, "_bossId", "ChaoFeng", report); + AssignObjectArray(skillExec, "_hitBoxes", new Object[] { fan1, fan2, fan3, tornadoHB }, report); + Object dmgSrc = FindFirstAsset("CMB_DS_BossBody", "CMB_DS_EnemyBody"); if (dmgSrc != null) { - foreach (var hb in new[] { biteHB, swipeR, swipeL, stompHB }) + foreach (var hb in new[] { fan1, fan2, fan3, tornadoHB }) if (hb != null) AssignReference(hb, "_defaultSource", dmgSrc, report); } - SetupPerceptionSystemSlots(sensorHub, new[] { "aggro", "attack_melee", "attack_range", "los" }, report); + SetupPerceptionSystemSlots(sensorHub, new[] { "aggro", "attack_melee", "attack_range", "sight" }, report); - report.Add("★ 设置 BossSkillExecutor._bossId = \"ChaoFeng\"。"); - report.Add("★ 将各 Phase1 HitBox 引用拖入 BossSkillExecutor._hitBoxes 数组。"); - report.Add("★ 将 WindBladeMuzzle / TornadoMuzzle / SummonSpawnPoint 拖入对应 BossSkillSO 字段。"); + report.Add("★ FanCombo 三段 HitBox 与 Tornado HitBox 已挂入 BossSkillExecutor._hitBoxes。"); + report.Add("★ 将 BoomerangMuzzle / TornadoMuzzle / WindStoneMuzzle 拖入对应 BossSkillSO 的发射点字段(如有)。"); + report.Add("★ 回旋扇收招/阶段过渡/击败演出等动画 Clip 待美术接入后在 ChaoFengBoss Inspector 指定。"); report.Add("★ 挂载行为树 BehaviorTree 组件,指定 Boss_ChaoFeng.asset。"); Undo.CollapseUndoOperations(undoGroup); @@ -1277,6 +1279,276 @@ namespace BaseGames.Editor so.ApplyModifiedPropertiesWithoutUndo(); } + // ══════════════════════════════════════════════════════════════════════ + // 放置 + 存盘为 Prefab + 注册 Addressable + // + // 规范:敌人/弹体 Prefab 须落到 Prefabs/ 下并注册 Addressable + // (地址 = 文件名;分组/标签由 AddressableRules 推导,与校验器一致)。 + // 复用上方各 PlaceE00X / PlaceChaoFeng 搭建逻辑,确保场景搭建与 Prefab 产出同源。 + // 菜单:BaseGames → Scene → Save Prefab → … + // ══════════════════════════════════════════════════════════════════════ + + private const string EnemyPrefabRoot = "Assets/_Game/Prefabs/Enemies"; + private const string ProjectilePrefabFolder = "Assets/_Game/Prefabs/Combat/Projectiles"; + + /// 敌人 Prefab 存盘目标:键 = 根对象名(= 地址),值 = (目标文件夹, 规范标签之外的额外标签)。 + private static readonly Dictionary EnemyPrefabTargets = + new() + { + { "ENM_CaoZhi", (EnemyPrefabRoot + "/E001", null) }, + { "ENM_HuangZhi", (EnemyPrefabRoot + "/E002", null) }, + // E003 幼蛭可被 E005 死亡时对象池生成 → 规范 Enemy 标签之外额外加 Poolable + Preload + { "ENM_YouZhi", (EnemyPrefabRoot + "/E003", + new[] { AddressKeys.Labels.Poolable, AddressKeys.Labels.Preload }) }, + { "ENM_ZhiMu", (EnemyPrefabRoot + "/E004", null) }, + { "ENM_FeiZhi", (EnemyPrefabRoot + "/E005", null) }, + { "ENM_Huan", (EnemyPrefabRoot + "/E006", null) }, + { "ENM_ChaoFeng", (EnemyPrefabRoot + "/ChaoFeng", null) }, + }; + + /// 弹体 Prefab 存盘目标:键 = 地址(= PoolKey),值 = Projectile 子类类型。 + private static readonly Dictionary ProjectileTypes = + new() + { + { "PROJ_Boomerang", typeof(ReturnProjectile) }, // 回旋扇(往返) + { "PROJ_ZhiMu_Acid", typeof(ArcProjectile) }, // E004 酸液(抛物线) + { "PROJ_FeiZhi_Acid", typeof(ArcProjectile) }, // E005 酸液(抛物线) + { "PROJ_WindStone", typeof(ArcProjectile) }, // 嘲风风石(抛物/落体) + { "PROJ_TornadoSmall", typeof(LinearProjectile) }, // 小龙卷(左右直线) + { "PROJ_TornadoLarge", typeof(LinearProjectile) }, // 大龙卷(定点,速度由 config 控) + }; + + // ── 各敌人「放置 + 存盘」菜单 ───────────────────────────────────────── + [MenuItem("BaseGames/Scene/Save Prefab/Enemy E001 (草蛭)", priority = 200)] + public static void SaveE001Prefab() => PlaceAndSaveEnemyPrefab("ENM_CaoZhi", PlaceE001_CaoZhi); + [MenuItem("BaseGames/Scene/Save Prefab/Enemy E002 (簧蛭)", priority = 201)] + public static void SaveE002Prefab() => PlaceAndSaveEnemyPrefab("ENM_HuangZhi", PlaceE002_HuangZhi); + [MenuItem("BaseGames/Scene/Save Prefab/Enemy E003 (幼蛭)", priority = 202)] + public static void SaveE003Prefab() => PlaceAndSaveEnemyPrefab("ENM_YouZhi", PlaceE003_YouZhi_Enemy); + [MenuItem("BaseGames/Scene/Save Prefab/Enemy E004 (蛭母)", priority = 203)] + public static void SaveE004Prefab() => PlaceAndSaveEnemyPrefab("ENM_ZhiMu", PlaceE004_ZhiMu_Enemy); + [MenuItem("BaseGames/Scene/Save Prefab/Enemy E005 (肥蛭)", priority = 204)] + public static void SaveE005Prefab() => PlaceAndSaveEnemyPrefab("ENM_FeiZhi", PlaceE005_FeiZhi_Enemy); + [MenuItem("BaseGames/Scene/Save Prefab/Enemy E006 (讙)", priority = 205)] + public static void SaveE006Prefab() => PlaceAndSaveEnemyPrefab("ENM_Huan", PlaceE006_Huan); + [MenuItem("BaseGames/Scene/Save Prefab/Boss 嘲风 (ChaoFeng)", priority = 206)] + public static void SaveChaoFengPrefab() => PlaceAndSaveEnemyPrefab("ENM_ChaoFeng", PlaceChaoFeng); + + [MenuItem("BaseGames/Scene/Save Prefab/★ All Enemies + Boss", priority = 210)] + public static void SaveAllEnemyPrefabs() + { + PlaceAndSaveEnemyPrefab("ENM_CaoZhi", PlaceE001_CaoZhi, removeSceneInstance: true); + PlaceAndSaveEnemyPrefab("ENM_HuangZhi", PlaceE002_HuangZhi, removeSceneInstance: true); + PlaceAndSaveEnemyPrefab("ENM_YouZhi", PlaceE003_YouZhi_Enemy, removeSceneInstance: true); + PlaceAndSaveEnemyPrefab("ENM_ZhiMu", PlaceE004_ZhiMu_Enemy, removeSceneInstance: true); + PlaceAndSaveEnemyPrefab("ENM_FeiZhi", PlaceE005_FeiZhi_Enemy, removeSceneInstance: true); + PlaceAndSaveEnemyPrefab("ENM_Huan", PlaceE006_Huan, removeSceneInstance: true); + PlaceAndSaveEnemyPrefab("ENM_ChaoFeng", PlaceChaoFeng, removeSceneInstance: true); + AssetDatabase.SaveAssets(); + Debug.Log("[SceneObjectPlacer] 已批量生成全部敌人/Boss Prefab 并注册 Addressable。"); + } + + // ── 各弹体「放置 + 存盘」菜单 ───────────────────────────────────────── + [MenuItem("BaseGames/Scene/Save Prefab/Projectile PROJ_Boomerang", priority = 220)] + public static void SaveBoomerangPrefab() => PlaceAndSaveProjectile("PROJ_Boomerang"); + [MenuItem("BaseGames/Scene/Save Prefab/Projectile PROJ_ZhiMu_Acid", priority = 221)] + public static void SaveZhiMuAcidPrefab() => PlaceAndSaveProjectile("PROJ_ZhiMu_Acid"); + [MenuItem("BaseGames/Scene/Save Prefab/Projectile PROJ_FeiZhi_Acid", priority = 222)] + public static void SaveFeiZhiAcidPrefab() => PlaceAndSaveProjectile("PROJ_FeiZhi_Acid"); + [MenuItem("BaseGames/Scene/Save Prefab/Projectile PROJ_WindStone", priority = 223)] + public static void SaveWindStonePrefab() => PlaceAndSaveProjectile("PROJ_WindStone"); + [MenuItem("BaseGames/Scene/Save Prefab/Projectile PROJ_TornadoSmall", priority = 224)] + public static void SaveTornadoSmallPrefab() => PlaceAndSaveProjectile("PROJ_TornadoSmall"); + [MenuItem("BaseGames/Scene/Save Prefab/Projectile PROJ_TornadoLarge", priority = 225)] + public static void SaveTornadoLargePrefab() => PlaceAndSaveProjectile("PROJ_TornadoLarge"); + + [MenuItem("BaseGames/Scene/Save Prefab/★ All Projectiles", priority = 230)] + public static void SaveAllProjectilePrefabs() + { + foreach (var key in ProjectileTypes.Keys) + PlaceAndSaveProjectile(key, removeSceneInstance: true); + AssetDatabase.SaveAssets(); + Debug.Log("[SceneObjectPlacer] 已批量生成全部弹体 Prefab 并注册 Addressable。"); + } + + private const string ProjectileConfigFolder = "Assets/_Game/Data/Combat/Projectiles"; + + /// + /// 弹体配置默认值:键 = PoolKey(= Prefab 地址),值 = (Speed, Lifetime, LaunchAngleDeg, GravityScale)。 + /// ArcProjectile 用 LaunchAngleDeg + GravityScale 形成抛物线;LinearProjectile 用 Speed 直线; + /// ReturnProjectile(回旋扇)无重力、速度由弹体脚本控制。数值为占位,策划可在 Inspector 调整。 + /// + private static readonly Dictionary ProjectileConfigDefs = + new() + { + { "PROJ_Boomerang", (10f, 6f, 0f, 0f) }, // 回旋扇:直线飞出,脚本控制往返 + { "PROJ_ZhiMu_Acid", ( 9f, 4f, 45f, 1f) }, // E004 酸液:抛物线 + { "PROJ_FeiZhi_Acid", ( 9f, 4f, 45f, 1f) }, // E005 酸液:抛物线 + { "PROJ_WindStone", ( 6f, 4f, -90f, 2.5f) }, // 风石:向下落体 + { "PROJ_TornadoSmall", ( 7f, 4f, 0f, 0f) }, // 小龙卷:水平直线 + { "PROJ_TornadoLarge", ( 0f, 5f, 0f, 0f) }, // 大龙卷:定点驻留 + }; + + /// + /// 创建 6 个 (PoolKey 与弹体 Prefab 地址一致), + /// 绑定默认 DamageSource。配置 SO 经 Inspector 引用,不注册 Addressable。 + /// + [MenuItem("BaseGames/Scene/Save Prefab/★ Projectile Configs (SO)", priority = 231)] + public static void CreateProjectileConfigs() + { + var report = new List(); + var enemyDmg = FindFirstAsset("CMB_DS_EnemyBody") as DamageSourceSO; + var bossDmg = FindFirstAsset("CMB_DS_BossBody", "CMB_DS_EnemyBody") as DamageSourceSO; + + foreach (var kv in ProjectileConfigDefs) + { + string poolKey = kv.Key; + var cfg = EditorScaffoldUtils.CreateSOAsset(ProjectileConfigFolder, $"{poolKey}_Config"); + if (cfg == null) + cfg = AssetDatabase.LoadAssetAtPath($"{ProjectileConfigFolder}/{poolKey}_Config.asset"); + if (cfg == null) { report.Add($"✗ 创建失败:{poolKey}_Config"); continue; } + + cfg.PoolKey = poolKey; + cfg.Speed = kv.Value.speed; + cfg.Lifetime = kv.Value.lifetime; + cfg.LaunchAngleDeg = kv.Value.launchAngle; + cfg.GravityScale = kv.Value.gravity; + cfg.DamageSource = poolKey.Contains("Acid") ? enemyDmg : bossDmg; + EditorUtility.SetDirty(cfg); + report.Add($"✅ {poolKey}_Config (PoolKey={poolKey}, spd={kv.Value.speed}, grav={kv.Value.gravity})"); + } + + AssetDatabase.SaveAssets(); + Debug.Log("[SceneObjectPlacer] ProjectileConfigSO 创建完成。\n " + string.Join("\n ", report)); + } + + /// + /// 调用现有 PlaceE00X / PlaceChaoFeng 在场景中搭建敌人,随后存盘为 Prefab 并注册 Addressable。 + /// + /// 根对象名(同时作为 Prefab 文件名与 Addressable 地址)。 + /// 现有的放置委托。 + /// true 时存盘后删除场景实例(批量生成时避免堆叠)。 + public static void PlaceAndSaveEnemyPrefab(string key, System.Action placer, bool removeSceneInstance = false) + { + if (!EnemyPrefabTargets.TryGetValue(key, out var target)) + { + Debug.LogError($"[SceneObjectPlacer] 未登记的敌人 Prefab 键:{key}"); + return; + } + + placer(); + GameObject root = Selection.activeGameObject; + if (root == null) + { + Debug.LogError($"[SceneObjectPlacer] {key}:放置后未取得根对象,已跳过 Prefab 存盘。"); + return; + } + + var report = new List(); + string prefabPath = SaveRootAsPrefab(root, key, target.folder, target.extraLabels, report); + + if (removeSceneInstance && !string.IsNullOrEmpty(prefabPath)) + { + var sc = root.scene; + Undo.DestroyObjectImmediate(root); + if (sc.IsValid()) + UnityEditor.SceneManagement.EditorSceneManager.MarkSceneDirty(sc); + } + else if (root != null) + { + EditorUtility.SetDirty(root); + UnityEditor.SceneManagement.EditorSceneManager.MarkSceneDirty(root.scene); + } + + Debug.Log($"[SceneObjectPlacer] {key} Prefab 流程完成。\n " + string.Join("\n ", report)); + } + + /// + /// 搭建一个弹体 GameObject(Rigidbody2D + Collider(trigger) + HitBox + PooledObject + 指定 Projectile 子类), + /// 存盘为 Prefab 并注册 Addressable。运行时由发射方 Initialize(ProjectileConfigSO,...) 注入速度/重力/伤害源。 + /// + public static void PlaceAndSaveProjectile(string key, bool removeSceneInstance = false) + { + if (!ProjectileTypes.TryGetValue(key, out var projType)) + { + Debug.LogError($"[SceneObjectPlacer] 未登记的弹体键:{key}"); + return; + } + + var report = new List(); + int undoGroup = Undo.GetCurrentGroup(); + Undo.SetCurrentGroupName($"Place {key}"); + + GameObject go = new GameObject(key); + Undo.RegisterCreatedObjectUndo(go, $"Place {key}"); + go.transform.position = GetDropPosition(); + SetLayer(go, "EnemyProjectile", report); + + Rigidbody2D rb = GetOrAddComponent(go); + rb.bodyType = RigidbodyType2D.Dynamic; // ArcProjectile 运行时按 config 设置 gravityScale + rb.gravityScale = 0f; // 默认无重力(直线/回旋扇);抛物线弹由 config 注入 + rb.constraints = RigidbodyConstraints2D.FreezeRotation; + rb.interpolation = RigidbodyInterpolation2D.Interpolate; + + CircleCollider2D col = GetOrAddComponent(go); + col.isTrigger = true; + col.radius = 0.25f; + + HitBox hitBox = GetOrAddComponent(go); // Projectile [RequireComponent(HitBox)] + GetOrAddComponent(go); // 对象池归还所需 + Undo.AddComponent(go, projType); // Projectile 子类 + SetupSpriteRenderer(go); + + Object dmgSrc = FindFirstAsset("CMB_DS_EnemyBody"); + if (dmgSrc != null) + AssignReference(hitBox, "_defaultSource", dmgSrc, report); + else + report.Add("未找到 CMB_DS_EnemyBody;HitBox._defaultSource 未绑定(运行时也会用 ProjectileConfigSO.DamageSource)。"); + + report.Add($"弹体类型:{projType.Name};Layer=EnemyProjectile;已挂 HitBox + PooledObject。"); + report.Add($"★ 创建对应 ProjectileConfigSO,其 PoolKey 必须 = \"{key}\"(与地址一致)。"); + report.Add("★ 速度/重力/伤害源由发射方在 Initialize(ProjectileConfigSO,...) 时注入,无需序列化到 Prefab。"); + + Undo.CollapseUndoOperations(undoGroup); + Selection.activeGameObject = go; + + string prefabPath = SaveRootAsPrefab(go, key, ProjectilePrefabFolder, null, report); + if (removeSceneInstance && !string.IsNullOrEmpty(prefabPath)) + Undo.DestroyObjectImmediate(go); + + Debug.Log($"[SceneObjectPlacer] {key} 弹体 Prefab 流程完成。\n " + string.Join("\n ", report)); + } + + /// + /// 将场景根对象存盘为 Prefab(已存在则弹窗确认覆盖)并注册 Addressable,返回 Prefab 路径(失败/取消返回 null)。 + /// + private static string SaveRootAsPrefab(GameObject root, string fileName, string folder, + string[] extraLabels, List report) + { + EditorScaffoldUtils.EnsureFolder(folder); + AssetDatabase.Refresh(); + string prefabPath = $"{folder}/{fileName}.prefab"; + + if (System.IO.File.Exists(prefabPath) + && !EditorUtility.DisplayDialog("Prefab 已存在", + $"{prefabPath}\n已存在,覆盖?", "覆盖", "取消")) + { + report.Add($"用户取消覆盖:{prefabPath}"); + return null; + } + + GameObject prefab = PrefabUtility.SaveAsPrefabAssetAndConnect(root, prefabPath, InteractionMode.UserAction); + if (prefab == null) + { + report.Add($"✗ Prefab 存盘失败:{prefabPath}"); + return null; + } + + report.Add($"✅ 已存盘 Prefab:{prefabPath}"); + AddressableRegistrar.Register(prefabPath, fileName, extraLabels, report); + return prefabPath; + } + [MenuItem("BaseGames/Scene/Place/Hazard (LethalTrap)", priority = 120)] public static void PlaceLethalTrap() { diff --git a/Assets/_Game/Scripts/Editor/Shared/AddressableRegistrar.cs b/Assets/_Game/Scripts/Editor/Shared/AddressableRegistrar.cs new file mode 100644 index 0000000..273f639 --- /dev/null +++ b/Assets/_Game/Scripts/Editor/Shared/AddressableRegistrar.cs @@ -0,0 +1,100 @@ +using System.Collections.Generic; +using System.Linq; +using UnityEditor; +using UnityEditor.AddressableAssets; +using UnityEditor.AddressableAssets.Settings; +using UnityEditor.AddressableAssets.Settings.GroupSchemas; +using UnityEngine; + +namespace BaseGames.Editor +{ + /// + /// 可复用的 Addressable 注册器:把资产登记到正确的分组并按规范打标。 + /// + /// 分组与标签均由 推导(规范来源: + /// Docs/Standards/AddressablesLabelSpec.md §3 / AssetFolderSpec.md §8), + /// 因此结果与 AddressableManagerWindowAddressKeyValidator 完全一致。 + /// + /// 供各脚手架(如 SceneObjectPlacerTool 创建 Prefab 后)一键注册, + /// 避免每个工具重复实现 Addressables Settings API。 + /// + public static class AddressableRegistrar + { + /// + /// 将指定路径的资产注册为 Addressable。 + /// 地址默认取文件名(可用 覆盖); + /// 分组与标签按 推导, + /// 在规范标签之上追加(如 E003 幼蛭额外的 Poolable/Preload)。 + /// + /// 最终写入的地址;Addressables 未初始化或资产不存在时返回 null。 + public static string Register(string assetPath, string addressOverride = null, + IEnumerable extraLabels = null, List report = null) + { + var settings = AddressableAssetSettingsDefaultObject.Settings; + if (settings == null) + { + report?.Add("Addressable Asset Settings 不存在(未初始化),已跳过 Addressable 注册。"); + return null; + } + + string guid = AssetDatabase.AssetPathToGUID(assetPath); + if (string.IsNullOrEmpty(guid)) + { + report?.Add($"资产不存在,无法注册 Addressable:{assetPath}"); + return null; + } + + string address = string.IsNullOrEmpty(addressOverride) + ? System.IO.Path.GetFileNameWithoutExtension(assetPath) + : addressOverride; + string groupName = AddressableRules.GetExpectedGroup(address); + var group = groupName != null ? EnsureGroup(settings, groupName) : settings.DefaultGroup; + + var entry = settings.FindAssetEntry(guid) + ?? settings.CreateOrMoveEntry(guid, group, false, false); + if (entry == null) + { + report?.Add($"创建 Addressable 条目失败:{assetPath}"); + return null; + } + + entry.address = address; + settings.MoveEntry(entry, group, false, false); + + var labels = new HashSet(AddressableRules.GetExpectedLabels(address)); + if (extraLabels != null) + foreach (var l in extraLabels) + if (!string.IsNullOrWhiteSpace(l)) labels.Add(l); + foreach (var l in labels) + SetLabel(settings, entry, l); + + settings.SetDirty(AddressableAssetSettings.ModificationEvent.EntryModified, entry, true); + report?.Add($"✅ Addressable 注册:{address} → 分组 {group.name}" + + (labels.Count > 0 ? $",标签 [{string.Join(", ", labels.OrderBy(x => x))}]" : ",无标签")); + return address; + } + + private static AddressableAssetGroup EnsureGroup(AddressableAssetSettings settings, string name) + { + var existing = settings.groups.FirstOrDefault(g => g != null && g.name == name); + if (existing != null) return existing; + + var tmpl = settings.GroupTemplateObjects.FirstOrDefault() as AddressableAssetGroupTemplate; + var schemas = tmpl != null ? new List(tmpl.SchemaObjects) : null; + var created = settings.CreateGroup(name, false, false, true, schemas); + if (created != null) + Debug.Log($"[AddressableRegistrar] 已自动创建分组:{name}"); + return created ?? settings.DefaultGroup; + } + + private static void SetLabel(AddressableAssetSettings settings, AddressableAssetEntry entry, string label) + { + if (!settings.GetLabels().Contains(label)) + { + settings.AddLabel(label, true); + Debug.Log($"[AddressableRegistrar] 已创建标签:{label}"); + } + entry.SetLabel(label, true, true); + } + } +} diff --git a/Assets/_Game/Scripts/Editor/Shared/AddressableRegistrar.cs.meta b/Assets/_Game/Scripts/Editor/Shared/AddressableRegistrar.cs.meta new file mode 100644 index 0000000..af272e6 --- /dev/null +++ b/Assets/_Game/Scripts/Editor/Shared/AddressableRegistrar.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: e8637b71204995e4bbb5540e205ba431 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/_Game/Scripts/Enemies/Boss/ChaoFengBoss.cs b/Assets/_Game/Scripts/Enemies/Boss/ChaoFengBoss.cs index ceebf02..7c094d5 100644 --- a/Assets/_Game/Scripts/Enemies/Boss/ChaoFengBoss.cs +++ b/Assets/_Game/Scripts/Enemies/Boss/ChaoFengBoss.cs @@ -37,6 +37,12 @@ namespace BaseGames.Enemies.Boss [SerializeField] private Transform _tornadoMuzzle; [SerializeField] private Transform _windStoneMuzzle; + [Header("弹体配置(ProjectileConfigSO,PoolKey 须与弹体地址一致)")] + [SerializeField] private ProjectileConfigSO _boomerangConfig; + [SerializeField] private ProjectileConfigSO _tornadoSmallConfig; + [SerializeField] private ProjectileConfigSO _tornadoLargeConfig; + [SerializeField] private ProjectileConfigSO _windStoneConfig; + [Header("击败演出动画")] [SerializeField] private ClipTransition _defeatStruggleClip; [Tooltip("倒地喘气(循环);与 ChaoFengKnockdownCounter._staggerClip 共用同一 Clip")] @@ -91,6 +97,7 @@ namespace BaseGames.Enemies.Boss /// /// 由技能动画 AnimationEvent 触发,生成对应弹体。 /// payload: "boomerang" / "tornado_small" / "tornado_large" / "wind_stone" + /// 生成后通过 ProjectileConfigSO 调用 Projectile.Initialize 注入速度/重力/伤害源与方向。 /// public override void SpawnProjectile(string payload) { @@ -100,32 +107,75 @@ namespace BaseGames.Enemies.Boss switch (payload) { case "boomerang": - { - var go = pool.Spawn("PROJ_Boomerang", - _boomerangMuzzle != null ? _boomerangMuzzle.position : transform.position, - Quaternion.identity); - go?.GetComponent()?.SetOwner(transform); + SpawnConfiguredAt(pool, _boomerangConfig, "PROJ_Boomerang", + MuzzlePos(_boomerangMuzzle), AimDir(_boomerangMuzzle), + proj => (proj as ReturnProjectile)?.SetOwner(transform)); break; - } + case "tornado_small": - pool.Spawn("PROJ_TornadoSmall", - _tornadoMuzzle != null ? _tornadoMuzzle.position : transform.position, - Quaternion.identity); + SpawnConfiguredAt(pool, _tornadoSmallConfig, "PROJ_TornadoSmall", + MuzzlePos(_tornadoMuzzle), AimDir(_tornadoMuzzle), null); break; case "tornado_large": + // 定点召唤于玩家当前位置(落点锁定) if (PlayerTransform != null) - pool.Spawn("PROJ_TornadoLarge", PlayerTransform.position, Quaternion.identity); + SpawnConfiguredAt(pool, _tornadoLargeConfig, "PROJ_TornadoLarge", + PlayerTransform.position, Vector2.down, null); break; case "wind_stone": - pool.Spawn("PROJ_WindStone", - _windStoneMuzzle != null ? _windStoneMuzzle.position : transform.position, - Quaternion.identity); + SpawnConfiguredAt(pool, _windStoneConfig, "PROJ_WindStone", + MuzzlePos(_windStoneMuzzle), Vector2.down, null); break; } } + private Vector2 MuzzlePos(Transform muzzle) + => muzzle != null ? (Vector2)muzzle.position : (Vector2)transform.position; + + /// 朝向玩家的发射方向;无玩家时退回当前朝向(localScale.x)。 + private Vector2 AimDir(Transform muzzle) + { + Vector2 origin = MuzzlePos(muzzle); + if (PlayerTransform != null) + return ((Vector2)PlayerTransform.position - origin).normalized; + return transform.localScale.x >= 0f ? Vector2.right : Vector2.left; + } + + /// + /// 从池取出弹体并用 config 初始化(注入速度/重力/伤害源/方向)。 + /// config 为空时仅生成不初始化并告警(需在 Inspector 指定对应 ProjectileConfigSO)。 + /// + private void SpawnConfiguredAt(IObjectPoolService pool, ProjectileConfigSO config, string fallbackKey, + Vector2 pos, Vector2 dir, System.Action onSpawned) + { + string key = config != null && !string.IsNullOrEmpty(config.PoolKey) ? config.PoolKey : fallbackKey; + var go = pool.Spawn(key, pos, Quaternion.identity); + if (go == null) return; + + var proj = go.GetComponent(); + if (proj == null) + { + Debug.LogWarning($"[ChaoFengBoss] 弹体 '{key}' 缺少 Projectile 组件。", this); + return; + } + + onSpawned?.Invoke(proj); + + if (config == null) + { + Debug.LogWarning($"[ChaoFengBoss] 弹体 '{key}' 未指定 ProjectileConfigSO,无法初始化速度/伤害。", this); + return; + } + + var src = config.DamageSource; + var info = src != null + ? DamageInfo.From(src, dir, pos, gameObject.layer, proj) + : default; + proj.Initialize(config, info, dir, gameObject.layer); + } + // ── 击败演出 ───────────────────────────────────────────────────────── protected override void Die() diff --git a/Assets/_Game/Scripts/Enemies/Boss/ChaoFengKnockdownCounter.cs b/Assets/_Game/Scripts/Enemies/Boss/ChaoFengKnockdownCounter.cs index 64763ed..9ed2022 100644 --- a/Assets/_Game/Scripts/Enemies/Boss/ChaoFengKnockdownCounter.cs +++ b/Assets/_Game/Scripts/Enemies/Boss/ChaoFengKnockdownCounter.cs @@ -30,13 +30,17 @@ namespace BaseGames.Enemies.Boss private int _count; private bool _inKnockdown; + private BaseGames.Core.IGroundedActor _playerGround; + private Transform _cachedPlayer; /// /// 由 调用,累计受击并在达到阈值时触发击落。 + /// 仅统计「玩家处于空中」时的命中(设计:空中攻击命中嘲风才计入击落)。 /// public void OnBossHit(DamageInfo info) { if (_inKnockdown || _boss == null || _boss.CurrentPhase != 1) return; + if (!IsPlayerAirborne()) return; // Q6:仅玩家在空中的命中计数 _count++; if (_count >= _threshold) @@ -46,6 +50,23 @@ namespace BaseGames.Enemies.Boss } } + /// + /// 通过 Boss 缓存的 PlayerTransform 取玩家的 (PlayerMovement 实现), + /// 判定其是否离地。取不到接口时按「空中」处理(保守计数,避免机制失效)。 + /// + private bool IsPlayerAirborne() + { + var player = _boss.PlayerTransform; + if (player == null) return false; + if (!ReferenceEquals(player, _cachedPlayer)) + { + _cachedPlayer = player; + _playerGround = player.GetComponentInParent() + ?? player.GetComponentInChildren(); + } + return _playerGround == null || !_playerGround.IsGrounded; + } + /// 强制结束正在进行中的击落序列(由 ChaoFengBoss.DefeatSequence 调用)。 public void ForceEnd() { diff --git a/Assets/_Game/Scripts/Player/PlayerMovement.cs b/Assets/_Game/Scripts/Player/PlayerMovement.cs index b398570..7400e17 100644 --- a/Assets/_Game/Scripts/Player/PlayerMovement.cs +++ b/Assets/_Game/Scripts/Player/PlayerMovement.cs @@ -11,7 +11,7 @@ namespace BaseGames.Player // 开头能在状态机写入速度之前先应用"强制清零"标记。 [DefaultExecutionOrder(-200)] [RequireComponent(typeof(Rigidbody2D))] - public class PlayerMovement : MonoBehaviour, IPassengerReceiver + public class PlayerMovement : MonoBehaviour, IPassengerReceiver, IGroundedActor { [Header("配置")] [SerializeField] private PlayerMovementConfigSO _config; diff --git a/Assets/_Game/Scripts/UI/Menus/DataDrivenPauseMenuController.cs b/Assets/_Game/Scripts/UI/Menus/DataDrivenPauseMenuController.cs index 1657a99..86eda96 100644 --- a/Assets/_Game/Scripts/UI/Menus/DataDrivenPauseMenuController.cs +++ b/Assets/_Game/Scripts/UI/Menus/DataDrivenPauseMenuController.cs @@ -27,6 +27,10 @@ namespace BaseGames.UI private readonly List _buttons = new(); private MainMenuButtonView _firstButton; + /// 本面板因某个菜单动作(继续 / 返回主菜单)而关闭——它们已自行处理游戏状态, + /// OnPanelClose 不应再发恢复事件。ESC / 手柄 B 取消关闭时此标志为 false,需要补发恢复。 + private bool _resumeHandledByAction; + // 暂停面板由 UIManager 开启,此时 ServiceLocator 已就绪 protected override void OnPanelOpen() { @@ -34,7 +38,23 @@ namespace BaseGames.UI BuildMenu(); } - protected override void OnPanelClose() => _uiManager = null; + protected override void OnPanelClose() + { + _uiManager = null; + + // 被弹出栈(ESC / 手柄 B 取消)关闭时也要恢复游戏:否则 GameManager 停在 Paused、 + // 输入留在 UI map,Gameplay 的 Pause 键被禁用,导致暂停菜单关闭后再也无法呼出。 + // + // 仅在「真正出栈」时恢复——被上层面板(设置等 Replace 压栈)覆盖时本面板的 OnDisable + // 同样触发,但此时本面板仍是栈顶(UINavigator.Push 先停用下层再压入新面板),不应恢复。 + // 区分依据:出栈时 UINavigator.Pop 已先出栈,栈顶不再是本面板;覆盖时栈顶仍是本面板。 + // 「继续」「返回主菜单」已各自处理状态,由 _resumeHandledByAction 抑制重复 / 误恢复。 + var nav = GetService(); + bool poppedOff = nav == null || nav.Top != this; + if (poppedOff && !_resumeHandledByAction) + _onResumeRequested?.Raise(); + _resumeHandledByAction = false; + } /// 默认焦点 / 焦点恢复回到首个按钮。 protected override GameObject ResolveFirstSelected() @@ -76,6 +96,7 @@ namespace BaseGames.UI switch (item.action) { case PauseMenuAction.Resume: + _resumeHandledByAction = true; // 自行发恢复,避免 OnPanelClose 重复发 _onResumeRequested?.Raise(); _uiManager?.CloseTopPanel(); break; @@ -86,6 +107,8 @@ namespace BaseGames.UI _uiManager?.OpenPanel(item.targetPanel); break; case PauseMenuAction.ReturnToMainMenu: + // 不发恢复:须保持 Paused 状态,使 SceneLoaded(MainMenu) 时 Paused→MainMenu 为合法转换。 + _resumeHandledByAction = true; _uiManager?.CloseTopPanel(); _onSceneLoadRequest?.Raise(new SceneLoadRequest { diff --git a/Docs/Guides/08_BehaviorTree_Authoring_Guide.md b/Docs/Guides/08_BehaviorTree_Authoring_Guide.md new file mode 100644 index 0000000..f57270f --- /dev/null +++ b/Docs/Guides/08_BehaviorTree_Authoring_Guide.md @@ -0,0 +1,200 @@ +# 行为树创建指南 — 敌人 / Boss(Behavior Designer Pro) + +> 面向:在已用脚手架搭好的敌人/Boss Prefab 上,挂载并搭建行为树(BT),跑通「巡逻 → 感知 → 技能」闭环。 +> 配套:《小怪与Boss实现计划-01》(每个敌人的目标 BT 结构)、`02_Enemy_Boss_Setup_Guide`。 + +--- + +## 0. 技术栈与前提 + +| 项 | 说明 | +|----|------| +| 行为树框架 | **Opsive Behavior Designer Pro**(`com.opsive.behaviordesigner`,运行时组件 `Opsive.BehaviorDesigner.Runtime.BehaviorTree`) | +| 编辑器入口 | `Tools/Opsive/Behavior Designer`;或选中带 `BehaviorTree` 组件的对象,在 Inspector 点 **Open** | +| 自定义任务 | `Assets/_Game/Scripts/Enemies/AI/BD_*.cs`,分类前缀 `BaseGames/Enemy/*` | +| 编译宏 | 全部 BD_ 任务用 `#if GRAPH_DESIGNER` 门控。**已在 ProjectSettings → Standalone 定义 `GRAPH_DESIGNER`**。换其它构建目标需自行补该宏,否则任务不可见。 | + +**前提**:敌人/Boss Prefab 已由 `SceneObjectPlacerTool` 脚手架生成,已具备 `EnemyBase`/`EnemyMovement`/`PhysicsPerceptionSystem`/`HurtBox`/`HitBox`/`Abilities/*` 与绑定好的 SO。BT 只负责**决策与调用**,不负责动画、不负责具体攻击实现。 + +--- + +## 1. 三条铁律(搭树前必读) + +1. **动画所有权**:所有技能/触发型动画由对应 `EnemyAbilityBase` 子类在 `ExecuteCoroutine()` 内 `_animancer.Play()` 播放。**BT 禁止用 `BD_PlayAnimation` 触发技能动画**。Idle/Walk/Run/Dead 由框架随 `SetAiPhase` / `Die()` 自动播放。 +2. **能力按 abilityId 调用**:`BD_UseAbility` / `BD_CanUseAbility` / `BD_IsAbilityRunning` 通过 abilityId(或 SO 引用)查找挂在 `Abilities/` 子节点上的能力组件。abilityId 必须全局唯一。 +3. **墙/崖不走感知**:`BD_Patrol` 用 `EnemyMovement.IsWallAhead/IsLedgeAhead` 内置射线翻转,**无需感知槽**。感知槽只用于「发现玩家/攻击距离」等(见 §3)。 + +--- + +## 2. 创建一棵行为树(通用步骤) + +1. **挂组件**:选中敌人 Prefab 根对象 → `Add Component` → `Behavior Tree`(Opsive)。 +2. **打开编辑器**:Inspector 里点 **Open**(或 `Tools/Opsive/Behavior Designer`)。 +3. **保存形式**: + - **内联**(推荐单怪专用树):直接在该 Prefab 的 BehaviorTree 组件上编辑,随 Prefab 保存。 + - **共享图**(多怪复用):在编辑器中保存为独立 Behavior Tree 资产,再在组件上引用。约定路径 `Assets/_Game/Data/AI/BT_{敌人}.asset`,命名 `BT_*`。 +4. **搭树**:根用 **Selector**(见 §4 各结构),从任务面板(分类 `BaseGames/Enemy/*`)拖入 BD_ 任务,连边、填字段。 +5. **填字段**:`BD_IsAiPhase` 选枚举;`BD_UseAbility`/`BD_CanUseAbility` 填 abilityId 或拖 ABL SO;`BD_IsSensorDetecting` 填槽名(见 §3)。 +6. **保存** Prefab / 图资产。进入 Play 验证(§6)。 + +> ⚠️ **运行前确认**:该 Prefab 的 `EnemyBase._statsSO`/`_animConfig`、各能力 `_config`、感知 `_slots` 均已绑定(脚手架已做)。BT 只是调度层。 + +--- + +## 3. 感知槽位(`SensorSlotNames`) + +`BD_IsSensorDetecting.m_SlotName` 必须等于 `PhysicsPerceptionSystem` 上配置的槽名,常量定义于 `Assets/_Game/Scripts/Enemies/Perception/SensorSlotNames.cs`: + +| 常量 | 字符串 | 类型 | 典型用途 | +|------|--------|------|---------| +| `Aggro` | `aggro` | RangeCircle | 主警戒/追击范围 | +| `Alert` | `alert` | RangeCircle | 警觉(比 aggro 小) | +| `AttackMelee` | `attack_melee` | RangeCircle | 近战触发距离 | +| `AttackRange` | `attack_range` | RangeCircle/BoxCast | 远程/区域触发(E002 用正下方 BoxCast) | +| `Patrol` | `patrol` | RangeCircle | 巡逻范围限制 | +| `LOS` | `los` | BatchLOS | 无遮挡视线 | +| `Sight` | `sight` | Sight | 视锥 + 遮挡("看见玩家",E004/E006/嘲风用) | + +`m_AnyTarget=false` 时对 `EnemyBase.PlayerTransform` 判定;`true` 时用 `HasAnyDetection`(任意目标)。 + +--- + +## 4. 各敌人/Boss 的目标树结构 + +> 节点缩进表示父子;`Selector` 选择器(命中即返回),`Sequence` 顺序(全成功才成功)。 +> abilityId 已随脚手架生成(见 §5 速查)。`BD_CanUseAbility` 勾 `m_CheckRange=true` 时按 ABL SO 的 preferredMin/MaxRange 校验距离。 + +### E001 草蛭(伪装→激活追击→失感知收招→巡逻) +``` +Selector +├── Sequence [死亡] : BD_IsStateMatch(Dead) → BD_StopMovement +├── Sequence [激活] +│ ├── Selector [可激活]: BD_IsAiPhase(Idle) | BD_IsAiPhase(Patrol) +│ ├── BD_IsSensorDetecting("aggro") +│ ├── BD_UseAbility("e001_alert") // PlayClipAbility:播激活动画 +│ └── BD_SetAiPhase(Chase) +├── Sequence [追击] +│ ├── BD_IsAiPhase(Chase) +│ └── BD_UseAbility("e001_chase") // ContactChaseAbility:循环追击,失感知内部 SetAiPhase(Patrol) +└── Selector [巡逻] // ⚠ 必须 Selector + ├── Sequence [待机]: BD_IsAiPhase(Idle) → BD_WaitRandom(min,max) + └── Sequence [巡逻]: BD_IsAiPhase(Patrol) → BD_Patrol +``` + +### E002 簧蛭(固定陷阱:下方检测→钻出三段+脆弱窗口) +``` +Selector +├── Sequence [死亡]: BD_IsStateMatch(Dead) → BD_Wait(999) +└── Sequence + ├── BD_IsSensorDetecting("attack_range") // 正下方 BoxCast + ├── BD_CanUseAbility("e002_ceiling_strike") + └── BD_UseAbility("e002_ceiling_strike") // CeilingHangStrikeAbility:出击→脆弱悬挂→收回 +``` + +### E003 幼蛭(天花板落下→感知追击→兜底巡逻) +``` +Selector +├── Sequence [死亡]: BD_IsStateMatch(Dead) → BD_StopMovement +├── Sequence [下落一次]: BD_IsAiPhase(Idle) → BD_UseAbility("e003_fall") // AnimatedCeilingDropAbility 落地后内部 SetAiPhase(Patrol) +├── Sequence [追击]: BD_IsSensorDetecting("aggro") → BD_ChasePlayer +└── BD_Patrol +``` +> 预置于天花板的 E003 由场景战斗触发器调用 `E003_YouZhi.ActivateFromCeiling()`;由 E005 死亡生成的走 `OnSpawn()`,均自动触发 `e003_fall`。 + +### E004 蛭母(出场→战斗循环:Flip/撕咬/头槌/酸液/靠近) +``` +Selector +├── Sequence [死亡]: BD_IsStateMatch(Dead) → BD_StopMovement +├── Sequence [出场一次]: BD_IsAiPhase(Idle) → BD_UseAbility("e004_appear") // AppearAbility 内部 SetAiPhase(Combat) +├── Sequence [战斗] +│ ├── BD_IsAiPhase(Combat) +│ └── Selector +│ ├── Sequence [Flip]: BD_CanUseAbility("e004_flip") → BD_UseAbility("e004_flip") // CanUse 内含"无其他技能+玩家在背后" +│ ├── Sequence [撕咬]: BD_CanUseAbility("e004_bite", CheckRange) → BD_UseAbility("e004_bite") +│ ├── Sequence [头槌]: BD_CanUseAbility("e004_headslam", CheckRange) → BD_UseAbility("e004_headslam") +│ ├── Sequence [酸液]: BD_CanUseAbility("e004_acid") → BD_UseAbility("e004_acid") +│ └── BD_MoveToPlayer +└── BD_MoveToPlayer +``` + +### E005 肥蛭(近撕咬+后摇脆弱 / 远酸液 / 追击;死亡生成 E003) +``` +Selector +├── Sequence [死亡]: BD_IsStateMatch(Dead) → BD_StopMovement // 死亡生成 E003 由 E005_FeiZhi.SpawnProjectile(AnimationEvent) 处理,不走 BT +├── Sequence [撕咬]: BD_CanUseAbility("e005_bite", CheckRange) → BD_UseAbility("e005_bite") +├── Sequence [酸液]: BD_CanUseAbility("e005_acid") → BD_UseAbility("e005_acid") +└── BD_ChasePlayer +``` + +### E006 讙(视锥感知→跳跃爪击 / 巡逻) +``` +Selector +├── Sequence [死亡]: BD_IsStateMatch(Dead) → BD_StopMovement +├── Sequence [跳跃攻击] +│ ├── BD_IsSensorDetecting("sight") // 正面视锥 +│ ├── BD_CanUseAbility("e006_leap") +│ └── BD_UseAbility("e006_leap") // LeapAttackAbility:Rigidbody 冲量 +└── BD_Patrol +``` + +### 嘲风 Boss(单棵树;Phase2 子树由 HP 守门,过渡节点内嵌) +``` +Selector [嘲风] +├── Sequence [Phase 2 (HP<50%)] +│ ├── BD_IsHPBelow(0.5) +│ ├── BD_BossPhaseTransition(targetPhase=1, invincibleDuration≈2.0) // 首次:Running→Success;之后守护即时 Success +│ └── Selector [Phase2 战斗] +│ ├── BD_UseBossSkillWeighted // 仅 wind_stone(availablePhaseIndices=[1]) +│ └── BD_Wait(0.5) +└── Selector [Phase 1 地面战] + ├── BD_UseBossSkillWeighted // boomerang/fan_combo/tornado_small/tornado_large(均 phase[0]) + └── BD_MoveToPlayer +``` +> - **不要**把「过渡」和「Phase2 战斗」做成并列兄弟节点——过渡完成后会永远停在第一个 Success 节点,进不去战斗。必须把 `BD_BossPhaseTransition` 作为 Phase2 Sequence 的**中间**节点。 +> - **击落机制不走 BT**:由 `ChaoFengKnockdownCounter`(经 `ChaoFengBoss.OnDamageTaken` 转发)独立驱动。 +> - 弹体经技能动画 `AnimationEvent → ChaoFengBoss.SpawnProjectile("boomerang"/"tornado_small"/"tornado_large"/"wind_stone")` 生成并按 ProjectileConfigSO 初始化。 + +--- + +## 5. abilityId / skillId 速查(脚手架已生成) + +| 敌人 | 能力组件 | abilityId | ABL 资产 | +|------|---------|-----------|---------| +| E001 | PlayClipAbility / ContactChaseAbility | `e001_alert` / `e001_chase` | `ABL_E001_Alert` / `ABL_E001_Chase` | +| E002 | CeilingHangStrikeAbility | `e002_ceiling_strike` | `ABL_E002_CeilingStrike` | +| E003 | AnimatedCeilingDropAbility | `e003_fall` | `ABL_E003_Fall` | +| E004 | Appear/Melee/RepeatSlam/Projectile/FacePlayer | `e004_appear`/`e004_bite`/`e004_headslam`/`e004_acid`/`e004_flip` | `ABL_E004_*` | +| E005 | Melee(后摇脆弱)/Projectile | `e005_bite` / `e005_acid` | `ABL_E005_*` | +| E006 | LeapAttack / ContactChase | `e006_leap` / `e006_chase` | `ABL_E006_*` | + +嘲风 BossSkillSO(`BD_UseBossSkill`/`BD_UseBossSkillWeighted` 用 skillId): +`boomerang` / `fan_combo` / `tornado_small` / `tornado_large`(Phase0)、`wind_stone`(Phase1)。 + +--- + +## 6. 验证 + +1. 把敌人放进可玩场景(脚手架的 `Place E00X`,或拖 Prefab);确保场景有 `NavSurface` 已烘焙(追击/MoveTo 依赖)。 +2. 进入 Play。在 Inspector 看 `EnemyBase` 的 `AiPhase` 是否随逻辑切换(Idle→Chase→Patrol…)。 +3. Scene 视图开 Gizmo:`PhysicsPerceptionSystem` 各槽以语义色绘制(aggro 橙 / sight 浅蓝 / attack_* 红粉…),确认范围与玩家触发一致。 +4. Behavior Designer 编辑器在 Play 时高亮当前执行节点,逐节点排查卡点。 + +--- + +## 7. 常见坑 + +| 现象 | 原因 / 解法 | +|------|------------| +| 巡逻分支用 Sequence 导致待机后不巡逻 | 巡逻必须用 **Selector**(待机/巡逻互斥分支) | +| `BD_UseAbility` 立刻返回成功、技能没播完 | 它会等 `IsRunning==false`;确认能力 `ExecuteCoroutine` 正确设置 `Phase`。技能不打断需 ABL SO `interruptOnHurt=false` | +| 攻击不触发 | `BD_CanUseAbility` 未勾 `m_CheckRange` 或 ABL 的 preferredRange/cooldown 不当;或感知槽名拼错(须用 `SensorSlotNames` 常量值) | +| 找不到 BD_ 任务 | 未定义 `GRAPH_DESIGNER`(当前仅 Standalone 已定义) | +| 嘲风进不了 Phase2 战斗 | 过渡节点做成了兄弟节点;须内嵌进 Phase2 Sequence(见 §4) | +| E002/固定怪 BT 里写了 Patrol/MoveTo | 固定陷阱无移动,不要加移动节点 | +| 翻身/墙崖检测想用感知槽 | 不需要;`BD_Patrol` 内置 `EnemyMovement.IsWallAhead/IsLedgeAhead` | + +--- + +## 8. 小结 + +行为树 = **条件判断(BD_IsXxx / BD_IsSensorDetecting)+ 调用(BD_UseAbility / BD_SetAiPhase / BD_UseBossSkill*)**。动画、攻击实现、感知计算、移动物理都在框架其它层;BT 保持「薄」。按 §4 的结构逐怪搭建,用 §5 的 id、§3 的槽名填字段,再按 §6 验证即可。 diff --git a/Docs/Plan/小怪与Boss实现计划-01.md b/Docs/Plan/小怪与Boss实现计划-01.md index 2f3848b..ad07fa4 100644 --- a/Docs/Plan/小怪与Boss实现计划-01.md +++ b/Docs/Plan/小怪与Boss实现计划-01.md @@ -47,22 +47,32 @@ - **固定位置敌人(E002 簧蛭)不挂 EnemyNavAgent / NavAgent,不调用 MoveTo** - 朝向翻转:`EnemyMovement.UpdateFacing()` 优先用 `SpriteRenderer.flipX`,无 SR 时用 `localScale.x` -### 4. 感知系统约束(SensorToolkit) +### 4. 感知系统约束(自研 PhysicsPerceptionSystem) -`EnemySensorHub` 标准槽位名称约定: +> ⚠️ **本节已更新**:项目已**自研 `PhysicsPerceptionSystem` 完全替代 SensorToolkit**,不再使用 `EnemySensorHub` / SensorToolkit 命名空间。`_Game` 代码零引用 SensorToolkit。Prefab 上挂的是 `PhysicsPerceptionSystem`(纯物理实现),其 `_slots[]` 槽位数组配置各感知槽。 -| 槽名 | Sensor 类型 | 用途 | -|------|------------|------| -| `aggro` | RangeSensor2D | 主要警戒/感知范围 | -| `attack_melee` | RangeSensor2D | 近战攻击距离触发 | -| `attack_range` | RangeSensor2D | 远程攻击距离触发 | -| `los` | LOSSensor2D | 视线检测 | -| `wall_ahead` | RaySensor2D | 前方障碍物检测 | -| `ledge` | RaySensor2D | 前方悬崖检测 | +**架构**: +- 接口 `BaseGames.Enemies.Perception.IPerceptionSystem`(`HasSlot` / `IsDetecting(slot, target)` / `HasAnyDetection(slot)` / `GetFirstDetection(slot)`) +- 实现 `PhysicsPerceptionSystem`:支持 7 种槽位类型 `RangeCircle / BatchLOS / FanCast / BoxCast / Sight / RayCast / TriggerZone`,含错帧更新(tickInterval)、动态禁用、Enter/Exit 事件;视线由 `SightBatchSystem` 全局预算管理(LOD) +- `EnemyBase.Awake()` 通过 `GetComponentInChildren()` 注册,对外暴露 `EnemyBase.SensorHub`(`IPerceptionSystem` 类型) -`BD_IsSensorDetecting` 的 m_SlotName 必须与 Inspector 中 `EnemySensorHub._slots` 对应的 slotName 完全一致。 +**标准槽位常量**(定义于 `Perception/SensorSlotNames.cs`,禁止散布魔法字符串): -`BD_Patrol` 优先读取 `wall_ahead` 和 `ledge` 槽的 SensorToolkit 结果;若未配置这两个槽,自动回退 Raycast 兜底。 +| 常量 | 字符串键 | 槽位类型 | 用途 | +|------|---------|---------|------| +| `SensorSlotNames.Aggro` | `aggro` | RangeCircle | 主要警戒/追击范围 | +| `SensorSlotNames.Alert` | `alert` | RangeCircle | 警觉半径(比 aggro 小,待机/巡逻→Alert 切换) | +| `SensorSlotNames.AttackMelee` | `attack_melee` | RangeCircle | 近战攻击距离触发 | +| `SensorSlotNames.AttackRange` | `attack_range` | RangeCircle | 远程攻击距离触发 | +| `SensorSlotNames.Patrol` | `patrol` | RangeCircle | 巡逻范围限制(超出触发返回) | +| `SensorSlotNames.LOS` | `los` | BatchLOS | 无遮挡视线(OverlapCircle + 单射线遮挡) | +| `SensorSlotNames.Sight` | `sight` | Sight | 视锥 + 强制 LOS 遮挡检测("看见玩家"核心传感器) | + +> ⚠️ **`wall_ahead` / `ledge` 槽已废除**:前方墙体/悬崖检测**不再走感知系统**,改由 `EnemyMovement.IsWallAhead` / `EnemyMovement.IsLedgeAhead`(EnemyMovement 内置物理射线)提供。 + +`BD_IsSensorDetecting` 实现:查询 `gameObject.GetComponent()`;字段 `m_SlotName`(应填 `SensorSlotNames` 对应字符串键)+ `m_AnyTarget`(true 时用 `HasAnyDetection`,false 时对 `EnemyBase.PlayerTransform` 调 `IsDetecting`)。 + +`BD_Patrol` 直接读取 `EnemyMovement.IsWallAhead / IsLedgeAhead` 触发翻转,**不依赖任何感知槽**(含转身冷却防抖)。 ### 5. AI 阶段(AiPhase)枚举值 @@ -162,7 +172,7 @@ **`ENM_E001_Stats.asset`**(EnemyStatsSO):MaxHP、WalkSpeed(巡逻)、RunSpeed(追击)、DetectRange。 -**`ABL_E001_Activate.asset`**:abilityId=`"e001_activate"`,cooldown=0 +**`ABL_E001_Alert.asset`**:abilityId=`"e001_alert"`,cooldown=1.5(激活/警觉序列,PlayClipAbility) **`ABL_E001_Chase.asset`**:abilityId=`"e001_chase"`,cooldown=0,preferredMaxRange=DetectRange #### 新建 Ability @@ -187,7 +197,8 @@ protected override IEnumerator ExecuteCoroutine() [SerializeField] private Animancer.ClipTransition _loopClip; [SerializeField] private Animancer.ClipTransition _endClip; [SerializeField] private BodyContactDamage _contactDamage; -[SerializeField] private EnemySensorHub _sensorHub; +[SerializeField] private string _aggroSlotName = SensorSlotNames.Aggro; +// 感知通过 EnemyBase.SensorHub(IPerceptionSystem)查询,不自挂感知组件引用 protected override IEnumerator ExecuteCoroutine() { @@ -198,7 +209,8 @@ protected override IEnumerator ExecuteCoroutine() while (true) { if (_enemy.PlayerTransform == null) break; - if (!_sensorHub.IsDetecting("aggro", _enemy.PlayerTransform.gameObject)) break; + if (_enemy.SensorHub != null && + !_enemy.SensorHub.IsDetecting(_aggroSlotName, _enemy.PlayerTransform.gameObject)) break; _enemy.MoveTo(_enemy.PlayerTransform.position); yield return null; } @@ -216,12 +228,12 @@ protected override IEnumerator ExecuteCoroutine() ` E001_CaoZhi ├── [EnemyBase] [EnemyMovement] [EnemyNavAgent] [NavAgent] [TransformBasedMovement] -├── [EnemySensorHub] → slots: [{aggro, RangeSensor2D}, {wall_ahead, RaySensor2D}, {ledge, RaySensor2D}] +├── [PhysicsPerceptionSystem] → _slots: [{aggro, RangeCircle}] ← 墙/崖检测由 EnemyMovement 内置射线,无需槽 ├── [Rigidbody2D] Dynamic [Collider2D] ├── HurtBox/ [HurtBox] [Collider2D trigger=true Layer=EnemyHurtBox] ├── ContactDamageZone/ [BodyContactDamage] [HitBox] [Collider2D trigger=true Layer=EnemyHitBox] └── Abilities/ - ├── [PlayClipAbility] (_config=ABL_E001_Activate) + ├── [PlayClipAbility] (_config=ABL_E001_Alert) └── [ContactChaseAbility] (_config=ABL_E001_Chase) ` @@ -235,7 +247,7 @@ Selector │ │ ├── BD_IsAiPhase(Idle) │ │ └── BD_IsAiPhase(Patrol) │ ├── BD_IsSensorDetecting("aggro") -│ ├── BD_UseAbility(ABL_E001_Activate) +│ ├── BD_UseAbility(ABL_E001_Alert) │ └── BD_SetAiPhase(Chase) ├── Sequence [追击] │ ├── BD_IsAiPhase(Chase) @@ -312,7 +324,7 @@ protected override void OnInterrupted(InterruptReason reason) ` E002_HuangZhi ├── [EnemyBase] ← 无 EnemyMovement,无 NavAgent -├── [EnemySensorHub] → slots: [{attack_range, RangeSensor2D(正下方矩形)}] +├── [PhysicsPerceptionSystem] → _slots: [{attack_range, BoxCast(正下方矩形)}] ├── [Rigidbody2D] Kinematic Gravity=0 ├── HurtBox/ [HurtBox enabled=false] [Collider2D trigger] ├── AttackHitBox/ [HitBox] [Collider2D trigger] @@ -441,7 +453,7 @@ public void ActivateFromCeiling() ` E003_YouZhi ├── [E003_YouZhi] [EnemyMovement] [EnemyNavAgent] [NavAgent] [TransformBasedMovement] -├── [EnemySensorHub] → slots: [{aggro, RangeSensor2D}] +├── [PhysicsPerceptionSystem] → _slots: [{aggro, RangeCircle}] ├── [Rigidbody2D] Kinematic(AnimatedCeilingDropAbility 切换为 Dynamic) ├── HurtBox/ ├── ContactDamageZone/ [BodyContactDamage enabled=false] ← 落地后由能力 Enable @@ -646,7 +658,7 @@ private IEnumerator DeathSequence() ` E004_ZhiMu ├── [E004_ZhiMu] [EnemyMovement] [EnemyNavAgent] [NavAgent] [TransformBasedMovement] -├── [EnemySensorHub] → slots: [{aggro, RangeSensor2D}, {los, LOSSensor2D}] +├── [PhysicsPerceptionSystem] → _slots: [{aggro, RangeCircle}, {sight, Sight}] ├── [EnemyFeedback] [Rigidbody2D] ├── HurtBox/ BiteHitBox/ SlamHitBox/ ├── AcidMuzzle/ [Transform] @@ -823,7 +835,7 @@ attackSequence[0].clip:Skill ClipTransition ` E006_Huan ├── [EnemyBase] [EnemyMovement] [EnemyNavAgent] [NavAgent] [TransformBasedMovement] -├── [EnemySensorHub] → slots: [{aggro, RangeSensor2D}, {wall_ahead, RaySensor2D}, {ledge, RaySensor2D}] +├── [PhysicsPerceptionSystem] → _slots: [{sight, Sight(正面视锥)}] ← 墙/崖检测由 EnemyMovement 内置射线 ├── [Rigidbody2D] Dynamic ├── HurtBox/ LandingHitBox/ └── Abilities/ [LeapAttackAbility (abilityId="e006_leap")] @@ -835,10 +847,10 @@ E006_Huan Selector ├── BD_IsStateMatch(Dead) → BD_StopMovement ← Die() 已自动播放 AnimConfig.Dead ├── Sequence [跳跃攻击] -│ ├── BD_IsSensorDetecting("aggro") +│ ├── BD_IsSensorDetecting("sight") ← 正面视锥感知(FanCast/Sight),对应设计"视线检测正面扇形" │ ├── BD_CanUseAbility(ABL_E006_Leap) │ └── BD_UseAbility(ABL_E006_Leap) -└── BD_Patrol [wall_ahead+ledge槽驱动翻转,无传感器则Raycast兜底] +└── BD_Patrol [EnemyMovement.IsWallAhead/IsLedgeAhead 内置射线驱动翻转,无需感知槽] ` > **Flip 动画**:`EnemyMovement` 已原生支持转身动画,无需修改 BT。只需: @@ -1164,8 +1176,8 @@ public class ChaoFengKnockdownCounter : MonoBehaviour public void OnBossHit(DamageInfo info) { if (_inKnockdown || _boss.CurrentPhase != 1) return; - // ⚠️ 玩家是否在空中的判断方式待确认(见Q6) - // 临时实现:所有命中均计数 + // Q6 已实现:仅玩家在空中(IGroundedActor.IsGrounded==false)时计数 + if (!IsPlayerAirborne()) return; _count++; if (_count >= _threshold) { _count = 0; StartCoroutine(KnockdownSequence()); } } @@ -1189,6 +1201,7 @@ public class ChaoFengKnockdownCounter : MonoBehaviour ` ChaoFeng ├── [ChaoFengBoss] [EnemyMovement] [EnemyNavAgent] [NavAgent] [TransformBasedMovement] +├── [PhysicsPerceptionSystem] → _slots: [{aggro, RangeCircle}, {sight, Sight}] ├── [BossSkillExecutor] ├── [ChaoFengFloatController] ├── [ChaoFengKnockdownCounter] @@ -1228,7 +1241,7 @@ Assets/_Game/ ├── Data/Enemies/ │ ├── E001/ │ │ ├── ENM_E001_Stats.asset ← EnemyStatsSO(ENM_ 前缀) -│ │ ├── ABL_E001_Activate.asset ← PlayClipAbility SO(ABL_ 前缀) +│ │ ├── ABL_E001_Alert.asset ← PlayClipAbility SO(ABL_ 前缀,abilityId=e001_alert) │ │ └── ABL_E001_Chase.asset ← ContactChaseAbility SO │ ├── E002/ │ │ ├── ENM_E002_Stats.asset @@ -1328,8 +1341,8 @@ Assets/_Game/ | Q1 | 嘲风 Phase 2 能否用 Phase 1 技能? | BossSkillSO.availablePhaseIndices | | Q2 | 击落计数是否打断风石施法? | ChaoFengKnockdownCounter 中断逻辑 | | Q3 | 挥扇三连第3击是否有后方碰撞盒? | AttackPatternSO HitBox 形状 | -| Q4 | E004 Flip 背后检测方案(Sensor槽还是 FacingDirection 比较)? | EnemySensorHub 配置 | +| Q4 | E004 Flip 背后检测方案(Sensor槽还是 FacingDirection 比较)? | 现实现:FacePlayerAbility.CanUse 内用 Movement.FacingDirection 比较,不依赖感知槽 | | Q5 | E005 是否有 Flip 动画? | 是否新建 Flip Ability | -| Q6 | 玩家空中判断方式(DamageInfo 携带/PlayerController 事件)? | ChaoFengKnockdownCounter.IsAttackerAirborne | +| Q6 | ~~玩家空中判断方式~~ | ✅ 已实现:`IGroundedActor` 接口(Core)由 PlayerMovement 实现;`ChaoFengKnockdownCounter` 经 `BossBase.PlayerTransform` 查询,仅玩家离地时计数(取不到接口时保守按空中处理) | | Q7 | 各角色 HP/速度/伤害/CD 数值 | 所有 StatsSO / AbilitySO 填写 | | Q8 | 嘲风 Phase 2 浮空待机是否复用 Phase 1 Idle? | 美术制作量 | \ No newline at end of file

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