Browse Source

新怪物

pull/52/head
yjm484 1 year ago
parent
commit
77b5525e20
  1. 32
      ColorlessWorld-2024-4-2/Assets/GameDate/Enemy/BlackSheep.asset
  2. 8
      ColorlessWorld-2024-4-2/Assets/GameDate/Enemy/BlackSheep.asset.meta
  3. 32
      ColorlessWorld-2024-4-2/Assets/GameDate/Enemy/DarkCloud.asset
  4. 8
      ColorlessWorld-2024-4-2/Assets/GameDate/Enemy/DarkCloud.asset.meta
  5. 32
      ColorlessWorld-2024-4-2/Assets/GameDate/Enemy/Grinfiend.asset
  6. 8
      ColorlessWorld-2024-4-2/Assets/GameDate/Enemy/Grinfiend.asset.meta
  7. 32
      ColorlessWorld-2024-4-2/Assets/GameDate/Enemy/Mushroom.asset
  8. 8
      ColorlessWorld-2024-4-2/Assets/GameDate/Enemy/Mushroom.asset.meta
  9. 32
      ColorlessWorld-2024-4-2/Assets/GameDate/Enemy/Polymaw.asset
  10. 8
      ColorlessWorld-2024-4-2/Assets/GameDate/Enemy/Polymaw.asset.meta
  11. 2
      ColorlessWorld-2024-4-2/Assets/GameDate/cardDeckList.asset
  12. 9
      ColorlessWorld-2024-4-2/Assets/Prefab/CardPrefab/Card_v04-Common.prefab
  13. 203
      ColorlessWorld-2024-4-2/Assets/Prefab/CardPrefab/Fun/Fun.prefab
  14. 142
      ColorlessWorld-2024-4-2/Assets/Prefab/CardPrefab/Fun/Node.prefab
  15. 2
      ColorlessWorld-2024-4-2/Assets/Prefab/CardPrefab/Fun/Node.prefab.meta
  16. 242
      ColorlessWorld-2024-4-2/Assets/Prefab/CardPrefab/Fun/NodeResult.prefab
  17. 7
      ColorlessWorld-2024-4-2/Assets/Prefab/CardPrefab/Fun/NodeResult.prefab.meta
  18. 81
      ColorlessWorld-2024-4-2/Assets/Prefab/CardPrefab/Fun/Val.prefab
  19. 7
      ColorlessWorld-2024-4-2/Assets/Prefab/CardPrefab/Fun/Val.prefab.meta
  20. 381
      ColorlessWorld-2024-4-2/Assets/Prefab/EnemyPrefab/BlackSheep.prefab
  21. 7
      ColorlessWorld-2024-4-2/Assets/Prefab/EnemyPrefab/BlackSheep.prefab.meta
  22. 381
      ColorlessWorld-2024-4-2/Assets/Prefab/EnemyPrefab/DarkCloud.prefab
  23. 7
      ColorlessWorld-2024-4-2/Assets/Prefab/EnemyPrefab/DarkCloud.prefab.meta
  24. 12
      ColorlessWorld-2024-4-2/Assets/Prefab/EnemyPrefab/DrowsyShroom.prefab
  25. 382
      ColorlessWorld-2024-4-2/Assets/Prefab/EnemyPrefab/Grinfiend.prefab
  26. 7
      ColorlessWorld-2024-4-2/Assets/Prefab/EnemyPrefab/Grinfiend.prefab.meta
  27. 382
      ColorlessWorld-2024-4-2/Assets/Prefab/EnemyPrefab/Mushroom.prefab
  28. 7
      ColorlessWorld-2024-4-2/Assets/Prefab/EnemyPrefab/Mushroom.prefab.meta
  29. 382
      ColorlessWorld-2024-4-2/Assets/Prefab/EnemyPrefab/Polymaw.prefab
  30. 7
      ColorlessWorld-2024-4-2/Assets/Prefab/EnemyPrefab/Polymaw.prefab.meta
  31. 53
      ColorlessWorld-2024-4-2/Assets/Scenes/SampleScene.unity
  32. 29
      ColorlessWorld-2024-4-2/Assets/Scripts/Buff/Buff_Wet.cs
  33. 11
      ColorlessWorld-2024-4-2/Assets/Scripts/Buff/Buff_Wet.cs.meta
  34. 2
      ColorlessWorld-2024-4-2/Assets/Scripts/Card/CardDrag.cs
  35. 119
      ColorlessWorld-2024-4-2/Assets/Scripts/Card/CardEntity.cs
  36. 29
      ColorlessWorld-2024-4-2/Assets/Scripts/Card/CardOriginalDataList.cs
  37. 73
      ColorlessWorld-2024-4-2/Assets/Scripts/Card/CardResourcesManager.cs
  38. 291
      ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/BlackSheep.cs
  39. 11
      ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/BlackSheep.cs.meta
  40. 300
      ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/DarkCloud.cs
  41. 11
      ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/DarkCloud.cs.meta
  42. 91
      ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/EnemyNode.cs
  43. 319
      ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/Grinfiend.cs
  44. 11
      ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/Grinfiend.cs.meta
  45. 370
      ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/Mushroom.cs
  46. 11
      ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/Mushroom.cs.meta
  47. 307
      ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/Polymaw.cs
  48. 11
      ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/Polymaw.cs.meta
  49. 2
      ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/SkullGuardian.cs
  50. 69
      ColorlessWorld-2024-4-2/Assets/Scripts/Handler/EffectRangeHandler3_4.cs
  51. 11
      ColorlessWorld-2024-4-2/Assets/Scripts/Handler/EffectRangeHandler3_4.cs.meta
  52. 71
      ColorlessWorld-2024-4-2/Assets/Scripts/Handler/EffectRangeHandler5_4.cs
  53. 11
      ColorlessWorld-2024-4-2/Assets/Scripts/Handler/EffectRangeHandler5_4.cs.meta
  54. 71
      ColorlessWorld-2024-4-2/Assets/Scripts/Handler/EffectRangeHandler5_5.cs
  55. 11
      ColorlessWorld-2024-4-2/Assets/Scripts/Handler/EffectRangeHandler5_5.cs.meta
  56. 72
      ColorlessWorld-2024-4-2/Assets/Scripts/Handler/EffectRangeHandler6_4.cs
  57. 11
      ColorlessWorld-2024-4-2/Assets/Scripts/Handler/EffectRangeHandler6_4.cs.meta
  58. 73
      ColorlessWorld-2024-4-2/Assets/Scripts/Handler/EffectRangeHandler6_5.cs
  59. 11
      ColorlessWorld-2024-4-2/Assets/Scripts/Handler/EffectRangeHandler6_5.cs.meta
  60. 72
      ColorlessWorld-2024-4-2/Assets/Scripts/Handler/EffectRangeHandler6_6.cs
  61. 11
      ColorlessWorld-2024-4-2/Assets/Scripts/Handler/EffectRangeHandler6_6.cs.meta
  62. 72
      ColorlessWorld-2024-4-2/Assets/Scripts/Handler/EffectRangeHandler6_7.cs
  63. 11
      ColorlessWorld-2024-4-2/Assets/Scripts/Handler/EffectRangeHandler6_7.cs.meta
  64. 74
      ColorlessWorld-2024-4-2/Assets/Scripts/Handler/EffectRangeHandler7_3.cs
  65. 11
      ColorlessWorld-2024-4-2/Assets/Scripts/Handler/EffectRangeHandler7_3.cs.meta
  66. 35
      ColorlessWorld-2024-4-2/Assets/Scripts/Handler/EffectRangeHandlerBase.cs
  67. 2
      ColorlessWorld-2024-4-2/Assets/Scripts/Tool/AbnormalCondition.cs
  68. 4
      ColorlessWorld-2024-4-2/Assets/Scripts/Tool/CardFunction.cs
  69. 20
      ColorlessWorld-2024-4-2/Assets/Scripts/Tool/EffectRange.cs
  70. 2
      ColorlessWorld-2024-4-2/Assets/Scripts/Tool/EnemyPlanUIFunction.cs
  71. 45
      ColorlessWorld-2024-4-2/Assets/Scripts/Tool/Name.cs
  72. 8
      ColorlessWorld-2024-4-2/Assets/Scripts/Tool/getNodeTools.cs
  73. 1
      ColorlessWorld-2024-4-2/Assets/Scripts/manager/BuffDataManager.cs
  74. 70
      ColorlessWorld-2024-4-2/Assets/Scripts/manager/CardManager.cs
  75. 21
      ColorlessWorld-2024-4-2/Assets/Scripts/manager/SettlementManager.cs
  76. 11
      ColorlessWorld-2024-4-2/Assets/data/card_data_3.csv

32
ColorlessWorld-2024-4-2/Assets/GameDate/Enemy/BlackSheep.asset

@ -0,0 +1,32 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 20f70984b262f8d4382bf5262dddb83e, type: 3}
m_Name: BlackSheep
m_EditorClassIdentifier:
enemyName: skullGuardian
enemyIcon: {fileID: 21300000, guid: bd8f3094e7ef01148bddd857e065ebc3, type: 3}
stepRange: 3
stepRangeMultiplier: 1
speed: 2
maxMoveCoolDown: 0
currentMoveCoolDown: 0
shieldValue: 0
upShieldValue: 5
maxHP: 15
currentHP: 15
sufferDamageMultiply: 1
colourType: 0
maxSkillCoolDown: 3
currentSkillCoolDown: 3
damageMultiplier: 1
damage: 5
attackRange: 1

8
ColorlessWorld-2024-4-2/Assets/GameDate/Enemy/BlackSheep.asset.meta

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: af4e3351b767d68459d5c6daff8a8d3f
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:

32
ColorlessWorld-2024-4-2/Assets/GameDate/Enemy/DarkCloud.asset

@ -0,0 +1,32 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 20f70984b262f8d4382bf5262dddb83e, type: 3}
m_Name: DarkCloud
m_EditorClassIdentifier:
enemyName: skullGuardian
enemyIcon: {fileID: 21300000, guid: bd8f3094e7ef01148bddd857e065ebc3, type: 3}
stepRange: 2
stepRangeMultiplier: 1
speed: 1
maxMoveCoolDown: 0
currentMoveCoolDown: 0
shieldValue: 0
upShieldValue: 7
maxHP: 0
currentHP: 25
sufferDamageMultiply: 1
colourType: 0
maxSkillCoolDown: 3
currentSkillCoolDown: 3
damageMultiplier: 1
damage: 4
attackRange: 3

8
ColorlessWorld-2024-4-2/Assets/GameDate/Enemy/DarkCloud.asset.meta

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 8f21c58f8d6a27d46b17e0f301860cd2
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:

32
ColorlessWorld-2024-4-2/Assets/GameDate/Enemy/Grinfiend.asset

@ -0,0 +1,32 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 20f70984b262f8d4382bf5262dddb83e, type: 3}
m_Name: Grinfiend
m_EditorClassIdentifier:
enemyName: skullGuardian
enemyIcon: {fileID: 21300000, guid: bd8f3094e7ef01148bddd857e065ebc3, type: 3}
stepRange: 2
stepRangeMultiplier: 1
speed: 5
maxMoveCoolDown: 0
currentMoveCoolDown: 0
shieldValue: 0
upShieldValue: 7
maxHP: 20
currentHP: 20
sufferDamageMultiply: 1
colourType: 0
maxSkillCoolDown: 3
currentSkillCoolDown: 3
damageMultiplier: 1
damage: 3
attackRange: 2

8
ColorlessWorld-2024-4-2/Assets/GameDate/Enemy/Grinfiend.asset.meta

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 1160ee60e34650743a819c67f31ac225
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:

32
ColorlessWorld-2024-4-2/Assets/GameDate/Enemy/Mushroom.asset

@ -0,0 +1,32 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 20f70984b262f8d4382bf5262dddb83e, type: 3}
m_Name: Mushroom
m_EditorClassIdentifier:
enemyName: skullGuardian
enemyIcon: {fileID: 21300000, guid: bd8f3094e7ef01148bddd857e065ebc3, type: 3}
stepRange: 3
stepRangeMultiplier: 1
speed: 4
maxMoveCoolDown: 0
currentMoveCoolDown: 0
shieldValue: 0
upShieldValue: 7
maxHP: 15
currentHP: 15
sufferDamageMultiply: 1
colourType: 0
maxSkillCoolDown: 3
currentSkillCoolDown: 3
damageMultiplier: 1
damage: 3
attackRange: 1

8
ColorlessWorld-2024-4-2/Assets/GameDate/Enemy/Mushroom.asset.meta

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 09e1bcd7742ccab47bd18261f81a1550
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:

32
ColorlessWorld-2024-4-2/Assets/GameDate/Enemy/Polymaw.asset

@ -0,0 +1,32 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 20f70984b262f8d4382bf5262dddb83e, type: 3}
m_Name: Polymaw
m_EditorClassIdentifier:
enemyName: skullGuardian
enemyIcon: {fileID: 21300000, guid: bd8f3094e7ef01148bddd857e065ebc3, type: 3}
stepRange: 2
stepRangeMultiplier: 1
speed: 1
maxMoveCoolDown: 0
currentMoveCoolDown: 0
shieldValue: 0
upShieldValue: 5
maxHP: 35
currentHP: 35
sufferDamageMultiply: 1
colourType: 0
maxSkillCoolDown: 3
currentSkillCoolDown: 3
damageMultiplier: 1
damage: 8
attackRange: 1

8
ColorlessWorld-2024-4-2/Assets/GameDate/Enemy/Polymaw.asset.meta

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: a9962950842bb6847acaa06e18b7a10a
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:

2
ColorlessWorld-2024-4-2/Assets/GameDate/cardDeckList.asset

@ -18,6 +18,6 @@ MonoBehaviour:
- 1002
- 1002
- 1003
- 1003
- 1111
- 1004
- 1004

9
ColorlessWorld-2024-4-2/Assets/Prefab/CardPrefab/Card_v04-Common.prefab

@ -96,7 +96,7 @@ MonoBehaviour:
m_ChildAlignment: 4
m_StartCorner: 0
m_StartAxis: 0
m_CellSize: {x: 25, y: 20}
m_CellSize: {x: 10, y: 20}
m_Spacing: {x: 0, y: 0}
m_Constraint: 0
m_ConstraintCount: 2
@ -406,6 +406,7 @@ MonoBehaviour:
castRange: {fileID: 5584794665957624749}
colorConditon: {fileID: 4414271769496108467, guid: 1fd0d425cafce3f4588b40c9cfe1ac25,
type: 3}
cardDataSummary: {fileID: 688789690455570313}
--- !u!114 &5545682449418996990
MonoBehaviour:
m_ObjectHideFlags: 0
@ -637,7 +638,7 @@ MonoBehaviour:
m_ChildAlignment: 0
m_StartCorner: 0
m_StartAxis: 0
m_CellSize: {x: 30, y: 20}
m_CellSize: {x: 10, y: 20}
m_Spacing: {x: 0, y: 0}
m_Constraint: 0
m_ConstraintCount: 2
@ -831,7 +832,7 @@ MonoBehaviour:
m_ChildAlignment: 0
m_StartCorner: 0
m_StartAxis: 0
m_CellSize: {x: 30, y: 20}
m_CellSize: {x: 10, y: 20}
m_Spacing: {x: 0, y: 0}
m_Constraint: 0
m_ConstraintCount: 2
@ -1085,7 +1086,7 @@ MonoBehaviour:
m_ChildAlignment: 0
m_StartCorner: 0
m_StartAxis: 0
m_CellSize: {x: 30, y: 20}
m_CellSize: {x: 15, y: 20}
m_Spacing: {x: 0, y: 0}
m_Constraint: 0
m_ConstraintCount: 2

203
ColorlessWorld-2024-4-2/Assets/Prefab/CardPrefab/Fun/Fun.prefab

@ -1,84 +1,5 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &76789426523473230
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 784601012073086527}
- component: {fileID: 2398296442944049121}
- component: {fileID: 7721055263591341660}
m_Layer: 0
m_Name: FunVal
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &784601012073086527
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 76789426523473230}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 8199308902575652709}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0.5}
m_AnchorMax: {x: 0, y: 0.5}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 20, y: 20}
m_Pivot: {x: 0, y: 0.5}
--- !u!222 &2398296442944049121
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 76789426523473230}
m_CullTransparentMesh: 1
--- !u!114 &7721055263591341660
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 76789426523473230}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_FontData:
m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
m_FontSize: 14
m_FontStyle: 0
m_BestFit: 0
m_MinSize: 10
m_MaxSize: 40
m_Alignment: 0
m_AlignByGeometry: 0
m_RichText: 1
m_HorizontalOverflow: 0
m_VerticalOverflow: 0
m_LineSpacing: 1
m_Text: 5
--- !u!1 &4818544559399868804
GameObject:
m_ObjectHideFlags: 0
@ -200,3 +121,127 @@ MonoBehaviour:
m_FillOrigin: 0
m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 1
--- !u!1001 &2262797742357571770
PrefabInstance:
m_ObjectHideFlags: 0
serializedVersion: 2
m_Modification:
serializedVersion: 3
m_TransformParent: {fileID: 8199308902575652709}
m_Modifications:
- target: {fileID: 1550475189794395781, guid: ef66a5db78741da4d93f90fcdcb7176a,
type: 3}
propertyPath: m_Pivot.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 1550475189794395781, guid: ef66a5db78741da4d93f90fcdcb7176a,
type: 3}
propertyPath: m_Pivot.y
value: 0.5
objectReference: {fileID: 0}
- target: {fileID: 1550475189794395781, guid: ef66a5db78741da4d93f90fcdcb7176a,
type: 3}
propertyPath: m_AnchorMax.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 1550475189794395781, guid: ef66a5db78741da4d93f90fcdcb7176a,
type: 3}
propertyPath: m_AnchorMax.y
value: 0.5
objectReference: {fileID: 0}
- target: {fileID: 1550475189794395781, guid: ef66a5db78741da4d93f90fcdcb7176a,
type: 3}
propertyPath: m_AnchorMin.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 1550475189794395781, guid: ef66a5db78741da4d93f90fcdcb7176a,
type: 3}
propertyPath: m_AnchorMin.y
value: 0.5
objectReference: {fileID: 0}
- target: {fileID: 1550475189794395781, guid: ef66a5db78741da4d93f90fcdcb7176a,
type: 3}
propertyPath: m_SizeDelta.x
value: 20
objectReference: {fileID: 0}
- target: {fileID: 1550475189794395781, guid: ef66a5db78741da4d93f90fcdcb7176a,
type: 3}
propertyPath: m_SizeDelta.y
value: 20
objectReference: {fileID: 0}
- target: {fileID: 1550475189794395781, guid: ef66a5db78741da4d93f90fcdcb7176a,
type: 3}
propertyPath: m_LocalPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 1550475189794395781, guid: ef66a5db78741da4d93f90fcdcb7176a,
type: 3}
propertyPath: m_LocalPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 1550475189794395781, guid: ef66a5db78741da4d93f90fcdcb7176a,
type: 3}
propertyPath: m_LocalPosition.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 1550475189794395781, guid: ef66a5db78741da4d93f90fcdcb7176a,
type: 3}
propertyPath: m_LocalRotation.w
value: 1
objectReference: {fileID: 0}
- target: {fileID: 1550475189794395781, guid: ef66a5db78741da4d93f90fcdcb7176a,
type: 3}
propertyPath: m_LocalRotation.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 1550475189794395781, guid: ef66a5db78741da4d93f90fcdcb7176a,
type: 3}
propertyPath: m_LocalRotation.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 1550475189794395781, guid: ef66a5db78741da4d93f90fcdcb7176a,
type: 3}
propertyPath: m_LocalRotation.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 1550475189794395781, guid: ef66a5db78741da4d93f90fcdcb7176a,
type: 3}
propertyPath: m_AnchoredPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 1550475189794395781, guid: ef66a5db78741da4d93f90fcdcb7176a,
type: 3}
propertyPath: m_AnchoredPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 1550475189794395781, guid: ef66a5db78741da4d93f90fcdcb7176a,
type: 3}
propertyPath: m_LocalEulerAnglesHint.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 1550475189794395781, guid: ef66a5db78741da4d93f90fcdcb7176a,
type: 3}
propertyPath: m_LocalEulerAnglesHint.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 1550475189794395781, guid: ef66a5db78741da4d93f90fcdcb7176a,
type: 3}
propertyPath: m_LocalEulerAnglesHint.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 2195466461428280820, guid: ef66a5db78741da4d93f90fcdcb7176a,
type: 3}
propertyPath: m_Name
value: FunVal
objectReference: {fileID: 0}
m_RemovedComponents: []
m_RemovedGameObjects: []
m_AddedGameObjects: []
m_AddedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: ef66a5db78741da4d93f90fcdcb7176a, type: 3}
--- !u!224 &784601012073086527 stripped
RectTransform:
m_CorrespondingSourceObject: {fileID: 1550475189794395781, guid: ef66a5db78741da4d93f90fcdcb7176a,
type: 3}
m_PrefabInstance: {fileID: 2262797742357571770}
m_PrefabAsset: {fileID: 0}

142
ColorlessWorld-2024-4-2/Assets/Prefab/CardPrefab/Fun/Node.prefab

