Browse Source

Merge pull request 'dev-0822' (#25) from dev-0822 into dev-0524

Reviewed-on: #25
pull/27/head
45 1 year ago
parent
commit
4c86e3efde
  1. 8
      ColorlessWorld-2024-4-2/Assets/ArtAssets/Card/UI/dijikapai.meta
  2. 1
      ColorlessWorld-2024-4-2/Assets/ArtAssets/Card/UI/dijikapai/.WeDrive
  3. BIN
      ColorlessWorld-2024-4-2/Assets/ArtAssets/Card/UI/dijikapai/Card_Ui_ Leixing Fanwei_v01.png
  4. 150
      ColorlessWorld-2024-4-2/Assets/ArtAssets/Card/UI/dijikapai/Card_Ui_ Leixing Fanwei_v01.png.meta
  5. BIN
      ColorlessWorld-2024-4-2/Assets/ArtAssets/Card/UI/dijikapai/Card_Ui_4Biankuang_v01.png
  6. 193
      ColorlessWorld-2024-4-2/Assets/ArtAssets/Card/UI/dijikapai/Card_Ui_4Biankuang_v01.png.meta
  7. BIN
      ColorlessWorld-2024-4-2/Assets/ArtAssets/Card/UI/dijikapai/Card_Ui_Feiyong_v01.png
  8. 149
      ColorlessWorld-2024-4-2/Assets/ArtAssets/Card/UI/dijikapai/Card_Ui_Feiyong_v01.png.meta
  9. BIN
      ColorlessWorld-2024-4-2/Assets/ArtAssets/Card/UI/dijikapai/Card_Ui_Kamian_v01.png
  10. 304
      ColorlessWorld-2024-4-2/Assets/ArtAssets/Card/UI/dijikapai/Card_Ui_Kamian_v01.png.meta
  11. BIN
      ColorlessWorld-2024-4-2/Assets/ArtAssets/Card/UI/dijikapai/Card_Ui_Miaoshu_v01.png
  12. 149
      ColorlessWorld-2024-4-2/Assets/ArtAssets/Card/UI/dijikapai/Card_Ui_Miaoshu_v01.png.meta
  13. BIN
      ColorlessWorld-2024-4-2/Assets/ArtAssets/Card/UI/dijikapai/Card_Ui_Mingcheng_v01.png
  14. 149
      ColorlessWorld-2024-4-2/Assets/ArtAssets/Card/UI/dijikapai/Card_Ui_Mingcheng_v01.png.meta
  15. BIN
      ColorlessWorld-2024-4-2/Assets/ArtAssets/Card/UI/dijikapai/Card_Ui_Xiyoudu_v01.png
  16. 149
      ColorlessWorld-2024-4-2/Assets/ArtAssets/Card/UI/dijikapai/Card_Ui_Xiyoudu_v01.png.meta
  17. BIN
      ColorlessWorld-2024-4-2/Assets/ArtAssets/Card/UI/dijikapai/Card_Ui_Yvlan_v01.png
  18. 127
      ColorlessWorld-2024-4-2/Assets/ArtAssets/Card/UI/dijikapai/Card_Ui_Yvlan_v01.png.meta
  19. 2
      ColorlessWorld-2024-4-2/Assets/Image/Materials/7尤利乌斯-2D-待机动作-试gif.mat
  20. 128
      ColorlessWorld-2024-4-2/Assets/Image/待机动作/New Animation.anim
  21. 24
      ColorlessWorld-2024-4-2/Assets/Prefab/CardPrefab/Card.prefab
  22. 8
      ColorlessWorld-2024-4-2/Assets/Prefab/CardPrefab/CardSmall.meta
  23. 9990
      ColorlessWorld-2024-4-2/Assets/Prefab/CardPrefab/CardSmall/CardSmall.prefab
  24. 7
      ColorlessWorld-2024-4-2/Assets/Prefab/CardPrefab/CardSmall/CardSmall.prefab.meta
  25. 28
      ColorlessWorld-2024-4-2/Assets/Prefab/CardPrefab/Card_v01.prefab
  26. 8
      ColorlessWorld-2024-4-2/Assets/Prefab/EnemyPrefab/CorrosiveSludge.prefab
  27. 3
      ColorlessWorld-2024-4-2/Assets/Prefab/EnemyPrefab/HoodWanderer.prefab
  28. 1
      ColorlessWorld-2024-4-2/Assets/Prefab/LevelPrefab/EmptyNode.prefab
  29. 4803
      ColorlessWorld-2024-4-2/Assets/Scenes/SampleScene.unity
  30. 20
      ColorlessWorld-2024-4-2/Assets/Scripts/Card/ArrowManager.cs
  31. 350
      ColorlessWorld-2024-4-2/Assets/Scripts/Card/CardDrag.cs
  32. 15
      ColorlessWorld-2024-4-2/Assets/Scripts/Card/CardEntity.cs
  33. 34
      ColorlessWorld-2024-4-2/Assets/Scripts/Card/CardOnMouseEnter.cs
  34. 8
      ColorlessWorld-2024-4-2/Assets/Scripts/Card/CardSmall.meta
  35. 139
      ColorlessWorld-2024-4-2/Assets/Scripts/Card/CardSmall/CardSmall.cs
  36. 11
      ColorlessWorld-2024-4-2/Assets/Scripts/Card/CardSmall/CardSmall.cs.meta
  37. 63
      ColorlessWorld-2024-4-2/Assets/Scripts/Card/TurnMaster.cs
  38. 2
      ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/EnemyManager.cs.meta
  39. 1
      ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/EnemyNode.cs
  40. 9
      ColorlessWorld-2024-4-2/Assets/Scripts/EnemyPlanFunction/EnemyAction.cs
  41. 4
      ColorlessWorld-2024-4-2/Assets/Scripts/GameManager.cs
  42. 2
      ColorlessWorld-2024-4-2/Assets/Scripts/GameManager.cs.meta
  43. 35
      ColorlessWorld-2024-4-2/Assets/Scripts/LeveProcess/LevelNode.cs
  44. 2
      ColorlessWorld-2024-4-2/Assets/Scripts/MapManager.cs
  45. 2
      ColorlessWorld-2024-4-2/Assets/Scripts/MapManager.cs.meta
  46. 175
      ColorlessWorld-2024-4-2/Assets/Scripts/UI/CardActiveSort/CardActiveSort.cs
  47. 17
      ColorlessWorld-2024-4-2/Assets/Scripts/UI/EnemyPlanActionUI.cs
  48. 41
      ColorlessWorld-2024-4-2/Assets/Scripts/UI/EnemyUIBar.cs
  49. 2
      ColorlessWorld-2024-4-2/Assets/Scripts/manager/SettlementManager.cs
  50. 2
      ColorlessWorld-2024-4-2/ProjectSettings/DynamicsManager.asset
  51. 6
      ColorlessWorld-2024-4-2/ProjectSettings/EditorBuildSettings.asset
  52. 2
      ColorlessWorld-2024-4-2/ProjectSettings/TagManager.asset

8
ColorlessWorld-2024-4-2/Assets/ArtAssets/Card/UI/dijikapai.meta

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: aaa60b3cfa24be24ea9b7a7a7da51c32
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

1
ColorlessWorld-2024-4-2/Assets/ArtAssets/Card/UI/dijikapai/.WeDrive

@ -0,0 +1 @@
C:\Users\PC\Documents\WXWork\1688854456556864\WeDrive\几何猫屋Party\Art Assets\Art Assets\Card\Ui\dijikapai

BIN
ColorlessWorld-2024-4-2/Assets/ArtAssets/Card/UI/dijikapai/Card_Ui_ Leixing Fanwei_v01.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 138 KiB

150
ColorlessWorld-2024-4-2/Assets/ArtAssets/Card/UI/dijikapai/Card_Ui_ Leixing Fanwei_v01.png.meta

@ -0,0 +1,150 @@
fileFormatVersion: 2
guid: 81e04a31ba0a0b245946f2acab17e2eb
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: 2
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:
- serializedVersion: 2
name: Card_Ui_ Leixing Fanwei_v01_0
rect:
serializedVersion: 2
x: 1597
y: 837
width: 126
height: 346
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
outline: []
physicsShape: []
tessellationDetail: 0
bones: []
spriteID: 5a5b34c6782050446af80a51886f6632
internalID: -154616992
vertices: []
indices:
edges: []
weights: []
outline: []
physicsShape: []
bones: []
spriteID: 5e97eb03825dee720800000000000000
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
nameFileIdTable:
Card_Ui_ Leixing Fanwei_v01_0: -154616992
Card_Ui_ Leixing Fanwei_v01_1: 721420909
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:

BIN
ColorlessWorld-2024-4-2/Assets/ArtAssets/Card/UI/dijikapai/Card_Ui_4Biankuang_v01.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 984 KiB

193
ColorlessWorld-2024-4-2/Assets/ArtAssets/Card/UI/dijikapai/Card_Ui_4Biankuang_v01.png.meta

@ -0,0 +1,193 @@
fileFormatVersion: 2
guid: 9525da38382dd6f47acaf564721daf38
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: 2
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:
- serializedVersion: 2
name: Card_Ui_4Biankuang_v01_0
rect:
serializedVersion: 2
x: 1454
y: 1726
width: 6
height: 7
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
outline: []
physicsShape: []
tessellationDetail: 0
bones: []
spriteID: 54cb752ccdad4f648bb58c2d01ec81c9
internalID: 293518237
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: Card_Ui_4Biankuang_v01_1
rect:
serializedVersion: 2
x: 1459
y: 408
width: 1115
height: 1689
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
outline: []
physicsShape: []
tessellationDetail: 0
bones: []
spriteID: 2a42a32ae57f11a41aaa6ae96d30c353
internalID: 1463656039
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: Card_Ui_4Biankuang_v01_2
rect:
serializedVersion: 2
x: 2697
y: 659
width: 21
height: 58
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
outline: []
physicsShape: []
tessellationDetail: 0
bones: []
spriteID: 3c2a3e7fb1827904d96a472c568d5418
internalID: 2024499832
vertices: []
indices:
edges: []
weights: []
outline: []
physicsShape: []
bones: []
spriteID: 5e97eb03825dee720800000000000000
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
nameFileIdTable:
Card_Ui_4Biankuang_v01_0: 293518237
Card_Ui_4Biankuang_v01_1: 1463656039
Card_Ui_4Biankuang_v01_2: 2024499832
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:

BIN
ColorlessWorld-2024-4-2/Assets/ArtAssets/Card/UI/dijikapai/Card_Ui_Feiyong_v01.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 242 KiB

149
ColorlessWorld-2024-4-2/Assets/ArtAssets/Card/UI/dijikapai/Card_Ui_Feiyong_v01.png.meta

@ -0,0 +1,149 @@
fileFormatVersion: 2
guid: ef6d1854f06eae044945a7c9ed88d568
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: 2
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:
- serializedVersion: 2
name: Card_Ui_Feiyong_v01_0
rect:
serializedVersion: 2
x: 1874
y: 1018
width: 261
height: 298
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
outline: []
physicsShape: []
tessellationDetail: 0
bones: []
spriteID: ac45bf4b804d82c4d890fd6da1192637
internalID: -1689968231
vertices: []
indices:
edges: []
weights: []
outline: []
physicsShape: []
bones: []
spriteID: 5e97eb03825dee720800000000000000
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
nameFileIdTable:
Card_Ui_Feiyong_v01_0: -1689968231
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:

BIN
ColorlessWorld-2024-4-2/Assets/ArtAssets/Card/UI/dijikapai/Card_Ui_Kamian_v01.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 MiB

304
ColorlessWorld-2024-4-2/Assets/ArtAssets/Card/UI/dijikapai/Card_Ui_Kamian_v01.png.meta

@ -0,0 +1,304 @@
fileFormatVersion: 2
guid: 78461e69b9e1eea4298f7afe36009d61
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: 2
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:
- serializedVersion: 2
name: Card_Ui_Kamian_v01_1
rect:
serializedVersion: 2
x: 1457
y: 408
width: 1093
height: 1568
alignment: 0
pivot: {x: 0.5, y: 0.5}
border: {x: 0, y: 0, z: 0, w: 0}
outline: []
physicsShape: []
tessellationDetail: 0
bones: []
spriteID: 8b9e0cb83c35e2140b49b1c7661c3bd7
internalID: 1704928965
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: Card_Ui_Kamian_v01_2
rect:
serializedVersion: 2
x: 1456
y: 1595
width: 5
height: 8
alignment: 0
pivot: {x: 0.5, y: 0.5}
border: {x: 0, y: 0, z: 0, w: 0}
outline: []
physicsShape: []
tessellationDetail: 0
bones: []
spriteID: d6bb5e8bd74cbef4996902727dac1f8b
internalID: -534877170
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: Card_Ui_Kamian_v01_3
rect:
serializedVersion: 2
x: 1454
y: 1373
width: 8
height: 111
alignment: 0
pivot: {x: 0.5, y: 0.5}
border: {x: 0, y: 0, z: 0, w: 0}
outline: []
physicsShape: []
tessellationDetail: 0
bones: []
spriteID: ca22f387cd8b4b64191d0cd69ec175fd
internalID: 828354772
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: Card_Ui_Kamian_v01_4
rect:
serializedVersion: 2
x: 1454
y: 968
width: 9
height: 236
alignment: 0
pivot: {x: 0.5, y: 0.5}
border: {x: 0, y: 0, z: 0, w: 0}
outline: []
physicsShape: []
tessellationDetail: 0
bones: []
spriteID: 3029b145f80cc844ba279c0650cb9fc5
internalID: -2051238206
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: Card_Ui_Kamian_v01_5
rect:
serializedVersion: 2
x: 1454
y: 666
width: 9
height: 68
alignment: 0
pivot: {x: 0.5, y: 0.5}
border: {x: 0, y: 0, z: 0, w: 0}
outline: []
physicsShape: []
tessellationDetail: 0
bones: []
spriteID: 62b43ef43a72fba46834a0a8dfc61d0c
internalID: -1464974242
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: Card_Ui_Kamian_v01_6
rect:
serializedVersion: 2
x: 1455
y: 657
width: 5
height: 7
alignment: 0
pivot: {x: 0.5, y: 0.5}
border: {x: 0, y: 0, z: 0, w: 0}
outline: []
physicsShape: []
tessellationDetail: 0
bones: []
spriteID: ed5d2d65a80264440b69315a16490b51
internalID: -377455459
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: Card_Ui_Kamian_v01_7
rect:
serializedVersion: 2
x: 1454
y: 488
width: 9
height: 34
alignment: 0
pivot: {x: 0.5, y: 0.5}
border: {x: 0, y: 0, z: 0, w: 0}
outline: []
physicsShape: []
tessellationDetail: 0
bones: []
spriteID: 7de98007bdffddc41853ff1ba137f2ec
internalID: -649812185
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: Card_Ui_Kamian_v01_8
rect:
serializedVersion: 2
x: 1455
y: 413
width: 5
height: 13
alignment: 0
pivot: {x: 0.5, y: 0.5}
border: {x: 0, y: 0, z: 0, w: 0}
outline: []
physicsShape: []
tessellationDetail: 0
bones: []
spriteID: 47406ddad22658c4f91bd2dca3242d8d
internalID: -1387875304
vertices: []
indices:
edges: []
weights: []
outline: []
physicsShape: []
bones: []
spriteID: 5e97eb03825dee720800000000000000
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
nameFileIdTable:
Card_Ui_Kamian_v01_0: -434487570
Card_Ui_Kamian_v01_1: 1704928965
Card_Ui_Kamian_v01_2: -534877170
Card_Ui_Kamian_v01_3: 828354772
Card_Ui_Kamian_v01_4: -2051238206
Card_Ui_Kamian_v01_5: -1464974242
Card_Ui_Kamian_v01_6: -377455459
Card_Ui_Kamian_v01_7: -649812185
Card_Ui_Kamian_v01_8: -1387875304
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:

BIN
ColorlessWorld-2024-4-2/Assets/ArtAssets/Card/UI/dijikapai/Card_Ui_Miaoshu_v01.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 203 KiB

149
ColorlessWorld-2024-4-2/Assets/ArtAssets/Card/UI/dijikapai/Card_Ui_Miaoshu_v01.png.meta

@ -0,0 +1,149 @@
fileFormatVersion: 2
guid: 1157d7960c3fe124b81605d8493a59ad
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: 2
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:
- serializedVersion: 2
name: Card_Ui_Miaoshu_v01_0
rect:
serializedVersion: 2
x: 1553
y: 423
width: 919
height: 767
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
outline: []
physicsShape: []
tessellationDetail: 0
bones: []
spriteID: 7fa75cacd6cde7f478d2df05ccb094d7
internalID: -2127625255
vertices: []
indices:
edges: []
weights: []
outline: []
physicsShape: []
bones: []
spriteID: 5e97eb03825dee720800000000000000
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
nameFileIdTable:
Card_Ui_Miaoshu_v01_0: -2127625255
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:

BIN
ColorlessWorld-2024-4-2/Assets/ArtAssets/Card/UI/dijikapai/Card_Ui_Mingcheng_v01.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 216 KiB

149
ColorlessWorld-2024-4-2/Assets/ArtAssets/Card/UI/dijikapai/Card_Ui_Mingcheng_v01.png.meta

@ -0,0 +1,149 @@
fileFormatVersion: 2
guid: 798a6dfd54eab5f448f5639a5b6caee8
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: 2
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:
- serializedVersion: 2
name: Card_Ui_Mingcheng_v01_0
rect:
serializedVersion: 2
x: 1557
y: 1151
width: 923
height: 120
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
outline: []
physicsShape: []
tessellationDetail: 0
bones: []
spriteID: b112025647415dc4689416b3d460ca42
internalID: -911593896
vertices: []
indices:
edges: []
weights: []
outline: []
physicsShape: []
bones: []
spriteID: 5e97eb03825dee720800000000000000
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
nameFileIdTable:
Card_Ui_Mingcheng_v01_0: -911593896
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:

BIN
ColorlessWorld-2024-4-2/Assets/ArtAssets/Card/UI/dijikapai/Card_Ui_Xiyoudu_v01.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 202 KiB

149
ColorlessWorld-2024-4-2/Assets/ArtAssets/Card/UI/dijikapai/Card_Ui_Xiyoudu_v01.png.meta

@ -0,0 +1,149 @@
fileFormatVersion: 2
guid: 75572e58ac5d5384bbbdb79db67a03e5
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: 2
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:
- serializedVersion: 2
name: Card_Ui_Xiyoudu_v01_0
rect:
serializedVersion: 2
x: 1916
y: 412
width: 194
height: 1670
alignment: 0
pivot: {x: 0.5, y: 0.5}
border: {x: 0, y: 0, z: 0, w: 0}
outline: []
physicsShape: []
tessellationDetail: 0
bones: []
spriteID: 02edeeee7b28ee441aed14f6f462688f
internalID: -86738995
vertices: []
indices:
edges: []
weights: []
outline: []
physicsShape: []
bones: []
spriteID: 5e97eb03825dee720800000000000000
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
nameFileIdTable:
Card_Ui_Xiyoudu_v01_0: -86738995
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:

BIN
ColorlessWorld-2024-4-2/Assets/ArtAssets/Card/UI/dijikapai/Card_Ui_Yvlan_v01.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 MiB

127
ColorlessWorld-2024-4-2/Assets/ArtAssets/Card/UI/dijikapai/Card_Ui_Yvlan_v01.png.meta

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

2
ColorlessWorld-2024-4-2/Assets/Image/Materials/7尤利乌斯-2D-待机动作-试gif.mat

@ -49,7 +49,7 @@ Material:
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MainTex:
m_Texture: {fileID: 2800000, guid: b738de9a1a797b3438a0f86f45a7d9a2, type: 3}
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MetallicGlossMap:

128
ColorlessWorld-2024-4-2/Assets/Image/待机动作/New Animation.anim

@ -40,32 +40,7 @@ AnimationClip:
m_RotationOrder: 4
path:
m_PositionCurves: []
m_ScaleCurves:
- curve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: {x: 0.15, y: 0.15, z: 0.15}
inSlope: {x: 0, y: 0, z: 0}
outSlope: {x: 0, y: 0, z: 0}
tangentMode: 0
weightedMode: 0
inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
- serializedVersion: 3
time: 1
value: {x: 0.15, y: 0.15, z: 0.15}
inSlope: {x: 0, y: 0, z: 0}
outSlope: {x: 0, y: 0, z: 0}
tangentMode: 0
weightedMode: 0
inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
path:
m_ScaleCurves: []
m_FloatCurves:
- serializedVersion: 2
curve:
@ -156,15 +131,6 @@ AnimationClip:
isPPtrCurve: 0
isIntCurve: 0
isSerializeReferenceCurve: 0
- serializedVersion: 2
path: 0
attribute: 3
script: {fileID: 0}
typeID: 4
customType: 0
isPPtrCurve: 0
isIntCurve: 0
isSerializeReferenceCurve: 0
- serializedVersion: 2
path: 0
attribute: 4197328169
@ -201,7 +167,7 @@ AnimationClip:
m_Level: 0
m_CycleOffset: 0
m_HasAdditiveReferencePose: 0
m_LoopTime: 0
m_LoopTime: 1
m_LoopBlend: 0
m_LoopBlendOrientation: 0
m_LoopBlendPositionY: 0
@ -254,96 +220,6 @@ AnimationClip:
classID: 212
script: {fileID: 0}
flags: 0
- serializedVersion: 2
curve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: 0.15
inSlope: 0
outSlope: 0
tangentMode: 136
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
- serializedVersion: 3
time: 1
value: 0.15
inSlope: 0
outSlope: 0
tangentMode: 136
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
attribute: m_LocalScale.x
path:
classID: 4
script: {fileID: 0}
flags: 0
- serializedVersion: 2
curve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: 0.15
inSlope: 0
outSlope: 0
tangentMode: 136
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
- serializedVersion: 3
time: 1
value: 0.15
inSlope: 0
outSlope: 0
tangentMode: 136
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
attribute: m_LocalScale.y
path:
classID: 4
script: {fileID: 0}
flags: 0
- serializedVersion: 2
curve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: 0.15
inSlope: 0
outSlope: 0
tangentMode: 136
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
- serializedVersion: 3
time: 1
value: 0.15
inSlope: 0
outSlope: 0
tangentMode: 136
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
attribute: m_LocalScale.z
path:
classID: 4
script: {fileID: 0}
flags: 0
- serializedVersion: 2
curve:
serializedVersion: 2

24
ColorlessWorld-2024-4-2/Assets/Prefab/CardPrefab/Card.prefab

@ -189,9 +189,17 @@ MonoBehaviour:
originalParent: {fileID: 0}
originalpoint: {x: 0, y: 0, z: 0}
eventSystem: {fileID: 0}
canUse: 1
ainPanle: {fileID: 4722556306121517745}
currentNode: {fileID: 0}
influencePreviewPool: []
dragState: 3
ready: 0
castingPool: []
layerMask:
serializedVersion: 2
m_Bits: 0
cardOnMouseEnter: {fileID: 0}
smallCardPrefab: {fileID: 0}
--- !u!114 &6042570540965326076
MonoBehaviour:
m_ObjectHideFlags: 0
@ -237,9 +245,11 @@ MonoBehaviour:
m_Name:
m_EditorClassIdentifier:
cardId: 0
originalParent: {fileID: 0}
originalpoint: {x: 0, y: 0, z: 0}
eventSystem: {fileID: 0}
ainPanle: {fileID: 0}
currentNode: {fileID: 0}
influencePreviewPool: []
cost: {fileID: 0}
cardIndex: 0
cardDescription: {fileID: 0}
cardName: {fileID: 0}
cardImage: {fileID: 0}
canUse: 1
smallCardPrefab: {fileID: 3615574969851259241, guid: 2f88da2f5ca2fbc438b76c3faf2ea9db,
type: 3}

8
ColorlessWorld-2024-4-2/Assets/Prefab/CardPrefab/CardSmall.meta

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 5554cccb37d406243933d41534f56ab6
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

9990
ColorlessWorld-2024-4-2/Assets/Prefab/CardPrefab/CardSmall/CardSmall.prefab

File diff suppressed because it is too large

7
ColorlessWorld-2024-4-2/Assets/Prefab/CardPrefab/CardSmall/CardSmall.prefab.meta

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 2f88da2f5ca2fbc438b76c3faf2ea9db
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

28
ColorlessWorld-2024-4-2/Assets/Prefab/CardPrefab/Card_v01.prefab

@ -311,9 +311,9 @@ MonoBehaviour:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_RaycastTarget: 0
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_Maskable: 0
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
@ -542,9 +542,9 @@ MonoBehaviour:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_RaycastTarget: 0
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_Maskable: 0
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
@ -893,6 +893,8 @@ MonoBehaviour:
cardName: {fileID: 5281579542142419986}
cardImage: {fileID: 5399218162963011116}
canUse: 1
smallCardPrefab: {fileID: 3615574969851259241, guid: 2f88da2f5ca2fbc438b76c3faf2ea9db,
type: 3}
--- !u!114 &5066967261904071208
MonoBehaviour:
m_ObjectHideFlags: 0
@ -907,10 +909,12 @@ MonoBehaviour:
m_EditorClassIdentifier:
originalParent: {fileID: 0}
originalpoint: {x: 0, y: 0, z: 0}
originalScale: {x: 0, y: 0, z: 0}
eventSystem: {fileID: 0}
canUse: 1
ainPanle: {fileID: 1075869202937435496}
currentNode: {fileID: 0}
dragState: 3
ready: 0
castingPool: []
layerMask:
serializedVersion: 2
@ -940,14 +944,14 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 523596fd7703bbe44a0c37d83fd5c880, type: 3}
m_Name:
m_EditorClassIdentifier:
oringinIndex: 0
cardDrag: {fileID: 0}
targetScale: {x: 0, y: 0, z: 0}
originScale: {x: 0, y: 0, z: 0}
speed: 4
moveOffset: 100
thisIndexInIndex: 0
moveOffset: 50
originPoint: {x: 0, y: 0, z: 0}
UpperOffset: {x: 0, y: 100, z: 0}
UpperOffset: {x: 0, y: 50, z: 0}
originRotation: {x: 0, y: 0, z: 0}
--- !u!1 &3523919461092501418
GameObject:
@ -1008,9 +1012,9 @@ MonoBehaviour:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_RaycastTarget: 0
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_Maskable: 0
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
@ -1083,9 +1087,9 @@ MonoBehaviour:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_RaycastTarget: 0
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_Maskable: 0
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []

8
ColorlessWorld-2024-4-2/Assets/Prefab/EnemyPrefab/CorrosiveSludge.prefab

@ -355,14 +355,14 @@ Transform:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2846673414089318023}
serializedVersion: 2
m_LocalRotation: {x: 0.018499402, y: 0, z: 0, w: 0.9998289}
m_LocalPosition: {x: -0.65, y: 0.406, z: -2.04}
m_LocalScale: {x: 1.8167788, y: 1.1626, z: 0.85490113}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: -1.1, y: 0.41, z: -2.95}
m_LocalScale: {x: 1.71, y: 1, z: 1.46}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 2956044212721477480}
m_Father: {fileID: 3282373897760748568}
m_LocalEulerAnglesHint: {x: 2.12, y: 0, z: 0}
m_LocalEulerAnglesHint: {x: 30.08, y: 180, z: 0}
--- !u!33 &6046654669545211710
MeshFilter:
m_ObjectHideFlags: 0

3
ColorlessWorld-2024-4-2/Assets/Prefab/EnemyPrefab/HoodWanderer.prefab

@ -689,8 +689,9 @@ MonoBehaviour:
oppositePasth: []
moveType: 0
rangePool: []
aoeRangePool: []
enemyType: 0
enemyScript: 6
enemyScript: 7
lineAim: {fileID: 7907765502362765996}
canLineAppre: 1
disableAttack: {fileID: 0}

