0624更新 #133

Merged
yjm484 merged 2 commits from dev-0624-yjm into dev-1217 8 months ago
  1. 4
      ColorlessWorld-2024-4-2/Assets/ArtAssets/0617_遗物.meta
  2. 8
      ColorlessWorld-2024-4-2/Assets/GameDate/LevelDate/LevelState_1.asset
  3. 27
      ColorlessWorld-2024-4-2/Assets/Plugins/Microsoft.CSharp.dll.meta
  4. 12
      ColorlessWorld-2024-4-2/Assets/Prefab/MapNodePrefab/EnemyRangeMark.meta
  5. 140
      ColorlessWorld-2024-4-2/Assets/Prefab/MapNodePrefab/EnemyRangeMark/attackRangeMark.mat
  6. 8
      ColorlessWorld-2024-4-2/Assets/Prefab/MapNodePrefab/EnemyRangeMark/attackRangeMark.mat.meta
  7. 139
      ColorlessWorld-2024-4-2/Assets/Prefab/MapNodePrefab/EnemyRangeMark/stepRangeMark.mat
  8. 8
      ColorlessWorld-2024-4-2/Assets/Prefab/MapNodePrefab/EnemyRangeMark/stepRangeMark.mat.meta
  9. 3
      ColorlessWorld-2024-4-2/Assets/Prefab/MapNodePrefab/MapUnity _2.prefab
  10. 16
      ColorlessWorld-2024-4-2/Assets/Prefab/MapNodePrefab/enemyMark.mat
  11. BIN
      ColorlessWorld-2024-4-2/Assets/Resources/BuffIcon_v02/Sslx_Ui_Buff_jianpai_v01.png
  12. 127
      ColorlessWorld-2024-4-2/Assets/Resources/BuffIcon_v02/Sslx_Ui_Buff_jianpai_v01.png.meta
  13. BIN
      ColorlessWorld-2024-4-2/Assets/Resources/BuffIcon_v02/Sslx_Ui_Buff_jiapai_v01.png
  14. 127
      ColorlessWorld-2024-4-2/Assets/Resources/BuffIcon_v02/Sslx_Ui_Buff_jiapai_v01.png.meta
  15. 6
      ColorlessWorld-2024-4-2/Assets/Scenes/SampleScene.unity
  16. 2
      ColorlessWorld-2024-4-2/Assets/Scripts/Buff/Buff_NextCardCostMinusOne.cs
  17. 2
      ColorlessWorld-2024-4-2/Assets/Scripts/Buff/Buff_NextDrawCardisDisposable.cs
  18. 2
      ColorlessWorld-2024-4-2/Assets/Scripts/Buff/Buff_NextDyeingCardRangeAddTwo.cs
  19. 2
      ColorlessWorld-2024-4-2/Assets/Scripts/Buff/Buff_NextEffectCardDoubleSettle.cs
  20. 2
      ColorlessWorld-2024-4-2/Assets/Scripts/Buff/Buff_NextRoundCostMinusOne.cs
  21. 19
      ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/AcidRainCloud.cs
  22. 12
      ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/BoundSoul.cs
  23. 17
      ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/Climavista.cs
  24. 17
      ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/ContaminatusImmortalis.cs
  25. 13
      ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/Enemy.cs
  26. 97
      ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/EnemyNode.cs
  27. 6
      ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/EnemyUI/Enemy/EnemyUIBar.cs
  28. 11
      ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/FailedSample.cs
  29. 22
      ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/Gravitus.cs
  30. 22
      ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/Leviathan.cs
  31. 12
      ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/LivingArmor.cs
  32. 28
      ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/Pharmacist.cs
  33. 35
      ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/Pollutinel.cs
  34. 31
      ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/PollutionSpreader.cs
  35. 16
      ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/PrismReflector.cs
  36. 16
      ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/RatWarrior.cs
  37. 17
      ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/ReconnaissanceBee.cs
  38. 35
      ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/SoulMaker.cs
  39. 14
      ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/StonePillar.cs
  40. 22
      ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/Thief.cs
  41. 18
      ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/Twinbee.cs
  42. 10
      ColorlessWorld-2024-4-2/Assets/Scripts/EnemyPlanFunction/EnemyAction.cs
  43. 3
      ColorlessWorld-2024-4-2/Assets/Scripts/MapUnity.cs
  44. 56
      ColorlessWorld-2024-4-2/Assets/Scripts/Tool/getNodeTools.cs

4
ColorlessWorld-2024-4-2/Assets/ArtAssets/0617_遗物.meta