@ -1,6 +1,6 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &3463743346225269131
--- !u!1 &2948337350984551391
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
@ -8,7 +8,9 @@ GameObject:
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 7830476438711236699}
- component: {fileID: 8352083469037628100}
- component: {fileID: 819172502198749263}
- component: {fileID: 4690037205236639509}
m_Layer: 0
m_Name: Node
m_TagString: Untagged
@ -16,79 +18,40 @@ GameObject:
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &7830476438711236699
--- !u!224 &8352083469037628100
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3463743346225269131}
m_GameObject: {fileID: 2948337350984551391}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 3989144342279409849}
- {fileID: 2701269701150204204}
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!1 &7808783523905008034
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 3989144342279409849}
- component: {fileID: 5758572311601459762}
- component: {fileID: 406060572217073000}
m_Layer: 0
m_Name: Node
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &3989144342279409849
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7808783523905008034}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_ConstrainProportionsScale: 1
m_Children: []
m_Father: {fileID: 7830476438711236699}
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 0, y: 1}
m_AnchoredPosition: {x: 7, y: -7.9}
m_AnchoredPosition: {x: 7, y: -7.9000244}
m_SizeDelta: {x: 7.5, y: 7.5}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &5758572311601459762
--- !u!222 &819172502198749263
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7808783523905008034}
m_GameObject: {fileID: 2948337350984551391}
m_CullTransparentMesh: 1
--- !u!114 &406060572217073000
--- !u!114 &4690037205236639509
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7808783523905008034}
m_GameObject: {fileID: 2948337350984551391}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
@ -112,82 +75,3 @@ MonoBehaviour:
m_FillOrigin: 0
m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 1
--- !u!1 &8737556827872546065
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 2701269701150204204}
- component: {fileID: 6661400064922555463}
- component: {fileID: 393080899069940464}
m_Layer: 0
m_Name: NodeDescription
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &2701269701150204204
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8737556827872546065}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 7830476438711236699}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 0, y: 1}
m_AnchoredPosition: {x: 18.13, y: -16.57}
m_SizeDelta: {x: 20, y: 20}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &6661400064922555463
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8737556827872546065}
m_CullTransparentMesh: 1
--- !u!114 &393080899069940464
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8737556827872546065}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 0.122641504, g: 0.10355108, b: 0.10355108, a: 1}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_FontData:
m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
m_FontSize: 8
m_FontStyle: 0
m_BestFit: 0
m_MinSize: 0
m_MaxSize: 40
m_Alignment: 0
m_AlignByGeometry: 0
m_RichText: 1
m_HorizontalOverflow: 0
m_VerticalOverflow: 0
m_LineSpacing: 1
m_Text: 1

2
ColorlessWorld-2024-4-2/Assets/Prefab/CardPrefab/Fun/Node.prefab.meta

@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: 38f4837b968f61e4b94afcb5535f877c
guid: f4c36c2c021e0954897974b7ad041903
PrefabImporter:
externalObjects: {}
userData:

242
ColorlessWorld-2024-4-2/Assets/Prefab/CardPrefab/Fun/NodeResult.prefab

@ -0,0 +1,242 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &3463743346225269131
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 7830476438711236699}
m_Layer: 0
m_Name: NodeResult
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &7830476438711236699
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3463743346225269131}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 3989144342279409849}
- {fileID: 2701269701150204204}
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!1 &8737556827872546065
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 2701269701150204204}
- component: {fileID: 6661400064922555463}
- component: {fileID: 393080899069940464}
m_Layer: 0
m_Name: NodeDescription
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &2701269701150204204
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8737556827872546065}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 7830476438711236699}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 0, y: 1}
m_AnchoredPosition: {x: 18.13, y: -16.57}
m_SizeDelta: {x: 20, y: 20}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &6661400064922555463
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8737556827872546065}
m_CullTransparentMesh: 1
--- !u!114 &393080899069940464
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8737556827872546065}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 0.122641504, g: 0.10355108, b: 0.10355108, a: 1}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_FontData:
m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
m_FontSize: 8
m_FontStyle: 0
m_BestFit: 0
m_MinSize: 0
m_MaxSize: 40
m_Alignment: 0
m_AlignByGeometry: 0
m_RichText: 1
m_HorizontalOverflow: 0
m_VerticalOverflow: 0
m_LineSpacing: 1
m_Text: 1
--- !u!1001 &4950799650148104829
PrefabInstance:
m_ObjectHideFlags: 0
serializedVersion: 2
m_Modification:
serializedVersion: 3
m_TransformParent: {fileID: 7830476438711236699}
m_Modifications:
- target: {fileID: 2948337350984551391, guid: f4c36c2c021e0954897974b7ad041903,
type: 3}
propertyPath: m_Name
value: Node
objectReference: {fileID: 0}
- target: {fileID: 8352083469037628100, guid: f4c36c2c021e0954897974b7ad041903,
type: 3}
propertyPath: m_Pivot.x
value: 0.5
objectReference: {fileID: 0}
- target: {fileID: 8352083469037628100, guid: f4c36c2c021e0954897974b7ad041903,
type: 3}
propertyPath: m_Pivot.y
value: 0.5
objectReference: {fileID: 0}
- target: {fileID: 8352083469037628100, guid: f4c36c2c021e0954897974b7ad041903,
type: 3}
propertyPath: m_AnchorMax.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 8352083469037628100, guid: f4c36c2c021e0954897974b7ad041903,
type: 3}
propertyPath: m_AnchorMax.y
value: 1
objectReference: {fileID: 0}
- target: {fileID: 8352083469037628100, guid: f4c36c2c021e0954897974b7ad041903,
type: 3}
propertyPath: m_AnchorMin.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 8352083469037628100, guid: f4c36c2c021e0954897974b7ad041903,
type: 3}
propertyPath: m_AnchorMin.y
value: 1
objectReference: {fileID: 0}
- target: {fileID: 8352083469037628100, guid: f4c36c2c021e0954897974b7ad041903,
type: 3}
propertyPath: m_SizeDelta.x
value: 7.5
objectReference: {fileID: 0}
- target: {fileID: 8352083469037628100, guid: f4c36c2c021e0954897974b7ad041903,
type: 3}
propertyPath: m_SizeDelta.y
value: 7.5
objectReference: {fileID: 0}
- target: {fileID: 8352083469037628100, guid: f4c36c2c021e0954897974b7ad041903,
type: 3}
propertyPath: m_LocalPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 8352083469037628100, guid: f4c36c2c021e0954897974b7ad041903,
type: 3}
propertyPath: m_LocalPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 8352083469037628100, guid: f4c36c2c021e0954897974b7ad041903,
type: 3}
propertyPath: m_LocalPosition.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 8352083469037628100, guid: f4c36c2c021e0954897974b7ad041903,
type: 3}
propertyPath: m_LocalRotation.w
value: 1
objectReference: {fileID: 0}
- target: {fileID: 8352083469037628100, guid: f4c36c2c021e0954897974b7ad041903,
type: 3}
propertyPath: m_LocalRotation.x
value: -0
objectReference: {fileID: 0}
- target: {fileID: 8352083469037628100, guid: f4c36c2c021e0954897974b7ad041903,
type: 3}
propertyPath: m_LocalRotation.y
value: -0
objectReference: {fileID: 0}
- target: {fileID: 8352083469037628100, guid: f4c36c2c021e0954897974b7ad041903,
type: 3}
propertyPath: m_LocalRotation.z
value: -0
objectReference: {fileID: 0}
- target: {fileID: 8352083469037628100, guid: f4c36c2c021e0954897974b7ad041903,
type: 3}
propertyPath: m_AnchoredPosition.x
value: 7
objectReference: {fileID: 0}
- target: {fileID: 8352083469037628100, guid: f4c36c2c021e0954897974b7ad041903,
type: 3}
propertyPath: m_AnchoredPosition.y
value: -7.9
objectReference: {fileID: 0}
- target: {fileID: 8352083469037628100, guid: f4c36c2c021e0954897974b7ad041903,
type: 3}
propertyPath: m_LocalEulerAnglesHint.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 8352083469037628100, guid: f4c36c2c021e0954897974b7ad041903,
type: 3}
propertyPath: m_LocalEulerAnglesHint.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 8352083469037628100, guid: f4c36c2c021e0954897974b7ad041903,
type: 3}
propertyPath: m_LocalEulerAnglesHint.z
value: 0
objectReference: {fileID: 0}
m_RemovedComponents: []
m_RemovedGameObjects: []
m_AddedGameObjects: []
m_AddedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: f4c36c2c021e0954897974b7ad041903, type: 3}
--- !u!224 &3989144342279409849 stripped
RectTransform:
m_CorrespondingSourceObject: {fileID: 8352083469037628100, guid: f4c36c2c021e0954897974b7ad041903,
type: 3}
m_PrefabInstance: {fileID: 4950799650148104829}
m_PrefabAsset: {fileID: 0}

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

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

81
ColorlessWorld-2024-4-2/Assets/Prefab/CardPrefab/Fun/Val.prefab

@ -0,0 +1,81 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &2195466461428280820
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1550475189794395781}
- component: {fileID: 4480913845061429083}
- component: {fileID: 8377153066574739174}
m_Layer: 0
m_Name: Val
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &1550475189794395781
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2195466461428280820}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5}
m_AnchoredPosition: {x: -10, y: 0.04}
m_SizeDelta: {x: 10, y: 20}
m_Pivot: {x: 0, y: 0.5}
--- !u!222 &4480913845061429083
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2195466461428280820}
m_CullTransparentMesh: 1
--- !u!114 &8377153066574739174
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2195466461428280820}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_FontData:
m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
m_FontSize: 14
m_FontStyle: 0
m_BestFit: 0
m_MinSize: 10
m_MaxSize: 40
m_Alignment: 4
m_AlignByGeometry: 0
m_RichText: 1
m_HorizontalOverflow: 0
m_VerticalOverflow: 0
m_LineSpacing: 1
m_Text: 5

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

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

381
ColorlessWorld-2024-4-2/Assets/Prefab/EnemyPrefab/BlackSheep.prefab

@ -0,0 +1,381 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &1253231568001379261
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 4276721484070507378}
- component: {fileID: 7989887375954300062}
- component: {fileID: 230642570694684005}
- component: {fileID: 2630096967588951713}
m_Layer: 9
m_Name: BlackSheep
m_TagString: Enemy
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &4276721484070507378
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1253231568001379261}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0.9657449, z: -0.2594933, w: 0}
m_LocalPosition: {x: 20, y: 0.36, z: 5.12}
m_LocalScale: {x: 0.1, y: 1, z: 0.12}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 382303586006028689}
- {fileID: 8888823514061126702}
- {fileID: 6503119109324506896}
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 30.08, y: 180, z: 0}
--- !u!135 &7989887375954300062
SphereCollider:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1253231568001379261}
m_Material: {fileID: 0}
m_IncludeLayers:
serializedVersion: 2
m_Bits: 0
m_ExcludeLayers:
serializedVersion: 2
m_Bits: 0
m_LayerOverridePriority: 0
m_IsTrigger: 0
m_ProvidesContacts: 0
m_Enabled: 1
serializedVersion: 3
m_Radius: 0.45
m_Center: {x: 0, y: 0.4, z: -1.8}
--- !u!114 &230642570694684005
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1253231568001379261}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: b93e606dce1c400408bd059eaaa399b2, type: 3}
m_Name:
m_EditorClassIdentifier:
templateEnemyState: {fileID: 11400000, guid: af4e3351b767d68459d5c6daff8a8d3f, type: 2}
EnemyState: {fileID: 0}
positionX: 3
positionY: 5
pasth: []
oppositePasth: []
moveType: 0
rangePool: []
aoeRangePool: []
enemyType: 0
enemyScript: 17
lineAim: {fileID: 7509110568895175458}
canLineAppre: 1
disableAttack: {fileID: 0}
enemyUIBar: {fileID: 0}
followPoint: {fileID: 8888823514061126702}
bone: {fileID: 0}
bone_Re: {fileID: 0}
canMove: 0
planAction: 0
--- !u!114 &2630096967588951713
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1253231568001379261}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: cff9b96bf0935a34e99e64276d588a22, type: 3}
m_Name:
m_EditorClassIdentifier:
layerMask:
serializedVersion: 2
m_Bits: 0
time: 0.2
moveSpeed: 4
--- !u!1 &2687402414900403258
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 8888823514061126702}
m_Layer: 0
m_Name: FollowPoint
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &8888823514061126702
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2687402414900403258}
m_LocalRotation: {x: 0.00004351113, y: -0.7101218, z: 0.7040763, w: 0.0019181424}
m_LocalPosition: {x: 0, y: 0, z: 6.3000016}
m_LocalScale: {x: 9.999354, y: 8.328876, z: 1.0000705}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 4276721484070507378}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5}
m_AnchoredPosition: {x: 0, y: 0.537}
m_SizeDelta: {x: 100, y: 100}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!1 &5299401543336672401
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 382303586006028689}
- component: {fileID: 1417110473463724327}
- component: {fileID: 6829741816573684846}
m_Layer: 9
m_Name: Enemy_1
m_TagString: Enemy
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &382303586006028689
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5299401543336672401}
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_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 4276721484070507378}
m_LocalEulerAnglesHint: {x: 2.12, y: 0, z: 0}
--- !u!33 &1417110473463724327
MeshFilter:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5299401543336672401}
m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0}
--- !u!23 &6829741816573684846
MeshRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5299401543336672401}
m_Enabled: 1
m_CastShadows: 0
m_ReceiveShadows: 1
m_DynamicOccludee: 1
m_StaticShadowCaster: 0
m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RayTracingMode: 2
m_RayTraceProcedural: 0
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:
- {fileID: 2100000, guid: 4f1cc3f6d514aa44a9759eda985dba4b, type: 2}
m_StaticBatchInfo:
firstSubMesh: 0
subMeshCount: 0
m_StaticBatchRoot: {fileID: 0}
m_ProbeAnchor: {fileID: 0}
m_LightProbeVolumeOverride: {fileID: 0}
m_ScaleInLightmap: 1
m_ReceiveGI: 1
m_PreserveUVs: 0
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 0
m_StitchLightmapSeams: 1
m_SelectedEditorRenderState: 3
m_MinimumChartSize: 4
m_AutoUVMaxDistance: 0.5
m_AutoUVMaxAngle: 89
m_LightmapParameters: {fileID: 0}
m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: 0
m_AdditionalVertexStreams: {fileID: 0}
--- !u!1 &7509110568895175458
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 6503119109324506896}
- component: {fileID: 4532292198235687560}
- component: {fileID: 1857277813970574203}
m_Layer: 9
m_Name: AimLine
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 0
--- !u!4 &6503119109324506896
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7509110568895175458}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 1, z: -4}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 4276721484070507378}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!120 &4532292198235687560
LineRenderer:
serializedVersion: 2
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7509110568895175458}
m_Enabled: 1
m_CastShadows: 1
m_ReceiveShadows: 1
m_DynamicOccludee: 1
m_StaticShadowCaster: 0
m_MotionVectors: 0
m_LightProbeUsage: 0
m_ReflectionProbeUsage: 0
m_RayTracingMode: 0
m_RayTraceProcedural: 0
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:
- {fileID: 2100000, guid: 6dae87f6dbe79e34fb7adcae048807dd, type: 2}
m_StaticBatchInfo:
firstSubMesh: 0
subMeshCount: 0
m_StaticBatchRoot: {fileID: 0}
m_ProbeAnchor: {fileID: 0}
m_LightProbeVolumeOverride: {fileID: 0}
m_ScaleInLightmap: 1
m_ReceiveGI: 1
m_PreserveUVs: 0
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 0
m_StitchLightmapSeams: 1
m_SelectedEditorRenderState: 3
m_MinimumChartSize: 4
m_AutoUVMaxDistance: 0.5
m_AutoUVMaxAngle: 89
m_LightmapParameters: {fileID: 0}
m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: 0
m_Positions:
- {x: 0, y: 0, z: 0}
- {x: 6, y: 0, z: 1}
m_Parameters:
serializedVersion: 3
widthMultiplier: 1
widthCurve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0.0031585693
value: 0.11028418
inSlope: 0
outSlope: 0
tangentMode: 0
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
colorGradient:
serializedVersion: 2
key0: {r: 1, g: 1, b: 1, a: 1}
key1: {r: 1, g: 1, b: 1, a: 1}
key2: {r: 0, g: 0, b: 0, a: 0}
key3: {r: 0, g: 0, b: 0, a: 0}
key4: {r: 0, g: 0, b: 0, a: 0}
key5: {r: 0, g: 0, b: 0, a: 0}
key6: {r: 0, g: 0, b: 0, a: 0}
key7: {r: 0, g: 0, b: 0, a: 0}
ctime0: 0
ctime1: 65535
ctime2: 0
ctime3: 0
ctime4: 0
ctime5: 0
ctime6: 0
ctime7: 0
atime0: 0
atime1: 65535
atime2: 0
atime3: 0
atime4: 0
atime5: 0
atime6: 0
atime7: 0
m_Mode: 0
m_ColorSpace: -1
m_NumColorKeys: 2
m_NumAlphaKeys: 2
numCornerVertices: 0
numCapVertices: 0
alignment: 0
textureMode: 0
textureScale: {x: 1, y: 1}
shadowBias: 0.5
generateLightingData: 0
m_MaskInteraction: 0
m_UseWorldSpace: 1
m_Loop: 0
m_ApplyActiveColorSpace: 1
--- !u!114 &1857277813970574203
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7509110568895175458}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 0e85732096b0d414f9d6f9ea2e10f06f, type: 3}
m_Name:
m_EditorClassIdentifier:
lineRenderer: {fileID: 4532292198235687560}
density: 2
speed: 0.005
currentdisappearTime: 0
aimGamgObject: {fileID: 0}

7
ColorlessWorld-2024-4-2/Assets/Prefab/EnemyPrefab/BlackSheep.prefab.meta

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

381
ColorlessWorld-2024-4-2/Assets/Prefab/EnemyPrefab/DarkCloud.prefab

@ -0,0 +1,381 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &1253231568001379261
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 4276721484070507378}
- component: {fileID: 7989887375954300062}
- component: {fileID: 230642570694684005}
- component: {fileID: 8542190414455016803}
m_Layer: 9
m_Name: DarkCloud
m_TagString: Enemy
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &4276721484070507378
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1253231568001379261}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0.9657449, z: -0.2594933, w: 0}
m_LocalPosition: {x: 20, y: 0.36, z: 5.12}
m_LocalScale: {x: 0.1, y: 1, z: 0.12}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 382303586006028689}
- {fileID: 8888823514061126702}
- {fileID: 6503119109324506896}
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 30.08, y: 180, z: 0}
--- !u!135 &7989887375954300062
SphereCollider:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1253231568001379261}
m_Material: {fileID: 0}
m_IncludeLayers:
serializedVersion: 2
m_Bits: 0
m_ExcludeLayers:
serializedVersion: 2
m_Bits: 0
m_LayerOverridePriority: 0
m_IsTrigger: 0
m_ProvidesContacts: 0
m_Enabled: 1
serializedVersion: 3
m_Radius: 0.45
m_Center: {x: 0, y: 0.4, z: -1.8}
--- !u!114 &230642570694684005
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1253231568001379261}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: b93e606dce1c400408bd059eaaa399b2, type: 3}
m_Name:
m_EditorClassIdentifier:
templateEnemyState: {fileID: 11400000, guid: 8f21c58f8d6a27d46b17e0f301860cd2, type: 2}
EnemyState: {fileID: 0}
positionX: 3
positionY: 5
pasth: []
oppositePasth: []
moveType: 0
rangePool: []
aoeRangePool: []
enemyType: 0
enemyScript: 16
lineAim: {fileID: 7509110568895175458}
canLineAppre: 1
disableAttack: {fileID: 0}
enemyUIBar: {fileID: 0}
followPoint: {fileID: 8888823514061126702}
bone: {fileID: 0}
bone_Re: {fileID: 0}
canMove: 0
planAction: 2
--- !u!114 &8542190414455016803
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1253231568001379261}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 620ad3aeb3d0caf41b4b401901b81e66, type: 3}
m_Name:
m_EditorClassIdentifier:
layerMask:
serializedVersion: 2
m_Bits: 0
time: 0.2
moveSpeed: 4
--- !u!1 &2687402414900403258
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 8888823514061126702}
m_Layer: 0
m_Name: FollowPoint
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &8888823514061126702
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2687402414900403258}
m_LocalRotation: {x: 0.00004351113, y: -0.7101218, z: 0.7040763, w: 0.0019181424}
m_LocalPosition: {x: 0, y: 0, z: 6.3000016}
m_LocalScale: {x: 9.999354, y: 8.328876, z: 1.0000705}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 4276721484070507378}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5}
m_AnchoredPosition: {x: 0, y: 0.537}
m_SizeDelta: {x: 100, y: 100}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!1 &5299401543336672401
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 382303586006028689}
- component: {fileID: 1417110473463724327}
- component: {fileID: 6829741816573684846}
m_Layer: 9
m_Name: Enemy_1
m_TagString: Enemy
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &382303586006028689
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5299401543336672401}
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_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 4276721484070507378}
m_LocalEulerAnglesHint: {x: 2.12, y: 0, z: 0}
--- !u!33 &1417110473463724327
MeshFilter:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5299401543336672401}
m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0}
--- !u!23 &6829741816573684846
MeshRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5299401543336672401}
m_Enabled: 1
m_CastShadows: 0
m_ReceiveShadows: 1
m_DynamicOccludee: 1
m_StaticShadowCaster: 0
m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RayTracingMode: 2
m_RayTraceProcedural: 0
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:
- {fileID: 2100000, guid: 4f1cc3f6d514aa44a9759eda985dba4b, type: 2}
m_StaticBatchInfo:
firstSubMesh: 0
subMeshCount: 0
m_StaticBatchRoot: {fileID: 0}
m_ProbeAnchor: {fileID: 0}
m_LightProbeVolumeOverride: {fileID: 0}
m_ScaleInLightmap: 1
m_ReceiveGI: 1
m_PreserveUVs: 0
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 0
m_StitchLightmapSeams: 1
m_SelectedEditorRenderState: 3
m_MinimumChartSize: 4
m_AutoUVMaxDistance: 0.5
m_AutoUVMaxAngle: 89
m_LightmapParameters: {fileID: 0}
m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: 0
m_AdditionalVertexStreams: {fileID: 0}
--- !u!1 &7509110568895175458
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 6503119109324506896}
- component: {fileID: 4532292198235687560}
- component: {fileID: 1857277813970574203}
m_Layer: 9
m_Name: AimLine
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 0
--- !u!4 &6503119109324506896
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7509110568895175458}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 1, z: -4}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 4276721484070507378}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!120 &4532292198235687560
LineRenderer:
serializedVersion: 2
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7509110568895175458}
m_Enabled: 1
m_CastShadows: 1
m_ReceiveShadows: 1
m_DynamicOccludee: 1
m_StaticShadowCaster: 0
m_MotionVectors: 0
m_LightProbeUsage: 0
m_ReflectionProbeUsage: 0
m_RayTracingMode: 0
m_RayTraceProcedural: 0
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:
- {fileID: 2100000, guid: 6dae87f6dbe79e34fb7adcae048807dd, type: 2}
m_StaticBatchInfo:
firstSubMesh: 0
subMeshCount: 0
m_StaticBatchRoot: {fileID: 0}
m_ProbeAnchor: {fileID: 0}
m_LightProbeVolumeOverride: {fileID: 0}
m_ScaleInLightmap: 1
m_ReceiveGI: 1
m_PreserveUVs: 0
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 0
m_StitchLightmapSeams: 1
m_SelectedEditorRenderState: 3
m_MinimumChartSize: 4
m_AutoUVMaxDistance: 0.5
m_AutoUVMaxAngle: 89
m_LightmapParameters: {fileID: 0}
m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: 0
m_Positions:
- {x: 0, y: 0, z: 0}
- {x: 6, y: 0, z: 1}
m_Parameters:
serializedVersion: 3
widthMultiplier: 1
widthCurve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0.0031585693
value: 0.11028418
inSlope: 0
outSlope: 0
tangentMode: 0
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
colorGradient:
serializedVersion: 2
key0: {r: 1, g: 1, b: 1, a: 1}
key1: {r: 1, g: 1, b: 1, a: 1}
key2: {r: 0, g: 0, b: 0, a: 0}
key3: {r: 0, g: 0, b: 0, a: 0}
key4: {r: 0, g: 0, b: 0, a: 0}
key5: {r: 0, g: 0, b: 0, a: 0}
key6: {r: 0, g: 0, b: 0, a: 0}
key7: {r: 0, g: 0, b: 0, a: 0}
ctime0: 0
ctime1: 65535
ctime2: 0
ctime3: 0
ctime4: 0
ctime5: 0
ctime6: 0
ctime7: 0
atime0: 0
atime1: 65535
atime2: 0
atime3: 0
atime4: 0
atime5: 0
atime6: 0
atime7: 0
m_Mode: 0
m_ColorSpace: -1
m_NumColorKeys: 2
m_NumAlphaKeys: 2
numCornerVertices: 0
numCapVertices: 0
alignment: 0
textureMode: 0
textureScale: {x: 1, y: 1}
shadowBias: 0.5
generateLightingData: 0
m_MaskInteraction: 0
m_UseWorldSpace: 1
m_Loop: 0
m_ApplyActiveColorSpace: 1
--- !u!114 &1857277813970574203
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7509110568895175458}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 0e85732096b0d414f9d6f9ea2e10f06f, type: 3}
m_Name:
m_EditorClassIdentifier:
lineRenderer: {fileID: 4532292198235687560}
density: 2
speed: 0.005
currentdisappearTime: 0
aimGamgObject: {fileID: 0}

