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 0000000..5eb4934 Binary files /dev/null and b/Assets/Screenshots/GameView_20260608_154941.png differ 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