@ -1,5 +1,9 @@
fileFormatVersion: 2
<<<<<<<< HEAD:ColorlessWorld-2024-4-2/Assets/Prefab/MapNodePrefab/EnemyRangeMark.meta
guid: 7040b5d9d3751354894af163292234a4
========
guid: faf285059766ba34685517cd09eba7ae
>>>>>>>> origin/dev-1217:ColorlessWorld-2024-4-2/Assets/ArtAssets/0617_遗物.meta
folderAsset: yes
DefaultImporter:
externalObjects: {}

8
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: 6
roomSprite: {fileID: 21300000, guid: dc3014f38b95b24448577e14bee06967, 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

27
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:

12
ColorlessWorld-2024-4-2/Assets/Prefab/MapNodePrefab/EnemyRangeMark.meta

@ -0,0 +1,12 @@
fileFormatVersion: 2
<<<<<<<< HEAD:ColorlessWorld-2024-4-2/Assets/Prefab/MapNodePrefab/EnemyRangeMark.meta
guid: 7040b5d9d3751354894af163292234a4
========
guid: faf285059766ba34685517cd09eba7ae
>>>>>>>> origin/dev-1217:ColorlessWorld-2024-4-2/Assets/ArtAssets/0617_遗物.meta
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

140
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

8
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:

139
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

8
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:

3
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}

16
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: []

BIN
ColorlessWorld-2024-4-2/Assets/Resources/BuffIcon_v02/Sslx_Ui_Buff_jianpai_v01.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 56 KiB

127
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:

BIN
ColorlessWorld-2024-4-2/Assets/Resources/BuffIcon_v02/Sslx_Ui_Buff_jiapai_v01.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 35 KiB

127
ColorlessWorld-2024-4-2/Assets/Resources/BuffIcon_v02/Sslx_Ui_Buff_jiapai_v01.png.meta

@ -0,0 +1,127 @@
fileFormatVersion: 2
guid: e28ade1ba1ac34a4e8ad681af90cffc0
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:

6
ColorlessWorld-2024-4-2/Assets/Scenes/SampleScene.unity

@ -54684,11 +54684,7 @@ MonoBehaviour:
generatePoint: {fileID: 514899946}
lineOffSet: {x: 1.43, y: 0, z: 0}
columnOffSet: {x: 0, y: 0, z: 0.86}
enemyGenerateDataList:
- enemyPrefab: {fileID: 1253231568001379261, guid: a3234acb1bf506e4ba6a68d9c87bb537,
type: 3}
locationX: 3
locationY: 3
enemyGenerateDataList: []
mapUnityFather: {fileID: 471426433}
playerNameText: {fileID: 1103775266}
cardDeckNumberText: {fileID: 1577863296}

2
ColorlessWorld-2024-4-2/Assets/Scripts/Buff/Buff_NextCardCostMinusOne.cs

@ -15,7 +15,7 @@ public class Buff_NextCardCostMinusOne : Buff
{
Buff buff = new Buff_NextCardCostMinusOne();
buff.value = value;
buff.icon = BuffDataManager.Instance.LoadImage(iconPath + "Sslx_Ui_Buff_liuxue_v01");
buff.icon = BuffDataManager.Instance.LoadImage(iconPath + "Sslx_Ui_Buff_jianpai_v01");
return buff;
}
}

2
ColorlessWorld-2024-4-2/Assets/Scripts/Buff/Buff_NextDrawCardisDisposable.cs

@ -15,7 +15,7 @@ public class Buff_NextDrawCardisDisposable : Buff
{
Buff buff = new Buff_NextDrawCardisDisposable();
buff.value = value;
buff.icon = BuffDataManager.Instance.LoadImage(iconPath + "Sslx_Ui_Buff_liuxue_v01");
buff.icon = BuffDataManager.Instance.LoadImage(iconPath + "Sslx_Ui_Buff_jianpai_v01");
return buff;
}
}

2
ColorlessWorld-2024-4-2/Assets/Scripts/Buff/Buff_NextDyeingCardRangeAddTwo.cs

@ -15,7 +15,7 @@ public class Buff_NextDyeingCardRangeAddTwo : Buff
{
Buff buff = new Buff_NextDyeingCardRangeAddTwo();
buff.value = value;
buff.icon = BuffDataManager.Instance.LoadImage(iconPath + "Sslx_Ui_Buff_liuxue_v01");
buff.icon = BuffDataManager.Instance.LoadImage(iconPath + "Sslx_Ui_Buff_jiapai_v01");
return buff;
}
}