7
ColorlessWorld-2024-4-2/Assets/Prefab/EnemyPrefab/DarkCloud.prefab.meta

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

12
ColorlessWorld-2024-4-2/Assets/Prefab/EnemyPrefab/DrowsyShroom.prefab

@ -46,7 +46,7 @@ GameObject:
- component: {fileID: 4329292649138574935}
- component: {fileID: 3140390759043427805}
- component: {fileID: 6438854566616150671}
- component: {fileID: 8271929896847479414}
- component: {fileID: 5522829299888798367}
m_Layer: 9
m_Name: DrowsyShroom
m_TagString: Enemy
@ -115,7 +115,7 @@ MonoBehaviour:
rangePool: []
aoeRangePool: []
enemyType: 0
enemyScript: 13
enemyScript: 16
lineAim: {fileID: 9148701444070785466}
canLineAppre: 1
disableAttack: {fileID: 0}
@ -125,7 +125,7 @@ MonoBehaviour:
bone_Re: {fileID: 0}
canMove: 0
planAction: 2
--- !u!114 &8271929896847479414
--- !u!114 &5522829299888798367
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
@ -134,14 +134,14 @@ MonoBehaviour:
m_GameObject: {fileID: 650302351288945714}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 5020a3e65f711024bbf871c4b7f33988, type: 3}
m_Script: {fileID: 11500000, guid: 620ad3aeb3d0caf41b4b401901b81e66, type: 3}
m_Name:
m_EditorClassIdentifier:
layerMask:
serializedVersion: 2
m_Bits: 0
time: 0.2
moveSpeed: 4
time: 0
moveSpeed: 0
--- !u!1 &1106227742990737778
GameObject:
m_ObjectHideFlags: 0

382
ColorlessWorld-2024-4-2/Assets/Prefab/EnemyPrefab/Grinfiend.prefab

@ -0,0 +1,382 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &1253231568001379261
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 4276721484070507378}
- component: {fileID: 7989887375954300062}
- component: {fileID: 230642570694684005}
- component: {fileID: 6494687775698520074}
m_Layer: 9
m_Name: Grinfiend
m_TagString: Enemy
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &4276721484070507378
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1253231568001379261}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0.9657449, z: -0.2594933, w: 0}
m_LocalPosition: {x: 20, y: 0.36, z: 5.12}
m_LocalScale: {x: 0.1, y: 1, z: 0.12}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 382303586006028689}
- {fileID: 8888823514061126702}
- {fileID: 6503119109324506896}
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 30.08, y: 180, z: 0}
--- !u!135 &7989887375954300062
SphereCollider:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1253231568001379261}
m_Material: {fileID: 0}
m_IncludeLayers:
serializedVersion: 2
m_Bits: 0
m_ExcludeLayers:
serializedVersion: 2
m_Bits: 0
m_LayerOverridePriority: 0
m_IsTrigger: 0
m_ProvidesContacts: 0
m_Enabled: 1
serializedVersion: 3
m_Radius: 0.45
m_Center: {x: 0, y: 0.4, z: -1.8}
--- !u!114 &230642570694684005
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1253231568001379261}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: b93e606dce1c400408bd059eaaa399b2, type: 3}
m_Name:
m_EditorClassIdentifier:
templateEnemyState: {fileID: 11400000, guid: 1160ee60e34650743a819c67f31ac225, type: 2}
EnemyState: {fileID: 0}
positionX: 3
positionY: 5
pasth: []
oppositePasth: []
moveType: 0
rangePool: []
aoeRangePool: []
enemyType: 0
enemyScript: 18
lineAim: {fileID: 7509110568895175458}
canLineAppre: 1
disableAttack: {fileID: 0}
enemyUIBar: {fileID: 0}
followPoint: {fileID: 8888823514061126702}
bone: {fileID: 0}
bone_Re: {fileID: 0}
canMove: 0
planAction: 2
--- !u!114 &6494687775698520074
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1253231568001379261}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: d18a1c278edb3e04e865dd3b52d63e2f, type: 3}
m_Name:
m_EditorClassIdentifier:
enemyNode: {fileID: 0}
layerMask:
serializedVersion: 2
m_Bits: 0
time: 0.2
moveSpeed: 4
--- !u!1 &2687402414900403258
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 8888823514061126702}
m_Layer: 0
m_Name: FollowPoint
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &8888823514061126702
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2687402414900403258}
m_LocalRotation: {x: 0.00004351113, y: -0.7101218, z: 0.7040763, w: 0.0019181424}
m_LocalPosition: {x: 0, y: 0, z: 6.3000016}
m_LocalScale: {x: 9.999354, y: 8.328876, z: 1.0000705}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 4276721484070507378}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5}
m_AnchoredPosition: {x: 0, y: 0.537}
m_SizeDelta: {x: 100, y: 100}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!1 &5299401543336672401
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 382303586006028689}
- component: {fileID: 1417110473463724327}
- component: {fileID: 6829741816573684846}
m_Layer: 9
m_Name: Enemy_1
m_TagString: Enemy
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &382303586006028689
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5299401543336672401}
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_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 4276721484070507378}
m_LocalEulerAnglesHint: {x: 2.12, y: 0, z: 0}
--- !u!33 &1417110473463724327
MeshFilter:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5299401543336672401}
m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0}
--- !u!23 &6829741816573684846
MeshRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5299401543336672401}
m_Enabled: 1
m_CastShadows: 0
m_ReceiveShadows: 1
m_DynamicOccludee: 1
m_StaticShadowCaster: 0
m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RayTracingMode: 2
m_RayTraceProcedural: 0
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:
- {fileID: 2100000, guid: 4f1cc3f6d514aa44a9759eda985dba4b, type: 2}
m_StaticBatchInfo:
firstSubMesh: 0
subMeshCount: 0
m_StaticBatchRoot: {fileID: 0}
m_ProbeAnchor: {fileID: 0}
m_LightProbeVolumeOverride: {fileID: 0}
m_ScaleInLightmap: 1
m_ReceiveGI: 1
m_PreserveUVs: 0
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 0
m_StitchLightmapSeams: 1
m_SelectedEditorRenderState: 3
m_MinimumChartSize: 4
m_AutoUVMaxDistance: 0.5
m_AutoUVMaxAngle: 89
m_LightmapParameters: {fileID: 0}
m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: 0
m_AdditionalVertexStreams: {fileID: 0}
--- !u!1 &7509110568895175458
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 6503119109324506896}
- component: {fileID: 4532292198235687560}
- component: {fileID: 1857277813970574203}
m_Layer: 9
m_Name: AimLine
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 0
--- !u!4 &6503119109324506896
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7509110568895175458}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 1, z: -4}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 4276721484070507378}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!120 &4532292198235687560
LineRenderer:
serializedVersion: 2
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7509110568895175458}
m_Enabled: 1
m_CastShadows: 1
m_ReceiveShadows: 1
m_DynamicOccludee: 1
m_StaticShadowCaster: 0
m_MotionVectors: 0
m_LightProbeUsage: 0
m_ReflectionProbeUsage: 0
m_RayTracingMode: 0
m_RayTraceProcedural: 0
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:
- {fileID: 2100000, guid: 6dae87f6dbe79e34fb7adcae048807dd, type: 2}
m_StaticBatchInfo:
firstSubMesh: 0
subMeshCount: 0
m_StaticBatchRoot: {fileID: 0}
m_ProbeAnchor: {fileID: 0}
m_LightProbeVolumeOverride: {fileID: 0}
m_ScaleInLightmap: 1
m_ReceiveGI: 1
m_PreserveUVs: 0
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 0
m_StitchLightmapSeams: 1
m_SelectedEditorRenderState: 3
m_MinimumChartSize: 4
m_AutoUVMaxDistance: 0.5
m_AutoUVMaxAngle: 89
m_LightmapParameters: {fileID: 0}
m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: 0
m_Positions:
- {x: 0, y: 0, z: 0}
- {x: 6, y: 0, z: 1}
m_Parameters:
serializedVersion: 3
widthMultiplier: 1
widthCurve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0.0031585693
value: 0.11028418
inSlope: 0
outSlope: 0
tangentMode: 0
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
colorGradient:
serializedVersion: 2
key0: {r: 1, g: 1, b: 1, a: 1}
key1: {r: 1, g: 1, b: 1, a: 1}
key2: {r: 0, g: 0, b: 0, a: 0}
key3: {r: 0, g: 0, b: 0, a: 0}
key4: {r: 0, g: 0, b: 0, a: 0}
key5: {r: 0, g: 0, b: 0, a: 0}
key6: {r: 0, g: 0, b: 0, a: 0}
key7: {r: 0, g: 0, b: 0, a: 0}
ctime0: 0
ctime1: 65535
ctime2: 0
ctime3: 0
ctime4: 0
ctime5: 0
ctime6: 0
ctime7: 0
atime0: 0
atime1: 65535
atime2: 0
atime3: 0
atime4: 0
atime5: 0
atime6: 0
atime7: 0
m_Mode: 0
m_ColorSpace: -1
m_NumColorKeys: 2
m_NumAlphaKeys: 2
numCornerVertices: 0
numCapVertices: 0
alignment: 0
textureMode: 0
textureScale: {x: 1, y: 1}
shadowBias: 0.5
generateLightingData: 0
m_MaskInteraction: 0
m_UseWorldSpace: 1
m_Loop: 0
m_ApplyActiveColorSpace: 1
--- !u!114 &1857277813970574203
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7509110568895175458}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 0e85732096b0d414f9d6f9ea2e10f06f, type: 3}
m_Name:
m_EditorClassIdentifier:
lineRenderer: {fileID: 4532292198235687560}
density: 2
speed: 0.005
currentdisappearTime: 0
aimGamgObject: {fileID: 0}

7
ColorlessWorld-2024-4-2/Assets/Prefab/EnemyPrefab/Grinfiend.prefab.meta

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

382
ColorlessWorld-2024-4-2/Assets/Prefab/EnemyPrefab/Mushroom.prefab

@ -0,0 +1,382 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &1253231568001379261
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 4276721484070507378}
- component: {fileID: 7989887375954300062}
- component: {fileID: 230642570694684005}
- component: {fileID: 7710354117342686505}
m_Layer: 9
m_Name: Mushroom
m_TagString: Enemy
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &4276721484070507378
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1253231568001379261}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0.9657449, z: -0.2594933, w: 0}
m_LocalPosition: {x: 20, y: 0.36, z: 5.12}
m_LocalScale: {x: 0.1, y: 1, z: 0.12}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 382303586006028689}
- {fileID: 8888823514061126702}
- {fileID: 6503119109324506896}
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 30.08, y: 180, z: 0}
--- !u!135 &7989887375954300062
SphereCollider:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1253231568001379261}
m_Material: {fileID: 0}
m_IncludeLayers:
serializedVersion: 2
m_Bits: 0
m_ExcludeLayers:
serializedVersion: 2
m_Bits: 0
m_LayerOverridePriority: 0
m_IsTrigger: 0
m_ProvidesContacts: 0
m_Enabled: 1
serializedVersion: 3
m_Radius: 0.45
m_Center: {x: 0, y: 0.4, z: -1.8}
--- !u!114 &230642570694684005
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1253231568001379261}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: b93e606dce1c400408bd059eaaa399b2, type: 3}
m_Name:
m_EditorClassIdentifier:
templateEnemyState: {fileID: 11400000, guid: 09e1bcd7742ccab47bd18261f81a1550, type: 2}
EnemyState: {fileID: 0}
positionX: 3
positionY: 5
pasth: []
oppositePasth: []
moveType: 0
rangePool: []
aoeRangePool: []
enemyType: 0
enemyScript: 20
lineAim: {fileID: 7509110568895175458}
canLineAppre: 1
disableAttack: {fileID: 0}
enemyUIBar: {fileID: 0}
followPoint: {fileID: 8888823514061126702}
bone: {fileID: 0}
bone_Re: {fileID: 0}
canMove: 0
planAction: 0
--- !u!114 &7710354117342686505
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1253231568001379261}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: da70d494672e9b742b621a143865cad7, type: 3}
m_Name:
m_EditorClassIdentifier:
enemyNode: {fileID: 0}
layerMask:
serializedVersion: 2
m_Bits: 0
time: 0.2
moveSpeed: 4
--- !u!1 &2687402414900403258
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 8888823514061126702}
m_Layer: 0
m_Name: FollowPoint
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &8888823514061126702
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2687402414900403258}
m_LocalRotation: {x: 0.00004351113, y: -0.7101218, z: 0.7040763, w: 0.0019181424}
m_LocalPosition: {x: 0, y: 0, z: 6.3000016}
m_LocalScale: {x: 9.999354, y: 8.328876, z: 1.0000705}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 4276721484070507378}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5}
m_AnchoredPosition: {x: 0, y: 0.537}
m_SizeDelta: {x: 100, y: 100}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!1 &5299401543336672401
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 382303586006028689}
- component: {fileID: 1417110473463724327}
- component: {fileID: 6829741816573684846}
m_Layer: 9
m_Name: Enemy_1
m_TagString: Enemy
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &382303586006028689
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5299401543336672401}
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_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 4276721484070507378}
m_LocalEulerAnglesHint: {x: 2.12, y: 0, z: 0}
--- !u!33 &1417110473463724327
MeshFilter:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5299401543336672401}
m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0}
--- !u!23 &6829741816573684846
MeshRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5299401543336672401}
m_Enabled: 1
m_CastShadows: 0
m_ReceiveShadows: 1
m_DynamicOccludee: 1
m_StaticShadowCaster: 0
m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RayTracingMode: 2
m_RayTraceProcedural: 0
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:
- {fileID: 2100000, guid: 4f1cc3f6d514aa44a9759eda985dba4b, type: 2}
m_StaticBatchInfo:
firstSubMesh: 0
subMeshCount: 0
m_StaticBatchRoot: {fileID: 0}
m_ProbeAnchor: {fileID: 0}
m_LightProbeVolumeOverride: {fileID: 0}
m_ScaleInLightmap: 1
m_ReceiveGI: 1
m_PreserveUVs: 0
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 0
m_StitchLightmapSeams: 1
m_SelectedEditorRenderState: 3
m_MinimumChartSize: 4
m_AutoUVMaxDistance: 0.5
m_AutoUVMaxAngle: 89
m_LightmapParameters: {fileID: 0}
m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: 0
m_AdditionalVertexStreams: {fileID: 0}
--- !u!1 &7509110568895175458
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 6503119109324506896}
- component: {fileID: 4532292198235687560}
- component: {fileID: 1857277813970574203}
m_Layer: 9
m_Name: AimLine
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 0
--- !u!4 &6503119109324506896
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7509110568895175458}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 1, z: -4}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 4276721484070507378}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!120 &4532292198235687560
LineRenderer:
serializedVersion: 2
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7509110568895175458}
m_Enabled: 1
m_CastShadows: 1
m_ReceiveShadows: 1
m_DynamicOccludee: 1
m_StaticShadowCaster: 0
m_MotionVectors: 0
m_LightProbeUsage: 0
m_ReflectionProbeUsage: 0
m_RayTracingMode: 0
m_RayTraceProcedural: 0
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:
- {fileID: 2100000, guid: 6dae87f6dbe79e34fb7adcae048807dd, type: 2}
m_StaticBatchInfo:
firstSubMesh: 0
subMeshCount: 0
m_StaticBatchRoot: {fileID: 0}
m_ProbeAnchor: {fileID: 0}
m_LightProbeVolumeOverride: {fileID: 0}
m_ScaleInLightmap: 1
m_ReceiveGI: 1
m_PreserveUVs: 0
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 0
m_StitchLightmapSeams: 1
m_SelectedEditorRenderState: 3
m_MinimumChartSize: 4
m_AutoUVMaxDistance: 0.5
m_AutoUVMaxAngle: 89
m_LightmapParameters: {fileID: 0}
m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: 0
m_Positions:
- {x: 0, y: 0, z: 0}
- {x: 6, y: 0, z: 1}
m_Parameters:
serializedVersion: 3
widthMultiplier: 1
widthCurve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0.0031585693
value: 0.11028418
inSlope: 0
outSlope: 0
tangentMode: 0
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
colorGradient:
serializedVersion: 2
key0: {r: 1, g: 1, b: 1, a: 1}
key1: {r: 1, g: 1, b: 1, a: 1}
key2: {r: 0, g: 0, b: 0, a: 0}
key3: {r: 0, g: 0, b: 0, a: 0}
key4: {r: 0, g: 0, b: 0, a: 0}
key5: {r: 0, g: 0, b: 0, a: 0}
key6: {r: 0, g: 0, b: 0, a: 0}
key7: {r: 0, g: 0, b: 0, a: 0}
ctime0: 0
ctime1: 65535
ctime2: 0
ctime3: 0
ctime4: 0
ctime5: 0
ctime6: 0
ctime7: 0
atime0: 0
atime1: 65535
atime2: 0
atime3: 0
atime4: 0
atime5: 0
atime6: 0
atime7: 0
m_Mode: 0
m_ColorSpace: -1
m_NumColorKeys: 2
m_NumAlphaKeys: 2
numCornerVertices: 0
numCapVertices: 0
alignment: 0
textureMode: 0
textureScale: {x: 1, y: 1}
shadowBias: 0.5
generateLightingData: 0
m_MaskInteraction: 0
m_UseWorldSpace: 1
m_Loop: 0
m_ApplyActiveColorSpace: 1
--- !u!114 &1857277813970574203
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7509110568895175458}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 0e85732096b0d414f9d6f9ea2e10f06f, type: 3}
m_Name:
m_EditorClassIdentifier:
lineRenderer: {fileID: 4532292198235687560}
density: 2
speed: 0.005
currentdisappearTime: 0
aimGamgObject: {fileID: 0}

7
ColorlessWorld-2024-4-2/Assets/Prefab/EnemyPrefab/Mushroom.prefab.meta

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

382
ColorlessWorld-2024-4-2/Assets/Prefab/EnemyPrefab/Polymaw.prefab