1
ColorlessWorld-2024-4-2/Assets/Prefab/LevelPrefab/EmptyNode.prefab

@ -235,6 +235,7 @@ MonoBehaviour:
lineRenderer: {fileID: 7723156746810573798, guid: 053bbdc62ad2af54ab02af9260df599a,
type: 3}
roomType: 0
roomDestinationIndex: 0
--- !u!1 &4322012816575514674
GameObject:
m_ObjectHideFlags: 0

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

File diff suppressed because it is too large

20
ColorlessWorld-2024-4-2/Assets/Scripts/Card/ArrowManager.cs

@ -36,9 +36,14 @@ public class ArrowManager : MonoBehaviour
public void Update()
{
//p0ÊÇÆðʼλÖÃ
this.controlPoints[0] = new Vector2(this.origin.position.x, this.origin.position.y);
//p3ÊÇÊó±êλÖÃ
this.controlPoints[3] = new Vector2(Input .mousePosition .x,Input .mousePosition .y);
Vector3 worldstart = transform.parent.TransformPoint(transform.position);
this.controlPoints[0] = new Vector2(worldstart.x, worldstart.y);
Debug.Log(controlPoints[0]);
//p3是鼠标位置-------鼠标在ui平面上的位置
Vector3 position = new Vector3(Input.mousePosition.x, Input.mousePosition.y, 8f);
Vector3 worldPoint = Camera.main.ScreenToWorldPoint(position);
this.controlPoints[3] = new Vector2(worldPoint .x,worldPoint .y);
//p1p2ͨ¹ýp0p3¼ÆËã
this.controlPoints[1] = this.controlPoints[0] + (this.controlPoints[3] - this.controlPoints[0] )* this.controlPointFactors[0];
this.controlPoints[2] = this.controlPoints[0] + (this.controlPoints[3] - this.controlPoints[0] )* this.controlPointFactors[1];
@ -47,16 +52,19 @@ public class ArrowManager : MonoBehaviour
{
var t = Mathf.Log(1f * i / (this.arrowNodes.Count - 1) + 1f, 2f);
this.arrowNodes[i].position =
Vector3 currentPoint =
Mathf.Pow(1 - t, 3) * this.controlPoints[0] +
3 * Mathf.Pow(1 - t, 2) * t * this.controlPoints[1] +
3 * (1 - t) * Mathf.Pow(t, 2) * this.controlPoints[2] +
Mathf.Pow(t, 3) * this.controlPoints[3];
this.arrowNodes[i].position = currentPoint;
this.arrowNodes[i].localPosition -= new Vector3(0, 0, this.arrowNodes[i].localPosition.z);
if (i > 0)
{
var euler = new Vector3 (0,0,Vector2.SignedAngle(Vector2.up,this.arrowNodes[i].position-this.arrowNodes[i-1].position));
this.arrowNodes[i].rotation = Quaternion.Euler(euler);
var euler = new Vector3 (0,0,Vector2.SignedAngle(CardActiveSort.Instance.transform.InverseTransformDirection(transform.up), this.arrowNodes[i].position-this.arrowNodes[i-1].position));
this.arrowNodes[i].localRotation = Quaternion.Euler(euler);
}
var scale = this.scaleFactor * (1f - 0.03f * (this.arrowNodes.Count - 1 - i));

350
ColorlessWorld-2024-4-2/Assets/Scripts/Card/CardDrag.cs

@ -4,8 +4,6 @@ using UnityEngine;
using UnityEngine.UI;
using UnityEngine.EventSystems;
using UnityEngine.InputSystem;
using static EnemyNode;
using static UnityEngine.Rendering.DebugUI;
using System;
using Unity.VisualScripting;
using System.Data;
@ -15,12 +13,11 @@ public class CardDrag : MonoBehaviour, IBeginDragHandler, IDragHandler, IEndDrag
// public Vector3 OriginTransform;
//private Vector3 EndTransform;
[Header("拖拽参数")]
public bool follow;
public Transform originalParent;
public Vector3 originalpoint;
public EventSystem eventSystem;
bool canUse = true;//决定卡牌是否可以释放
public bool canUse = true;//决定卡牌是否可以释放
bool choosed;//标识卡牌是否被选中
[Header("贝塞尔曲线瞄准")]
@ -29,12 +26,25 @@ public class CardDrag : MonoBehaviour, IBeginDragHandler, IDragHandler, IEndDrag
[Header("影响格参数")]
public MapUnity currentNode;//瞄准的格子
[Header("卡牌拖拽状态")]
public CardDragState dragState = CardDragState.noDrag ;
public enum CardDragState
{
onBeginDrag,
onDrag,
onEndDrag,
noDrag
}
PointerEventData eventData;
List<RaycastResult> result = new List<RaycastResult>();
//[Header("卡牌属性")]
private CardEntity cardEntity;
public bool ready;//是否已到达可释放位置
[Header("卡牌属性")]
public List<MapUnity> castingPool;//卡牌打出范围
private CardEntity cardEntity;
[Header("射线图层剔除")]
public LayerMask layerMask;
@ -43,6 +53,11 @@ public class CardDrag : MonoBehaviour, IBeginDragHandler, IDragHandler, IEndDrag
void Start()
{
originalParent = gameObject.transform.parent;
dragState = CardDragState.noDrag;
eventSystem = GameObject.FindObjectOfType<EventSystem>();
eventData = new PointerEventData(eventSystem);
cardOnMouseEnter = GetComponent<CardOnMouseEnter>();
eventSystem = GameObject.FindObjectOfType<EventSystem>();
@ -54,7 +69,172 @@ public class CardDrag : MonoBehaviour, IBeginDragHandler, IDragHandler, IEndDrag
{
handleRightClickCancel();
if (dragState != CardDragState.noDrag && dragState != CardDragState.onDrag)
{
//UI射线检测
eventData.position = Mouse.current.position.value;
eventSystem.RaycastAll(eventData, result);
if (result.Count > 0)
{
Debug.Log(result[0].gameObject.name);
}
}
if (GameManager.Instance.onDraw ==false )
{
switch (dragState)
{
case CardDragState.onBeginDrag:
if (choosed == false)
{
TurnMaster.Instance.playerAction = TurnMaster.PlayerAction.useCard;
CardChoose(eventData);
dragState = CardDragState.onDrag;
}
break;
case CardDragState.onDrag:
CardFollow();
if (Mouse.current.leftButton.wasReleasedThisFrame && ready)
{
dragState = CardDragState.onEndDrag;
}
break;
case CardDragState.onEndDrag:
TurnMaster.Instance.playerAction = TurnMaster.PlayerAction.none;
CardUse();
break;
case CardDragState.noDrag:
if (Mouse.current.leftButton.wasReleasedThisFrame && GameManager.Instance.onDrag == false)
{
eventData.position = Mouse.current.position.value;
eventSystem.RaycastAll(eventData, result);
if (result.Count > 0)
{
Debug.Log(result[0].gameObject.name);
if (result[0].gameObject == this.gameObject)
{
dragState = CardDragState.onBeginDrag;
GameManager.Instance.onDrag = true;
}
}
}
break;
}
}
}
//卡片动作
//开始选中
public void CardChoose(PointerEventData eventData)
{
banActionCardCheck();
disArmCheck();
costCheck();
disCardCheck();
if (!cardEntity.canUse)
{
return;
}
choosed = true;
GetComponent<CanvasGroup>().blocksRaycasts = false;
originalpoint = this.transform.localPosition;
transform.SetParent(transform.parent.parent);
transform.localPosition = cardOnMouseEnter.originPoint;
GetComponent<RectTransform>().localScale = cardOnMouseEnter.targetScale;
//根据卡牌数据决定是否调用曲线
if (cardEntity.cardOriginalData.CastingRange != 0)
{
//释放范围为0则不需要调用曲线
ainPanle.SetActive(true);
}
else
{
ainPanle.SetActive(false);
}
}
//拖拽中
public void CardFollow()
{
if (!cardEntity.canUse)
{
return;
}
dyeing();
eventData.position = Mouse.current.position.value;
eventSystem.RaycastAll(eventData, result);
// Debug.Log(result[0].gameObject.name);
if (result.Count > 0)
{
if(result[0].gameObject.name == "TotalPanel")
{
if( ready == false)
{
ready = true;
}
transform.localPosition = cardOnMouseEnter.originPoint;
if (cardEntity.cardOriginalData.CastingRange != 0)
{
Debug.Log("12123123");
ainPanleWork(eventData);
}
else
{
noAinPanleWork(eventData);
}
}
else
{
if(ready ==true )
{
resetComponentPosition();
}
else
{
// Debug.Log(transform.position);
// Debug.Log(eventData.position);
// transform.position = eventData.position;
Vector3 eventDataWorld = CardActiveSort.Instance.ScreenPointToWorldPoint(eventData.position, 10f);
transform.position = eventDataWorld;
}
}
}
}
//卡牌释放
public void CardUse()
{
GameManager.Instance.onDrag = false;
if (canUse)
{
CardActiveSort.Instance.ReflashCardPoint();
StartCoroutine(OnDragIEnumerator(eventData));
}
else
{
canUse = true;
resetComponentPosition();
}
}
//检查卡牌的费用是否可以释放
private void costCheck()
{
@ -157,13 +337,18 @@ public class CardDrag : MonoBehaviour, IBeginDragHandler, IDragHandler, IEndDrag
}
cardEntity.influencePreviewPool.Clear();
ready = false;
GameManager.Instance.onDrag = false;
dragState = CardDragState.noDrag;
choosed = false;
canUse = true;//取消释放
ainPanle.SetActive(false);
//其他位置都归位
transform.SetParent(originalParent);
GetComponent<CanvasGroup>().blocksRaycasts = true;
transform.localScale = new Vector3(1f, 1f, 1f);
// transform.position = originalpoint;
// CardActiveSort.Instance.ReflashCardPoint();
CardActiveSort.Instance.ReflashCardPoint();
return;
}
@ -173,89 +358,53 @@ public class CardDrag : MonoBehaviour, IBeginDragHandler, IDragHandler, IEndDrag
if (choosed && Mouse.current.rightButton.wasPressedThisFrame)
{
GameManager.Instance.onDrag = false;
Debug.Log("取消释放");
canUse = false;//取消释放
ainPanle.SetActive(false);
resetComponentPosition();
}
}
public void OnBeginDrag(PointerEventData eventData)
{
// if (GameObject.Find("CardPanel") != null)
// graphicRaycaster = GameObject.Find("CardPanel").GetComponent<GraphicRaycaster>();
banActionCardCheck();
disArmCheck();
costCheck();
disCardCheck();
if (!cardEntity.canUse)
{
return;
}
GameManager.Instance.onDrag = true;
choosed = true;
GetComponent<CanvasGroup>().blocksRaycasts = false;
originalParent = this.gameObject.transform.parent;
originalpoint = this.transform.localPosition;
transform.SetParent(transform.parent.parent);
transform.position = eventData.position;
GetComponent<RectTransform>().localScale = cardOnMouseEnter.targetScale;
//根据卡牌数据决定是否调用曲线
if (cardEntity.cardOriginalData.CastingRange != 0)
{
//释放范围为0则不需要调用曲线
ainPanle.SetActive(true);
}
else
{
ainPanle.SetActive(false);
}
dragState = CardDragState.onBeginDrag;
}
private void ainPanleWork(PointerEventData eventData)
{
//射线检测瞄准的地图节点,判断是否可放置和改变放置影响区
Ray ray = Camera.main.ScreenPointToRay(Mouse.current.position.value);
if (eventData.pointerCurrentRaycast.gameObject != null)
Debug.Log(Mouse.current.position.value);
if (Physics.Raycast(ray, out RaycastHit raycastHit, 500, layerMask.value))
{
if (Physics.Raycast(ray, out RaycastHit raycastHit, 500, layerMask.value))
Debug.Log(raycastHit.collider.gameObject.name);
//检测到跟上次瞄准地方不同,更新
if (currentNode == null || raycastHit.collider.transform.gameObject != currentNode.gameObject)
{
// Debug.Log(raycastHit.collider.gameObject.name);
//检测到跟上次瞄准地方不同,更新
if (currentNode == null || raycastHit.collider.transform.gameObject != currentNode.gameObject)
foreach (MapUnity mapUnity in cardEntity.influencePreviewPool)
{
foreach (MapUnity mapUnity in cardEntity.influencePreviewPool)
{
mapUnity.influenced = false;
}
cardEntity.influencePreviewPool.Clear();
currentNode = raycastHit.collider.transform.GetComponent<MapUnity>();
mapUnity.influenced = false;
}
cardEntity.influencePreviewPool.Clear();
currentNode = raycastHit.collider.transform.GetComponent<MapUnity>();
//重新调用范围预览
//GameManager.Instance.player.StepPreviewInfluencedNode(cardEntity.cardOriginalData.CastingRange);
setCastingRangePreview(cardEntity.cardOriginalData.EffectRange);
//预览影响范围
if (currentNode.influenced)
{
//根据卡牌属性改变影响池
//重新调用范围预览
//GameManager.Instance.player.StepPreviewInfluencedNode(cardEntity.cardOriginalData.CastingRange);
setCastingRangePreview(cardEntity.cardOriginalData.EffectRange);
//预览影响范围
if (currentNode.influenced)
{
//根据卡牌属性改变影响池
Vector3 face = currentNode.transform.position - GameManager.Instance.playerOn.transform.position;
float euler = Vector3.SignedAngle(-GameManager.Instance.playerOn.transform.forward, face, GameManager.Instance.playerOn.transform.up) + 180;
setEffectRangePreview(cardEntity.cardOriginalData.EffectRange, euler, currentNode);
//influencePreviewPool.Add(currentNode);
Vector3 face = currentNode.transform.position - GameManager.Instance.playerOn.transform.position;
float euler = Vector3.SignedAngle(-GameManager.Instance.playerOn.transform.forward, face, GameManager.Instance.playerOn.transform.up) + 180;
setEffectRangePreview(cardEntity.cardOriginalData.EffectRange, euler, currentNode);
//influencePreviewPool.Add(currentNode);
}
}
}
}
}
}
private void setCastingRangePreview(string effectRange)
@ -358,38 +507,7 @@ public class CardDrag : MonoBehaviour, IBeginDragHandler, IDragHandler, IEndDrag
public void OnDrag(PointerEventData eventData)
{
if (!cardEntity.canUse)
{
return;
}
if (cardEntity.cardOriginalData.CastingRange != 0)
{
ainPanleWork(eventData);
}
else
{
noAinPanleWork(eventData);
}
dyeing();
Debug.Log(eventData.pointerCurrentRaycast.gameObject.name);
if (eventData.pointerCurrentRaycast.gameObject.name == "TotalPanel")
{
follow = false;
}
else
{
follow = true;
}
if (follow == true )
{
transform.position = eventData.position;
}
else
{
transform.position = CardActiveSort .Instance .preparePoint .transform .position ;
}
}
private void dyeing()
@ -405,9 +523,7 @@ public class CardDrag : MonoBehaviour, IBeginDragHandler, IDragHandler, IEndDrag
public void OnEndDrag(PointerEventData eventData)
{
GameManager.Instance.onDrag = false;
StartCoroutine(OnDragIEnumerator(eventData));
}
private IEnumerator OnDragIEnumerator(PointerEventData eventData)
@ -431,41 +547,23 @@ public class CardDrag : MonoBehaviour, IBeginDragHandler, IDragHandler, IEndDrag
//先判断该卡牌的类型是否是需要范围
if (cardEntity.cardOriginalData.CastingRange != 0)
{
//检测碰撞的地图节点是否被影响(可释放)
if (currentNode == null || currentNode.influenced == false)
{
//遍历范围预览池消除影响色(红色,卡牌的释放范围)
foreach (MapUnity mapUnity in MapUnityManager.Instance.castPool)
{
mapUnity.influenced = false;
}
MapUnityManager.Instance.castPool.Clear();
}
else if (currentNode.influenced)
if(currentNode != null&& currentNode.influenced)
{
//卡牌释放效果
yield return StartCoroutine(cardEntity.settle(0));
}
cardEntity.influencePreviewPool.Clear();
GetComponent<CanvasGroup>().blocksRaycasts = true;
//其他位置都归位
transform.SetParent(originalParent);
transform.localPosition = originalpoint;
yield break;
else
{
resetComponentPosition();
}
}//范围类,需要指定被影响的节点才能释放
else
{
//卡牌释放效果
yield return StartCoroutine(cardEntity.settle(0));
yield break;
}//无范围类,直接释放
yield break;
}
else
{

15
ColorlessWorld-2024-4-2/Assets/Scripts/Card/CardEntity.cs

@ -3,9 +3,11 @@ using System.Collections;
using System.Collections.Generic;
using System.Text;
using Unity.VisualScripting;
using UnityEditor.SearchService;
using UnityEngine;
using UnityEngine.EventSystems;
using UnityEngine.InputSystem;
using UnityEngine.SceneManagement;
using UnityEngine.UI;
public class CardEntity : MonoBehaviour
@ -36,6 +38,8 @@ public class CardEntity : MonoBehaviour
public bool canUse = true;
[Header("¿¨ÅÆÊͷźóЧС¿¨")]
public GameObject smallCardPrefab;
public void Start()
{
@ -73,6 +77,17 @@ public class CardEntity : MonoBehaviour
}
private void OnDisable()
{
CreateSmallCard();
}
public void CreateSmallCard()
{
var smallCard = Instantiate(smallCardPrefab, transform.position, transform.localRotation);
smallCard.GetComponent<CardSmall>().SetDestination(TurnMaster.Instance.usedCardNumberText.gameObject, cardId);
}
//»ñÈ¡¿¨ÅÆÍ¼Æ¬
public void createCardImage()
{

34
ColorlessWorld-2024-4-2/Assets/Scripts/Card/CardOnMouseEnter.cs

@ -5,6 +5,8 @@ using UnityEngine.EventSystems;
public class CardOnMouseEnter : MonoBehaviour, IPointerEnterHandler, IPointerExitHandler
{
public int oringinIndex;
[Header("鼠标事件控制")]
public CardDrag cardDrag;
@ -20,8 +22,6 @@ public class CardOnMouseEnter : MonoBehaviour, IPointerEnterHandler, IPointerExi
public float moveOffset =100;
// private Transform originParent;
public int thisIndexInIndex;
public Vector3 originPoint;
public Vector3 UpperOffset;
@ -41,12 +41,12 @@ public class CardOnMouseEnter : MonoBehaviour, IPointerEnterHandler, IPointerExi
{
// if(coroutineSmall !=null )
// StopCoroutine(coroutineSmall);
if (GameManager.Instance.onDrag == false)
if (GameManager.Instance.onDrag == false&& GameManager .Instance .onDraw ==false )
{
StopAllCoroutines();
transform.position = originPoint;
transform.localPosition = originPoint;
rectTransform.eulerAngles = new Vector3(0f, 0f, 0f);
transform.localEulerAngles = new Vector3(0f, 0f, 0f);
coroutineBig = StartCoroutine(ZoomBig());
}
}
@ -55,11 +55,11 @@ public class CardOnMouseEnter : MonoBehaviour, IPointerEnterHandler, IPointerExi
{
// if(coroutineBig != null )
// StopCoroutine(coroutineBig);
if(GameManager .Instance . onDrag ==false )
if(GameManager .Instance . onDrag ==false && GameManager.Instance.onDraw == false)
{
StopAllCoroutines();
rectTransform.eulerAngles = originRotation;
rectTransform.localEulerAngles = originRotation;
coroutineSmall = StartCoroutine(ZoomSmall());
}
@ -67,11 +67,9 @@ public class CardOnMouseEnter : MonoBehaviour, IPointerEnterHandler, IPointerExi
IEnumerator ZoomBig()
{
thisIndexInIndex = transform.GetSiblingIndex();
transform.position += UpperOffset;
transform.localPosition += UpperOffset;
OffsetOtherCard(thisIndexInIndex);
OffsetOtherCard(oringinIndex);
transform.SetAsLastSibling();
while (Vector3.Distance(transform.localScale, targetScale) > 0.1)
@ -85,11 +83,11 @@ public class CardOnMouseEnter : MonoBehaviour, IPointerEnterHandler, IPointerExi
IEnumerator ZoomSmall()
{
transform.SetSiblingIndex(thisIndexInIndex);
transform.SetSiblingIndex(oringinIndex);
transform.position = originPoint ;
transform.localPosition = originPoint ;
ComebackOtherCard(thisIndexInIndex);
ComebackOtherCard(oringinIndex);
while (Vector3.Distance(transform.localScale, originScale) > 0.1)
{
@ -133,7 +131,7 @@ public class CardOnMouseEnter : MonoBehaviour, IPointerEnterHandler, IPointerExi
if(originPoint.x != 0 )
{
//先归位
transform.position = originPoint;
transform.localPosition = originPoint;
}
//向侧面移动排开
@ -160,9 +158,9 @@ public class CardOnMouseEnter : MonoBehaviour, IPointerEnterHandler, IPointerExi
IEnumerator MoveSideway(Vector3 targetPos)
{
while (Vector3.Distance(transform.position, targetPos) > 0.1)
while (Vector3.Distance(transform.localPosition, targetPos) > 0.1)
{
transform.position = Vector3.Lerp(transform.position, targetPos, Time.deltaTime * speed);
transform.localPosition = Vector3.Lerp(transform.localPosition, targetPos, Time.deltaTime * speed);
yield return null;
}
}
@ -170,7 +168,7 @@ public class CardOnMouseEnter : MonoBehaviour, IPointerEnterHandler, IPointerExi
{
while (Vector3.Distance(transform.position, originPoint) > 0.1)
{
transform.position = Vector3.Lerp(transform.position, originPoint, Time.deltaTime * speed);
transform.localPosition = Vector3.Lerp(transform.localPosition, originPoint, Time.deltaTime * speed);
yield return null;
}
}

8
ColorlessWorld-2024-4-2/Assets/Scripts/Card/CardSmall.meta

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 25d15c8d258a08846bd310f872589d21
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

139
ColorlessWorld-2024-4-2/Assets/Scripts/Card/CardSmall/CardSmall.cs

@ -0,0 +1,139 @@
using System;
using System.Collections;
using System.Collections.Generic;
using System.Drawing;
using System.Security.Cryptography;
using UnityEditor;
using UnityEditor.SceneManagement;
using UnityEngine;
using UnityEngine.EventSystems;
using UnityEngine.InputSystem;
using UnityEngine.UI;
public class CardSmall : MonoBehaviour
{
public GameObject praticleSystem;
Camera mainCaera;
public GameObject destination;//目的地
public float time;
[Header("速度")]
public float speed = 8f;
public float rotationSpeed = 2f;
[Header("曲线")]
public LineRenderer lineRender;
public Vector3 lineStart;
public Vector3 lineMiddel;
public Vector3 lineEnd;
public List<Vector3> linePath = new List<Vector3>();
public float posCount = 20f;
[Header("卡牌ID")]
public int cardID;
IEnumerator moveCardFollowLineWithToUsedCard()
{
for (int i = 0; i < linePath .Count -1 ; i++)
{
bool isMove = true;
time = 0;
while (isMove )
{
transform.position = Vector3.Lerp(linePath[i], linePath[i + 1], time += Time.deltaTime * speed);
Vector3 direction = linePath[i + 1] - linePath[i];
float angle = Vector3.SignedAngle(CardActiveSort .Instance .transform .InverseTransformDirection( transform.up), direction, CardActiveSort.Instance.transform.InverseTransformDirection (- transform.forward));
transform.eulerAngles = Vector3.Lerp(transform.eulerAngles, new Vector3(0, 0, angle), Time.deltaTime * rotationSpeed);
if (Vector3.Distance(this.transform.position, linePath[i + 1]) < 0.05)
{
isMove = false;
}
yield return 0;
}
}
yield return new WaitForSeconds(0.5f);
TurnMaster.Instance.continueTurn = true;
Destroy(this.gameObject);
}
IEnumerator moveCardFollowLineWithDrawCards()
{
bool isMove = true;
time = 0;
while (isMove)
{
transform.localPosition = Vector3.Lerp(transform.localPosition, lineEnd,Time.deltaTime * speed);
if (Vector3.Distance(transform.localPosition, lineEnd) < 0.5f)
{
isMove = false;
transform.localPosition = lineEnd;
}
Vector3 targetPoint = CardActiveSort.Instance.targrtPoint;
Vector3 direction = targetPoint - transform.localPosition;
float angle = Vector3.SignedAngle(-CardActiveSort.Instance.transform.InverseTransformDirection(transform.up), direction, CardActiveSort.Instance.transform.InverseTransformDirection(transform.forward));
transform. GetComponent<RectTransform>().Rotate(0, 0, angle);
yield return null;
}
// Vector3 targetPoint = CardActiveSort.Instance.targrtPoint;
// Vector3 direction = targetPoint - transform.localPosition;
// float angle = Vector3.SignedAngle(-CardActiveSort.Instance.transform.InverseTransformDirection(CardActiveSort.Instance.transform.up), direction, CardActiveSort.Instance.transform.InverseTransformDirection(CardActiveSort.Instance.transform.forward));
// GetComponent<RectTransform>().Rotate(0, 0, angle);
CardActiveSort.Instance.prepareHandCard.Add(this.gameObject);
Destroy(this);
}
public void SetDestination(GameObject gameObject,int ID )
{
cardID = ID;
lineRender = GetComponent<LineRenderer>();
mainCaera = GameManager.Instance.mainCamera;
lineStart =transform.position + new Vector3(0, 0, -0.05f);
lineEnd = gameObject.transform.position + new Vector3(0, 0, -0.05f);
lineMiddel = lineStart + new Vector3(-3f, 6f, 3f);
CalculatePath();
StartCoroutine(moveCardFollowLineWithToUsedCard());
}
public void SetDestinationWithDrawCard(Vector3 endPoint)
{
mainCaera = GameManager.Instance.mainCamera;
lineStart = transform.InverseTransformPoint( TurnMaster.Instance.cardDeckNumberText.transform.position) ;
lineEnd = endPoint;
this.transform.position = TurnMaster.Instance.cardDeckNumberText.transform.position;
StartCoroutine(moveCardFollowLineWithDrawCards());
}
#region 计算贝塞尔曲线的拟合点
public void CalculatePath()
{
// lineRender.positionCount = (int)posCount;
linePath.Clear();
for(int i=0;i<posCount;i++)
{
Vector3 currentPoint = CalculateBezierPoint(lineStart, lineMiddel, lineEnd, i / posCount);
linePath.Add(currentPoint);
// lineRender.SetPosition(i, currentPoint);
}
}
public Vector3 CalculateBezierPoint(Vector3 p0,Vector3 p1,Vector3 p2, float t)
{
float u = 1 - t;
float tt = t * t;
return u * u * p0 + 2 * t * u * p1 + tt * p2;
}
#endregion
}

11
ColorlessWorld-2024-4-2/Assets/Scripts/Card/CardSmall/CardSmall.cs.meta

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 7ba86530fb52a2a4e8706eb2f0e9f094
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

63
ColorlessWorld-2024-4-2/Assets/Scripts/Card/TurnMaster.cs

@ -20,6 +20,9 @@ public class TurnMaster : Singleton<TurnMaster>
public int commDrawCardsNum = 6;
[Header("销毁卡牌延迟结束回合")]
public bool continueTurn;
public enum Turn
{
playerTurnBegin,
@ -41,6 +44,7 @@ public class TurnMaster : Singleton<TurnMaster>
banAction
}
public void Start()
{
/*totalCost = Usermanager.Instance.totalCost;
@ -57,8 +61,6 @@ public class TurnMaster : Singleton<TurnMaster>
//洗牌--抽卡
StartCoroutine(ShuffleWithLosingCards());
//判断眩晕等能不能行动
Usermanager.Instance.BanActionJudge();
//回合开始结算玩家buff
@ -90,8 +92,12 @@ public class TurnMaster : Singleton<TurnMaster>
Usermanager.Instance.PlayerTurnSettle();
//结算敌人护盾
EnemyManager.Instance.enemyShieldSettle(0);
//回合结束销毁卡牌
TurnEndDisCard();
//阶段流转
turn = Turn.enemyTurnBegin;
StartCoroutine(WaitEndPlayerTurn());
}
if (turn == Turn.enemyTurnBegin)
@ -137,7 +143,13 @@ public class TurnMaster : Singleton<TurnMaster>
yield return new WaitForSeconds(3.0f); // 等待3秒
turn = Turn.playerTurn;
}
IEnumerator WaitEndPlayerTurn()
{
turn = Turn.turnStop;
yield return new WaitUntil(()=>continueTurn ==true );
yield return new WaitForSeconds(0.5f);
turn = Turn.enemyTurnBegin;
}
public void EndPlayerTurn()
{
if(turn ==Turn.playerTurn)
@ -164,11 +176,6 @@ public class TurnMaster : Singleton<TurnMaster>
}
IEnumerator ShuffleWithLosingCards()
{
for (int j = 0; j < handCard.cardEntityList.Count; j++)
{
disCard(j);
}
int tureDrawCardsNum=commDrawCardsNum;
if (Usermanager.playerAbnormalCondition.ContainsKey(AbnormalCondition.addDrawCard))
@ -180,9 +187,25 @@ public class TurnMaster : Singleton<TurnMaster>
Debug.Log("真正抽卡数:"+tureDrawCardsNum);
// 等待直到当前帧结束
yield return new WaitForEndOfFrame();
drawCards(tureDrawCardsNum);
StartCoroutine( drawCards(tureDrawCardsNum));
}
//回合结束销毁卡牌
public void TurnEndDisCard()
{
continueTurn = false;
List<int> cardIndex = new List<int>();
foreach (var card in handCard.cardEntityList)
{
cardIndex.Add(card.cardId);
}
for (int j = cardIndex.Count - 1; j > -1; j--)
{
Debug.Log(handCard.cardEntityList.Count);
disCard(j);
}
}
public IEnumerator MoveCards()
{
/*
@ -233,21 +256,32 @@ public class TurnMaster : Singleton<TurnMaster>
handCard.cardEntityList.RemoveAt(cardIndex);
}
public void drawCards(int drawNum)
public IEnumerator drawCards(int drawNum)
{
GameManager.Instance.onDraw = true;
int handCardCount = handCard.cardEntityList.Count;
int actualCardsToDraw = Mathf.Min(handCard.maxHandCard - handCardCount, drawNum);
CardActiveSort.Instance.drawCardCount = actualCardsToDraw;
CardActiveSort.Instance.StartCoroutine(CardActiveSort.Instance.ReflashCardPointWithDrawCards());
yield return new WaitUntil(() => CardActiveSort.Instance.canDrawCard == true);
for (int i = handCardCount; i < handCardCount + actualCardsToDraw; i++)
{
if (cardDeck.cardList.Count > 0)
{
var a = Instantiate(cardDeck.cardPrefab,handCard .cardPanle .transform );
a.GetComponent<RectTransform>().localEulerAngles = new Vector3(0, 0, 0);
CardEntity cardEntity = a.GetComponent<CardEntity>();
cardEntity .createCard(cardDeck.cardList[cardDeck.cardList.Count - 1], i);
cardDeck.cardList.RemoveAt(cardDeck.cardList.Count - 1);
handCard.cardEntityList.Add(cardEntity);
//添加卡牌移动脚本
CardSmall cardSmall = a.AddComponent<CardSmall>();
cardSmall.SetDestinationWithDrawCard(CardActiveSort.Instance.newPointList[i]);
}
else if (usedCard.usedCardList.Count > 0)
{
@ -261,11 +295,18 @@ public class TurnMaster : Singleton<TurnMaster>
usedCard.usedCardList.Clear();
var a = Instantiate(cardDeck.cardPrefab, handCard.cardPanle.transform);
a.GetComponent <RectTransform >().localEulerAngles = new Vector3(0, 0, 0);
CardEntity cardEntity = a.GetComponent<CardEntity>();
cardEntity.createCard(cardDeck.cardList[cardDeck.cardList.Count - 1], i);
cardDeck.cardList.RemoveAt(cardDeck.cardList.Count - 1);
handCard.cardEntityList.Add(cardEntity);
//添加卡牌移动脚本
CardSmall cardSmall = a.AddComponent<CardSmall>();
cardSmall.SetDestinationWithDrawCard(CardActiveSort.Instance.newPointList[i]);
}
yield return new WaitForSeconds(0.2f);
}
}
}

2
ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/EnemyManager.cs.meta

@ -4,7 +4,7 @@ MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 15
executionOrder: 30
icon: {instanceID: 0}
userData:
assetBundleName:

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

@ -25,6 +25,7 @@ public class EnemyNode : MonoBehaviour,IEnemyObserver
}
[Header("寻范围预览池")]
public List<MapUnity> rangePool = new List<MapUnity>();//范围预览
public List<MapUnity> aoeRangePool = new List<MapUnity>();//·¶Î§Ô¤ÀÀ
[Header("敌人类型")]
public EnemyType enemyType;

9
ColorlessWorld-2024-4-2/Assets/Scripts/EnemyPlanFunction/EnemyAction.cs

@ -61,7 +61,14 @@ public class EnemyAction
}
}
//范围遍历方法
//ͨÓÃÆÕ¹¥
public virtual void GeneralAttackRange(EnemyNode enemyNode)
{
EnemyManager.Instance.AttackRangeInfluencedNode(GameManager.Instance.X[enemyNode.positionX].Y[enemyNode.positionY], enemyNode.EnemyState .attackRange , enemyNode.rangePool);
}
//近战
public virtual void MeleeAttackRange(EnemyNode enemyNode)
{
@ -81,7 +88,7 @@ public class EnemyAction
Debug.Log("aoe");
//几-几
isAoe = true;
EnemyManager.Instance.AttackRangeInfluencedNode(GameManager.Instance.X[enemyNode.positionX].Y[enemyNode.positionY],3, enemyNode.rangePool);
EnemyManager.Instance.AttackRangeInfluencedNode(GameManager.Instance.X[enemyNode.positionX].Y[enemyNode.positionY],3, enemyNode.aoeRangePool);
ShowAttackRange(enemyNode);
}
//魔法

4
ColorlessWorld-2024-4-2/Assets/Scripts/GameManager.cs

@ -18,6 +18,7 @@ public class GameManager : Singleton<GameManager>
[Header("角色动作状态")]
public bool onDrag;//正在拖动卡牌
public bool onDraw;//正在抽卡
[Header("角色状态数据UI")]
public Text textMaxCost;
@ -43,6 +44,9 @@ public class GameManager : Singleton<GameManager>
public int cardRewardsCounter = 0;
[Header("主摄像机")]
public Camera mainCamera;
private void Start()
{
//生成空地图列表

2
ColorlessWorld-2024-4-2/Assets/Scripts/GameManager.cs.meta

@ -4,7 +4,7 @@ MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 5
executionOrder: 15
icon: {instanceID: 0}
userData:
assetBundleName:

35
ColorlessWorld-2024-4-2/Assets/Scripts/LeveProcess/LevelNode.cs

@ -22,6 +22,8 @@ public class LevelNode : MonoBehaviour
[Header("·¿¼äÀàÐÍ")]
public LevelDevelopManager.RoomType roomType;
[Header("·¿¼äÄ¿µÄµØ")]
public int roomDestinationIndex;
Image roomIcon;
Text roomText;
@ -33,10 +35,39 @@ public class LevelNode : MonoBehaviour
}
private void Start()
{
canEnter = true;
SetUPRoomDestination();
JudgeCanEnter();
//JudgeCanEnter();
}
public void SetUPRoomDestination()
{
switch (roomType)
{
case LevelDevelopManager.RoomType.monster:
roomDestinationIndex = 2;
break;
case LevelDevelopManager.RoomType.eliteMonster:
roomDestinationIndex = 2;
break;
case LevelDevelopManager.RoomType.boss:
roomDestinationIndex = 2;
break;
case LevelDevelopManager.RoomType.shop:
roomDestinationIndex = 4;
break;
case LevelDevelopManager.RoomType.campfire:
roomDestinationIndex = 3;
break;
case LevelDevelopManager.RoomType.incident:
roomDestinationIndex = 3;
break;
case LevelDevelopManager.RoomType.treasure:
roomDestinationIndex = 3;
break;
}
}
public void JudgeCanEnter()
{
if (LevelDevelopManager.Instance.levelDevelopData.levelStep != line)
@ -53,7 +84,7 @@ public class LevelNode : MonoBehaviour
{
if (canEnter)
{
ScenceLoadManager.Instance.LoadTargetLevel(index);
ScenceLoadManager.Instance.LoadTargetLevel(roomDestinationIndex);
}
else
{

2
ColorlessWorld-2024-4-2/Assets/Scripts/MapManager.cs

@ -54,7 +54,7 @@ public class MapManager : Singleton<MapManager>
{
yield return StartCoroutine(GenerateProcess());
//test();
test();
}
IEnumerator GenerateProcess()

2
ColorlessWorld-2024-4-2/Assets/Scripts/MapManager.cs.meta

@ -4,7 +4,7 @@ MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 8
executionOrder: 18
icon: {instanceID: 0}
userData:
assetBundleName:

175
ColorlessWorld-2024-4-2/Assets/Scripts/UI/CardActiveSort/CardActiveSort.cs

@ -1,33 +1,42 @@
using System;
using System.Collections;
using System.Collections.Generic;
using Unity.VisualScripting;
using UnityEngine;
public class CardActiveSort : Singleton <CardActiveSort>
{
public int cardCount;
public GameObject targrtPoint;//Ô²ÐÄ
public Vector3 targrtPoint;//圆心
public float radius;//°ë¾¶
public float angleIncrement;//Æðʼ½Ç¶ÈÔöÁ¿
public GameObject preparePoint;
Camera mainCamera;
[Header ("¿¨ÅÆÎ»ÖÃ")]
public List<CardPointData> cardPointDataList= new List<CardPointData>();//ÆæÊý
public List<CardPointData> cardPointDataListEven = new List<CardPointData>();//żÊý
[Header("抽卡")]
public int drawCardCount;//抽卡数量
public List<GameObject> prepareHandCard = new List<GameObject>();//正在飞还没到手里的卡牌
public List<Vector3> newPointList = new List<Vector3>();//预先计算好的新位置
public float drawMoveSpeed=10f;
public bool canDrawCard;
private void Start()
{
targrtPoint = transform.localPosition - new Vector3(0, radius, 0);
Debug.Log(targrtPoint);
mainCamera = FindObjectOfType<Camera>();
}
void Update()
{
if(transform .childCount !=cardCount && transform .childCount >1)
/* if(transform .childCount > cardCount && transform .childCount >1)
{
ReflashCardPoint();
cardCount = this.transform.childCount;
}
// if(transform.childCount < cardCount)
// {
// cardCount = this.transform.childCount;
// }
if(transform.childCount < cardCount)
{
cardCount = this.transform.childCount;
}*/
}
public void ReflashCardPoint()
{
@ -60,28 +69,156 @@ public class CardActiveSort : Singleton <CardActiveSort>
{
currentangle += angleIncrement ;
cardEntitieList[i].transform.position = new Vector3(targrtPoint.transform.position.x-radius * Mathf.Cos(currentangle * Mathf.Deg2Rad), targrtPoint.transform.position.y+ radius * Mathf.Sin(currentangle * Mathf.Deg2Rad), 0);
cardEntitieList[i].transform.localPosition = new Vector3(targrtPoint.x - radius * Mathf.Cos(currentangle * Mathf.Deg2Rad), targrtPoint.y + radius * Mathf.Sin(currentangle * Mathf.Deg2Rad), 0);
Vector3 direction = targrtPoint - cardEntitieList[i].transform.localPosition;
float angle = Vector3.SignedAngle(-transform.InverseTransformDirection(cardEntitieList[i].transform.up), direction, transform.InverseTransformDirection(cardEntitieList[i].transform.forward));
cardEntitieList[i].GetComponent<RectTransform>().Rotate(0, 0, angle);
Debug .Log (angle);
}
//重置初始位置
foreach (var card in cardEntitieList)
{
CardOnMouseEnter cardOnMouseEnte = card.GetComponent<CardOnMouseEnter>();
cardOnMouseEnte.originPoint= cardOnMouseEnte.transform.localPosition;
cardOnMouseEnte.originRotation = cardOnMouseEnte.GetComponent <RectTransform >().localEulerAngles;
Vector3 direction = targrtPoint.transform.position- cardEntitieList[i].transform.position;
float angle = Vector3.SignedAngle(-cardEntitieList[i].transform.up, direction, cardEntitieList[i].transform.forward);
cardEntitieList[i].transform.Rotate(0, 0, angle);
cardOnMouseEnte.oringinIndex = cardOnMouseEnte.transform.GetSiblingIndex();
}
}
public IEnumerator ReflashCardPointWithDrawCards()
{
prepareHandCard.Clear();
canDrawCard = false;
List<RectTransform> cardEntitieList = new List<RectTransform>();
//将已有的手牌加入列表
for (int i = 0; i < transform.childCount; i++)
{
cardEntitieList.Add(transform.GetChild(i).GetComponent<RectTransform>());
}
int cardCount = cardEntitieList.Count + drawCardCount;
//停止移动
foreach (var card in cardEntitieList)
{
CardOnMouseEnter cardOnMouseEnte = card.GetComponent<CardOnMouseEnter>();
cardOnMouseEnte.StopAllCoroutines();
}
Debug.Log("抽卡排序");
float currentangle = 0;
if (cardCount % 2 == 0)
{
currentangle = 90 - (angleIncrement * (cardCount / 2 + 0.5f));
}
else
{
currentangle = 90 - (angleIncrement * (cardCount / 2 + 1));
}
newPointList.Clear();
//计算所有卡牌的新位置,包括将要抽取的
for (int i = 0; i < cardCount; i++)
{
currentangle += angleIncrement;
newPointList .Add ( new Vector3(targrtPoint.x - radius * Mathf.Cos(currentangle * Mathf.Deg2Rad), targrtPoint.y + radius * Mathf.Sin(currentangle * Mathf.Deg2Rad), 0));
}
//移动已有卡牌到新位置
for (int i = 0; i < cardEntitieList.Count; i++)
{
StartCoroutine(MoveCard(cardEntitieList, i));
yield return new WaitForSeconds(0.1f);
}
canDrawCard = true;//标识已经移动完成,让抽卡方法生成新卡牌
yield return new WaitUntil(() => prepareHandCard.Count == drawCardCount);//等待新抽的卡牌移动到位
//将新加进来的卡牌加入列表
for (int i = 0; i < prepareHandCard.Count; i++)
{
cardEntitieList.Add(prepareHandCard[i].GetComponent<RectTransform>());
}
/* for (int i = cardEntitieList.Count-drawCardCount; i < cardCount; i++)
{
bool move = true;
Vector3 startpos = cardEntitieList[i].transform.localPosition;
float time = 0;
while (move)
{
Vector3 direction = targrtPoint - cardEntitieList[i].transform.localPosition;
float angle = Vector3.SignedAngle(-transform.InverseTransformDirection(cardEntitieList[i].transform.up), direction, transform.InverseTransformDirection(cardEntitieList[i].transform.forward));
cardEntitieList[i].GetComponent<RectTransform>().Rotate(0, 0, angle);
cardEntitieList[i].transform.localPosition = Vector3.Lerp(startpos, newPointList[i], time += Time.deltaTime * drawMoveSpeed);
if (Vector3.Distance(cardEntitieList[i].transform.localPosition, newPointList[i]) < 0.01f)
{
move = false;
}
yield return null;
}
}*/
//ÖØÖóõʼλÖÃ
foreach (var card in cardEntitieList)
{
CardOnMouseEnter cardOnMouseEnte = card.GetComponent<CardOnMouseEnter>();
cardOnMouseEnte.originPoint= cardOnMouseEnte.transform.position ;
cardOnMouseEnte.originRotation = cardOnMouseEnte.GetComponent <RectTransform >().eulerAngles;
cardOnMouseEnte.originPoint = cardOnMouseEnte.transform.localPosition;
cardOnMouseEnte.originRotation = cardOnMouseEnte.GetComponent<RectTransform>().localEulerAngles;
cardOnMouseEnte.oringinIndex = cardOnMouseEnte.transform.GetSiblingIndex();
}
GameManager.Instance.onDraw = false;
}
IEnumerator MoveCard(List <RectTransform > cardEntitieList,int i)
{
bool move = true;
Vector3 startpos = cardEntitieList[i].transform.localPosition;
float time = 0;
while (move)
{
Vector3 direction = targrtPoint - cardEntitieList[i].transform.localPosition;
float angle = Vector3.SignedAngle(-transform.InverseTransformDirection(cardEntitieList[i].transform.up), direction, transform.InverseTransformDirection(cardEntitieList[i].transform.forward));
cardEntitieList[i].GetComponent<RectTransform>().Rotate(0, 0, angle);
cardEntitieList[i].transform.localPosition = Vector3.Lerp(cardEntitieList[i].transform.localPosition, newPointList[i], Time.deltaTime * drawMoveSpeed);
if (Vector3.Distance(cardEntitieList[i].transform.localPosition, newPointList[i]) < 0.5f)
{
move = false;
cardEntitieList[i].transform.localPosition = newPointList[i];
}
yield return null;
}
}
[System .Serializable ]
public class CardPointData
{
public Vector2 pivot;
public float rotationZ;
public Vector3 originPoint;
public Vector3 originRotation;
}
public CardPointData CreateCardPointData (Vector3 originPoint,Vector3 originRotation)
{
CardPointData currentCardPointData = new CardPointData();
currentCardPointData.originPoint = originPoint;
currentCardPointData.originRotation = originRotation;
return currentCardPointData;
}
public Vector3 ScreenPointToWorldPoint(Vector2 screenPoint, float planeZ)
{
// Camera.main 世界摄像机
Vector3 position = new Vector3(screenPoint.x, screenPoint.y, planeZ);
Vector3 worldPoint = Camera.main.ScreenToWorldPoint(position);
return worldPoint;
}
}

17
ColorlessWorld-2024-4-2/Assets/Scripts/UI/EnemyPlanActionUI.cs

@ -20,17 +20,7 @@ public class EnemyPlanActionUI : MonoBehaviour
}
private void OnMouseEnter()
{
if (TurnMaster.Instance.turn == TurnMaster.Turn.playerTurn &&GameManager .Instance .onDrag ==false )
{
MapUnity currentMapUnity = GameManager.Instance.X[enemyNode.positionX].Y[enemyNode.positionY];
enemyNode.currentActionScript.ShowAttackRange(enemyNode);
enemyNode.lineAim.SetActive(true);
enemyNode.lineAim.GetComponent<EnemyAimLine>().Appear();
}
}
private void OnMouseOver()
{
@ -45,12 +35,7 @@ public class EnemyPlanActionUI : MonoBehaviour
planPanle.SetActive(false);
enemyNode.lineAim.SetActive(false);
//±éÀúÓ°Ïì³Ø±äÉ«
if(enemyNode .currentActionScript .isAoe==false )
{
enemyNode.currentActionScript.FadeAttackRange(enemyNode);
}
//enemyNode.rangePool.Clear();
}

41
ColorlessWorld-2024-4-2/Assets/Scripts/UI/EnemyUIBar.cs

@ -58,23 +58,42 @@ public class EnemyUIBar : MonoBehaviour
//報炎傅唯
private void OnMouseOver()
{
EnemyManager.Instance. statePanel.SetActive(true);
EnemyManager.Instance.statePanel.transform.position = Mouse.current.position.value;
EnemyState_SO enemyState = enemyNode.EnemyState;
EnemyManager.Instance.nameText.text = enemyState.enemyName;
EnemyManager.Instance.enemyIcon.sprite = enemyState.enemyIcon;
EnemyManager.Instance.hPText.text = enemyState.currentHP.ToString() + "/" + enemyState.maxHP.ToString();
EnemyManager.Instance.attackText.text = (enemyState.damage * enemyState.damageMultiplier).ToString ();
EnemyManager.Instance.stepRangeText.text = (enemyState.stepRange * enemyState.stepRangeMultiplier).ToString();
EnemyManager.Instance.attackRangeText.text = enemyState.attackRange.ToString();
EnemyManager.Instance.speedText.text = enemyState.speed.ToString();
/* EnemyManager.Instance. statePanel.SetActive(true);
EnemyManager.Instance.statePanel.transform.position = Mouse.current.position.value;
EnemyState_SO enemyState = enemyNode.EnemyState;
EnemyManager.Instance.nameText.text = enemyState.enemyName;
EnemyManager.Instance.enemyIcon.sprite = enemyState.enemyIcon;
EnemyManager.Instance.hPText.text = enemyState.currentHP.ToString() + "/" + enemyState.maxHP.ToString();
EnemyManager.Instance.attackText.text = (enemyState.damage * enemyState.damageMultiplier).ToString ();
EnemyManager.Instance.stepRangeText.text = (enemyState.stepRange * enemyState.stepRangeMultiplier).ToString();
EnemyManager.Instance.attackRangeText.text = enemyState.attackRange.ToString();
EnemyManager.Instance.speedText.text = enemyState.speed.ToString();
*/
if (TurnMaster.Instance.turn == TurnMaster.Turn.playerTurn && GameManager.Instance.onDrag == false)
{
MapUnity currentMapUnity = GameManager.Instance.X[enemyNode.positionX].Y[enemyNode.positionY];
enemyNode.currentActionScript.ShowAttackRange(enemyNode);
enemyNode.lineAim.SetActive(true);
enemyNode.lineAim.GetComponent<EnemyAimLine>().Appear();
}
}
private void OnMouseExit()
{
EnemyManager.Instance.statePanel.SetActive(false);
enemyNode.lineAim.SetActive(false);
//±éÀúÓ°Ïì³Ø±äÉ«
if (enemyNode.currentActionScript.isAoe == false)
{
enemyNode.currentActionScript.FadeAttackRange(enemyNode);
}
}

2
ColorlessWorld-2024-4-2/Assets/Scripts/manager/SettlementManager.cs

@ -132,7 +132,7 @@ public class SettlementManager : Singleton<SettlementManager>
}
else
{
TurnMaster.Instance.drawCards(int.Parse(kvp.Value));
StartCoroutine( TurnMaster.Instance.drawCards(int.Parse(kvp.Value)));
yield return StartCoroutine(TurnMaster.Instance.MoveCards());
}
break;

2
ColorlessWorld-2024-4-2/ProjectSettings/DynamicsManager.asset

@ -18,7 +18,7 @@ PhysicsManager:
m_ClothInterCollisionDistance: 0.1
m_ClothInterCollisionStiffness: 0.2
m_ContactsGeneration: 1
m_LayerCollisionMatrix: fff0fffffff0fffffff0fffffffffffffff0fffffff0fffffff0fffffff1ffff88f2ffff08f1ffff08f0ffff08f0ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
m_LayerCollisionMatrix: ffe0ffffffe0ffffffe0ffffffffffffffe0ffffffe0ffffffe0ffffffe1ffff88e2ffff08e1ffff08e0ffff08e0ffff08e0ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
m_SimulationMode: 0
m_AutoSyncTransforms: 0
m_ReuseCollisionCallbacks: 0

6
ColorlessWorld-2024-4-2/ProjectSettings/EditorBuildSettings.asset

@ -14,4 +14,10 @@ EditorBuildSettings:
- enabled: 1
path: Assets/Scenes/SampleScene.unity
guid: 99c9720ab356a0642a771bea13969a05
- enabled: 1
path: Assets/Scenes/Event.unity
guid: 91294b7ebb9561347bb574c8beb90aa2
- enabled: 1
path: Assets/Scenes/Shop.unity
guid: 7c134344a5447774887852bfe2ec1037
m_configObjects: {}

2
ColorlessWorld-2024-4-2/ProjectSettings/TagManager.asset

@ -19,7 +19,7 @@ TagManager:
- Enemy
- EnemyUI
- Block
-
- BackGround
-
-
-

Loading…
Cancel
Save