2
ColorlessWorld-2024-4-2/Assets/Scripts/Buff/Buff_NextEffectCardDoubleSettle.cs

@ -16,7 +16,7 @@ public class Buff_NextEffectCardDoubleSettle : Buff
{
Buff buff = new Buff_NextEffectCardDoubleSettle();
buff.value = value;
buff.icon = BuffDataManager.Instance.LoadImage(iconPath + "Sslx_Ui_Buff_maozixifa_v01");
buff.icon = BuffDataManager.Instance.LoadImage(iconPath + "Sslx_Ui_Buff_jiapai_v01");
return buff;
}
}

2
ColorlessWorld-2024-4-2/Assets/Scripts/Buff/Buff_NextRoundCostMinusOne.cs

@ -15,7 +15,7 @@ public class Buff_NextRoundCostMinusOne : Buff
{
Buff buff = new Buff_NextRoundCostMinusOne();
buff.value = value;
buff.icon = BuffDataManager.Instance.LoadImage(iconPath + "Sslx_Ui_Buff_liuxue_v01");
buff.icon = BuffDataManager.Instance.LoadImage(iconPath + "Sslx_Ui_Buff_jianpai_v01");
return buff;
}
}

19
ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/AcidRainCloud.cs

@ -38,7 +38,22 @@ public class AcidRainCloud : Enemy
}
}
public override void BoolCheck()
{
switch (enemyNode.currentActionScript)
{
case EnemyAction_ShootAndPollute:
canMove = false;
canAttack = false;
canAoe = false;
break;
case EnemyActionAction_Attack:
canMove = false;
canAttack = true;
canAoe=false;
break;
}
}
public override void ActionValRandom()
{
switch (enemyNode.currentActionScript)
@ -51,6 +66,8 @@ public class AcidRainCloud : Enemy
break;
}
}
public override void SettlePlannText(EnemyAction currentAction)
{
switch (currentAction)

12
ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/BoundSoul.cs

@ -35,6 +35,18 @@ public class BoundSoul : Enemy
}
}
public override void BoolCheck()
{
switch (enemyNode.currentActionScript)
{
case EnemyActionAction_Attack:
canMove = true;
canAttack = true;
canAoe = false;
break;
}
}
public override void ActionValRandom()
{
switch (enemyNode.currentActionScript)

17
ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/Climavista.cs

@ -38,6 +38,23 @@ public class Climavista : Enemy
}
public override void BoolCheck()
{
switch (enemyNode.currentActionScript)
{
case EnemyActionAction_Shield:
canMove = false;
canAttack = false;
canAoe = false;
break;
case EnemyAction_Summon:
canMove = false;
canAttack = false;
canAoe = false;
break;
}
}
public override void ActionValRandom()
{
switch (enemyNode.currentActionScript)

17
ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/ContaminatusImmortalis.cs

@ -71,7 +71,22 @@ public class ContaminatusImmortalis : Enemy
}
public override void BoolCheck()
{
switch (enemyNode.currentActionScript)
{
case EnemyActionAction_Attack:
canMove = true;
canAttack = true;
canAoe = false;
break;
case EnemyAction_ShootAndPollute:
canMove = false;
canAttack = false;
canAoe = false;
break;
}
}
public IEnumerator PolluteAction()
{

13
ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/Enemy.cs

@ -10,6 +10,12 @@ public class Enemy : MonoBehaviour
{
public EnemyNode enemyNode;
public bool canMove=false;
public bool canAttack=false;
public bool canAoe = false;
//怪物行动
public EnemyAction enemyAction;
@ -47,7 +53,7 @@ public class Enemy : MonoBehaviour
Debug.Log("行动是:" + enemyAction);
enemyNode.enemyUIBar.SwitchIntention(enemyAction);
ActionValRandom();
BoolCheck();
enemyNode.enemy.SettlePlannText(enemyNode.enemy.enemyAction);
enemyNode.enemy.SettleRangeAttack();
}
@ -63,6 +69,11 @@ public class Enemy : MonoBehaviour
public virtual void ActionValRandom()
{
}
public virtual void BoolCheck()
{
}
public virtual void SettlePlannText(EnemyAction currentAction)
{

97
ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/EnemyNode.cs

@ -3,6 +3,7 @@ using System.Collections;
using System.Collections.Generic;
using System.Linq;
using UnityEngine;
using static UnityEngine.EventSystems.EventTrigger;
public class EnemyNode : MonoBehaviour,IEnemyObserver
{
@ -24,6 +25,9 @@ public class EnemyNode : MonoBehaviour,IEnemyObserver
}
[Header("Ѱ·¶Î§Ô¤ÀÀ³Ø")]
public List<MapUnity> rangePool = new List<MapUnity>();//·¶Î§Ô¤ÀÀ
public HashSet<MapUnity> moveRangePool = new HashSet<MapUnity>();//移动范围预览
public HashSet<MapUnity> attackRangePool = new HashSet<MapUnity>();//攻击范围预览
public List<MapUnity> aoeRangePool = new List<MapUnity>();//·¶Î§Ô¤ÀÀ
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<MapUnity> stepNodeSet=new HashSet<MapUnity> { currentMapUnity };
HashSet<MapUnity> currentNodeSet = new HashSet<MapUnity> { currentMapUnity };
HashSet<MapUnity> attackNodeSet = new HashSet<MapUnity> { currentMapUnity };
getNodeTools.getCircleNode(stepNodeSet, stepRange);
if (enemy.canMove)
{
for (int i = stepRange+1; i < stepRange + attackRange+1; i++)
{
HashSet<MapUnity> newSet = new HashSet<MapUnity> { currentMapUnity };
getNodeTools.getArcNodeForEnemyAttack(newSet, i);
attackRangePool.UnionWith(newSet);
}
Debug.Log("attackRangePool大小是" + attackRangePool.Count);
}
else
{
HashSet<MapUnity> newSet = new HashSet<MapUnity> { 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<MapUnity> rangePool)
{
//遍历影响池变色
if (rangePool != null)
{
HashSet<MapUnity> hashPool = rangePool.ToHashSet();
foreach (var mapNode in rangePool)
{
mapNode.EnemyInfluenced(hashPool);
mapNode.enemyInfMark.GetComponent<Renderer>().material = mapNode.enemyAttackRangeMark;
}
}
}
public virtual void ShowStepPoolRange(HashSet<MapUnity> rangePool)
{
//遍历影响池变色
if (rangePool != null)
{
HashSet<MapUnity> hashPool = rangePool.ToHashSet();
foreach (var mapNode in rangePool)
{
mapNode.EnemyInfluenced(hashPool);
mapNode.enemyInfMark.GetComponent<Renderer>().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>();
enemyUIBar.enemyNode = enemyNode;
}
public void StartPosition()
{
//this.transform.position = GameManager.Instance.X[positionX].Y[positionY].transform.position;

6
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)
{

11
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);

22
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);

22
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)

12
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;

28
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);
}
}
}
}
}