@ -0,0 +1,382 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &1253231568001379261
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 4276721484070507378}
- component: {fileID: 7989887375954300062}
- component: {fileID: 230642570694684005}
- component: {fileID: 6598078494741193390}
m_Layer: 9
m_Name: Polymaw
m_TagString: Enemy
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &4276721484070507378
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1253231568001379261}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0.9657449, z: -0.2594933, w: 0}
m_LocalPosition: {x: 20, y: 0.36, z: 5.12}
m_LocalScale: {x: 0.1, y: 1, z: 0.12}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 382303586006028689}
- {fileID: 8888823514061126702}
- {fileID: 6503119109324506896}
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 30.08, y: 180, z: 0}
--- !u!135 &7989887375954300062
SphereCollider:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1253231568001379261}
m_Material: {fileID: 0}
m_IncludeLayers:
serializedVersion: 2
m_Bits: 0
m_ExcludeLayers:
serializedVersion: 2
m_Bits: 0
m_LayerOverridePriority: 0
m_IsTrigger: 0
m_ProvidesContacts: 0
m_Enabled: 1
serializedVersion: 3
m_Radius: 0.45
m_Center: {x: 0, y: 0.4, z: -1.8}
--- !u!114 &230642570694684005
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1253231568001379261}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: b93e606dce1c400408bd059eaaa399b2, type: 3}
m_Name:
m_EditorClassIdentifier:
templateEnemyState: {fileID: 11400000, guid: a9962950842bb6847acaa06e18b7a10a, type: 2}
EnemyState: {fileID: 0}
positionX: 3
positionY: 5
pasth: []
oppositePasth: []
moveType: 0
rangePool: []
aoeRangePool: []
enemyType: 0
enemyScript: 19
lineAim: {fileID: 7509110568895175458}
canLineAppre: 1
disableAttack: {fileID: 0}
enemyUIBar: {fileID: 0}
followPoint: {fileID: 8888823514061126702}
bone: {fileID: 0}
bone_Re: {fileID: 0}
canMove: 0
planAction: 0
--- !u!114 &6598078494741193390
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1253231568001379261}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 441ffc4abe92e93468e7d196c1d2417f, type: 3}
m_Name:
m_EditorClassIdentifier:
enemyNode: {fileID: 0}
layerMask:
serializedVersion: 2
m_Bits: 0
time: 0.2
moveSpeed: 4
--- !u!1 &2687402414900403258
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 8888823514061126702}
m_Layer: 0
m_Name: FollowPoint
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &8888823514061126702
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2687402414900403258}
m_LocalRotation: {x: 0.00004351113, y: -0.7101218, z: 0.7040763, w: 0.0019181424}
m_LocalPosition: {x: 0, y: 0, z: 6.3000016}
m_LocalScale: {x: 9.999354, y: 8.328876, z: 1.0000705}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 4276721484070507378}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5}
m_AnchoredPosition: {x: 0, y: 0.537}
m_SizeDelta: {x: 100, y: 100}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!1 &5299401543336672401
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 382303586006028689}
- component: {fileID: 1417110473463724327}
- component: {fileID: 6829741816573684846}
m_Layer: 9
m_Name: Enemy_1
m_TagString: Enemy
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &382303586006028689
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5299401543336672401}
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_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 4276721484070507378}
m_LocalEulerAnglesHint: {x: 2.12, y: 0, z: 0}
--- !u!33 &1417110473463724327
MeshFilter:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5299401543336672401}
m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0}
--- !u!23 &6829741816573684846
MeshRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5299401543336672401}
m_Enabled: 1
m_CastShadows: 0
m_ReceiveShadows: 1
m_DynamicOccludee: 1
m_StaticShadowCaster: 0
m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RayTracingMode: 2
m_RayTraceProcedural: 0
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:
- {fileID: 2100000, guid: 4f1cc3f6d514aa44a9759eda985dba4b, type: 2}
m_StaticBatchInfo:
firstSubMesh: 0
subMeshCount: 0
m_StaticBatchRoot: {fileID: 0}
m_ProbeAnchor: {fileID: 0}
m_LightProbeVolumeOverride: {fileID: 0}
m_ScaleInLightmap: 1
m_ReceiveGI: 1
m_PreserveUVs: 0
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 0
m_StitchLightmapSeams: 1
m_SelectedEditorRenderState: 3
m_MinimumChartSize: 4
m_AutoUVMaxDistance: 0.5
m_AutoUVMaxAngle: 89
m_LightmapParameters: {fileID: 0}
m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: 0
m_AdditionalVertexStreams: {fileID: 0}
--- !u!1 &7509110568895175458
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 6503119109324506896}
- component: {fileID: 4532292198235687560}
- component: {fileID: 1857277813970574203}
m_Layer: 9
m_Name: AimLine
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 0
--- !u!4 &6503119109324506896
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7509110568895175458}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 1, z: -4}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 4276721484070507378}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!120 &4532292198235687560
LineRenderer:
serializedVersion: 2
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7509110568895175458}
m_Enabled: 1
m_CastShadows: 1
m_ReceiveShadows: 1
m_DynamicOccludee: 1
m_StaticShadowCaster: 0
m_MotionVectors: 0
m_LightProbeUsage: 0
m_ReflectionProbeUsage: 0
m_RayTracingMode: 0
m_RayTraceProcedural: 0
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:
- {fileID: 2100000, guid: 6dae87f6dbe79e34fb7adcae048807dd, type: 2}
m_StaticBatchInfo:
firstSubMesh: 0
subMeshCount: 0
m_StaticBatchRoot: {fileID: 0}
m_ProbeAnchor: {fileID: 0}
m_LightProbeVolumeOverride: {fileID: 0}
m_ScaleInLightmap: 1
m_ReceiveGI: 1
m_PreserveUVs: 0
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 0
m_StitchLightmapSeams: 1
m_SelectedEditorRenderState: 3
m_MinimumChartSize: 4
m_AutoUVMaxDistance: 0.5
m_AutoUVMaxAngle: 89
m_LightmapParameters: {fileID: 0}
m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: 0
m_Positions:
- {x: 0, y: 0, z: 0}
- {x: 6, y: 0, z: 1}
m_Parameters:
serializedVersion: 3
widthMultiplier: 1
widthCurve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0.0031585693
value: 0.11028418
inSlope: 0
outSlope: 0
tangentMode: 0
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
colorGradient:
serializedVersion: 2
key0: {r: 1, g: 1, b: 1, a: 1}
key1: {r: 1, g: 1, b: 1, a: 1}
key2: {r: 0, g: 0, b: 0, a: 0}
key3: {r: 0, g: 0, b: 0, a: 0}
key4: {r: 0, g: 0, b: 0, a: 0}
key5: {r: 0, g: 0, b: 0, a: 0}
key6: {r: 0, g: 0, b: 0, a: 0}
key7: {r: 0, g: 0, b: 0, a: 0}
ctime0: 0
ctime1: 65535
ctime2: 0
ctime3: 0
ctime4: 0
ctime5: 0
ctime6: 0
ctime7: 0
atime0: 0
atime1: 65535
atime2: 0
atime3: 0
atime4: 0
atime5: 0
atime6: 0
atime7: 0
m_Mode: 0
m_ColorSpace: -1
m_NumColorKeys: 2
m_NumAlphaKeys: 2
numCornerVertices: 0
numCapVertices: 0
alignment: 0
textureMode: 0
textureScale: {x: 1, y: 1}
shadowBias: 0.5
generateLightingData: 0
m_MaskInteraction: 0
m_UseWorldSpace: 1
m_Loop: 0
m_ApplyActiveColorSpace: 1
--- !u!114 &1857277813970574203
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7509110568895175458}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 0e85732096b0d414f9d6f9ea2e10f06f, type: 3}
m_Name:
m_EditorClassIdentifier:
lineRenderer: {fileID: 4532292198235687560}
density: 2
speed: 0.005
currentdisappearTime: 0
aimGamgObject: {fileID: 0}

7
ColorlessWorld-2024-4-2/Assets/Prefab/EnemyPrefab/Polymaw.prefab.meta

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

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

