From cf490776acb66e11cad11d985dcf8d5b4d630a38 Mon Sep 17 00:00:00 2001 From: yjm484 <171359351@qq.com> Date: Tue, 24 Jun 2025 19:14:27 +0800 Subject: [PATCH] =?UTF-8?q?0624=E6=9B=B4=E5=83=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../GameDate/LevelDate/LevelState_1.asset | 8 +- .../Assets/Plugins/Microsoft.CSharp.dll.meta | 27 ++++ .../MapNodePrefab/EnemyRangeMark.meta} | 3 +- .../EnemyRangeMark/attackRangeMark.mat | 140 ++++++++++++++++++ .../EnemyRangeMark/attackRangeMark.mat.meta | 8 + .../EnemyRangeMark/stepRangeMark.mat | 139 +++++++++++++++++ .../EnemyRangeMark/stepRangeMark.mat.meta | 8 + .../Prefab/MapNodePrefab/MapUnity _2.prefab | 3 + .../Assets/Prefab/MapNodePrefab/enemyMark.mat | 16 +- .../BuffIcon_v02/Sslx_Ui_Buff_jianpai_v01.png | Bin 0 -> 56853 bytes .../Sslx_Ui_Buff_jianpai_v01.png.meta | 127 ++++++++++++++++ .../BuffIcon_v02/Sslx_Ui_Buff_jiapai_v01.png | Bin 0 -> 35921 bytes .../Sslx_Ui_Buff_jiapai_v01.png.meta | 127 ++++++++++++++++ .../Assets/Scenes/SampleScene.unity | 6 +- .../Scripts/Buff/Buff_NextCardCostMinusOne.cs | 2 +- .../Buff/Buff_NextDrawCardisDisposable.cs | 2 +- .../Buff/Buff_NextDyeingCardRangeAddTwo.cs | 2 +- .../Buff/Buff_NextEffectCardDoubleSettle.cs | 2 +- .../Buff/Buff_NextRoundCostMinusOne.cs | 2 +- .../Assets/Scripts/Enemy/AcidRainCloud.cs | 19 ++- .../Assets/Scripts/Enemy/BoundSoul.cs | 12 ++ .../Assets/Scripts/Enemy/Climavista.cs | 17 +++ .../Scripts/Enemy/ContaminatusImmortalis.cs | 17 ++- .../Assets/Scripts/Enemy/Enemy.cs | 13 +- .../Assets/Scripts/Enemy/EnemyNode.cs | 97 +++++++++++- .../Scripts/Enemy/EnemyUI/Enemy/EnemyUIBar.cs | 6 +- .../Assets/Scripts/Enemy/FailedSample.cs | 11 ++ .../Assets/Scripts/Enemy/Gravitus.cs | 22 +++ .../Assets/Scripts/Enemy/Leviathan.cs | 22 ++- .../Assets/Scripts/Enemy/LivingArmor.cs | 12 ++ .../Assets/Scripts/Enemy/Pharmacist.cs | 28 ++++ .../Assets/Scripts/Enemy/Pollutinel.cs | 35 ++++- .../Assets/Scripts/Enemy/PollutionSpreader.cs | 31 ++++ .../Assets/Scripts/Enemy/PrismReflector.cs | 16 ++ .../Assets/Scripts/Enemy/RatWarrior.cs | 16 ++ .../Assets/Scripts/Enemy/ReconnaissanceBee.cs | 17 +++ .../Assets/Scripts/Enemy/SoulMaker.cs | 35 +++-- .../Assets/Scripts/Enemy/StonePillar.cs | 14 +- .../Assets/Scripts/Enemy/Thief.cs | 22 ++- .../Assets/Scripts/Enemy/Twinbee.cs | 18 +++ .../Scripts/EnemyPlanFunction/EnemyAction.cs | 10 +- .../Assets/Scripts/MapUnity.cs | 3 + .../Assets/Scripts/Tool/getNodeTools.cs | 56 +++++++ 43 files changed, 1120 insertions(+), 51 deletions(-) create mode 100644 ColorlessWorld-2024-4-2/Assets/Plugins/Microsoft.CSharp.dll.meta rename ColorlessWorld-2024-4-2/Assets/{Lana Studio/Casual RPG VFX/Upgrade for URP/Upgrade for URP.unitypackage.meta => Prefab/MapNodePrefab/EnemyRangeMark.meta} (67%) create mode 100644 ColorlessWorld-2024-4-2/Assets/Prefab/MapNodePrefab/EnemyRangeMark/attackRangeMark.mat create mode 100644 ColorlessWorld-2024-4-2/Assets/Prefab/MapNodePrefab/EnemyRangeMark/attackRangeMark.mat.meta create mode 100644 ColorlessWorld-2024-4-2/Assets/Prefab/MapNodePrefab/EnemyRangeMark/stepRangeMark.mat create mode 100644 ColorlessWorld-2024-4-2/Assets/Prefab/MapNodePrefab/EnemyRangeMark/stepRangeMark.mat.meta create mode 100644 ColorlessWorld-2024-4-2/Assets/Resources/BuffIcon_v02/Sslx_Ui_Buff_jianpai_v01.png create mode 100644 ColorlessWorld-2024-4-2/Assets/Resources/BuffIcon_v02/Sslx_Ui_Buff_jianpai_v01.png.meta create mode 100644 ColorlessWorld-2024-4-2/Assets/Resources/BuffIcon_v02/Sslx_Ui_Buff_jiapai_v01.png create mode 100644 ColorlessWorld-2024-4-2/Assets/Resources/BuffIcon_v02/Sslx_Ui_Buff_jiapai_v01.png.meta diff --git a/ColorlessWorld-2024-4-2/Assets/GameDate/LevelDate/LevelState_1.asset b/ColorlessWorld-2024-4-2/Assets/GameDate/LevelDate/LevelState_1.asset index 5dd66e76..96fac912 100644 --- a/ColorlessWorld-2024-4-2/Assets/GameDate/LevelDate/LevelState_1.asset +++ b/ColorlessWorld-2024-4-2/Assets/GameDate/LevelDate/LevelState_1.asset @@ -12,9 +12,9 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 23280c7f867c4ca468ab73909d4f7707, type: 3} m_Name: LevelState_1 m_EditorClassIdentifier: - levelStep: 2 + levelStep: 0 mapLevel: 1 - currentPoint: {x: 1, y: 1} + currentPoint: {x: 3, y: 1} levelSaveMap: - levelDataList: - roomType: 13 @@ -147,7 +147,7 @@ MonoBehaviour: - roomType: 4 roomSprite: {fileID: 21300000, guid: e2a576b37ecc9ee4a92a1595d55eeb41, type: 3} isUse: 1 - passBy: 0 + passBy: 1 nodePos: {x: -5.853507, y: 1.1438946, z: -6.601848} line: 2 column: 1 @@ -203,7 +203,7 @@ MonoBehaviour: - roomType: 0 roomSprite: {fileID: 21300000, guid: b8a209883c3910b4199ecc6bd1beebbd, type: 3} isUse: 1 - passBy: 0 + passBy: 1 nodePos: {x: -4.2356644, y: 0.62179697, z: -6.601848} line: 3 column: 1 diff --git a/ColorlessWorld-2024-4-2/Assets/Plugins/Microsoft.CSharp.dll.meta b/ColorlessWorld-2024-4-2/Assets/Plugins/Microsoft.CSharp.dll.meta new file mode 100644 index 00000000..17bba4e5 --- /dev/null +++ b/ColorlessWorld-2024-4-2/Assets/Plugins/Microsoft.CSharp.dll.meta @@ -0,0 +1,27 @@ +fileFormatVersion: 2 +guid: a94cf6fef2879da4c91e5ef768aadf4e +PluginImporter: + externalObjects: {} + serializedVersion: 2 + iconMap: {} + executionOrder: {} + defineConstraints: [] + isPreloaded: 0 + isOverridable: 0 + isExplicitlyReferenced: 0 + validateReferences: 1 + platformData: + - first: + Any: + second: + enabled: 1 + settings: {} + - first: + Editor: Editor + second: + enabled: 0 + settings: + DefaultValueInitialized: true + userData: + assetBundleName: + assetBundleVariant: diff --git a/ColorlessWorld-2024-4-2/Assets/Lana Studio/Casual RPG VFX/Upgrade for URP/Upgrade for URP.unitypackage.meta b/ColorlessWorld-2024-4-2/Assets/Prefab/MapNodePrefab/EnemyRangeMark.meta similarity index 67% rename from ColorlessWorld-2024-4-2/Assets/Lana Studio/Casual RPG VFX/Upgrade for URP/Upgrade for URP.unitypackage.meta rename to ColorlessWorld-2024-4-2/Assets/Prefab/MapNodePrefab/EnemyRangeMark.meta index 1d182472..107d64ec 100644 --- a/ColorlessWorld-2024-4-2/Assets/Lana Studio/Casual RPG VFX/Upgrade for URP/Upgrade for URP.unitypackage.meta +++ b/ColorlessWorld-2024-4-2/Assets/Prefab/MapNodePrefab/EnemyRangeMark.meta @@ -1,5 +1,6 @@ fileFormatVersion: 2 -guid: 5b07afdbcf13e43438545d591cfd2e4b +guid: 7040b5d9d3751354894af163292234a4 +folderAsset: yes DefaultImporter: externalObjects: {} userData: diff --git a/ColorlessWorld-2024-4-2/Assets/Prefab/MapNodePrefab/EnemyRangeMark/attackRangeMark.mat b/ColorlessWorld-2024-4-2/Assets/Prefab/MapNodePrefab/EnemyRangeMark/attackRangeMark.mat new file mode 100644 index 00000000..13537ad7 --- /dev/null +++ b/ColorlessWorld-2024-4-2/Assets/Prefab/MapNodePrefab/EnemyRangeMark/attackRangeMark.mat @@ -0,0 +1,140 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 8 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: attackRangeMark + m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3} + m_Parent: {fileID: 0} + m_ModifiedSerializedProperties: 0 + m_ValidKeywords: + - _ALPHAPREMULTIPLY_ON + - _EMISSION + - _SPECULARHIGHLIGHTS_OFF + - _SPECULAR_SETUP + - _SURFACE_TYPE_TRANSPARENT + m_InvalidKeywords: [] + m_LightmapFlags: 2 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: 3001 + stringTagMap: + RenderType: Transparent + disabledShaderPasses: + - DepthOnly + - SHADOWCASTER + m_LockedProperties: + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _BaseMap: + m_Texture: {fileID: 2800000, guid: ef8be5fd7b9a2b24d8ffed755e2605b4, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _BumpMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailAlbedoMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailMask: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailNormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _EmissionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MetallicGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _OcclusionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ParallaxMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SpecGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_Lightmaps: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_LightmapsInd: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_ShadowMasks: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Ints: [] + m_Floats: + - _AlphaClip: 0 + - _AlphaToMask: 0 + - _Blend: 0 + - _BlendModePreserveSpecular: 1 + - _BumpScale: 1 + - _ClearCoatMask: 0 + - _ClearCoatSmoothness: 0 + - _Cull: 2 + - _Cutoff: 0.5 + - _DetailAlbedoMapScale: 1 + - _DetailNormalMapScale: 1 + - _DstBlend: 10 + - _DstBlendAlpha: 10 + - _EnvironmentReflections: 1 + - _GlossMapScale: 0 + - _Glossiness: 0 + - _GlossyReflections: 0 + - _Metallic: 0.5 + - _OcclusionStrength: 1 + - _Parallax: 0.005 + - _QueueOffset: 1 + - _ReceiveShadows: 1 + - _Smoothness: 0 + - _SmoothnessTextureChannel: 0 + - _SpecularHighlights: 0 + - _SrcBlend: 1 + - _SrcBlendAlpha: 1 + - _Surface: 1 + - _WorkflowMode: 0 + - _ZWrite: 0 + m_Colors: + - _BaseColor: {r: 0.5566038, g: 0.07288859, b: 0, a: 0.74509805} + - _Color: {r: 0.5566037, g: 0.07288856, b: 0, a: 0.74509805} + - _EmissionColor: {r: 0.41509438, g: 0, b: 0, a: 1} + - _SpecColor: {r: 0.9245283, g: 0.9245283, b: 0.9245283, a: 1} + m_BuildTextureStacks: [] +--- !u!114 &1781025284166211548 +MonoBehaviour: + m_ObjectHideFlags: 11 + 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: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} + m_Name: + m_EditorClassIdentifier: + version: 7 diff --git a/ColorlessWorld-2024-4-2/Assets/Prefab/MapNodePrefab/EnemyRangeMark/attackRangeMark.mat.meta b/ColorlessWorld-2024-4-2/Assets/Prefab/MapNodePrefab/EnemyRangeMark/attackRangeMark.mat.meta new file mode 100644 index 00000000..63d83d44 --- /dev/null +++ b/ColorlessWorld-2024-4-2/Assets/Prefab/MapNodePrefab/EnemyRangeMark/attackRangeMark.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 34992ef7cbe34924fb912a6b8dafde8e +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 2100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/ColorlessWorld-2024-4-2/Assets/Prefab/MapNodePrefab/EnemyRangeMark/stepRangeMark.mat b/ColorlessWorld-2024-4-2/Assets/Prefab/MapNodePrefab/EnemyRangeMark/stepRangeMark.mat new file mode 100644 index 00000000..cdc9524c --- /dev/null +++ b/ColorlessWorld-2024-4-2/Assets/Prefab/MapNodePrefab/EnemyRangeMark/stepRangeMark.mat @@ -0,0 +1,139 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 8 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: stepRangeMark + m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3} + m_Parent: {fileID: 0} + m_ModifiedSerializedProperties: 0 + m_ValidKeywords: + - _ALPHAPREMULTIPLY_ON + - _SPECULARHIGHLIGHTS_OFF + - _SPECULAR_SETUP + - _SURFACE_TYPE_TRANSPARENT + m_InvalidKeywords: [] + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: 3001 + stringTagMap: + RenderType: Transparent + disabledShaderPasses: + - DepthOnly + - SHADOWCASTER + m_LockedProperties: + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _BaseMap: + m_Texture: {fileID: 2800000, guid: ef8be5fd7b9a2b24d8ffed755e2605b4, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _BumpMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailAlbedoMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailMask: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailNormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _EmissionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MetallicGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _OcclusionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ParallaxMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SpecGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_Lightmaps: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_LightmapsInd: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_ShadowMasks: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Ints: [] + m_Floats: + - _AlphaClip: 0 + - _AlphaToMask: 0 + - _Blend: 0 + - _BlendModePreserveSpecular: 1 + - _BumpScale: 1 + - _ClearCoatMask: 0 + - _ClearCoatSmoothness: 0 + - _Cull: 2 + - _Cutoff: 0.5 + - _DetailAlbedoMapScale: 1 + - _DetailNormalMapScale: 1 + - _DstBlend: 10 + - _DstBlendAlpha: 10 + - _EnvironmentReflections: 1 + - _GlossMapScale: 0 + - _Glossiness: 0 + - _GlossyReflections: 0 + - _Metallic: 0.5 + - _OcclusionStrength: 1 + - _Parallax: 0.005 + - _QueueOffset: 1 + - _ReceiveShadows: 1 + - _Smoothness: 0.5 + - _SmoothnessTextureChannel: 0 + - _SpecularHighlights: 0 + - _SrcBlend: 1 + - _SrcBlendAlpha: 1 + - _Surface: 1 + - _WorkflowMode: 0 + - _ZWrite: 0 + m_Colors: + - _BaseColor: {r: 0.6132076, g: 0.06074226, b: 0.25092462, a: 0.3882353} + - _Color: {r: 0.6132076, g: 0.060742237, b: 0.2509246, a: 0.3882353} + - _EmissionColor: {r: 0.20754719, g: 0, b: 0, a: 1} + - _SpecColor: {r: 0.9245283, g: 0.9245283, b: 0.9245283, a: 1} + m_BuildTextureStacks: [] +--- !u!114 &1781025284166211548 +MonoBehaviour: + m_ObjectHideFlags: 11 + 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: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} + m_Name: + m_EditorClassIdentifier: + version: 7 diff --git a/ColorlessWorld-2024-4-2/Assets/Prefab/MapNodePrefab/EnemyRangeMark/stepRangeMark.mat.meta b/ColorlessWorld-2024-4-2/Assets/Prefab/MapNodePrefab/EnemyRangeMark/stepRangeMark.mat.meta new file mode 100644 index 00000000..2d41ab58 --- /dev/null +++ b/ColorlessWorld-2024-4-2/Assets/Prefab/MapNodePrefab/EnemyRangeMark/stepRangeMark.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: ce514a30b40bad647bf55e93690f4734 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 2100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/ColorlessWorld-2024-4-2/Assets/Prefab/MapNodePrefab/MapUnity _2.prefab b/ColorlessWorld-2024-4-2/Assets/Prefab/MapNodePrefab/MapUnity _2.prefab index c6571a2c..f3e0d792 100644 --- a/ColorlessWorld-2024-4-2/Assets/Prefab/MapNodePrefab/MapUnity _2.prefab +++ b/ColorlessWorld-2024-4-2/Assets/Prefab/MapNodePrefab/MapUnity _2.prefab @@ -326,6 +326,9 @@ MonoBehaviour: yellow: {fileID: 2100000, guid: cf59497cd92e036419cf5cfa2d1e4c79, type: 2} castPreRange: {fileID: 2100000, guid: e4d58776fca90ec49aa2c7d259c73e27, type: 2} enemyMark: {fileID: 2100000, guid: 5bc9b4d525fc54344935f187546b718b, type: 2} + enemyAttackRangeMark: {fileID: 2100000, guid: 34992ef7cbe34924fb912a6b8dafde8e, + type: 2} + enemyMoveRangeMark: {fileID: 2100000, guid: ce514a30b40bad647bf55e93690f4734, type: 2} colorMaterial: {fileID: 2100000, guid: 1fba631bf7fad7d498e712c1eaaea21f, type: 2} animColorMaterial: {fileID: 2100000, guid: 4524c65c202c4294d9f7f73c6777908d, type: 2} currentTexture: {fileID: 0} diff --git a/ColorlessWorld-2024-4-2/Assets/Prefab/MapNodePrefab/enemyMark.mat b/ColorlessWorld-2024-4-2/Assets/Prefab/MapNodePrefab/enemyMark.mat index d267c052..27e3edcf 100644 --- a/ColorlessWorld-2024-4-2/Assets/Prefab/MapNodePrefab/enemyMark.mat +++ b/ColorlessWorld-2024-4-2/Assets/Prefab/MapNodePrefab/enemyMark.mat @@ -12,7 +12,7 @@ Material: m_Parent: {fileID: 0} m_ModifiedSerializedProperties: 0 m_ValidKeywords: - - _ALPHAMODULATE_ON + - _ALPHAPREMULTIPLY_ON - _SPECULARHIGHLIGHTS_OFF - _SPECULAR_SETUP - _SURFACE_TYPE_TRANSPARENT @@ -90,7 +90,7 @@ Material: m_Floats: - _AlphaClip: 0 - _AlphaToMask: 0 - - _Blend: 3 + - _Blend: 0 - _BlendModePreserveSpecular: 1 - _BumpScale: 1 - _ClearCoatMask: 0 @@ -99,8 +99,8 @@ Material: - _Cutoff: 0.5 - _DetailAlbedoMapScale: 1 - _DetailNormalMapScale: 1 - - _DstBlend: 0 - - _DstBlendAlpha: 1 + - _DstBlend: 10 + - _DstBlendAlpha: 10 - _EnvironmentReflections: 1 - _GlossMapScale: 0 - _Glossiness: 0 @@ -113,14 +113,14 @@ Material: - _Smoothness: 0.5 - _SmoothnessTextureChannel: 0 - _SpecularHighlights: 0 - - _SrcBlend: 2 - - _SrcBlendAlpha: 0 + - _SrcBlend: 1 + - _SrcBlendAlpha: 1 - _Surface: 1 - _WorkflowMode: 0 - _ZWrite: 0 m_Colors: - - _BaseColor: {r: 1, g: 1, b: 1, a: 1} - - _Color: {r: 1, g: 1, b: 1, a: 1} + - _BaseColor: {r: 0.21782663, g: 0.33482552, b: 0.8396226, a: 0.3882353} + - _Color: {r: 0.2178266, g: 0.3348255, b: 0.8396226, a: 0.3882353} - _EmissionColor: {r: 0.20754719, g: 0, b: 0, a: 1} - _SpecColor: {r: 0.9245283, g: 0.9245283, b: 0.9245283, a: 1} m_BuildTextureStacks: [] diff --git a/ColorlessWorld-2024-4-2/Assets/Resources/BuffIcon_v02/Sslx_Ui_Buff_jianpai_v01.png b/ColorlessWorld-2024-4-2/Assets/Resources/BuffIcon_v02/Sslx_Ui_Buff_jianpai_v01.png new file mode 100644 index 0000000000000000000000000000000000000000..06b76fd6d2c2a15d8f68cb5a657a3ae6aa71e568 GIT binary patch literal 56853 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