35
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;
}
}
}

31
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);
}
}
}
}

16
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);

16
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);

17
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);

35
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;
}
}
}

14
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()
{

22
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()
{

18
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;
}
}

10
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)
{

3
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;

56
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<MapUnity> 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<MapUnity> nodeList,int range)
{
for (int i = 0;i < range;i++)
@ -453,6 +473,14 @@ public class getNodeTools
}
}
public static void getCircleNodeForEnemyAttack(HashSet<MapUnity> nodeList, int range)
{
for (int i = 0; i < range; i++)
{
getNearbyNodeFroEnemyAttack(nodeList);
}
}
public static void exceptWithEnemyNode(HashSet<MapUnity> nodeList)
{
List<MapUnity> mapUnityList = new List<MapUnity>(nodeList);
@ -476,6 +504,15 @@ public class getNodeTools
getCircleNodeForEnemy(nodeList, range);
nodeList.ExceptWith(smallCircleNodeSet);
}
//单圈地块
public static void getArcNodeForEnemyAttack(HashSet<MapUnity> nodeList, int range)
{
HashSet<MapUnity> smallCircleNodeSet = new HashSet<MapUnity>(nodeList);
getCircleNodeForEnemyAttack(smallCircleNodeSet, range - 1);
getCircleNodeForEnemyAttack(nodeList, range);
nodeList.ExceptWith(smallCircleNodeSet);
}
public static void getNearbyNode(HashSet<MapUnity> nodeList)
{
// 创建一个副本以避免遍历时修改原集合
@ -533,6 +570,25 @@ public class getNodeTools
}
public static void getNearbyNodeFroEnemyAttack(HashSet<MapUnity> nodeList)
{
// 创建一个副本以避免遍历时修改原集合
HashSet<MapUnity> nodesCopy = new HashSet<MapUnity>(nodeList);
HashSet<MapUnity> nodesToAdd = new HashSet<MapUnity>(); // 临时列表存储要添加的节点
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<MapUnity> nodeList, int range)
{
for (int i = 0; i < range; i++)

Loading…
Cancel
Save