@ -4240,6 +4240,10 @@ MonoBehaviour:
shield: {fileID: 21300000, guid: f570dfeb705959d4d9551aadbb8817d4, type: 3}
step: {fileID: 21300000, guid: 5312c2d969ace5843abc2c7201679b9d, type: 3}
weak: {fileID: 262922594, guid: f9991f9de5deef7488a05908175569c3, type: 3}
imageInCondition: {fileID: 2948337350984551391, guid: f4c36c2c021e0954897974b7ad041903,
type: 3}
textInCondition: {fileID: 2195466461428280820, guid: ef66a5db78741da4d93f90fcdcb7176a,
type: 3}
--- !u!1 &282261046
GameObject:
m_ObjectHideFlags: 0
@ -5141,6 +5145,50 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: ac0b09e7857660247b1477e93731de29, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!1 &329040648
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 329040649}
- component: {fileID: 329040650}
m_Layer: 0
m_Name: CardManager
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &329040649
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 329040648}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 348176937}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &329040650
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 329040648}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: ca1e05724f689024392e0ea50533f6ad, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!1 &330585543
GameObject:
m_ObjectHideFlags: 0
@ -5733,6 +5781,7 @@ Transform:
- {fileID: 1251297425}
- {fileID: 1766672721}
- {fileID: 430040821}
- {fileID: 329040649}
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &350066633
@ -25150,7 +25199,7 @@ RectTransform:
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: -20.700012, y: -24.700012}
m_AnchoredPosition: {x: -20.699951, y: -24.699951}
m_SizeDelta: {x: 419.5, y: 373.7}
m_Pivot: {x: 0, y: 0}
--- !u!114 &1504140804
@ -31034,7 +31083,7 @@ MonoBehaviour:
lineOffSet: {x: 1, y: 0, z: 0}
columnOffSet: {x: 0, y: 0, z: 0.865}
enemyGenerateDataList:
- enemyPrefab: {fileID: 1880325291853289959, guid: 5c61e2225184e76439df52aa53207c18,
- enemyPrefab: {fileID: 1253231568001379261, guid: e7af8b56c0915664585cb503433ecd3e,
type: 3}
locationX: 4
locationY: 4

29
ColorlessWorld-2024-4-2/Assets/Scripts/Buff/Buff_Wet.cs

@ -0,0 +1,29 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class Buff_Wet : Buff
{
public override void Settle()
{
//base.Settle();
}
public override void SettleEnemy(EnemyNode enemyNode)
{
//base.Settle();
}
public override Buff NewBuff(int value)
{
Buff buff = new Buff_Wet();
buff.value = value;
buff.icon = BuffDataManager.Instance.LoadImage(iconPath + "Sslx_Ui_Buff_huozhong_v01");
return buff;
}
}

11
ColorlessWorld-2024-4-2/Assets/Scripts/Buff/Buff_Wet.cs.meta

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

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

@ -544,7 +544,7 @@ public class CardDrag : MonoBehaviour, IBeginDragHandler, IDragHandler, IEndDrag
else
{
//¿¨ÅÆÊÍ·ÅЧ¹û
yield return StartCoroutine(cardEntity.settle(0, currentNode));
yield return StartCoroutine(cardEntity.settle(0, GameManager.Instance.playerOn));
}
yield break;

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

@ -9,6 +9,7 @@ using TreeEditor;
using Unity.VisualScripting;
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.Windows;
using static Name;
using static UnityEngine.EventSystems.EventTrigger;
using static UnityEngine.InputSystem.Controls.DiscreteButtonControl;
@ -88,6 +89,8 @@ public class CardEntity : MonoBehaviour
public Text castRange;
[Header("条件颜色的判断")]
public GameObject colorConditon;
[Header("卡牌数据总结")]
public GameObject cardDataSummary;
public Dictionary<string, Tuple<string, string>> cardFunToLose = new Dictionary<string, Tuple<string, string>>();
private void Start()
@ -99,6 +102,7 @@ public class CardEntity : MonoBehaviour
{
checkAndUpdateCondition();
createCardCost();
createCastRange();
}
IEnumerator SyncVuleText()
{
@ -141,7 +145,7 @@ public class CardEntity : MonoBehaviour
Player player = GameManager.Instance.player;
player.anim.SetTrigger("attack");
Vector3 dis = Input.mousePosition + Vector3.forward * 15;
Vector3 dis = UnityEngine.Input.mousePosition + Vector3.forward * 15;
Vector3 pos = Camera.main.ScreenToWorldPoint(dis);
player.FlipLocalScale(pos);
}
@ -277,7 +281,7 @@ public class CardEntity : MonoBehaviour
}
createTrueFun();
summarizeNodeColor();
createCastRange();
}
@ -325,25 +329,31 @@ public class CardEntity : MonoBehaviour
text.text = funVal;
}
private void conditionCal(string conditon,int conditonListindex,int colorConditionindex)
private void conditionCal(string condition,int conditonListindex,int colorConditionindex)
{
Transform childToCopy = colorConditon.transform;
GameObject colorConditonChild = Instantiate(colorConditon);
colorConditonChild.transform.SetParent(conditionList[conditonListindex].transform);
colorConditonChild.transform.position = conditionList[conditonListindex].transform.position;
colorConditonChild.transform.localRotation = childToCopy.localRotation;
colorConditonChild.transform.localScale = childToCopy.localScale;
string pattern = @"(\w+)([><=])(\d+)";
//string pattern = @"(\w+)([><=])(\d+)";
cardOriginalData.originFunctionVal.Clear();
Debug.Log("condition是"+condition);
Debug.Log("CardManager" + CardManager.Instance);
List <string> stringList= CardManager.Instance.splitStringIntoComponents(condition);
for (int i = 0; i < stringList.Count; i++)
{
CardResourcesManager.Instance.addChildToConditon(stringList[i], conditionList[conditonListindex]);
}
//Debug.Log("外面condition是" + kvp.Key);
Match match = Regex.Match(conditon, pattern);
//Match match = Regex.Match(conditon, pattern);
// 使用正则表达式将字符串按比较符号分割成三部分:左侧、操作符、右侧
var match = Regex.Match(condition, @"(.+?)([><=]+)(.+)");
if (match.Success)
{
string color = match.Groups[1].Value; // 颜色部分
string firstPart = match.Groups[1].Value; // 第一部分
string op = match.Groups[2].Value; // 运算符部分
string number = match.Groups[3].Value; // 数值部分
string secondPart = match.Groups[3].Value; // 第三部分
// int colorCount = getNodeTools.getNodesCount(color);
Debug.Log("cardId是" + cardOriginalData.CardId + "conditonListindex是" + conditonListindex + "colorConditionindex是" + colorConditionindex
/*Debug.Log("cardId是" + cardOriginalData.CardId + "conditonListindex是" + conditonListindex + "colorConditionindex是" + colorConditionindex
);
GameObject nodeModule = conditionList[conditonListindex].transform.GetChild(colorConditionindex).gameObject;
GameObject nodeImage = nodeModule.transform.GetChild(0).gameObject;
@ -369,7 +379,7 @@ public class CardEntity : MonoBehaviour
break;
}
string result = op + number;
description.text = result;
description.text = result;*/
}
}
@ -382,17 +392,18 @@ public class CardEntity : MonoBehaviour
Match match = Regex.Match(conditon, pattern);
if (match.Success)
{
string color = match.Groups[1].Value; // 颜色部分
string firstPart = match.Groups[1].Value; // 第一部分
string op = match.Groups[2].Value; // 运算符部分
int number = int.Parse(match.Groups[3].Value); // 数值部分
int colorCount = getNodeTools.getNodesCount(color);
string secondPart = match.Groups[3].Value; // 第二部分
int firstPartCount = CardManager.Instance.evaluateExpression(firstPart);
int secondPartCount = CardManager.Instance.evaluateExpression(secondPart);
int thresholdShift = 0;
//蓝色地块优势
if (MapUnityManager.Instance.getAdvNode().Equals(Name.Color.Blue))
{
thresholdShift = 2;
}
if (performComparison(colorCount, op, number, thresholdShift))
if (performComparison(firstPartCount, op, secondPartCount, thresholdShift))
{
check= true;
}
@ -408,25 +419,28 @@ public class CardEntity : MonoBehaviour
return check;
}
private void resultsScreenCal()
private void resultsScreenCal(GameObject father)
{
for (int i = 0; i < cardOriginalData.TrueFunctionVal.Count; i++)
{
string keyName = Name.switchNumToString(cardOriginalData.TrueFunctionVal.ElementAt(i).Key);
string valueName= keyName + Name.value;
GameObject fun= trueFun.transform.GetChild(i).gameObject;
GameObject funImage = fun.transform.GetChild(0).gameObject;
GameObject funVal = fun.transform.GetChild(1).gameObject;
Image image = funImage.GetComponent<Image>();
Text description = funVal.GetComponent<Text>();
imageCal(image, cardOriginalData.TrueFunctionVal.ElementAt(i).Key);
GameObject keyChild = father.transform.Find(keyName).GameObject();
GameObject valueChild = father.transform.Find(valueName).GameObject();
Text description = valueChild.GetComponent<Text>();
//imageCal(image, cardOriginalData.TrueFunctionVal.ElementAt(i).Key);
//Debug.Log("cardId是" + cardOriginalData.CardId + "功能是" + cardOriginalData.TrueFunctionVal.ElementAt(i).Key + "数值是" + cardOriginalData.TrueFunctionVal.ElementAt(i).Value);
if (int.Parse(cardOriginalData.TrueFunctionVal.ElementAt(i).Value)<=0)
{
fun.SetActive(false);
keyChild.SetActive(false);
valueChild.SetActive(false);
}
else
{
fun.SetActive(true);
keyChild.SetActive(true);
valueChild.SetActive(true);
description.text = cardOriginalData.TrueFunctionVal.ElementAt(i).Value;
}
}
@ -524,16 +538,12 @@ public class CardEntity : MonoBehaviour
}
for (int i = 0; i < cardOriginalData.originFunctionVal.Count; i++)
{
Transform childToCopy = trueFunPrefab.transform;
GameObject trueFunChild = Instantiate(trueFunPrefab);
trueFunChild.transform.SetParent(trueFun.transform);
trueFunChild.transform.position = trueFun.transform.position;
trueFunChild.transform.localRotation = childToCopy.localRotation;
trueFunChild.transform.localScale = childToCopy.localScale;
string stringKey = Name.switchNumToString(cardOriginalData.originFunctionVal.ElementAt(i).Key);
GameObject image=CardResourcesManager.Instance.addChildToConditon(stringKey, cardDataSummary);
image.name = stringKey;
GameObject text = CardResourcesManager.Instance.addChildToConditon(cardOriginalData.originFunctionVal.ElementAt(i).Value, cardDataSummary);
text.name = stringKey+Name.value;
}
Image condition = trueFun.GetComponent<Image>();
//condition.color = UnityEngine.Color.green;
}
private void createFun(KeyValuePair<string, Tuple<string, string>> kvp,int index)
@ -543,19 +553,8 @@ public class CardEntity : MonoBehaviour
for (int i = 0; i < functions.Length; i++)
{
Transform childToCopy = trueFunPrefab.transform;
GameObject funChild = Instantiate(trueFunPrefab);
funChild.transform.SetParent(conditionList[index].transform);
funChild.transform.position = conditionList[index].transform.position;
funChild.transform.localRotation = childToCopy.localRotation;
funChild.transform.localScale = childToCopy.localScale;
GameObject funImage = funChild.transform.GetChild(0).gameObject;
GameObject funVal = funChild.transform.GetChild(1).gameObject;
Image image = funImage.GetComponent<Image>();
Text description = funVal.GetComponent<Text>();
Debug.Log("functions是" + functions[i] + "vals是" + vals[i]);
getFun(image, functions[i], vals[i], description);
CardResourcesManager.Instance.addChildToConditon(Name.switchNumToString(functions[i]), conditionList[index]);
CardResourcesManager.Instance.addChildToConditon(vals[i], conditionList[index]);
}
//condition.color = UnityEngine.Color.green;
@ -563,7 +562,17 @@ public class CardEntity : MonoBehaviour
private void createCastRange()
{
castRange.text=cardOriginalData.CastingRange.ToString();
if (GameManager.Instance.playerOn.whoColour.Equals(Name.NodeColor.Green))
{
int range = cardOriginalData.CastingRange + 1;
Debug.Log("range是" + range);
castRange.text = range.ToString();
}
else
{
castRange.text = cardOriginalData.CastingRange.ToString();
}
}
private void summarizeNodeColor()
@ -577,7 +586,11 @@ public class CardEntity : MonoBehaviour
};
for (int i = 0; i < cardOriginalData.nodesColor.Length; i++)
{
nodeColorResult[cardOriginalData.nodesColor[i]]++;
if (!cardOriginalData.nodesColor[i].Equals(Name.none))
{
nodeColorResult[cardOriginalData.nodesColor[i]]++;
}
}
for (int i = 0; i < nodeColorResult.Count; i++)
@ -678,7 +691,7 @@ public class CardEntity : MonoBehaviour
}
}
}
resultsScreenCal();
resultsScreenCal(cardDataSummary);
}
private void createCardRelease()
{

29
ColorlessWorld-2024-4-2/Assets/Scripts/Card/CardOriginalDataList.cs

@ -110,16 +110,25 @@ public class CardOriginalDataList : Singleton<CardOriginalDataList>
Dictionary<string, CardOriginalData> ReadExcel(string filePath)
{
Dictionary<string, CardOriginalData> cardOriginalDataList = new Dictionary<string, CardOriginalData>();
string[] lines = File.ReadAllLines(filePath);
// 跳过标题行(如果CSV文件有标题行的话)
for (int i = 1; i < lines.Length; i++)
using (FileStream fs = new FileStream(filePath, FileMode.Open, FileAccess.Read, FileShare.ReadWrite))
using (StreamReader reader = new StreamReader(fs))
{
// 用逗号分隔每行数据
string[] values = lines[i].Split(',');
CardOriginalData cardOriginalData = new CardOriginalData();
loadDatafromCsv(values, cardOriginalData);
cardOriginalDataList.Add(cardOriginalData.CardId, cardOriginalData);
bool isFirstLine = true;
while (!reader.EndOfStream)
{
string line = reader.ReadLine();
if (isFirstLine)
{
isFirstLine = false;
continue; // 跳过标题行
}
// 用逗号分隔每行数据
string[] values = line.Split(',');
CardOriginalData cardOriginalData = new CardOriginalData();
loadDatafromCsv(values, cardOriginalData);
cardOriginalDataList.Add(cardOriginalData.CardId, cardOriginalData);
}
}
return cardOriginalDataList;
}
@ -128,7 +137,7 @@ public class CardOriginalDataList : Singleton<CardOriginalDataList>
{
//CardOriginalData cardOriginalData = CardOriginalData.Instance;
cardOriginalData.CardId = values[0];
cardOriginalData.ChineseName = values[1];
//cardOriginalData.ChineseName = values[1];
cardOriginalData.Cost = int.Parse(values[2]);
cardOriginalData.Rarity = int.Parse(values[3]);
cardOriginalData.CastingRange = int.Parse(values[4]);

73
ColorlessWorld-2024-4-2/Assets/Scripts/Card/CardResourcesManager.cs

@ -1,6 +1,7 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class CardResourcesManager : Singleton <CardResourcesManager>
{
@ -16,8 +17,80 @@ public class CardResourcesManager : Singleton <CardResourcesManager>
public Sprite shield;
public Sprite step;
public Sprite weak;
[Header("条件中的图片")]
public GameObject imageInCondition;
[Header("条件中的字符")]
public GameObject textInCondition;
private void Start()
{
DontDestroyOnLoad(this.gameObject);
}
public GameObject addChildToConditon(string input,GameObject father)
{
GameObject colorConditonChild;
if (isTextOrImage(input))
{
Transform childToCopy = textInCondition.transform;
colorConditonChild = Instantiate(textInCondition);
colorConditonChild.transform.SetParent(father.transform);
colorConditonChild.transform.position = father.transform.position;
colorConditonChild.transform.localRotation = childToCopy.localRotation;
colorConditonChild.transform.localScale = childToCopy.localScale;
Text description = colorConditonChild.GetComponent<Text>();
description.text = input;
}
else
{
Transform childToCopy = imageInCondition.transform;
colorConditonChild = Instantiate(imageInCondition);
colorConditonChild.transform.SetParent(father.transform);
colorConditonChild.transform.position = father.transform.position;
colorConditonChild.transform.localRotation = childToCopy.localRotation;
colorConditonChild.transform.localScale = childToCopy.localScale;
getImage(colorConditonChild, input);
}
return colorConditonChild;
}
public bool isTextOrImage(string input)
{
return System.Text.RegularExpressions.Regex.IsMatch(input, @"^[><=]|\d+$");
}
public void getImage(GameObject input,string imageString)
{
Image image = input.GetComponent<Image>();
switch (imageString)
{
case Name.Color.Blue:
image.sprite = blueNodeImage;
break;
case Name.Color.Green:
image.sprite = greenNodeImage;
break;
case Name.Color.Red:
image.sprite = redNodeImage;
break;
case Name.Color.White:
image.sprite = whiteNodeImage;
break;
case Name.Color.Black:
image.sprite = blackNodeImage;
break;
case Name.CardFunctionString.damage:
image.sprite = attack;
break;
case Name.CardFunctionString.shield:
image.sprite = shield;
break;
case Name.CardFunctionString.weak:
image.sprite = weak;
break;
case Name.CardFunctionString.step:
image.sprite = step;
break;
}
}
}

291
ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/BlackSheep.cs

@ -0,0 +1,291 @@
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using UnityEngine;
public class BlackSheep : MonoBehaviour
{
public EnemyNode enemyNode;
[Header("瞄准射线图层剔除")]
public LayerMask layerMask;
[Header("计数标量")]
public float time;
float lastTime = 0;
[Header("移动速度标量")]
public float moveSpeed;
//怪物行动
public EnemyAction enemyAction;
public Dictionary<EnemyAction, float> actionPool = new Dictionary<EnemyAction, float>();
private void Start()
{
actionPool.Add(EnemyPlanUIManager.Instance.NewAction(EnemyPlanUIFunction.attack), 0.2f);
actionPool.Add(EnemyPlanUIManager.Instance.NewAction(EnemyPlanUIFunction.shootAndPollute), 0.4f);
actionPool.Add(EnemyPlanUIManager.Instance.NewAction(EnemyPlanUIFunction.attackAndShield), 0.4f);
}
private void Update()
{
}
private void OnEnable()
{
}
public void enemyTurn()
{
StartCoroutine(JudgNextActionCoroutine());
}
public void ChooseAction()
{
enemyAction = new EnemyActionAction_Attack();
Debug.Log("actionPool大小" + actionPool.Count());
if (enemyNode == null)
{
Debug.Log("enemyNode大小");
}
enemyAction = enemyNode.GetRandomAction(actionPool);
Debug.Log("行动是:" + enemyAction);
enemyNode.enemyUIBar.SwitchIntention(enemyAction);
}
IEnumerator JudgeActionCoroutine()//等移动到位置就判断是否还能走
{
Debug.Log("真正行动是:" + enemyAction);
switch (enemyAction)
{
case EnemyActionAction_Attack:
yield return StartCoroutine(MeleeAttackAction());
break;
case EnemyActionAction_Shield:
yield return StartCoroutine(ShieldAction());
break;
case EnemyAction_ShootAndPollute:
yield return StartCoroutine(MeleeAttackAndPolluteAction());
break;
}
}
IEnumerator MeleeAttackAction()
{
MapUnity currentNode = GameManager.Instance.X[enemyNode.positionX].Y[enemyNode.positionY];
if (getNodeTools.canRemoteAttack(currentNode, enemyNode.EnemyState.attackRange))
{
if (!enemyNode.EnemyState.abnormalCondition.ContainsKey(AbnormalCondition.disarm))
{
AttackDamage(enemyNode.EnemyState.damage);
}
}
else
{
yield return StartCoroutine(moveTowardsPlayer());
yield return new WaitForSeconds(1);
currentNode = GameManager.Instance.X[enemyNode.positionX].Y[enemyNode.positionY];
if (getNodeTools.canRemoteAttack(currentNode, enemyNode.EnemyState.attackRange))
{
if (!enemyNode.EnemyState.abnormalCondition.ContainsKey(AbnormalCondition.disarm))
{
AttackDamage(enemyNode.EnemyState.damage);
}
}
}
}
IEnumerator MeleeAttackAndPolluteAction()
{
MapUnity currentNode = GameManager.Instance.X[enemyNode.positionX].Y[enemyNode.positionY];
if (getNodeTools.canRemoteAttack(currentNode, enemyNode.EnemyState.attackRange))
{
if (!enemyNode.EnemyState.abnormalCondition.ContainsKey(AbnormalCondition.disarm))
{
AttackDamage(enemyNode.EnemyState.damage);
GameManager.Instance.playerOn.whoColour = Name.NodeColor.Black;
if (GameManager.Instance.playerOn.unitPool[0] != null)
{
MapUnity mapUnityA = GameManager.Instance.playerOn.unitPool[1];
mapUnityA.whoColour = Name.NodeColor.Black;
}
if (GameManager.Instance.playerOn.unitPool[5] != null)
{
MapUnity mapUnityA = GameManager.Instance.playerOn.unitPool[5];
mapUnityA.whoColour = Name.NodeColor.Black;
}
}
}
else
{
yield return StartCoroutine(moveTowardsPlayer());
yield return new WaitForSeconds(1);
currentNode = GameManager.Instance.X[enemyNode.positionX].Y[enemyNode.positionY];
if (getNodeTools.canRemoteAttack(currentNode, enemyNode.EnemyState.attackRange))
{
if (!enemyNode.EnemyState.abnormalCondition.ContainsKey(AbnormalCondition.disarm))
{
AttackDamage(enemyNode.EnemyState.damage);
GameManager.Instance.playerOn.whoColour = Name.NodeColor.Black;
if (GameManager.Instance.playerOn.unitPool[0] != null)
{
MapUnity mapUnityA = GameManager.Instance.playerOn.unitPool[0];
mapUnityA.whoColour = Name.NodeColor.Black;
}
if (GameManager.Instance.playerOn.unitPool[5] != null)
{
MapUnity mapUnityA = GameManager.Instance.playerOn.unitPool[5];
mapUnityA.whoColour = Name.NodeColor.Black;
}
}
}
}
}
IEnumerator ShieldAction()
{
enemyNode.EnemyState.shieldValue += 5;
MapUnity currentNode = GameManager.Instance.X[enemyNode.positionX].Y[enemyNode.positionY];
if (getNodeTools.canRemoteAttack(currentNode, enemyNode.EnemyState.attackRange))
{
if (!enemyNode.EnemyState.abnormalCondition.ContainsKey(AbnormalCondition.disarm))
{
AttackDamage(enemyNode.EnemyState.damage);
}
}
else
{
yield return StartCoroutine(moveTowardsPlayer());
yield return new WaitForSeconds(1);
currentNode = GameManager.Instance.X[enemyNode.positionX].Y[enemyNode.positionY];
if (getNodeTools.canRemoteAttack(currentNode, enemyNode.EnemyState.attackRange))
{
if (!enemyNode.EnemyState.abnormalCondition.ContainsKey(AbnormalCondition.disarm))
{
AttackDamage(enemyNode.EnemyState.damage);
}
}
}
}
IEnumerator moveTowardsPlayer()
{
enemyNode.FindPathTowardsPlayer();
for (int i = 1; i < getMoveStep(); i++)
{
if (enemyNode.pasth.Count > 1)
{
yield return StartCoroutine(moveOneStep(enemyNode.pasth[i]));
}
}
}
IEnumerator moveAwayFromPlayer()
{
enemyNode.FindPathAwayFromPlayer();
for (int i = 1; i < getMoveStep(); i++)
{
if (enemyNode.pasth.Count > 1)
{
yield return StartCoroutine(moveOneStep(enemyNode.pasth[i]));
}
}
}
private int getMoveStep()
{
if (enemyNode.getStepRange() + 1 <= enemyNode.pasth.Count)
{
return enemyNode.getStepRange() + 1;
}
else
{
return enemyNode.pasth.Count;
}
}
IEnumerator moveOneStep(MapUnity nexMapUnity)
{
enemyNode.bleedCal();
MapUnity currentNode = GameManager.Instance.X[enemyNode.positionX].Y[enemyNode.positionY];
MapUnity disNode = nexMapUnity;
currentNode.blocked = false;
currentNode.enemyNode = null;
enemyNode.positionX = disNode.locationX;
enemyNode.positionY = disNode.locationY;
disNode.enemyNode = enemyNode;
yield return StartCoroutine(SkeletonArcherMoveCoroutine(disNode));
}
IEnumerator JudgNextActionCoroutine()
{
if (enemyNode.EnemyState.abnormalCondition.ContainsKey(AbnormalCondition.sleep))
{
}
else
{
yield return StartCoroutine(JudgeActionCoroutine());
}
//下回合意图
ArcherAim();
//让下一个敌人运动
EnemyManager.Instance.enemyTurnState = EnemyManager.EnemyTurnState.runing;
}
IEnumerator SkeletonArcherMoveCoroutine(MapUnity endMapUnity)//移动到位置
{
while (true)
{
float dDistance = Vector3.Distance(this.gameObject.transform.position, endMapUnity.transform.position);
if (dDistance < 0.1f)
{
break;
}
this.gameObject.transform.position = Vector3.Lerp(this.gameObject.transform.position, endMapUnity.transform.position, Time.deltaTime * moveSpeed);
yield return 0;
}
//判断腐蚀
enemyNode.CorrodeRealize(endMapUnity);
//判断流血
enemyNode.bleedRealize(endMapUnity);
yield break;
}
public void ArcherAim()
{
Vector3 dir = GameManager.Instance.player.transform.position - this.transform.position;
Ray ray = new Ray(this.transform.position, dir);
if (Physics.Raycast(ray, out RaycastHit raycastHit, 500, layerMask.value))
{
enemyNode.lineAim.GetComponent<EnemyAimLine>().aimGamgObject = raycastHit.collider.gameObject;
}
}
public void AttackDamage(int damage)
{
Usermanager.Instance.SufferDamage(enemyNode.DamageCalculation(damage), enemyNode);
}
}

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

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

300
ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/DarkCloud.cs

@ -0,0 +1,300 @@
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using UnityEngine;
public class DarkCloud : MonoBehaviour
{
EnemyNode enemyNode;
[Header("瞄准射线图层剔除")]
public LayerMask layerMask;
[Header("计数标量")]
public float time;
float lastTime = 0;
[Header("移动速度标量")]
public float moveSpeed;
//怪物行动
public EnemyAction enemyAction;
public Dictionary<EnemyAction, float> actionPool = new Dictionary<EnemyAction, float>();
private void Start()
{
enemyNode = GetComponent<EnemyNode>();
actionPool.Add(EnemyPlanUIManager.Instance.NewAction(EnemyPlanUIFunction.shoot), 0.4f);
actionPool.Add(EnemyPlanUIManager.Instance.NewAction(EnemyPlanUIFunction.shootAndPollute), 0.3f);
actionPool.Add(EnemyPlanUIManager.Instance.NewAction(EnemyPlanUIFunction.shield), 0.3f);
enemyNode.sufferAbnormalCondition(AbnormalCondition.corrode, 1);
enemyNode.sufferAbnormalCondition(AbnormalCondition.boomAndPollute, 1);
}
private void Update()
{
}
private void OnEnable()
{
}
public void enemyTurn()
{
StartCoroutine(JudgNextActionCoroutine());
}
public void ChooseAction()
{
enemyAction = new EnemyActionAction_Shoot();
Debug.Log("actionPool大小"+ actionPool.Count());
if (enemyNode == null)
{
Debug.Log("enemyNode大小");
}
enemyAction = enemyNode.GetRandomAction(actionPool);
Debug.Log("行动是:" + enemyAction);
enemyNode.enemyUIBar.SwitchIntention(enemyAction);
}
IEnumerator JudgeActionCoroutine()//等移动到位置就判断是否还能走
{
Debug.Log("真正行动是:" + enemyAction);
switch (enemyAction)
{
case EnemyActionAction_Shoot:
yield return StartCoroutine(RemoteAttackAction());
break;
case EnemyActionAction_Shield:
yield return StartCoroutine(ShieldAction());
break;
case EnemyAction_ShootAndPollute:
yield return StartCoroutine(RemoteAttackAndPolluteAction());
break;
}
}
IEnumerator MeleeAttackAction()
{
MapUnity currentNode = GameManager.Instance.X[enemyNode.positionX].Y[enemyNode.positionY];
if (getNodeTools.canRemoteAttack(currentNode, enemyNode.EnemyState.attackRange))
{
if (!enemyNode.EnemyState.abnormalCondition.ContainsKey(AbnormalCondition.disarm))
{
AttackDamage(enemyNode.EnemyState.damage);
}
}
else
{
yield return StartCoroutine(moveTowardsPlayer());
yield return new WaitForSeconds(1);
currentNode = GameManager.Instance.X[enemyNode.positionX].Y[enemyNode.positionY];
if (getNodeTools.canRemoteAttack(currentNode, enemyNode.EnemyState.attackRange))
{
if (!enemyNode.EnemyState.abnormalCondition.ContainsKey(AbnormalCondition.disarm))
{
AttackDamage(enemyNode.EnemyState.damage);
}
}
}
}
IEnumerator RemoteAttackAction()
{
//Usermanager.Instance.SufferPlayerAbnormalCondition(AbnormalCondition.immunity, 1);
//Usermanager.Instance.SufferPlayerAbnormalCondition(AbnormalCondition.banStep, 1);
//enemyNode.sufferAbnormalCondition(AbnormalCondition.immunity, 1);
//enemyNode.sufferAbnormalCondition(AbnormalCondition.boom, 1);
MapUnity currentNode = GameManager.Instance.X[enemyNode.positionX].Y[enemyNode.positionY];
if (getNodeTools.canRemoteAttack(currentNode, enemyNode.EnemyState.attackRange))
{
if (!enemyNode.EnemyState.abnormalCondition.ContainsKey(AbnormalCondition.disarm))
{
AttackDamage(enemyNode.EnemyState.damage);
}
yield return new WaitForSeconds(1);
yield return StartCoroutine(moveAwayFromPlayer());
}
else
{
yield return StartCoroutine(moveTowardsPlayer());
}
}
IEnumerator RemoteAttackAndPolluteAction()
{
//Usermanager.Instance.SufferPlayerAbnormalCondition(AbnormalCondition.immunity, 1);
//Usermanager.Instance.SufferPlayerAbnormalCondition(AbnormalCondition.banStep, 1);
//enemyNode.sufferAbnormalCondition(AbnormalCondition.immunity, 1);
//enemyNode.sufferAbnormalCondition(AbnormalCondition.boom, 1);
MapUnity currentNode = GameManager.Instance.X[enemyNode.positionX].Y[enemyNode.positionY];
if (getNodeTools.canRemoteAttack(currentNode, enemyNode.EnemyState.attackRange))
{
if (!enemyNode.EnemyState.abnormalCondition.ContainsKey(AbnormalCondition.disarm))
{
AttackDamage(enemyNode.EnemyState.damage);
if (GameManager.Instance.playerOn.unitPool[1] != null)
{
MapUnity mapUnityA = GameManager.Instance.playerOn.unitPool[1];
mapUnityA.whoColour=Name.NodeColor.Black;
}
if (GameManager.Instance.playerOn.unitPool[5] != null)
{
MapUnity mapUnityA = GameManager.Instance.playerOn.unitPool[5];
mapUnityA.whoColour = Name.NodeColor.Black;
}
}
yield return new WaitForSeconds(1);
yield return StartCoroutine(moveAwayFromPlayer());
}
else
{
yield return StartCoroutine(moveTowardsPlayer());
}
}
IEnumerator ShieldAction()
{
enemyNode.EnemyState.shieldValue += 10;
MapUnity currentNode = GameManager.Instance.X[enemyNode.positionX].Y[enemyNode.positionY];
HashSet<MapUnity> targetNodes=new HashSet<MapUnity> { currentNode };
getNodeTools.getCircleNodeForEnemy(targetNodes,1);
foreach (MapUnity node in targetNodes)
{
node.whoColour = Name.NodeColor.Black;
}
if (getNodeTools.canRemoteAttack(currentNode, enemyNode.EnemyState.attackRange))
{
}
else
{
yield return StartCoroutine(moveTowardsPlayer());
yield return new WaitForSeconds(1);
}
}
IEnumerator moveTowardsPlayer()
{
enemyNode.FindPathTowardsPlayer();
for (int i = 1; i < getMoveStep(); i++)
{
if (enemyNode.pasth.Count > 1)
{
yield return StartCoroutine(moveOneStep(enemyNode.pasth[i]));
}
}
}
IEnumerator moveAwayFromPlayer()
{
enemyNode.FindPathAwayFromPlayer();
for (int i = 1; i < getMoveStep(); i++)
{
if (enemyNode.pasth.Count > 1)
{
yield return StartCoroutine(moveOneStep(enemyNode.pasth[i]));
}
}
}
private int getMoveStep()
{
if (enemyNode.getStepRange() + 1 <= enemyNode.pasth.Count)
{
return enemyNode.getStepRange() + 1;
}
else
{
return enemyNode.pasth.Count;
}
}
IEnumerator moveOneStep(MapUnity nexMapUnity)
{
enemyNode.bleedCal();
MapUnity currentNode = GameManager.Instance.X[enemyNode.positionX].Y[enemyNode.positionY];
MapUnity disNode = nexMapUnity;
currentNode.blocked = false;
currentNode.enemyNode = null;
enemyNode.positionX = disNode.locationX;
enemyNode.positionY = disNode.locationY;
disNode.enemyNode = enemyNode;
yield return StartCoroutine(SkeletonArcherMoveCoroutine(disNode));
}
IEnumerator JudgNextActionCoroutine()
{
if (enemyNode.EnemyState.abnormalCondition.ContainsKey(AbnormalCondition.sleep))
{
}
else
{
Debug.Log("开始");
yield return StartCoroutine(JudgeActionCoroutine());
}
Debug.Log("结束");
//下回合意图
ArcherAim();
//让下一个敌人运动
EnemyManager.Instance.enemyTurnState = EnemyManager.EnemyTurnState.runing;
}
IEnumerator SkeletonArcherMoveCoroutine(MapUnity endMapUnity)//移动到位置
{
while (true)
{
float dDistance = Vector3.Distance(this.gameObject.transform.position, endMapUnity.transform.position);
if (dDistance < 0.1f)
{
break;
}
this.gameObject.transform.position = Vector3.Lerp(this.gameObject.transform.position, endMapUnity.transform.position, Time.deltaTime * moveSpeed);
yield return 0;
}
//判断腐蚀
enemyNode.CorrodeRealize(endMapUnity);
//判断流血
enemyNode.bleedRealize(endMapUnity);
yield break;
}
public void ArcherAim()
{
Vector3 dir = GameManager.Instance.player.transform.position - this.transform.position;
Ray ray = new Ray(this.transform.position, dir);
if (Physics.Raycast(ray, out RaycastHit raycastHit, 500, layerMask.value))
{
enemyNode.lineAim.GetComponent<EnemyAimLine>().aimGamgObject = raycastHit.collider.gameObject;
}
}
public void AttackDamage(int damage)
{
Usermanager.Instance.SufferDamage(enemyNode.DamageCalculation(damage), enemyNode);
}
}

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

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

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

@ -72,7 +72,12 @@ public class EnemyNode : MonoBehaviour,IEnemyObserver
emberWraith,
drowsyShroom,
bone,
corrosiveSludge
corrosiveSludge,
darkCloud,
blackSheep,
grinfiend,
polymaw,
mushroom
}
[Header("意图行动")]
public bool canMove; //可以移动
@ -103,6 +108,10 @@ public class EnemyNode : MonoBehaviour,IEnemyObserver
if (enemyType == EnemyType.enemy)
enemyUIBar = GetComponent<EnemyUIBar>();
if (enemyUIBar == null)
{
CreatEnemyUIBar(this);
}
}
private void OnDisable()
{
@ -114,10 +123,7 @@ public class EnemyNode : MonoBehaviour,IEnemyObserver
}
private void Start()
{
if(enemyUIBar ==null )
{
CreatEnemyUIBar(this);
}
}
@ -218,6 +224,31 @@ public class EnemyNode : MonoBehaviour,IEnemyObserver
CorrosiveSludge corrosiveSludge = GetComponent<CorrosiveSludge>();
corrosiveSludge.ChooseAction();
break;
case EnemyScript.darkCloud:
DarkCloud darkCloud = GetComponent<DarkCloud>();
darkCloud.ChooseAction();
break;
case EnemyScript.blackSheep:
BlackSheep blackSheep = GetComponent<BlackSheep>();
blackSheep.enemyNode = this;
blackSheep.ChooseAction();
break;
case EnemyScript.grinfiend:
Grinfiend grinfiend = GetComponent<Grinfiend>();
grinfiend.enemyNode = this;
grinfiend.ChooseAction();
break;
case EnemyScript.polymaw:
Polymaw polymaw = GetComponent<Polymaw>();
polymaw.enemyNode = this;
polymaw.ChooseAction();
break;
case EnemyScript.mushroom:
Mushroom mushroom = GetComponent<Mushroom>();
mushroom.enemyNode = this;
mushroom.ChooseAction();
break;
}
}
@ -236,6 +267,7 @@ public class EnemyNode : MonoBehaviour,IEnemyObserver
return action.Key;
}
}
Debug.Log("actionPool2222´óС" + actionPool.Count());
return actionPool.Keys.Last();
}
@ -319,6 +351,26 @@ public class EnemyNode : MonoBehaviour,IEnemyObserver
CorrosiveSludge corrosiveSludge = GetComponent<CorrosiveSludge>();
corrosiveSludge.enemyTurn();
break;
case EnemyScript.darkCloud:
DarkCloud darkCloud = GetComponent<DarkCloud>();
darkCloud.enemyTurn();
break;
case EnemyScript.blackSheep:
BlackSheep blackSheep = GetComponent<BlackSheep>();
blackSheep.enemyTurn();
break;
case EnemyScript.grinfiend:
Grinfiend grinfiend = GetComponent<Grinfiend>();
grinfiend.enemyTurn();
break;
case EnemyScript.polymaw:
Polymaw polymaw = GetComponent<Polymaw>();
polymaw.enemyTurn();
break;
case EnemyScript.mushroom:
Mushroom mushroom = GetComponent<Mushroom>();
mushroom.enemyTurn();
break;
}
}
public void SettlementSkill()
@ -716,6 +768,12 @@ public class EnemyNode : MonoBehaviour,IEnemyObserver
return;
}
if (condition.Equals(AbnormalCondition.wet))
{
sufferWet(condition, value);
return;
}
if (condition.Equals(AbnormalCondition.levelSleep))
{
sufferLevelSleep(condition, value);
@ -892,6 +950,29 @@ public class EnemyNode : MonoBehaviour,IEnemyObserver
}
private void sufferWet(string condition, int value)
{
int nowValue = 0;
if (EnemyState.abnormalCondition.ContainsKey(condition))
{
nowValue = EnemyState.abnormalCondition[condition].value;
}
int trueValue = nowValue + value;
if (trueValue >= 10)
{
sufferAbnormalCondition(AbnormalCondition.coma, 1);
EnemyState.abnormalCondition.Remove(condition);
}
else
{
EnemyState.abnormalCondition.Remove(condition);
AddEnemyAbnormalCondition(condition, trueValue);
}
//enemyUIBar.RefreshEnemyBuffIcon();
}
private void sufferLevelSleep(string condition, int value)
{
//firseed的特殊处理

319
ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/Grinfiend.cs

@ -0,0 +1,319 @@
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using UnityEngine;
public class Grinfiend : MonoBehaviour
{
public EnemyNode enemyNode;
[Header("瞄准射线图层剔除")]
public LayerMask layerMask;
[Header("计数标量")]
public float time;
float lastTime = 0;
[Header("移动速度标量")]
public float moveSpeed;
//怪物行动
public EnemyAction enemyAction;
public Dictionary<EnemyAction, float> actionPool = new Dictionary<EnemyAction, float>();
private void Start()
{
actionPool.Add(EnemyPlanUIManager.Instance.NewAction(EnemyPlanUIFunction.shoot), 0.2f);
actionPool.Add(EnemyPlanUIManager.Instance.NewAction(EnemyPlanUIFunction.deBuff), 0.8f);
}
private void Update()
{
}
private void OnEnable()
{
}
public void enemyTurn()
{
StartCoroutine(JudgNextActionCoroutine());
}
public void ChooseAction()
{
enemyAction = new EnemyActionAction_Shoot();
enemyAction = enemyNode.GetRandomAction(actionPool);
Debug.Log("行动是:" + enemyAction);
enemyNode.enemyUIBar.SwitchIntention(enemyAction);
}
IEnumerator JudgeActionCoroutine()//等移动到位置就判断是否还能走
{
Debug.Log("真正行动是:" + enemyAction);
switch (enemyAction)
{
case EnemyActionAction_Shoot:
yield return StartCoroutine(RemoteAttackAction());
break;
case EnemyActionAction_DeBuff:
yield return StartCoroutine(DebuffAction());
break;
}
}
IEnumerator MeleeAttackAction()
{
MapUnity currentNode = GameManager.Instance.X[enemyNode.positionX].Y[enemyNode.positionY];
if (getNodeTools.canRemoteAttack(currentNode, enemyNode.EnemyState.attackRange))
{
if (!enemyNode.EnemyState.abnormalCondition.ContainsKey(AbnormalCondition.disarm))
{
AttackDamage(enemyNode.EnemyState.damage);
}
}
else
{
yield return StartCoroutine(moveTowardsPlayer());
yield return new WaitForSeconds(1);
currentNode = GameManager.Instance.X[enemyNode.positionX].Y[enemyNode.positionY];
if (getNodeTools.canRemoteAttack(currentNode, enemyNode.EnemyState.attackRange))
{
if (!enemyNode.EnemyState.abnormalCondition.ContainsKey(AbnormalCondition.disarm))
{
AttackDamage(enemyNode.EnemyState.damage);
}
}
}
}
IEnumerator RemoteAttackAction()
{
//Usermanager.Instance.SufferPlayerAbnormalCondition(AbnormalCondition.immunity, 1);
//Usermanager.Instance.SufferPlayerAbnormalCondition(AbnormalCondition.banStep, 1);
//enemyNode.sufferAbnormalCondition(AbnormalCondition.immunity, 1);
//enemyNode.sufferAbnormalCondition(AbnormalCondition.boom, 1);
MapUnity currentNode = GameManager.Instance.X[enemyNode.positionX].Y[enemyNode.positionY];
if (getNodeTools.canRemoteAttack(currentNode, enemyNode.EnemyState.attackRange))
{
if (!enemyNode.EnemyState.abnormalCondition.ContainsKey(AbnormalCondition.disarm))
{
AttackDamage(enemyNode.EnemyState.damage);
}
yield return new WaitForSeconds(1);
yield return StartCoroutine(moveAwayFromPlayer());
}
else
{
yield return StartCoroutine(moveTowardsPlayer());
}
}
IEnumerator RemoteAttackAndPolluteAction()
{
//Usermanager.Instance.SufferPlayerAbnormalCondition(AbnormalCondition.immunity, 1);
//Usermanager.Instance.SufferPlayerAbnormalCondition(AbnormalCondition.banStep, 1);
//enemyNode.sufferAbnormalCondition(AbnormalCondition.immunity, 1);
//enemyNode.sufferAbnormalCondition(AbnormalCondition.boom, 1);
MapUnity currentNode = GameManager.Instance.X[enemyNode.positionX].Y[enemyNode.positionY];
if (getNodeTools.canRemoteAttack(currentNode, enemyNode.EnemyState.attackRange))
{
if (!enemyNode.EnemyState.abnormalCondition.ContainsKey(AbnormalCondition.disarm))
{
AttackDamage(enemyNode.EnemyState.damage);
if (GameManager.Instance.playerOn.unitPool[1] != null)
{
MapUnity mapUnityA = GameManager.Instance.playerOn.unitPool[1];
mapUnityA.whoColour=Name.NodeColor.Black;
}
if (GameManager.Instance.playerOn.unitPool[5] != null)
{
MapUnity mapUnityA = GameManager.Instance.playerOn.unitPool[5];
mapUnityA.whoColour = Name.NodeColor.Black;
}
}
yield return new WaitForSeconds(1);
yield return StartCoroutine(moveAwayFromPlayer());
}
else
{
yield return StartCoroutine(moveTowardsPlayer());
}
}
public string GetRandomAction(Dictionary<string, double> actions)
{
System.Random random = new System.Random();
double randValue = random.NextDouble(); // 生成一个 [0, 1) 之间的随机数
double cumulative = 0.0;
foreach (var action in actions)
{
cumulative += action.Value;
if (randValue < cumulative)
{
return action.Key;
}
}
return null; // 如果没有匹配到,则返回 null(理论上不会出现此情况)
}
IEnumerator DebuffAction()
{
Dictionary<string, double> debuffPool = new Dictionary<string, double>()
{
{"para", 0.2 },
{"weak", 0.4 },
{"vulnerable", 0.4 }
};
string action = GetRandomAction(debuffPool);
MapUnity currentNode = GameManager.Instance.X[enemyNode.positionX].Y[enemyNode.positionY];
if (getNodeTools.canRemoteAttack(currentNode, enemyNode.EnemyState.attackRange))
{
switch (action)
{
case "para":
Debug.Log("寄生:");
Usermanager.Instance.SufferPlayerAbnormalCondition(AbnormalCondition.parasitism, 1);
break;
case "weak":
Usermanager.Instance.SufferPlayerAbnormalCondition(AbnormalCondition.weak, 1);
Usermanager.Instance.SufferPlayerAbnormalCondition(AbnormalCondition.addDrawCard, -1);
break;
case "vulnerable":
Usermanager.Instance.SufferPlayerAbnormalCondition(AbnormalCondition.vulnerable, 1);
Usermanager.Instance.SufferPlayerAbnormalCondition(AbnormalCondition.downSpeed, 1);
break;
}
}
else
{
yield return StartCoroutine(moveTowardsPlayer());
yield return new WaitForSeconds(1);
}
}
IEnumerator moveTowardsPlayer()
{
enemyNode.FindPathTowardsPlayer();
for (int i = 1; i < getMoveStep(); i++)
{
if (enemyNode.pasth.Count > 1)
{
yield return StartCoroutine(moveOneStep(enemyNode.pasth[i]));
}
}
}
IEnumerator moveAwayFromPlayer()
{
enemyNode.FindPathAwayFromPlayer();
for (int i = 1; i < getMoveStep(); i++)
{
if (enemyNode.pasth.Count > 1)
{
yield return StartCoroutine(moveOneStep(enemyNode.pasth[i]));
}
}
}
private int getMoveStep()
{
if (enemyNode.getStepRange() + 1 <= enemyNode.pasth.Count)
{
return enemyNode.getStepRange() + 1;
}
else
{
return enemyNode.pasth.Count;
}
}
IEnumerator moveOneStep(MapUnity nexMapUnity)
{
enemyNode.bleedCal();
MapUnity currentNode = GameManager.Instance.X[enemyNode.positionX].Y[enemyNode.positionY];
MapUnity disNode = nexMapUnity;
currentNode.blocked = false;
currentNode.enemyNode = null;
enemyNode.positionX = disNode.locationX;
enemyNode.positionY = disNode.locationY;
disNode.enemyNode = enemyNode;
yield return StartCoroutine(SkeletonArcherMoveCoroutine(disNode));
}
IEnumerator JudgNextActionCoroutine()
{
if (enemyNode.EnemyState.abnormalCondition.ContainsKey(AbnormalCondition.sleep))
{
}
else
{
yield return StartCoroutine(JudgeActionCoroutine());
}
//下回合意图
ArcherAim();
//让下一个敌人运动
EnemyManager.Instance.enemyTurnState = EnemyManager.EnemyTurnState.runing;
}
IEnumerator SkeletonArcherMoveCoroutine(MapUnity endMapUnity)//移动到位置
{
while (true)
{
float dDistance = Vector3.Distance(this.gameObject.transform.position, endMapUnity.transform.position);
if (dDistance < 0.1f)
{
break;
}
this.gameObject.transform.position = Vector3.Lerp(this.gameObject.transform.position, endMapUnity.transform.position, Time.deltaTime * moveSpeed);
yield return 0;
}
//判断腐蚀
enemyNode.CorrodeRealize(endMapUnity);
//判断流血
enemyNode.bleedRealize(endMapUnity);
yield break;
}
public void ArcherAim()
{
Vector3 dir = GameManager.Instance.player.transform.position - this.transform.position;
Ray ray = new Ray(this.transform.position, dir);
if (Physics.Raycast(ray, out RaycastHit raycastHit, 500, layerMask.value))
{
enemyNode.lineAim.GetComponent<EnemyAimLine>().aimGamgObject = raycastHit.collider.gameObject;
}
}
public void AttackDamage(int damage)
{
Usermanager.Instance.SufferDamage(enemyNode.DamageCalculation(damage), enemyNode);
}
}

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

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

370
ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/Mushroom.cs

@ -0,0 +1,370 @@
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using UnityEngine;
public class Mushroom : MonoBehaviour
{
public EnemyNode enemyNode;
[Header("瞄准射线图层剔除")]
public LayerMask layerMask;
[Header("计数标量")]
public float time;
float lastTime = 0;
[Header("移动速度标量")]
public float moveSpeed;
//怪物行动
public EnemyAction enemyAction;
public Dictionary<EnemyAction, float> actionPool = new Dictionary<EnemyAction, float>();
private void Start()
{
actionPool.Add(EnemyPlanUIManager.Instance.NewAction(EnemyPlanUIFunction.attack), 0.2f);
actionPool.Add(EnemyPlanUIManager.Instance.NewAction(EnemyPlanUIFunction.aoe), 0.4f);
actionPool.Add(EnemyPlanUIManager.Instance.NewAction(EnemyPlanUIFunction.weak), 0.2f);
actionPool.Add(EnemyPlanUIManager.Instance.NewAction(EnemyPlanUIFunction.deBuff), 0.2f);
}
private void Update()
{
}
private void OnEnable()
{
}
public void enemyTurn()
{
StartCoroutine(JudgNextActionCoroutine());
}
public void ChooseAction()
{
enemyAction = new EnemyActionAction_Attack();
enemyAction = enemyNode.GetRandomAction(actionPool);
Debug.Log("行动是:" + enemyAction);
enemyNode.enemyUIBar.SwitchIntention(enemyAction);
}
IEnumerator JudgeActionCoroutine()//等移动到位置就判断是否还能走
{
Debug.Log("真正行动是:" + enemyAction);
switch (enemyAction)
{
case EnemyActionAction_Attack:
yield return StartCoroutine(MeleeAttackAction());
break;
case EnemyAction_Weak:
yield return StartCoroutine(MeleeAttackAndWeakAction());
break;
case EnemyActionAction_Aoe:
yield return StartCoroutine(SkillAction());
break;
case EnemyActionAction_DeBuff:
yield return StartCoroutine(MeleeAttackAndDebuffAction());
break;
}
}
IEnumerator SkillAction()
{
MapUnity currentNode = GameManager.Instance.X[enemyNode.positionX].Y[enemyNode.positionY];
HashSet<MapUnity> targetNodes = new HashSet<MapUnity> { currentNode };
getNodeTools.getCircleNodeForEnemy(targetNodes, 1);
foreach (MapUnity node in targetNodes)
{
node.whoColour = Name.NodeColor.Black;
if (node.Equals(GameManager.Instance.playerOn))
{
Usermanager.Instance.SufferDamage(enemyNode.DamageCalculation(7), enemyNode);
}
}
enemyNode.currentActionScript.FadeAttackRangeAll(enemyNode);
enemyNode.aoeRangePool.Clear();
yield break;
}
IEnumerator MeleeAttackAction()
{
MapUnity currentNode = GameManager.Instance.X[enemyNode.positionX].Y[enemyNode.positionY];
if (getNodeTools.canRemoteAttack(currentNode, enemyNode.EnemyState.attackRange))
{
if (!enemyNode.EnemyState.abnormalCondition.ContainsKey(AbnormalCondition.disarm))
{
AttackDamage(enemyNode.EnemyState.damage);
}
}
else
{
yield return StartCoroutine(moveTowardsPlayer());
yield return new WaitForSeconds(1);
currentNode = GameManager.Instance.X[enemyNode.positionX].Y[enemyNode.positionY];
if (getNodeTools.canRemoteAttack(currentNode, enemyNode.EnemyState.attackRange))
{
if (!enemyNode.EnemyState.abnormalCondition.ContainsKey(AbnormalCondition.disarm))
{
AttackDamage(enemyNode.EnemyState.damage);
}
}
}
}
IEnumerator MeleeAttackAndWeakAction()
{
MapUnity currentNode = GameManager.Instance.X[enemyNode.positionX].Y[enemyNode.positionY];
if (getNodeTools.canRemoteAttack(currentNode, enemyNode.EnemyState.attackRange))
{
if (!enemyNode.EnemyState.abnormalCondition.ContainsKey(AbnormalCondition.disarm))
{
Usermanager.Instance.SufferPlayerAbnormalCondition(AbnormalCondition.weak, 1);
AttackDamage(enemyNode.EnemyState.damage);
}
}
else
{
yield return StartCoroutine(moveTowardsPlayer());
yield return new WaitForSeconds(1);
currentNode = GameManager.Instance.X[enemyNode.positionX].Y[enemyNode.positionY];
if (getNodeTools.canRemoteAttack(currentNode, enemyNode.EnemyState.attackRange))
{
if (!enemyNode.EnemyState.abnormalCondition.ContainsKey(AbnormalCondition.disarm))
{
Usermanager.Instance.SufferPlayerAbnormalCondition(AbnormalCondition.weak, 1);
AttackDamage(enemyNode.EnemyState.damage);
}
}
}
}
IEnumerator MeleeAttackAndDebuffAction()
{
MapUnity currentNode = GameManager.Instance.X[enemyNode.positionX].Y[enemyNode.positionY];
if (getNodeTools.canRemoteAttack(currentNode, enemyNode.EnemyState.attackRange))
{
if (!enemyNode.EnemyState.abnormalCondition.ContainsKey(AbnormalCondition.disarm))
{
Usermanager.Instance.SufferPlayerAbnormalCondition(AbnormalCondition.downSpeed, 1);
AttackDamage(enemyNode.EnemyState.damage);
}
}
else
{
yield return StartCoroutine(moveTowardsPlayer());
yield return new WaitForSeconds(1);
currentNode = GameManager.Instance.X[enemyNode.positionX].Y[enemyNode.positionY];
if (getNodeTools.canRemoteAttack(currentNode, enemyNode.EnemyState.attackRange))
{
if (!enemyNode.EnemyState.abnormalCondition.ContainsKey(AbnormalCondition.disarm))
{
Usermanager.Instance.SufferPlayerAbnormalCondition(AbnormalCondition.downSpeed, 1);
AttackDamage(enemyNode.EnemyState.damage);
}
}
}
}
IEnumerator RemoteAttackAction()
{
//Usermanager.Instance.SufferPlayerAbnormalCondition(AbnormalCondition.immunity, 1);
//Usermanager.Instance.SufferPlayerAbnormalCondition(AbnormalCondition.banStep, 1);
//enemyNode.sufferAbnormalCondition(AbnormalCondition.immunity, 1);
//enemyNode.sufferAbnormalCondition(AbnormalCondition.boom, 1);
MapUnity currentNode = GameManager.Instance.X[enemyNode.positionX].Y[enemyNode.positionY];
if (getNodeTools.canRemoteAttack(currentNode, enemyNode.EnemyState.attackRange))
{
if (!enemyNode.EnemyState.abnormalCondition.ContainsKey(AbnormalCondition.disarm))
{
AttackDamage(enemyNode.EnemyState.damage);
}
yield return new WaitForSeconds(1);
yield return StartCoroutine(moveAwayFromPlayer());
}
else
{
yield return StartCoroutine(moveTowardsPlayer());
}
}
IEnumerator RemoteAttackAndPolluteAction()
{
//Usermanager.Instance.SufferPlayerAbnormalCondition(AbnormalCondition.immunity, 1);
//Usermanager.Instance.SufferPlayerAbnormalCondition(AbnormalCondition.banStep, 1);
//enemyNode.sufferAbnormalCondition(AbnormalCondition.immunity, 1);
//enemyNode.sufferAbnormalCondition(AbnormalCondition.boom, 1);
MapUnity currentNode = GameManager.Instance.X[enemyNode.positionX].Y[enemyNode.positionY];
if (getNodeTools.canRemoteAttack(currentNode, enemyNode.EnemyState.attackRange))
{
if (!enemyNode.EnemyState.abnormalCondition.ContainsKey(AbnormalCondition.disarm))
{
AttackDamage(enemyNode.EnemyState.damage);
if (GameManager.Instance.playerOn.unitPool[1] != null)
{
MapUnity mapUnityA = GameManager.Instance.playerOn.unitPool[1];
mapUnityA.whoColour=Name.NodeColor.Black;
}
if (GameManager.Instance.playerOn.unitPool[5] != null)
{
MapUnity mapUnityA = GameManager.Instance.playerOn.unitPool[5];
mapUnityA.whoColour = Name.NodeColor.Black;
}
}
yield return new WaitForSeconds(1);
yield return StartCoroutine(moveAwayFromPlayer());
}
else
{
yield return StartCoroutine(moveTowardsPlayer());
}
}
IEnumerator ShieldAction()
{
enemyNode.EnemyState.shieldValue += 5;
MapUnity currentNode = GameManager.Instance.X[enemyNode.positionX].Y[enemyNode.positionY];
if (getNodeTools.canRemoteAttack(currentNode, enemyNode.EnemyState.attackRange))
{
if (!enemyNode.EnemyState.abnormalCondition.ContainsKey(AbnormalCondition.disarm))
{
AttackDamage(enemyNode.EnemyState.damage);
}
}
else
{
yield return StartCoroutine(moveTowardsPlayer());
yield return new WaitForSeconds(1);
currentNode = GameManager.Instance.X[enemyNode.positionX].Y[enemyNode.positionY];
if (getNodeTools.canRemoteAttack(currentNode, enemyNode.EnemyState.attackRange))
{
if (!enemyNode.EnemyState.abnormalCondition.ContainsKey(AbnormalCondition.disarm))
{
AttackDamage(enemyNode.EnemyState.damage);
}
}
}
}
IEnumerator moveTowardsPlayer()
{
enemyNode.FindPathTowardsPlayer();
for (int i = 1; i < getMoveStep(); i++)
{
if (enemyNode.pasth.Count > 1)
{
yield return StartCoroutine(moveOneStep(enemyNode.pasth[i]));
}
}
}
IEnumerator moveAwayFromPlayer()
{
enemyNode.FindPathAwayFromPlayer();
for (int i = 1; i < getMoveStep(); i++)
{
if (enemyNode.pasth.Count > 1)
{
yield return StartCoroutine(moveOneStep(enemyNode.pasth[i]));
}
}
}
private int getMoveStep()
{
if (enemyNode.getStepRange() + 1 <= enemyNode.pasth.Count)
{
return enemyNode.getStepRange() + 1;
}
else
{
return enemyNode.pasth.Count;
}
}
IEnumerator moveOneStep(MapUnity nexMapUnity)
{
enemyNode.bleedCal();
MapUnity currentNode = GameManager.Instance.X[enemyNode.positionX].Y[enemyNode.positionY];
MapUnity disNode = nexMapUnity;
currentNode.blocked = false;
currentNode.enemyNode = null;
enemyNode.positionX = disNode.locationX;
enemyNode.positionY = disNode.locationY;
disNode.enemyNode = enemyNode;
yield return StartCoroutine(SkeletonArcherMoveCoroutine(disNode));
}
IEnumerator JudgNextActionCoroutine()
{
if (enemyNode.EnemyState.abnormalCondition.ContainsKey(AbnormalCondition.sleep))
{
}
else
{
yield return StartCoroutine(JudgeActionCoroutine());
}
//下回合意图
ArcherAim();
//让下一个敌人运动
EnemyManager.Instance.enemyTurnState = EnemyManager.EnemyTurnState.runing;
}
IEnumerator SkeletonArcherMoveCoroutine(MapUnity endMapUnity)//移动到位置
{
while (true)
{
float dDistance = Vector3.Distance(this.gameObject.transform.position, endMapUnity.transform.position);
if (dDistance < 0.1f)
{
break;
}
this.gameObject.transform.position = Vector3.Lerp(this.gameObject.transform.position, endMapUnity.transform.position, Time.deltaTime * moveSpeed);
yield return 0;
}
//判断腐蚀
enemyNode.CorrodeRealize(endMapUnity);
//判断流血
enemyNode.bleedRealize(endMapUnity);
yield break;
}
public void ArcherAim()
{
Vector3 dir = GameManager.Instance.player.transform.position - this.transform.position;
Ray ray = new Ray(this.transform.position, dir);
if (Physics.Raycast(ray, out RaycastHit raycastHit, 500, layerMask.value))
{
enemyNode.lineAim.GetComponent<EnemyAimLine>().aimGamgObject = raycastHit.collider.gameObject;
}
}
public void AttackDamage(int damage)
{
Usermanager.Instance.SufferDamage(enemyNode.DamageCalculation(damage), enemyNode);
}
}

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

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

307
ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/Polymaw.cs

@ -0,0 +1,307 @@
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using UnityEngine;
using static Name;
public class Polymaw : MonoBehaviour
{
public EnemyNode enemyNode;
[Header("瞄准射线图层剔除")]
public LayerMask layerMask;
[Header("计数标量")]
public float time;
float lastTime = 0;
[Header("移动速度标量")]
public float moveSpeed;
//怪物行动
public EnemyAction enemyAction;
public Dictionary<EnemyAction, float> actionPool = new Dictionary<EnemyAction, float>();
private void Start()
{
enemyNode = GetComponent<EnemyNode>();
actionPool.Add(EnemyPlanUIManager.Instance.NewAction(EnemyPlanUIFunction.aoe), 0.2f);
actionPool.Add(EnemyPlanUIManager.Instance.NewAction(EnemyPlanUIFunction.shootAndPollute), 0.25f);
actionPool.Add(EnemyPlanUIManager.Instance.NewAction(EnemyPlanUIFunction.attackAndShield), 0.25f);
actionPool.Add(EnemyPlanUIManager.Instance.NewAction(EnemyPlanUIFunction.attack), 0.3f);
}
private void Update()
{
}
public void enemyTurn()
{
StartCoroutine(JudgNextActionCoroutine());
}
public void ChooseAction()
{
enemyAction = new EnemyActionAction_Attack();
enemyAction = enemyNode.GetRandomAction(actionPool);
Debug.Log("行动是:" + enemyAction);
enemyNode.enemyUIBar.SwitchIntention(enemyAction);
}
IEnumerator JudgeActionCoroutine()//等移动到位置就判断是否还能走
{
Debug.Log("真正行动是:" + enemyAction);
switch (enemyAction)
{
case EnemyActionAction_Aoe:
yield return StartCoroutine(SkillAction());
break;
case EnemyActionAction_Attack:
yield return StartCoroutine(MeleeAttackAction());
break;
case EnemyAction_AttackAndShield:
yield return StartCoroutine(MeleeAttackAndShieldAction());
break;
case EnemyAction_ShootAndPollute:
yield return StartCoroutine(MeleeAttackAndPolluteAction());
break;
}
}
IEnumerator moveTowardsPlayer()
{
enemyNode.FindPathTowardsPlayer();
enemyNode.CorrodeRealize(enemyNode.pasth[0]);
Debug.Log("FindPathTowardsPlayer成功");
for (int i = 1; i < getMoveStep(); i++)
{
if (enemyNode.pasth.Count > 1)
{
Debug.Log("剩余步数还有"+ enemyNode.pasth.Count);
yield return StartCoroutine(moveOneStep(enemyNode.pasth[i]));
}
}
}
IEnumerator moveAwayFromPlayer()
{
enemyNode.FindPathAwayFromPlayer();
for (int i = 1; i < getMoveStep(); i++)
{
if (enemyNode.pasth.Count > 1)
{
yield return StartCoroutine(moveOneStep(enemyNode.pasth[i]));
}
}
}
private int getMoveStep()
{
if (enemyNode.getStepRange() + 1 <= enemyNode.pasth.Count)
{
return enemyNode.getStepRange() + 1;
}
else
{
return enemyNode.pasth.Count;
}
}
IEnumerator moveOneStep(MapUnity nexMapUnity)
{
enemyNode.bleedCal();
MapUnity currentNode = GameManager.Instance.X[enemyNode.positionX].Y[enemyNode.positionY];
MapUnity disNode = nexMapUnity;
currentNode.blocked = false;
currentNode.enemyNode = null;
enemyNode.positionX = disNode.locationX;
enemyNode.positionY = disNode.locationY;
disNode.enemyNode = enemyNode;
yield return StartCoroutine(SkeletonArcherMoveCoroutine(disNode));
}
IEnumerator MeleeAttackAction()
{
MapUnity currentNode = GameManager.Instance.X[enemyNode.positionX].Y[enemyNode.positionY];
if (getNodeTools.canRemoteAttack(currentNode, enemyNode.EnemyState.attackRange))
{
Debug.Log("if成功");
if (!enemyNode.EnemyState.abnormalCondition.ContainsKey(AbnormalCondition.disarm))
{
AttackDamage();
}
}
else
{
Debug.Log("else成功");
yield return StartCoroutine(moveTowardsPlayer());
yield return new WaitForSeconds(1);
currentNode = GameManager.Instance.X[enemyNode.positionX].Y[enemyNode.positionY];
if (getNodeTools.canRemoteAttack(currentNode, enemyNode.EnemyState.attackRange))
{
if (!enemyNode.EnemyState.abnormalCondition.ContainsKey(AbnormalCondition.disarm))
{
AttackDamage();
}
}
}
}
IEnumerator MeleeAttackAndPolluteAction()
{
MapUnity currentNode = GameManager.Instance.playerOn;
HashSet<MapUnity> targetNodes = new HashSet<MapUnity> { currentNode };
getNodeTools.getCircleNodeForEnemy(targetNodes, 1);
if (getNodeTools.canRemoteAttack(currentNode, enemyNode.EnemyState.attackRange))
{
Debug.Log("if成功");
if (!enemyNode.EnemyState.abnormalCondition.ContainsKey(AbnormalCondition.disarm))
{
AttackDamage();
foreach (MapUnity node in targetNodes)
{
node.whoColour = Name.NodeColor.Black;
}
}
}
else
{
Debug.Log("else成功");
yield return StartCoroutine(moveTowardsPlayer());
yield return new WaitForSeconds(1);
currentNode = GameManager.Instance.X[enemyNode.positionX].Y[enemyNode.positionY];
if (getNodeTools.canRemoteAttack(currentNode, enemyNode.EnemyState.attackRange))
{
if (!enemyNode.EnemyState.abnormalCondition.ContainsKey(AbnormalCondition.disarm))
{
AttackDamage();
foreach (MapUnity node in targetNodes)
{
node.whoColour = Name.NodeColor.Black;
}
}
}
}
}
IEnumerator MeleeAttackAndShieldAction()
{
enemyNode.EnemyState.shieldValue += 5;
MapUnity currentNode = GameManager.Instance.X[enemyNode.positionX].Y[enemyNode.positionY];
if (getNodeTools.canRemoteAttack(currentNode, enemyNode.EnemyState.attackRange))
{
Debug.Log("if成功");
if (!enemyNode.EnemyState.abnormalCondition.ContainsKey(AbnormalCondition.disarm))
{
AttackDamage();
}
}
else
{
Debug.Log("else成功");
yield return StartCoroutine(moveTowardsPlayer());
yield return new WaitForSeconds(1);
currentNode = GameManager.Instance.X[enemyNode.positionX].Y[enemyNode.positionY];
if (getNodeTools.canRemoteAttack(currentNode, enemyNode.EnemyState.attackRange))
{
if (!enemyNode.EnemyState.abnormalCondition.ContainsKey(AbnormalCondition.disarm))
{
AttackDamage();
}
}
}
}
IEnumerator SkillAction()
{
enemyNode.EnemyState.abnormalCondition.Clear();
GameManager.Instance.SyncColourCountUI();
MapUnity currentNode = GameManager.Instance.X[enemyNode.positionX].Y[enemyNode.positionY];
HashSet<MapUnity> targetNodes = new HashSet<MapUnity> { currentNode };
getNodeTools.getCircleNodeForEnemy(targetNodes, 2);
foreach (MapUnity node in targetNodes)
{
node.whoColour = Name.NodeColor.Black;
if (node.Equals(GameManager.Instance.playerOn))
{
Usermanager.Instance.SufferDamage(enemyNode.DamageCalculation(5), enemyNode);
}
}
enemyNode.currentActionScript.FadeAttackRangeAll(enemyNode);
enemyNode.aoeRangePool.Clear();
yield break;
}
IEnumerator JudgNextActionCoroutine()
{
if (enemyNode.EnemyState.abnormalCondition.ContainsKey(AbnormalCondition.sleep))
{
}
else
{
yield return StartCoroutine(JudgeActionCoroutine());
}
//下回合意图
ArcherAim();
//让下一个敌人运动
EnemyManager.Instance.enemyTurnState = EnemyManager.EnemyTurnState.runing;
}
IEnumerator SkeletonArcherMoveCoroutine(MapUnity endMapUnity)//移动到位置
{
while (true)
{
float dDistance = Vector3.Distance(this.gameObject.transform.position, endMapUnity.transform.position);
if (dDistance < 0.1f)
{
break;
}
this.gameObject.transform.position = Vector3.Lerp(this.gameObject.transform.position, endMapUnity.transform.position, Time.deltaTime * moveSpeed);
yield return 0;
}
//判断腐蚀
enemyNode.CorrodeRealize(endMapUnity);
//判断流血
enemyNode.bleedRealize(endMapUnity);
yield break;
}
public void ArcherAim()
{
Vector3 dir = GameManager.Instance.player.transform.position - this.transform.position;
Ray ray = new Ray(this.transform.position, dir);
if (Physics.Raycast(ray, out RaycastHit raycastHit, 500, layerMask.value))
{
enemyNode.lineAim.GetComponent<EnemyAimLine>().aimGamgObject = raycastHit.collider.gameObject;
}
}
public void AttackDamage()
{
Usermanager.Instance.SufferDamage(enemyNode.DamageCalculation(enemyNode.EnemyState.damage), enemyNode);
}
}

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

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

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

@ -169,7 +169,7 @@ public class SkullGuardian : MonoBehaviour
IEnumerator JudgNextActionCoroutine()
{
if (enemyNode.EnemyState.abnormalCondition.ContainsKey(AbnormalCondition.sleep))
if (enemyNode.EnemyState.abnormalCondition.ContainsKey(AbnormalCondition.sleep)|| enemyNode.EnemyState.abnormalCondition.ContainsKey(AbnormalCondition.coma))
{
}

69
ColorlessWorld-2024-4-2/Assets/Scripts/Handler/EffectRangeHandler3_4.cs

@ -0,0 +1,69 @@
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class EffectRangeHandler3_4 : EffectRangeHandlerBase
{
private ZeroToFiveCircularCounter counter = new ZeroToFiveCircularCounter();
public EffectRangeHandler3_4(MapUnity currentNode, float euler)
{
influencePreviewPool.Clear();
influencePreviewPool.Add(currentNode);
angleActions = new Dictionary<float, Func<HashSet<MapUnity>>>
{
{ 30.0f, () =>
{
ge3_4Node(currentNode,getOffsetFromEuler(30.0f));
return influencePreviewPool;
}
},
{ 90.0f, () =>
{
ge3_4Node(currentNode,getOffsetFromEuler(90.0f));
return influencePreviewPool;
}
},
{ 150.0f, () =>
{
ge3_4Node(currentNode,getOffsetFromEuler(150.0f));
return influencePreviewPool;
}
},
{ 210.0f, () =>
{
ge3_4Node(currentNode,getOffsetFromEuler(210.0f));
return influencePreviewPool;
}
},
{ 270.0f, () =>
{
ge3_4Node(currentNode,getOffsetFromEuler(270.0f));
return influencePreviewPool;
}
},
{ 330.0f, () =>
{
ge3_4Node(currentNode,getOffsetFromEuler(330.0f));
return influencePreviewPool;
}
}
};
}
private void ge3_4Node(MapUnity currentNode, int offset)
{
try
{
tryGetNodeInfluencedable(currentNode.unitPool[counter.Add(2, offset)]);
tryGetNodeInfluencedable(currentNode.unitPool[counter.Add(3, offset)]);
}
catch (Exception ex)
{
//nothing to do
}
}
}

11
ColorlessWorld-2024-4-2/Assets/Scripts/Handler/EffectRangeHandler3_4.cs.meta

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

71
ColorlessWorld-2024-4-2/Assets/Scripts/Handler/EffectRangeHandler5_4.cs

@ -0,0 +1,71 @@
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class EffectRangeHandler5_4 : EffectRangeHandlerBase
{
private ZeroToFiveCircularCounter counter = new ZeroToFiveCircularCounter();
public EffectRangeHandler5_4(MapUnity currentNode, float euler)
{
influencePreviewPool.Clear();
influencePreviewPool.Add(currentNode);
angleActions = new Dictionary<float, Func<HashSet<MapUnity>>>
{
{ 30.0f, () =>
{
get5_4Node(currentNode,getOffsetFromEuler(30.0f));
return influencePreviewPool;
}
},
{ 90.0f, () =>
{
get5_4Node(currentNode,getOffsetFromEuler(90.0f));
return influencePreviewPool;
}
},
{ 150.0f, () =>
{
get5_4Node(currentNode,getOffsetFromEuler(150.0f));
return influencePreviewPool;
}
},
{ 210.0f, () =>
{
get5_4Node(currentNode,getOffsetFromEuler(210.0f));
return influencePreviewPool;
}
},
{ 270.0f, () =>
{
get5_4Node(currentNode,getOffsetFromEuler(270.0f));
return influencePreviewPool;
}
},
{ 330.0f, () =>
{
get5_4Node(currentNode,getOffsetFromEuler(330.0f));
return influencePreviewPool;
}
}
};
}
private void get5_4Node(MapUnity currentNode, int offset)
{
try
{
tryGetNodeInfluencedable(currentNode.unitPool[counter.Add(3, offset)]);
tryGetNodeInfluencedable(currentNode.unitPool[counter.Add(3, offset)].unitPool[counter.Add(3, offset)]);
tryGetNodeInfluencedable(currentNode.unitPool[counter.Add(3, offset)].unitPool[counter.Add(2, offset)]);
tryGetNodeInfluencedable(currentNode.unitPool[counter.Add(3, offset)].unitPool[counter.Add(4, offset)]);
}
catch (Exception ex)
{
//nothing to do
}
}
}

11
ColorlessWorld-2024-4-2/Assets/Scripts/Handler/EffectRangeHandler5_4.cs.meta

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

71
ColorlessWorld-2024-4-2/Assets/Scripts/Handler/EffectRangeHandler5_5.cs

@ -0,0 +1,71 @@
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class EffectRangeHandler5_5 : EffectRangeHandlerBase
{
private ZeroToFiveCircularCounter counter = new ZeroToFiveCircularCounter();
public EffectRangeHandler5_5(MapUnity currentNode, float euler)
{
influencePreviewPool.Clear();
influencePreviewPool.Add(currentNode);
angleActions = new Dictionary<float, Func<HashSet<MapUnity>>>
{
{ 30.0f, () =>
{
get5_5Node(currentNode,getOffsetFromEuler(30.0f));
return influencePreviewPool;
}
},
{ 90.0f, () =>
{
get5_5Node(currentNode,getOffsetFromEuler(90.0f));
return influencePreviewPool;
}
},
{ 150.0f, () =>
{
get5_5Node(currentNode,getOffsetFromEuler(150.0f));
return influencePreviewPool;
}
},
{ 210.0f, () =>
{
get5_5Node(currentNode,getOffsetFromEuler(210.0f));
return influencePreviewPool;
}
},
{ 270.0f, () =>
{
get5_5Node(currentNode,getOffsetFromEuler(270.0f));
return influencePreviewPool;
}
},
{ 330.0f, () =>
{
get5_5Node(currentNode,getOffsetFromEuler(330.0f));
return influencePreviewPool;
}
}
};
}
private void get5_5Node(MapUnity currentNode, int offset)
{
try
{
tryGetNodeInfluencedable(currentNode.unitPool[counter.Add(2, offset)]);
tryGetNodeInfluencedable(currentNode.unitPool[counter.Add(2, offset)].unitPool[counter.Add(3, offset)]);
tryGetNodeInfluencedable(currentNode.unitPool[counter.Add(4, offset)]);
tryGetNodeInfluencedable(currentNode.unitPool[counter.Add(4, offset)].unitPool[counter.Add(3, offset)]);
}
catch (Exception ex)
{
//nothing to do
}
}
}

11
ColorlessWorld-2024-4-2/Assets/Scripts/Handler/EffectRangeHandler5_5.cs.meta

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

72
ColorlessWorld-2024-4-2/Assets/Scripts/Handler/EffectRangeHandler6_4.cs

@ -0,0 +1,72 @@
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class EffectRangeHandler6_4 : EffectRangeHandlerBase
{
private ZeroToFiveCircularCounter counter = new ZeroToFiveCircularCounter();
public EffectRangeHandler6_4(MapUnity currentNode, float euler)
{
influencePreviewPool.Clear();
influencePreviewPool.Add(currentNode);
angleActions = new Dictionary<float, Func<HashSet<MapUnity>>>
{
{ 30.0f, () =>
{
get6_4Node(currentNode,getOffsetFromEuler(30.0f));
return influencePreviewPool;
}
},
{ 90.0f, () =>
{
get6_4Node(currentNode,getOffsetFromEuler(90.0f));
return influencePreviewPool;
}
},
{ 150.0f, () =>
{
get6_4Node(currentNode,getOffsetFromEuler(150.0f));
return influencePreviewPool;
}
},
{ 210.0f, () =>
{
get6_4Node(currentNode,getOffsetFromEuler(210.0f));
return influencePreviewPool;
}
},
{ 270.0f, () =>
{
get6_4Node(currentNode,getOffsetFromEuler(270.0f));
return influencePreviewPool;
}
},
{ 330.0f, () =>
{
get6_4Node(currentNode,getOffsetFromEuler(330.0f));
return influencePreviewPool;
}
}
};
}
private void get6_4Node(MapUnity currentNode, int offset)
{
try
{
tryGetNodeInfluencedable(currentNode.unitPool[counter.Add(2, offset)]);
tryGetNodeInfluencedable(currentNode.unitPool[counter.Add(4, offset)]);
tryGetNodeInfluencedable(currentNode.unitPool[counter.Add(3, offset)]);
tryGetNodeInfluencedable(currentNode.unitPool[counter.Add(3, offset)].unitPool[counter.Add(2, offset)]);
tryGetNodeInfluencedable(currentNode.unitPool[counter.Add(3, offset)].unitPool[counter.Add(4, offset)]);
}
catch (Exception ex)
{
//nothing to do
}
}
}

11
ColorlessWorld-2024-4-2/Assets/Scripts/Handler/EffectRangeHandler6_4.cs.meta

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

73
ColorlessWorld-2024-4-2/Assets/Scripts/Handler/EffectRangeHandler6_5.cs

@ -0,0 +1,73 @@
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class EffectRangeHandler6_5 : EffectRangeHandlerBase
{
private ZeroToFiveCircularCounter counter = new ZeroToFiveCircularCounter();
public EffectRangeHandler6_5(MapUnity currentNode, float euler)
{
influencePreviewPool.Clear();
influencePreviewPool.Add(currentNode);
angleActions = new Dictionary<float, Func<HashSet<MapUnity>>>
{
{ 30.0f, () =>
{
get6_5Node(currentNode,getOffsetFromEuler(30.0f));
return influencePreviewPool;
}
},
{ 90.0f, () =>
{
get6_5Node(currentNode,getOffsetFromEuler(90.0f));
return influencePreviewPool;
}
},
{ 150.0f, () =>
{
get6_5Node(currentNode,getOffsetFromEuler(150.0f));
return influencePreviewPool;
}
},
{ 210.0f, () =>
{
get6_5Node(currentNode,getOffsetFromEuler(210.0f));
return influencePreviewPool;
}
},
{ 270.0f, () =>
{
get6_5Node(currentNode,getOffsetFromEuler(270.0f));
return influencePreviewPool;
}
},
{ 330.0f, () =>
{
get6_5Node(currentNode,getOffsetFromEuler(330.0f));
return influencePreviewPool;
}
}
};
}
private void get6_5Node(MapUnity currentNode, int offset)
{
try
{
tryGetNodeInfluencedable(currentNode.unitPool[counter.Add(3, offset)]);
tryGetNodeInfluencedable(currentNode.unitPool[counter.Add(2, offset)]);
tryGetNodeInfluencedable(currentNode.unitPool[counter.Add(3, offset)].unitPool[counter.Add(3, offset)]);
tryGetNodeInfluencedable(currentNode.unitPool[counter.Add(3, offset)].unitPool[counter.Add(2, offset)]);
tryGetNodeInfluencedable(currentNode.unitPool[counter.Add(2, offset)].unitPool[counter.Add(3, offset)]);
tryGetNodeInfluencedable(currentNode.unitPool[counter.Add(2, offset)].unitPool[counter.Add(2, offset)]);
}
catch (Exception ex)
{
//nothing to do
}
}
}

11
ColorlessWorld-2024-4-2/Assets/Scripts/Handler/EffectRangeHandler6_5.cs.meta

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

72
ColorlessWorld-2024-4-2/Assets/Scripts/Handler/EffectRangeHandler6_6.cs

@ -0,0 +1,72 @@
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class EffectRangeHandler6_6 : EffectRangeHandlerBase
{
private ZeroToFiveCircularCounter counter = new ZeroToFiveCircularCounter();
public EffectRangeHandler6_6(MapUnity currentNode, float euler)
{
influencePreviewPool.Clear();
influencePreviewPool.Add(currentNode);
angleActions = new Dictionary<float, Func<HashSet<MapUnity>>>
{
{ 30.0f, () =>
{
get6_6Node(currentNode,getOffsetFromEuler(30.0f));
return influencePreviewPool;
}
},
{ 90.0f, () =>
{
get6_6Node(currentNode,getOffsetFromEuler(90.0f));
return influencePreviewPool;
}
},
{ 150.0f, () =>
{
get6_6Node(currentNode,getOffsetFromEuler(150.0f));
return influencePreviewPool;
}
},
{ 210.0f, () =>
{
get6_6Node(currentNode,getOffsetFromEuler(210.0f));
return influencePreviewPool;
}
},
{ 270.0f, () =>
{
get6_6Node(currentNode,getOffsetFromEuler(270.0f));
return influencePreviewPool;
}
},
{ 330.0f, () =>
{
get6_6Node(currentNode,getOffsetFromEuler(330.0f));
return influencePreviewPool;
}
}
};
}
private void get6_6Node(MapUnity currentNode, int offset)
{
try
{
tryGetNodeInfluencedable(currentNode.unitPool[counter.Add(3, offset)]);
tryGetNodeInfluencedable(currentNode.unitPool[counter.Add(1, offset)]);
tryGetNodeInfluencedable(currentNode.unitPool[counter.Add(4, offset)]);
tryGetNodeInfluencedable(currentNode.unitPool[counter.Add(1, offset)].unitPool[counter.Add(1, offset)]);
tryGetNodeInfluencedable(currentNode.unitPool[counter.Add(4, offset)].unitPool[counter.Add(4, offset)]);
}
catch (Exception ex)
{
//nothing to do
}
}
}

11
ColorlessWorld-2024-4-2/Assets/Scripts/Handler/EffectRangeHandler6_6.cs.meta

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

72
ColorlessWorld-2024-4-2/Assets/Scripts/Handler/EffectRangeHandler6_7.cs

@ -0,0 +1,72 @@
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class EffectRangeHandler6_7 : EffectRangeHandlerBase
{
private ZeroToFiveCircularCounter counter = new ZeroToFiveCircularCounter();
public EffectRangeHandler6_7(MapUnity currentNode, float euler)
{
influencePreviewPool.Clear();
influencePreviewPool.Add(currentNode);
angleActions = new Dictionary<float, Func<HashSet<MapUnity>>>
{
{ 30.0f, () =>
{
get6_7Node(currentNode,getOffsetFromEuler(30.0f));
return influencePreviewPool;
}
},
{ 90.0f, () =>
{
get6_7Node(currentNode,getOffsetFromEuler(90.0f));
return influencePreviewPool;
}
},
{ 150.0f, () =>
{
get6_7Node(currentNode,getOffsetFromEuler(150.0f));
return influencePreviewPool;
}
},
{ 210.0f, () =>
{
get6_7Node(currentNode,getOffsetFromEuler(210.0f));
return influencePreviewPool;
}
},
{ 270.0f, () =>
{
get6_7Node(currentNode,getOffsetFromEuler(270.0f));
return influencePreviewPool;
}
},
{ 330.0f, () =>
{
get6_7Node(currentNode,getOffsetFromEuler(330.0f));
return influencePreviewPool;
}
}
};
}
private void get6_7Node(MapUnity currentNode, int offset)
{
try
{
tryGetNodeInfluencedable(currentNode.unitPool[counter.Add(3, offset)]);
tryGetNodeInfluencedable(currentNode.unitPool[counter.Add(2, offset)]);
tryGetNodeInfluencedable(currentNode.unitPool[counter.Add(4, offset)]);
tryGetNodeInfluencedable(currentNode.unitPool[counter.Add(3, offset)].unitPool[counter.Add(3, offset)]);
tryGetNodeInfluencedable(currentNode.unitPool[counter.Add(3, offset)].unitPool[counter.Add(3, offset)].unitPool[counter.Add(3, offset)]);
}
catch (Exception ex)
{
//nothing to do
}
}
}

11
ColorlessWorld-2024-4-2/Assets/Scripts/Handler/EffectRangeHandler6_7.cs.meta

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

74
ColorlessWorld-2024-4-2/Assets/Scripts/Handler/EffectRangeHandler7_3.cs

@ -0,0 +1,74 @@
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class EffectRangeHandler7_3 : EffectRangeHandlerBase
{
private ZeroToFiveCircularCounter counter = new ZeroToFiveCircularCounter();
public EffectRangeHandler7_3(MapUnity currentNode, float euler)
{
influencePreviewPool.Clear();
influencePreviewPool.Add(currentNode);
angleActions = new Dictionary<float, Func<HashSet<MapUnity>>>
{
{ 30.0f, () =>
{
get7_3Node(currentNode,getOffsetFromEuler(30.0f));
return influencePreviewPool;
}
},
{ 90.0f, () =>
{
get7_3Node(currentNode,getOffsetFromEuler(90.0f));
return influencePreviewPool;
}
},
{ 150.0f, () =>
{
get7_3Node(currentNode,getOffsetFromEuler(150.0f));
return influencePreviewPool;
}
},
{ 210.0f, () =>
{
get7_3Node(currentNode,getOffsetFromEuler(210.0f));
return influencePreviewPool;
}
},
{ 270.0f, () =>
{
get7_3Node(currentNode,getOffsetFromEuler(270.0f));
return influencePreviewPool;
}
},
{ 330.0f, () =>
{
get7_3Node(currentNode,getOffsetFromEuler(330.0f));
return influencePreviewPool;
}
}
};
}
private void get7_3Node(MapUnity currentNode, int offset)
{
try
{
tryGetNodeInfluencedable(currentNode.unitPool[counter.Add(4, offset)]);
tryGetNodeInfluencedable(currentNode.unitPool[counter.Add(2, offset)]);
tryGetNodeInfluencedable(currentNode.unitPool[counter.Add(3, offset)]);
tryGetNodeInfluencedable(currentNode.unitPool[counter.Add(1, offset)]);
tryGetNodeInfluencedable(currentNode.unitPool[counter.Add(5, offset)]);
tryGetNodeInfluencedable(currentNode.unitPool[counter.Add(3, offset)].unitPool[counter.Add(3, offset)]);
tryGetNodeInfluencedable(currentNode.unitPool[counter.Add(3, offset)].unitPool[counter.Add(3, offset)].unitPool[counter.Add(3, offset)]);
}
catch (Exception ex)
{
//nothing to do
}
}
}

11
ColorlessWorld-2024-4-2/Assets/Scripts/Handler/EffectRangeHandler7_3.cs.meta

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

35
ColorlessWorld-2024-4-2/Assets/Scripts/Handler/EffectRangeHandlerBase.cs

@ -35,6 +35,41 @@ public class EffectRangeHandlerBase : EffectRangeHandler
return canPass;
}
public int getOffsetFromEuler(float euler)
{
int offset = 0;
switch (euler)
{
case 30.0f:
offset= 5; break;
case 90.0f:
offset = 0; break;
case 150.0f:
offset = 1; break;
case 210.0f:
offset = 2; break;
case 270.0f:
offset = 3; break;
case 330.0f:
offset = 4; break;
}
return offset;
}
/*public bool tryGetNodeFromEulerAndBase(MapUnity currentNode,float euler,int baseNum)
{
int
bool canPass = true;
switch (euler)
{
case 30.0f:
}
return canPass;
}*/
public HashSet<MapUnity> HandleAngleWithResult(float angle)
{
foreach (var kvp in angleActions)

2
ColorlessWorld-2024-4-2/Assets/Scripts/Tool/AbnormalCondition.cs

@ -64,6 +64,8 @@ public class AbnormalCondition : Singleton<AbnormalCondition>
public const string doubleSettle = "35";
//下回合能量+1
public const string nextTurnExtraOneCost = "36";
//³±Êª
public const string wet = "48";
public static readonly List<string> canNegativeNumberList = new List<string> { angerUpperDamage, shieldUpperValue, addDrawCard };

4
ColorlessWorld-2024-4-2/Assets/Scripts/Tool/CardFunction.cs

@ -2,7 +2,7 @@ using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class CardFunction
public static class CardFunction
{
//伤害
public const string cardDamage = "1";
@ -94,5 +94,7 @@ public class CardFunction
public const string randomAttactCardToHand = "46";
//恢复血量
public const string recoverHp = "47";
//³±Êª
public const string wet = "48";
}

20
ColorlessWorld-2024-4-2/Assets/Scripts/Tool/EffectRange.cs

@ -15,6 +15,8 @@ public class EffectRange
public const string range3_3 = "3_3";
public const string range3_4 = "3_4";
public const string range4_1 = "4_1";
public const string range4_2 = "4_2";
@ -27,20 +29,34 @@ public class EffectRange
public const string range5_3 = "5_3";
public const string range5_4 = "5_4";
public const string range5_5 = "5_5";
public const string range6_1 = "6_1";
public const string range6_2 = "6_2";
public const string range6_3 = "6_3";
public const string range6_4 = "6_4";
public const string range6_5 = "6_5";
public const string range6_6 = "6_6";
public const string range6_7 = "6_7";
public const string range7_1 = "7_1";
public const string range7_2 = "7_2";
public const string range7_3 = "7_3";
public const string range8_1 = "8_1";
public const string range8_2 = "8_2";
public static readonly List<string> speRange = new List<string> {range2, range3_1, range3_2, range3_3, range4_1,
range4_2, range4_3, range5_1, range5_2, range5_3, range6_1, range6_2, range6_3, range7_1, range7_2, range8_1 , range8_2};
public static readonly List<string> speRange = new List<string> {range2, range3_1, range3_2, range3_3, range3_4,range4_1,
range4_2, range4_3, range5_1, range5_2, range5_3, range5_4,range5_5,range6_1, range6_2, range6_3,range6_4,range6_5,range6_6,range6_7, range7_1, range7_2, range7_3,range8_1 , range8_2};
}

2
ColorlessWorld-2024-4-2/Assets/Scripts/Tool/EnemyPlanUIFunction.cs

@ -24,7 +24,7 @@ public class EnemyPlanUIFunction
public const string nothing = "9";
//睡觉
public const string sleep = "10";
//行走和污染
//攻击和污染
public const string shootAndPollute = "11";
//攻击和护盾
public const string attackAndShield = "12";

45
ColorlessWorld-2024-4-2/Assets/Scripts/Tool/Name.cs

@ -14,6 +14,8 @@ public static class Name
}
public const string none="None";
public const string value = "value";
public static class Legacy
{
public const string LegacyNode_StrongBody = "LegacyNode_StrongBody";
@ -48,6 +50,19 @@ public static class Name
}
public static class CardElement
{
public const string redCount = "red";
public const string blueCount = "blue";
public const string greenCount = "green";
public const string whiteCount = "white";
public const string blackCount = "black";
public const string plus = "+";
public const string minus = "-";
public const string equal = "=";
}
public static class CardType
{
public const int Attack = 1;
@ -93,6 +108,36 @@ public static class Name
public const string Black = "black";
}
public static class CardFunctionString
{
public const string damage = "damage";
public const string shield = "shield";
public const string weak = "weak";
public const string step = "step";
}
public static string switchNumToString(string num)
{
string result= "";
switch (num)
{
case CardFunction.cardDamage:
result = CardFunctionString.damage;
break;
case CardFunction.cardShield:
result = CardFunctionString.shield;
break;
case CardFunction.weak:
result = CardFunctionString.weak;
break;
case CardFunction.step:
result = CardFunctionString.step;
break;
}
return result;
}
public static class Condition
{
public const string None = "none";

8
ColorlessWorld-2024-4-2/Assets/Scripts/Tool/getNodeTools.cs

@ -543,17 +543,25 @@ public class getNodeTools
{EffectRange.range3_1,new EffectRangeHandler3_1(currentNode,euler) },
{EffectRange.range3_2,new EffectRangeHandler3_2(currentNode,euler) },
{EffectRange.range3_3,new EffectRangeHandler3_3(currentNode,euler) },
{EffectRange.range3_4,new EffectRangeHandler3_4(currentNode,euler) },
{EffectRange.range4_1,new EffectRangeHandler4_1(currentNode,euler) },
{EffectRange.range4_2,new EffectRangeHandler4_2(currentNode,euler) },
{EffectRange.range4_3,new EffectRangeHandler4_3(currentNode,euler) },
{EffectRange.range5_1,new EffectRangeHandler5_1(currentNode,euler) },
{EffectRange.range5_2,new EffectRangeHandler5_2(currentNode,euler) },
{EffectRange.range5_3,new EffectRangeHandler5_3(currentNode,euler) },
{EffectRange.range5_4,new EffectRangeHandler5_4(currentNode,euler) },
{EffectRange.range5_5,new EffectRangeHandler5_5(currentNode,euler) },
{EffectRange.range6_1,new EffectRangeHandler6_1(currentNode,euler) },
{EffectRange.range6_2,new EffectRangeHandler6_2(currentNode,euler) },
{EffectRange.range6_3,new EffectRangeHandler6_3(playerOnNode,euler) },
{EffectRange.range6_4,new EffectRangeHandler6_4(currentNode,euler) },
{EffectRange.range6_5,new EffectRangeHandler6_5(currentNode,euler) },
{EffectRange.range6_6,new EffectRangeHandler6_6(currentNode,euler) },
{EffectRange.range6_7,new EffectRangeHandler6_7(currentNode,euler) },
{EffectRange.range7_1,new EffectRangeHandler7_1(currentNode,euler) },
{EffectRange.range7_2,new EffectRangeHandler7_2(currentNode,euler) },
{EffectRange.range7_3,new EffectRangeHandler7_3(currentNode,euler) },
{EffectRange.range8_1,new EffectRangeHandler8_1(currentNode,euler) },
{EffectRange.range8_2,new EffectRangeHandler8_2(playerOnNode,euler) },
};