c=e2`Cyrdb~5z1Wvx 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%0Airb#ipI{V0*6|&t$LcQ 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 literal 0 HcmV?d00001 diff --git a/ColorlessWorld-2024-4-2/Assets/Resources/BuffIcon_v02/Sslx_Ui_Buff_jianpai_v01.png.meta b/ColorlessWorld-2024-4-2/Assets/Resources/BuffIcon_v02/Sslx_Ui_Buff_jianpai_v01.png.meta new file mode 100644 index 00000000..d26ebbdd --- /dev/null +++ b/ColorlessWorld-2024-4-2/Assets/Resources/BuffIcon_v02/Sslx_Ui_Buff_jianpai_v01.png.meta @@ -0,0 +1,127 @@ +fileFormatVersion: 2 +guid: e12224b649bcf2445bc6178989669b21 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + 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: 0 + 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 + - serializedVersion: 3 + buildTarget: Server + 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/ColorlessWorld-2024-4-2/Assets/Resources/BuffIcon_v02/Sslx_Ui_Buff_jiapai_v01.png b/ColorlessWorld-2024-4-2/Assets/Resources/BuffIcon_v02/Sslx_Ui_Buff_jiapai_v01.png new file mode 100644 index 0000000000000000000000000000000000000000..257c899940d02e8a7b101396913c44b54ba24376 GIT binary patch literal 35921 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 rangePool = new List();//范围预览 + + public HashSet moveRangePool = new HashSet();//移动范围预览 + public HashSet attackRangePool = new HashSet();//攻击范围预览 public List aoeRangePool = new List();//范围预览 public string stateText=new string(""); @@ -113,6 +117,95 @@ public class EnemyNode : MonoBehaviour,IEnemyObserver random } + public virtual void LoadRange() + { + MapUnity currentMapUnity = getNodeTools.LocationToGetNode(positionX, positionY); + int attackRange=EnemyState.attackRange; + int stepRange = getStepRange(); + if (moveRangePool!=null) + { + moveRangePool.Clear(); + } + if (attackRangePool != null) + { + attackRangePool.Clear(); + } + HashSet stepNodeSet=new HashSet { currentMapUnity }; + HashSet currentNodeSet = new HashSet { currentMapUnity }; + HashSet attackNodeSet = new HashSet { currentMapUnity }; + getNodeTools.getCircleNode(stepNodeSet, stepRange); + if (enemy.canMove) + { + for (int i = stepRange+1; i < stepRange + attackRange+1; i++) + { + HashSet newSet = new HashSet { currentMapUnity }; + getNodeTools.getArcNodeForEnemyAttack(newSet, i); + attackRangePool.UnionWith(newSet); + } + Debug.Log("attackRangePool大小是" + attackRangePool.Count); + } + else + { + + HashSet newSet = new HashSet { currentMapUnity }; + getNodeTools.getCircleNode(newSet, attackRange); + attackRangePool.UnionWith(newSet); + } + + moveRangePool.UnionWith(stepNodeSet); + } + + public virtual void ShowRange() + { + //遍历影响池变色 + switch (enemy.canMove) + { + case true: + ShowStepPoolRange(moveRangePool); + if (enemy.canAttack) + { + ShowAttackPoolRange(attackRangePool); + } + break; + case false: + if (enemy.canAttack) + { + ShowAttackPoolRange(attackRangePool); + } + break; + } + + } + + public virtual void ShowAttackPoolRange(HashSet rangePool) + { + //遍历影响池变色 + if (rangePool != null) + { + HashSet hashPool = rangePool.ToHashSet(); + foreach (var mapNode in rangePool) + { + mapNode.EnemyInfluenced(hashPool); + mapNode.enemyInfMark.GetComponent().material = mapNode.enemyAttackRangeMark; + } + } + + } + + public virtual void ShowStepPoolRange(HashSet rangePool) + { + //遍历影响池变色 + if (rangePool != null) + { + HashSet hashPool = rangePool.ToHashSet(); + foreach (var mapNode in rangePool) + { + mapNode.EnemyInfluenced(hashPool); + mapNode.enemyInfMark.GetComponent().material = mapNode.enemyMoveRangeMark; + } + } + + } private void OnEnable() { EnemyManager.Instance.enemyObservers.Add(this); @@ -158,7 +251,7 @@ public class EnemyNode : MonoBehaviour,IEnemyObserver { if(disableAttack != null&& enemyType == EnemyType.enemy) { - if (rangePool.Contains(GameManager.Instance.playerOn)) + if (attackRangePool!=null&&attackRangePool.Contains(GameManager.Instance.playerOn)) { disableAttack.SetActive(false); @@ -263,6 +356,8 @@ public class EnemyNode : MonoBehaviour,IEnemyObserver enemyUIBar = enemyUI.GetComponent(); enemyUIBar.enemyNode = enemyNode; } + + public void StartPosition() { //this.transform.position = GameManager.Instance.X[positionX].Y[positionY].transform.position; diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/EnemyUI/Enemy/EnemyUIBar.cs b/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/EnemyUI/Enemy/EnemyUIBar.cs index 6c1f26ed..121be39b 100644 --- a/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/EnemyUI/Enemy/EnemyUIBar.cs +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/EnemyUI/Enemy/EnemyUIBar.cs @@ -81,8 +81,10 @@ public class EnemyUIBar : MonoBehaviour { //重新计算攻击范围 MapUnity currentMapUnity = getNodeTools.LocationToGetNode(enemyNode.positionX, enemyNode.positionY); - EnemyManager.Instance.AttackRangeInfluencedNode(currentMapUnity, enemyNode.EnemyState.attackRange + enemyNode.getStepRange(), enemyNode.rangePool); - enemyNode.currentActionScript.ShowAttackRange(enemyNode); + //EnemyManager.Instance.AttackRangeInfluencedNode(currentMapUnity, enemyNode.EnemyState.attackRange + enemyNode.getStepRange(), enemyNode.rangePool); + enemyNode.LoadRange(); + enemyNode.ShowRange(); + //enemyNode.currentActionScript.ShowAttackRange(enemyNode); if (enemyNode.currentActionScript.isAiming) { diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/FailedSample.cs b/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/FailedSample.cs index 4f0fad20..01bb32dd 100644 --- a/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/FailedSample.cs +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/FailedSample.cs @@ -79,6 +79,17 @@ public class FailedSample: Enemy enemyNode.sufferAbnormalCondition(targetDebuff.FirstOrDefault(), 2); } + public override void BoolCheck() + { + switch (enemyNode.currentActionScript) + { + case EnemyAction_AttackAndPollution: + canMove = true; + canAttack = true; + canAoe = false; + break; + } + } public override IEnumerator MeleeAttackAction() { MapUnity currentNode = getNodeTools.LocationToGetNode(enemyNode.positionX, enemyNode.positionY); diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/Gravitus.cs b/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/Gravitus.cs index 7fcf3121..0f3c5027 100644 --- a/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/Gravitus.cs +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/Gravitus.cs @@ -85,6 +85,28 @@ public class Gravitus : Enemy } + public override void BoolCheck() + { + switch (enemyNode.currentActionScript) + { + case EnemyAction_Spell: + canMove = false; + canAttack = false; + canAoe = false; + break; + case EnemyAction_SpellAndShield: + canMove = false; + canAttack = false; + canAoe = false; + break; + case EnemyAction_AttackAndPollution: + canMove = true; + canAttack = true; + canAoe = false; + break; + } + } + public override IEnumerator MeleeAttackAction() { MapUnity currentNode = getNodeTools.LocationToGetNode(enemyNode.positionX, enemyNode.positionY); diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/Leviathan.cs b/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/Leviathan.cs index a38bb4bc..ad53d971 100644 --- a/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/Leviathan.cs +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/Leviathan.cs @@ -91,7 +91,27 @@ public class Leviathan : Enemy } } - + public override void BoolCheck() + { + switch (enemyNode.currentActionScript) + { + case EnemyAction_SpellAndAttack: + canMove = false; + canAttack = false; + canAoe = false; + break; + case EnemyAction_AttackAndPollution: + canMove = true; + canAttack = true; + canAoe = false; + break; + case EnemyAction_Spell: + canMove = true; + canAttack = false; + canAoe = false; + break; + } + } public override IEnumerator ThrowAttackAction(int range, int damage, int count, MapUnity target) diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/LivingArmor.cs b/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/LivingArmor.cs index 622a732c..806c2579 100644 --- a/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/LivingArmor.cs +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/LivingArmor.cs @@ -78,6 +78,18 @@ public class LivingArmor : Enemy } + public override void BoolCheck() + { + switch (enemyNode.currentActionScript) + { + case EnemyAction_Pollution: + canMove = true; + canAttack = false; + canAoe = false; + break; + } + } + public bool tryPossession() { bool isSuccessful=false; diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/Pharmacist.cs b/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/Pharmacist.cs index d6c64a89..9cc553f9 100644 --- a/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/Pharmacist.cs +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/Pharmacist.cs @@ -80,6 +80,23 @@ public class Pharmacist : Enemy RewardManager.Instance.AddRewardTips(RewardManager.RewardType.potion, MathTool.GetRandomElements(PotionManager.Instance.potionSet,1).ElementAt(0)); } + public override void BoolCheck() + { + switch (enemyNode.currentActionScript) + { + case EnemyAction_ShootAndPollute: + canMove = true; + canAttack = true; + canAoe = false; + break; + case EnemyAction_ShieldAndPollution: + canMove = false; + canAttack = false; + canAoe = false; + break; + } + } + public override IEnumerator JudgeActionCoroutine()//等移动到位置就判断是否还能走 { Debug.Log("真正行动是:" + enemyAction); @@ -155,6 +172,17 @@ public class Pharmacist : Enemy { yield return StartCoroutine(moveTowardsPlayer()); yield return new WaitForSeconds(1); + if (getNodeTools.canRemoteAttackAboutTwoNode(currentNode, aimNode, enemyNode.EnemyState.attackRange)) + { + if (!enemyNode.EnemyState.abnormalCondition.ContainsKey(AbnormalCondition.disarm)) + { + RandomPollute(targets, 7); + if (targets.Contains(GameManager.Instance.playerOn)) + { + AttackDamage(enemyNode.EnemyState.damage, 1); + } + } + } } } diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/Pollutinel.cs b/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/Pollutinel.cs index 7ae9faf2..ca55680a 100644 --- a/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/Pollutinel.cs +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/Pollutinel.cs @@ -88,6 +88,28 @@ public class Pollutinel : Enemy } + public override void BoolCheck() + { + switch (enemyNode.currentActionScript) + { + case EnemyActionAction_DeBuff: + canMove = true; + canAttack = true; + canAoe = false; + break; + case EnemyAction_Spell: + canMove = true; + canAttack = false; + canAoe = false; + break; + case EnemyActionAction_Shield: + canMove = true; + canAttack = false; + canAoe = false; + break; + } + } + public IEnumerator DebuffAction() { isSurveillance = false; @@ -137,15 +159,14 @@ public class Pollutinel : Enemy yield return StartCoroutine(moveTowardsPlayer()); yield return new WaitForSeconds(1); currentNode = getNodeTools.LocationToGetNode(enemyNode.positionX, enemyNode.positionY); - if (getNodeTools.canRemoteAttack(currentNode, enemyNode.EnemyState.attackRange)) + enemyNode.anim.SetTrigger("Action"); + yield return new WaitForSeconds(0.5f); + for (int i = 0; i < EnemyManager.Instance.enemySpeedSortingList.Count; i++) { - enemyNode.anim.SetTrigger("Action"); - yield return new WaitForSeconds(0.5f); - for (int i = 0; i < EnemyManager.Instance.enemySpeedSortingList.Count; i++) - { - EnemyManager.Instance.enemySpeedSortingList[i].EnemyState.shieldValue += num; - } + EnemyManager.Instance.enemySpeedSortingList[i].EnemyState.shieldValue += num; } + + } } diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/PollutionSpreader.cs b/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/PollutionSpreader.cs index cd882fed..83baac99 100644 --- a/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/PollutionSpreader.cs +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/PollutionSpreader.cs @@ -134,6 +134,27 @@ public class PollutionSpreader : Enemy } + public override void BoolCheck() + { + switch (enemyNode.currentActionScript) + { + case EnemyAction_SpellAndAttack: + canMove = false; + canAttack = false; + canAoe = true; + break; + case EnemyAction_Pollution: + canMove = false; + canAttack = false; + canAoe = false; + break; + case EnemyActionAction_Attack: + canMove = true; + canAttack = true; + canAoe = false; + break; + } + } public IEnumerator AttackAction() { int count = 2; @@ -159,6 +180,16 @@ public class PollutionSpreader : Enemy { yield return StartCoroutine(moveTowardsPlayer()); yield return new WaitForSeconds(1); + if (getNodeTools.canRemoteAttack(currentNode, enemyNode.EnemyState.attackRange)) + { + if (!enemyNode.EnemyState.abnormalCondition.ContainsKey(AbnormalCondition.disarm)) + { + yield return StartCoroutine(enemyNode.MeleeAttackAim()); + // enemyNode.anim.SetTrigger("MeleeAttack"); + // yield return new WaitForSeconds(0.5f); + AttackDamage(enemyNode.currentActionScript.colA, enemyNode.currentActionScript.colB); + } + } } } diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/PrismReflector.cs b/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/PrismReflector.cs index d4e8958a..d8945181 100644 --- a/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/PrismReflector.cs +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/PrismReflector.cs @@ -74,6 +74,22 @@ public class PrismReflector : Enemy } + public override void BoolCheck() + { + switch (enemyNode.currentActionScript) + { + case EnemyAction_ShieldAndPollution: + canMove = false; + canAttack = false; + canAoe = false; + break; + case EnemyAction_Spell: + canMove = false; + canAttack = false; + canAoe = false; + break; + } + } public override void enemyTurnBegin() { MapUnity currentNode = getNodeTools.LocationToGetNode(enemyNode.positionX, enemyNode.positionY); diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/RatWarrior.cs b/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/RatWarrior.cs index 2c54d092..69cd7748 100644 --- a/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/RatWarrior.cs +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/RatWarrior.cs @@ -76,6 +76,22 @@ public class RatWarrior : Enemy } } + public override void BoolCheck() + { + switch (enemyNode.currentActionScript) + { + case EnemyActionAction_Attack: + canMove = true; + canAttack = true; + canAoe = false; + break; + case EnemyAction_Spell: + canMove = false; + canAttack = false; + canAoe = false; + break; + } + } public override IEnumerator MeleeAttackAction() { MapUnity currentNode = getNodeTools.LocationToGetNode(enemyNode.positionX, enemyNode.positionY); diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/ReconnaissanceBee.cs b/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/ReconnaissanceBee.cs index 09f55279..f87af69f 100644 --- a/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/ReconnaissanceBee.cs +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/ReconnaissanceBee.cs @@ -79,6 +79,23 @@ public class ReconnaissanceBee : Enemy } + public override void BoolCheck() + { + switch (enemyNode.currentActionScript) + { + case EnemyActionAction_Attack: + canMove = true; + canAttack = true; + canAoe = false; + break; + case EnemyAction_ShootAndPollute: + canMove = true; + canAttack = true; + canAoe = false; + break; + } + } + public override IEnumerator MeleeAttackAction() { MapUnity currentNode = getNodeTools.LocationToGetNode(enemyNode.positionX, enemyNode.positionY); diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/SoulMaker.cs b/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/SoulMaker.cs index 817b2060..c4772ac5 100644 --- a/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/SoulMaker.cs +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/SoulMaker.cs @@ -80,7 +80,22 @@ public class SoulMaker : Enemy break; } } - + public override void BoolCheck() + { + switch (enemyNode.currentActionScript) + { + case EnemyAction_Summon: + canMove = false; + canAttack = false; + canAoe = false; + break; + case EnemyAction_Spell: + canMove = true; + canAttack = false; + canAoe = false; + break; + } + } public IEnumerator HeallAction() { @@ -102,18 +117,16 @@ public class SoulMaker : Enemy { yield return StartCoroutine(moveTowardsPlayer()); yield return new WaitForSeconds(1); - currentNode = getNodeTools.LocationToGetNode(enemyNode.positionX, enemyNode.positionY); - if (getNodeTools.canRemoteAttack(currentNode, enemyNode.EnemyState.attackRange)) + enemyNode.anim.SetTrigger("Action"); + yield return new WaitForSeconds(0.5f); + for (int i = 0; i < EnemyManager.Instance.enemySpeedSortingList.Count; i++) { - enemyNode.anim.SetTrigger("Action"); - yield return new WaitForSeconds(0.5f); - for (int i = 0; i < EnemyManager.Instance.enemySpeedSortingList.Count; i++) - { - EnemyManager.Instance.enemySpeedSortingList[i].enemy.RecoverHp(enemyNode.currentActionScript.colA); - isSpeedUp = false; - } - + EnemyManager.Instance.enemySpeedSortingList[i].enemy.RecoverHp(enemyNode.currentActionScript.colA); + isSpeedUp = false; } + + + } } diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/StonePillar.cs b/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/StonePillar.cs index 14536ea5..bd778e04 100644 --- a/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/StonePillar.cs +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/StonePillar.cs @@ -67,9 +67,21 @@ public class StonePillar : Enemy } + public override void BoolCheck() + { + switch (enemyNode.currentActionScript) + { + case EnemyAction_ShootAndPollute: + canMove = false; + canAttack = false; + canAoe = true; + break; + } + } + + - public IEnumerator PolluteAction() { diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/Thief.cs b/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/Thief.cs index 69a0b29d..46d5ebc3 100644 --- a/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/Thief.cs +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/Thief.cs @@ -133,7 +133,27 @@ public class Thief : Enemy break; } } - + public override void BoolCheck() + { + switch (enemyNode.currentActionScript) + { + case EnemyActionAction_Attack: + canMove = true; + canAttack = true; + canAoe = false; + break; + case EnemyAction_Spell: + canMove = false; + canAttack = false; + canAoe = false; + break; + case EnemyAction_Nothing: + canMove = false; + canAttack = false; + canAoe = false; + break; + } + } public override IEnumerator MeleeAttackAction() { diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/Twinbee.cs b/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/Twinbee.cs index 6c1c6552..66ba5f07 100644 --- a/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/Twinbee.cs +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/Twinbee.cs @@ -100,6 +100,24 @@ public class Twinbee : Enemy } + public override void BoolCheck() + { + switch (enemyNode.currentActionScript) + { + case EnemyActionAction_Attack: + canMove = true; + canAttack = true; + canAoe = false; + break; + case EnemyActionAction_Aoe: + canMove = false; + canAttack = false; + canAoe = true; + break; + + } + } + diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/EnemyPlanFunction/EnemyAction.cs b/ColorlessWorld-2024-4-2/Assets/Scripts/EnemyPlanFunction/EnemyAction.cs index 57acfc36..f83254ff 100644 --- a/ColorlessWorld-2024-4-2/Assets/Scripts/EnemyPlanFunction/EnemyAction.cs +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/EnemyPlanFunction/EnemyAction.cs @@ -72,7 +72,15 @@ public class EnemyAction for (int i = 0; i < enemyNode.rangePool.Count; i++) { enemyNode.rangePool[i].markInfluenced = false; - } + } + foreach (var mapNode in enemyNode.attackRangePool) + { + mapNode.markInfluenced = false; + } + foreach (var mapNode in enemyNode.moveRangePool) + { + mapNode.markInfluenced = false; + } } public virtual void FadeAttackRangeAll(EnemyNode enemyNode) { diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/MapUnity.cs b/ColorlessWorld-2024-4-2/Assets/Scripts/MapUnity.cs index e97539ea..1eeceeaf 100644 --- a/ColorlessWorld-2024-4-2/Assets/Scripts/MapUnity.cs +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/MapUnity.cs @@ -45,6 +45,9 @@ public class MapUnity : MonoBehaviour public Material castPreRange;//投射区域材质 public Material enemyMark; + public Material enemyAttackRangeMark; + public Material enemyMoveRangeMark; + [Header("涂色控件")] public Material colorMaterial; public Material animColorMaterial; diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/Tool/getNodeTools.cs b/ColorlessWorld-2024-4-2/Assets/Scripts/Tool/getNodeTools.cs index e291d3cf..0afd9ff1 100644 --- a/ColorlessWorld-2024-4-2/Assets/Scripts/Tool/getNodeTools.cs +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/Tool/getNodeTools.cs @@ -416,6 +416,26 @@ public class getNodeTools return canPass; } + public static bool tryGetNodeForEnemyAttack(MapUnity currentNode, HashSet results) + { + bool canPass = true; + if (currentNode == null) + { + canPass = false; + return canPass; + } + if (currentNode.Equals(GameManager.Instance.playerOn)) + { + canPass = false; + } + + if (canPass) + { + results.Add(currentNode); + } + return canPass; + } + public static void getCircleNode(HashSet nodeList,int range) { for (int i = 0;i < range;i++) @@ -453,6 +473,14 @@ public class getNodeTools } } + public static void getCircleNodeForEnemyAttack(HashSet nodeList, int range) + { + for (int i = 0; i < range; i++) + { + getNearbyNodeFroEnemyAttack(nodeList); + } + } + public static void exceptWithEnemyNode(HashSet nodeList) { List mapUnityList = new List(nodeList); @@ -476,6 +504,15 @@ public class getNodeTools getCircleNodeForEnemy(nodeList, range); nodeList.ExceptWith(smallCircleNodeSet); } + + //单圈地块 + public static void getArcNodeForEnemyAttack(HashSet nodeList, int range) + { + HashSet smallCircleNodeSet = new HashSet(nodeList); + getCircleNodeForEnemyAttack(smallCircleNodeSet, range - 1); + getCircleNodeForEnemyAttack(nodeList, range); + nodeList.ExceptWith(smallCircleNodeSet); + } public static void getNearbyNode(HashSet nodeList) { // 创建一个副本以避免遍历时修改原集合 @@ -533,6 +570,25 @@ public class getNodeTools } + public static void getNearbyNodeFroEnemyAttack(HashSet nodeList) + { + // 创建一个副本以避免遍历时修改原集合 + HashSet nodesCopy = new HashSet(nodeList); + HashSet nodesToAdd = new HashSet(); // 临时列表存储要添加的节点 + + foreach (var node in nodesCopy) + { + for (int i = 0; i < 6; i++) + { + tryGetNodeForEnemyAttack(node.unitPool[i], nodesToAdd); + } + } + + // 遍历完成后统一修改原集合 + nodeList.AddRange(nodesToAdd); + + } + public static void getCircleNodeForRemoteAttack(HashSet nodeList, int range) { for (int i = 0; i < range; i++) -- 2.30.2