1
ColorlessWorld-2024-4-2/Assets/Scripts/manager/BuffDataManager.cs

@ -37,6 +37,7 @@ public class BuffDataManager : Singleton<BuffDataManager>
abnormalCondition.Add("33", new Buff_BoomAndDamage());
abnormalCondition.Add("35", new Buff_DoubleSettle());
abnormalCondition.Add("36", new Buff_NextTurnExtraOneCost());
abnormalCondition.Add("48", new Buff_Wet());
abnormalCondition.Add("106", new Buff_flashPoint());

70
ColorlessWorld-2024-4-2/Assets/Scripts/manager/CardManager.cs

@ -30,11 +30,79 @@ public class CardManager : Singleton<CardManager>
newCardOriginalData.conditionAndFunctionVal.Remove(condition);
newCardOriginalData.conditionAndFunctionVal.Add(newCondition, value);
}
string newCardId=AddElementToDictionary(CardOriginalDataList.Instance.existCardOriginalDataList, cardOriginalData.CardId, newCardOriginalData);
return newCardId;
}
public List<string> splitStringIntoComponents(string input)
{
// 使用正则表达式将颜色、符号和数字分离出来,并支持其他符号如减号
var matches = System.Text.RegularExpressions.Regex.Matches(input, @"[a-zA-Z]+|[><=]+|\d+|\+");
return matches.Select(match => match.Value).ToList();
}
public int evaluateExpression(string input)
{
// 使用正则表达式将输入字符串拆分为组件
var components = splitStringIntoComponents(input);
int result = 0;
int currentNumber = 0;
string currentOperation = "";
foreach (var component in components)
{
if (int.TryParse(component, out int number))
{
currentNumber = number;
}
else if (component == "+" || component == "-" || component == "*" || component == "/")
{
currentOperation = component;
}
else
{
currentNumber = getNodeTools.getNodesCount(component);
}
// 如果没有操作符,设置初始值为 currentNumber
if (result == 0 && string.IsNullOrEmpty(currentOperation))
{
result = currentNumber;
}
else
{
switch (currentOperation)
{
case "+":
result += currentNumber;
break;
case "-":
result -= currentNumber;
break;
case "*":
result *= currentNumber;
break;
case "/":
if (currentNumber != 0)
{
result /= currentNumber;
}
else
{
throw new DivideByZeroException("除数不能为零");
}
break;
}
}
}
return result;
}
public int getIntFromString(string input)
{
int result = 0;
return result;
}
public string switchCardColor(string orginalCardId, CardOriginalData cardOriginalData, string newColor)
{
//CardOriginalData newCardOriginalData = new CardOriginalData();

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

@ -38,11 +38,17 @@ public class SettlementManager : Singleton<SettlementManager>
private void dyeingWork(CardOriginalData cardOriginalData,MapUnity targetNode)
{
ZeroToFiveCircularCounter counter = new ZeroToFiveCircularCounter();
int offset = 0;
int offset = 3;
Vector3 face = targetNode.transform.position - GameManager.Instance.playerOn.transform.position;
float euler = Vector3.SignedAngle(-GameManager.Instance.playerOn.transform.forward, face, GameManager.Instance.playerOn.transform.up) + 180;
offset=getEulerOffset(offset, euler);
targetNode.whoColour = Name.stringColorToint(cardOriginalData.nodesColor[0]);
if (!targetNode.Equals(GameManager.Instance.playerOn))
{
float euler = Vector3.SignedAngle(-GameManager.Instance.playerOn.transform.forward, face, GameManager.Instance.playerOn.transform.up) + 180;
offset = getEulerOffset(offset, euler);
}
if (!cardOriginalData.nodesColor[0].Equals(Name.none))
{
targetNode.whoColour = Name.stringColorToint(cardOriginalData.nodesColor[0]);
}
Debug.Log("offsetÊÇ" + offset);
for (int i = 0; i < cardOriginalData.nodesMark.Length; i++)
{
@ -53,8 +59,10 @@ public class SettlementManager : Singleton<SettlementManager>
MapUnity oldNode = endNode;
endNode = oldNode.unitPool[counter.Add(offset, int.Parse(marks[j]))];
}
endNode.whoColour = Name.stringColorToint(cardOriginalData.nodesColor[i+1]);
Debug.Log("endNodeµÄcolorÊÇ"+ endNode.whoColour);
if (endNode != null)
{
endNode.whoColour = Name.stringColorToint(cardOriginalData.nodesColor[i + 1]);
}
}
}
@ -473,6 +481,7 @@ public class SettlementManager : Singleton<SettlementManager>
case CardFunction.fireSeed:
case CardFunction.vulnerable:
case CardFunction.banStep:
case CardFunction.wet:
abnormalConditionWork(kvp.Key, int.Parse(kvp.Value), influencePreviewPool);
break;
case CardFunction.step:

11
ColorlessWorld-2024-4-2/Assets/data/card_data_3.csv

@ -3,3 +3,14 @@
1002,微光,1,1,1,2,0,none,2,5,0,red;red,CardIcon/2
1003,光辉杖击,2,2,1,4_1,0,none;red>3_green>1,1;5_1,9;2_5,0;0_0;0_0_0,red;red;red;red,CardIcon/4_1
1004,星辉护盾,2,2,2,3_2,0,none;red>5,2;2,8;1,2;-2,red;red;red,CardIcon/3_2
1101,,1,2,1,5_4,0,red>4;red>6,1;25,8;3,0;0_-1;0_1;0_0,red;red;red;red;red,CardIcon/Sslx_Card_Kamizn_Hudun_v01
1102,,1,1,2,5_5,0,red>3,2,7,1;-1;1_0;-1_0,red;red;red;red;red,CardIcon/Sslx_Card_Kamizn_Hudun_v01
1103,,1,1,1,4_1,0,red>1,1,10,0;0_0;0_0_0,red;red;red;red,CardIcon/Sslx_Card_Kamizn_Hudun_v01
1104,,1,1,3,3_4,0,red>2,25,8,0;-1,red;red;red,CardIcon/Sslx_Card_Kamizn_Hudun_v01
1105,,2,2,2,6_5,0,red>2;red>10,1;5,12;2,0;-1;0_-1;-1_-1;0_0,red;red;red;red;red;red;red,CardIcon/Sslx_Card_Kamizn_Hudun_v01
1106,,1,1,1,4_1,0,red>3_green>2,1,8,0;0_0;0_0_0,red;red;green;green,CardIcon/Sslx_Card_Kamizn_Hudun_v01
1107,,2,2,2,6_7,0,red>7;blue<4,25;4,6;4,0;-1;1;0_0;0_0_0,red;red;red;red;green;green,CardIcon/Sslx_Card_Kamizn_Hudun_v01
1108,,2,2,2,6_4,0,red>7;green>4,1;4,12;6,0;-1;1;0_1;0_-1,red;red;red;red;green;green,CardIcon/Sslx_Card_Kamizn_Hudun_v01
1109,,2,2,2,7_3,0,red<15;blue<6,1_25;19,7_8;2,0;-1;1;-2;2;0_0,green;green;red;red;red;red;green,CardIcon/Sslx_Card_Kamizn_Hudun_v01
1110,,1,1,2,3_4,0,red>3,1,6,0;-1,red;red;blue,CardIcon/Sslx_Card_Kamizn_Hudun_v01
1111,,2,2,0,6_3,0,red>6;blue>2,1;48,6;5,0;1;-1;-2;2;3,None;blue;blue;blue;red;red;red,CardIcon/Sslx_Card_Kamizn_Hudun_v01

1 ID 名称 费用 稀有度 施法范围 作用范围 消耗 条件 功能 数值 地块标记 地块颜色 图片路径
3 1002 微光 1 1 1 2 0 none 2 5 0 red;red CardIcon/2
4 1003 光辉杖击 2 2 1 4_1 0 none;red>3_green>1 1;5_1 9;2_5 0;0_0;0_0_0 red;red;red;red CardIcon/4_1
5 1004 星辉护盾 2 2 2 3_2 0 none;red>5 2;2 8;1 2;-2 red;red;red CardIcon/3_2
6 1101 1 2 1 5_4 0 red>4;red>6 1;25 8;3 0;0_-1;0_1;0_0 red;red;red;red;red CardIcon/Sslx_Card_Kamizn_Hudun_v01
7 1102 1 1 2 5_5 0 red>3 2 7 1;-1;1_0;-1_0 red;red;red;red;red CardIcon/Sslx_Card_Kamizn_Hudun_v01
8 1103 1 1 1 4_1 0 red>1 1 10 0;0_0;0_0_0 red;red;red;red CardIcon/Sslx_Card_Kamizn_Hudun_v01
9 1104 1 1 3 3_4 0 red>2 25 8 0;-1 red;red;red CardIcon/Sslx_Card_Kamizn_Hudun_v01
10 1105 2 2 2 6_5 0 red>2;red>10 1;5 12;2 0;-1;0_-1;-1_-1;0_0 red;red;red;red;red;red;red CardIcon/Sslx_Card_Kamizn_Hudun_v01
11 1106 1 1 1 4_1 0 red>3_green>2 1 8 0;0_0;0_0_0 red;red;green;green CardIcon/Sslx_Card_Kamizn_Hudun_v01
12 1107 2 2 2 6_7 0 red>7;blue<4 25;4 6;4 0;-1;1;0_0;0_0_0 red;red;red;red;green;green CardIcon/Sslx_Card_Kamizn_Hudun_v01
13 1108 2 2 2 6_4 0 red>7;green>4 1;4 12;6 0;-1;1;0_1;0_-1 red;red;red;red;green;green CardIcon/Sslx_Card_Kamizn_Hudun_v01
14 1109 2 2 2 7_3 0 red<15;blue<6 1_25;19 7_8;2 0;-1;1;-2;2;0_0 green;green;red;red;red;red;green CardIcon/Sslx_Card_Kamizn_Hudun_v01
15 1110 1 1 2 3_4 0 red>3 1 6 0;-1 red;red;blue CardIcon/Sslx_Card_Kamizn_Hudun_v01
16 1111 2 2 0 6_3 0 red>6;blue>2 1;48 6;5 0;1;-1;-2;2;3 None;blue;blue;blue;red;red;red CardIcon/Sslx_Card_Kamizn_Hudun_v01
Loading…
Cancel
Save