Browse Source

Merge pull request 'dev-0721' (#16) from dev-0721 into dev-0524

Reviewed-on: #16
pull/19/head
45 2 years ago
parent
commit
301e65f13c
  1. 1
      ColorlessWorld-2024-4-2/Assets/GameDate/Enemy/SkeletonArcher.asset
  2. 1
      ColorlessWorld-2024-4-2/Assets/GameDate/Enemy/SkullGuardian.asset
  3. 8
      ColorlessWorld-2024-4-2/Assets/Prefab/EnemyPrefab.meta
  4. 235
      ColorlessWorld-2024-4-2/Assets/Prefab/EnemyPrefab/Rook.prefab
  5. 7
      ColorlessWorld-2024-4-2/Assets/Prefab/EnemyPrefab/Rook.prefab.meta
  6. 1619
      ColorlessWorld-2024-4-2/Assets/Prefab/EnemyPrefab/SkeletonArcher.prefab
  7. 7
      ColorlessWorld-2024-4-2/Assets/Prefab/EnemyPrefab/SkeletonArcher.prefab.meta
  8. 1616
      ColorlessWorld-2024-4-2/Assets/Prefab/EnemyPrefab/SkullGuardian.prefab
  9. 7
      ColorlessWorld-2024-4-2/Assets/Prefab/EnemyPrefab/SkullGuardian.prefab.meta
  10. 9275
      ColorlessWorld-2024-4-2/Assets/Scenes/SampleScene.unity
  11. 13
      ColorlessWorld-2024-4-2/Assets/Scripts/Buff/Buff.cs
  12. 25
      ColorlessWorld-2024-4-2/Assets/Scripts/Buff/Buff_BanDrawCard.cs
  13. 19
      ColorlessWorld-2024-4-2/Assets/Scripts/Buff/Buff_BanStepRange.cs
  14. 37
      ColorlessWorld-2024-4-2/Assets/Scripts/Buff/Buff_BonePile.cs
  15. 11
      ColorlessWorld-2024-4-2/Assets/Scripts/Buff/Buff_BonePile.cs.meta
  16. 22
      ColorlessWorld-2024-4-2/Assets/Scripts/Buff/Buff_DownAnger.cs
  17. 20
      ColorlessWorld-2024-4-2/Assets/Scripts/Buff/Buff_DownShield.cs
  18. 20
      ColorlessWorld-2024-4-2/Assets/Scripts/Buff/Buff_DownStepRange.cs
  19. 40
      ColorlessWorld-2024-4-2/Assets/Scripts/Buff/Buff_FireSeed.cs
  20. 11
      ColorlessWorld-2024-4-2/Assets/Scripts/Buff/Buff_FireSeed.cs.meta
  21. 19
      ColorlessWorld-2024-4-2/Assets/Scripts/Buff/Buff_Firm.cs
  22. 25
      ColorlessWorld-2024-4-2/Assets/Scripts/Buff/Buff_Posion.cs
  23. 21
      ColorlessWorld-2024-4-2/Assets/Scripts/Buff/Buff_UpperAnger.cs
  24. 20
      ColorlessWorld-2024-4-2/Assets/Scripts/Buff/Buff_UpperShield.cs
  25. 19
      ColorlessWorld-2024-4-2/Assets/Scripts/Buff/Buff_UpperStepRange.cs
  26. 29
      ColorlessWorld-2024-4-2/Assets/Scripts/Buff/Buff_Vulnerable.cs
  27. 19
      ColorlessWorld-2024-4-2/Assets/Scripts/Buff/Buff_Weak.cs
  28. 37
      ColorlessWorld-2024-4-2/Assets/Scripts/Buff/Buff_coma.cs
  29. 11
      ColorlessWorld-2024-4-2/Assets/Scripts/Buff/Buff_coma.cs.meta
  30. 37
      ColorlessWorld-2024-4-2/Assets/Scripts/Buff/Buff_corrode.cs
  31. 11
      ColorlessWorld-2024-4-2/Assets/Scripts/Buff/Buff_corrode.cs.meta
  32. 37
      ColorlessWorld-2024-4-2/Assets/Scripts/Buff/Buff_disarm.cs
  33. 11
      ColorlessWorld-2024-4-2/Assets/Scripts/Buff/Buff_disarm.cs.meta
  34. 37
      ColorlessWorld-2024-4-2/Assets/Scripts/Buff/Buff_flashPoint.cs
  35. 11
      ColorlessWorld-2024-4-2/Assets/Scripts/Buff/Buff_flashPoint.cs.meta
  36. 35
      ColorlessWorld-2024-4-2/Assets/Scripts/Buff/Buff_levelSeep.cs
  37. 11
      ColorlessWorld-2024-4-2/Assets/Scripts/Buff/Buff_levelSeep.cs.meta
  38. 37
      ColorlessWorld-2024-4-2/Assets/Scripts/Buff/Buff_parasitism.cs
  39. 11
      ColorlessWorld-2024-4-2/Assets/Scripts/Buff/Buff_parasitism.cs.meta
  40. 37
      ColorlessWorld-2024-4-2/Assets/Scripts/Buff/Buff_sleep.cs
  41. 11
      ColorlessWorld-2024-4-2/Assets/Scripts/Buff/Buff_sleep.cs.meta
  42. 24
      ColorlessWorld-2024-4-2/Assets/Scripts/Card/CardDrag.cs
  43. 20
      ColorlessWorld-2024-4-2/Assets/Scripts/Card/TurnMaster.cs
  44. 24
      ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/EnemyManager.cs
  45. 252
      ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/EnemyNode.cs
  46. 3
      ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/SkeletonArcher.cs
  47. 8
      ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/SkullGuardian.cs
  48. 68
      ColorlessWorld-2024-4-2/Assets/Scripts/GameManager.cs
  49. 85
      ColorlessWorld-2024-4-2/Assets/Scripts/MapManager.cs
  50. 18
      ColorlessWorld-2024-4-2/Assets/Scripts/MapUnity.cs
  51. 22
      ColorlessWorld-2024-4-2/Assets/Scripts/Player.cs
  52. 17
      ColorlessWorld-2024-4-2/Assets/Scripts/Tool/AbnormalCondition.cs
  53. 5
      ColorlessWorld-2024-4-2/Assets/Scripts/Tool/Data_SO/EnemyState_SO.cs
  54. 30
      ColorlessWorld-2024-4-2/Assets/Scripts/Tool/UpperCondition.cs
  55. 11
      ColorlessWorld-2024-4-2/Assets/Scripts/Tool/UpperCondition.cs.meta
  56. 10
      ColorlessWorld-2024-4-2/Assets/Scripts/UI/EnemyPlanActionUI.cs
  57. 100
      ColorlessWorld-2024-4-2/Assets/Scripts/UI/EnemyUIBar.cs
  58. 40
      ColorlessWorld-2024-4-2/Assets/Scripts/manager/BuffDataManager.cs
  59. 11
      ColorlessWorld-2024-4-2/Assets/Scripts/manager/BuffDataManager.cs.meta
  60. 61
      ColorlessWorld-2024-4-2/Assets/Scripts/manager/MapUnitySettleManager.cs
  61. 11
      ColorlessWorld-2024-4-2/Assets/Scripts/manager/MapUnitySettleManager.cs.meta
  62. 2
      ColorlessWorld-2024-4-2/Assets/Scripts/manager/ScenceLoadManager.cs.meta
  63. 8
      ColorlessWorld-2024-4-2/Assets/Scripts/manager/ScenceManager.cs
  64. 11
      ColorlessWorld-2024-4-2/Assets/Scripts/manager/ScenceManager.cs.meta
  65. 220
      ColorlessWorld-2024-4-2/Assets/Scripts/manager/Usermanager.cs
  66. BIN
      ColorlessWorld-2024-4-2/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache

1
ColorlessWorld-2024-4-2/Assets/GameDate/Enemy/SkeletonArcher.asset

@ -23,6 +23,7 @@ MonoBehaviour:
upShieldValue: 0
maxHP: 25
currentHP: 25
sufferDamageMultiply: 1
colourType: 0
maxSkillCoolDown: 3
currentSkillCoolDown: 3

1
ColorlessWorld-2024-4-2/Assets/GameDate/Enemy/SkullGuardian.asset

@ -23,6 +23,7 @@ MonoBehaviour:
upShieldValue: 7
maxHP: 27
currentHP: 27
sufferDamageMultiply: 1
colourType: 0
maxSkillCoolDown: 3
currentSkillCoolDown: 3

8
ColorlessWorld-2024-4-2/Assets/Prefab/EnemyPrefab.meta

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

235
ColorlessWorld-2024-4-2/Assets/Prefab/EnemyPrefab/Rook.prefab

@ -0,0 +1,235 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &3816684761213746185
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 2995427838376938474}
- component: {fileID: 2922064839723551121}
- component: {fileID: 5258838770671873617}
- component: {fileID: 1922686951541042781}
- component: {fileID: 7612464784854422368}
- component: {fileID: 5378885876384344123}
m_Layer: 11
m_Name: Rook
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &2995427838376938474
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3816684761213746185}
serializedVersion: 2
m_LocalRotation: {x: 0.7372774, y: 0, z: 0, w: 0.67559016}
m_LocalPosition: {x: 25.978, y: 0, z: 6.2617064}
m_LocalScale: {x: 0.9, y: 0.9, z: 4}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 7639605263962581257}
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 95, y: 0, z: 0}
--- !u!33 &2922064839723551121
MeshFilter:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3816684761213746185}
m_Mesh: {fileID: -5468021829708598221, guid: ae332737a5755ee499c32f566d3a2913, type: 3}
--- !u!23 &5258838770671873617
MeshRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3816684761213746185}
m_Enabled: 0
m_CastShadows: 1
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: 700d970fc944e8642b81ab9388a14903, 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!114 &1922686951541042781
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3816684761213746185}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: b93e606dce1c400408bd059eaaa399b2, type: 3}
m_Name:
m_EditorClassIdentifier:
templateEnemyState: {fileID: 11400000, guid: b991b3f0500bd0c439d1a956c497c4cb, type: 2}
EnemyState: {fileID: 0}
positionX: 3
positionY: 4
pasth: []
oppositePasth: []
moveType: 0
rangePool: []
enemyType: 1
enemyScript: 0
lineAim: {fileID: 0}
canLineAppre: 0
enemyUIBar: {fileID: 0}
canMove: 0
planAction: 0
--- !u!114 &7612464784854422368
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3816684761213746185}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: cf819d57070dbab4a95ad54cedacd2fa, type: 3}
m_Name:
m_EditorClassIdentifier:
rewardList: []
blockType: 1
--- !u!64 &5378885876384344123
MeshCollider:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3816684761213746185}
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: 5
m_Convex: 1
m_CookingOptions: 30
m_Mesh: {fileID: -5468021829708598221, guid: ae332737a5755ee499c32f566d3a2913, type: 3}
--- !u!1 &8315940694777054494
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 7639605263962581257}
- component: {fileID: 7830549152506238025}
- component: {fileID: 1711151685249081723}
m_Layer: 11
m_Name: Rook (4)
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &7639605263962581257
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8315940694777054494}
serializedVersion: 2
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: -0, z: -0.1}
m_LocalScale: {x: 1, y: 1, z: 0.5}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 2995427838376938474}
m_LocalEulerAnglesHint: {x: 95, y: 0, z: 0}
--- !u!33 &7830549152506238025
MeshFilter:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8315940694777054494}
m_Mesh: {fileID: -5468021829708598221, guid: ae332737a5755ee499c32f566d3a2913, type: 3}
--- !u!23 &1711151685249081723
MeshRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8315940694777054494}
m_Enabled: 1
m_CastShadows: 1
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: 700d970fc944e8642b81ab9388a14903, 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}

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

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

1619
ColorlessWorld-2024-4-2/Assets/Prefab/EnemyPrefab/SkeletonArcher.prefab

File diff suppressed because it is too large

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

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

1616
ColorlessWorld-2024-4-2/Assets/Prefab/EnemyPrefab/SkullGuardian.prefab

File diff suppressed because it is too large

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

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

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

File diff suppressed because it is too large

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

@ -3,6 +3,7 @@ using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
[System .Serializable ]
public class Buff
{
public int value;
@ -10,6 +11,10 @@ public class Buff
{
value --;
}
public virtual void SettleEnemy(EnemyNode enemyNode)
{
value--;
}
public virtual int CheckValue()
{
return value;
@ -19,4 +24,12 @@ public class Buff
{
}
public virtual void EnemyUIShow(GameObject buff, string key,EnemyNode enemyNode)
{
}
public virtual Buff NewBuff(int value )
{
return this;
}
}

25
ColorlessWorld-2024-4-2/Assets/Scripts/Buff/Buff_BanDrawCard.cs

@ -7,19 +7,34 @@ public class Buff_BanDrawCard : Buff
{
public override void Settle()
{
SettleBanDrawCard();
base.Settle();
}
public void SettleBanDrawCard()
{
}
public override void UIShow(GameObject buff, string key)
{
buff.transform.GetChild(0).GetComponent<Text>().text = "½û";
buff.transform.GetChild(1).GetComponent<Text>().text = Usermanager.playerAbnormalCondition[key].value.ToString();
}
public override void SettleEnemy(EnemyNode enemyNode)
{
base.Settle();
}
public override void EnemyUIShow(GameObject buff, string key, EnemyNode enemyNode)
{
buff.transform.GetChild(0).GetComponent<Text>().text = "½û";
buff.transform.GetChild(1).GetComponent<Text>().text = enemyNode.EnemyState.abnormalCondition[key].value.ToString();
}
public override Buff NewBuff(int value)
{
Buff buff = new Buff_BanDrawCard();
buff.value = value;
return buff;
}
}

19
ColorlessWorld-2024-4-2/Assets/Scripts/Buff/Buff_BanStepRange.cs

@ -15,4 +15,23 @@ public class Buff_BanStepRange : Buff
buff.transform.GetChild(0).GetComponent<Text>().text = "²ø";
buff.transform.GetChild(1).GetComponent<Text>().text = Usermanager.playerAbnormalCondition[key].value.ToString();
}
public override void SettleEnemy(EnemyNode enemyNode)
{
base.Settle();
}
public override void EnemyUIShow(GameObject buff, string key, EnemyNode enemyNode)
{
buff.transform.GetChild(0).GetComponent<Text>().text = "²ø";
buff.transform.GetChild(1).GetComponent<Text>().text = enemyNode.EnemyState.abnormalCondition[key].value.ToString();
}
public override Buff NewBuff(int value)
{
Buff buff = new Buff_BanStepRange();
buff.value = value;
return buff;
}
}

37
ColorlessWorld-2024-4-2/Assets/Scripts/Buff/Buff_BonePile.cs

@ -0,0 +1,37 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class Buff_BonePile : Buff
{
public override void Settle()
{
}
public override void UIShow(GameObject buff, string key)
{
buff.transform.GetChild(0).GetComponent<Text>().text = "¹Ç";
buff.transform.GetChild(1).GetComponent<Text>().text = Usermanager.playerAbnormalCondition[key].value.ToString();
}
public override void SettleEnemy(EnemyNode enemyNode)
{
value++;
}
public override void EnemyUIShow(GameObject buff, string key, EnemyNode enemyNode)
{
buff.transform.GetChild(0).GetComponent<Text>().text = "¹Ç";
buff.transform.GetChild(1).GetComponent<Text>().text = enemyNode.EnemyState.abnormalCondition[key].value.ToString();
}
public override Buff NewBuff(int value)
{
Buff buff = new Buff_BonePile();
buff.value = value;
return buff;
}
}

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

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

22
ColorlessWorld-2024-4-2/Assets/Scripts/Buff/Buff_DownAnger.cs

@ -7,7 +7,7 @@ public class Buff_DownAnger :Buff
{
public override void Settle()
{
base.Settle();
}
public override void UIShow(GameObject buff, string key)
@ -15,4 +15,24 @@ public class Buff_DownAnger :Buff
buff.transform.GetChild(0).GetComponent<Text>().text = "ËË";
buff.transform.GetChild(1).GetComponent<Text>().text = Usermanager.playerAbnormalCondition[key].value.ToString();
}
public override void SettleEnemy(EnemyNode enemyNode)
{
base.Settle();
}
public override void EnemyUIShow(GameObject buff, string key, EnemyNode enemyNode)
{
buff.transform.GetChild(0).GetComponent<Text>().text = "ËË";
buff.transform.GetChild(1).GetComponent<Text>().text = enemyNode.EnemyState.abnormalCondition[key].value.ToString();
}
public override Buff NewBuff(int value)
{
Buff buff = new Buff_DownAnger();
buff.value = value;
return buff;
}
}

20
ColorlessWorld-2024-4-2/Assets/Scripts/Buff/Buff_DownShield.cs

@ -15,4 +15,24 @@ public class Buff_DownShield : Buff
buff.transform.GetChild(0).GetComponent<Text>().text = "Èí";
buff.transform.GetChild(1).GetComponent<Text>().text = Usermanager.playerAbnormalCondition[key].value.ToString();
}
public override void SettleEnemy(EnemyNode enemyNode)
{
base.Settle();
}
public override void EnemyUIShow(GameObject buff, string key, EnemyNode enemyNode)
{
buff.transform.GetChild(0).GetComponent<Text>().text = "Èí";
buff.transform.GetChild(1).GetComponent<Text>().text = enemyNode.EnemyState.abnormalCondition[key].value.ToString();
}
public override Buff NewBuff(int value)
{
Buff buff = new Buff_DownShield();
buff.value = value;
return buff;
}
}

20
ColorlessWorld-2024-4-2/Assets/Scripts/Buff/Buff_DownStepRange.cs

@ -15,4 +15,24 @@ public class Buff_DownStepRange : Buff
buff.transform.GetChild(0).GetComponent<Text>().text = "Âý";
buff.transform.GetChild(1).GetComponent<Text>().text = Usermanager.playerAbnormalCondition[key].value.ToString();
}
public override void SettleEnemy(EnemyNode enemyNode)
{
base.Settle();
}
public override void EnemyUIShow(GameObject buff, string key, EnemyNode enemyNode)
{
buff.transform.GetChild(0).GetComponent<Text>().text = "Âý";
buff.transform.GetChild(1).GetComponent<Text>().text = enemyNode.EnemyState.abnormalCondition[key].value.ToString();
}
public override Buff NewBuff(int value)
{
Buff buff = new Buff_DownStepRange();
buff.value = value;
return buff;
}
}

40
ColorlessWorld-2024-4-2/Assets/Scripts/Buff/Buff_FireSeed.cs

@ -0,0 +1,40 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class Buff_FireSeed : Buff
{
public override void Settle()
{
base.Settle();
}
public override void UIShow(GameObject buff, string key)
{
buff.transform.GetChild(0).GetComponent<Text>().text = "»ð";
buff.transform.GetChild(1).GetComponent<Text>().text = Usermanager.playerAbnormalCondition[key].value.ToString();
}
public override void SettleEnemy(EnemyNode enemyNode)
{
base.Settle();
}
public override void EnemyUIShow(GameObject buff, string key, EnemyNode enemyNode)
{
buff.transform.GetChild(0).GetComponent<Text>().text = "»ð";
buff.transform.GetChild(1).GetComponent<Text>().text = enemyNode.EnemyState.abnormalCondition[key].value.ToString();
}
public override Buff NewBuff(int value)
{
Buff buff = new Buff_FireSeed();
buff.value = value;
return buff;
}
}

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

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

19
ColorlessWorld-2024-4-2/Assets/Scripts/Buff/Buff_Firm.cs

@ -15,4 +15,23 @@ public class Buff_Firm : Buff
buff.transform.GetChild(0).GetComponent<Text>().text = "¹Ì";
buff.transform.GetChild(1).GetComponent<Text>().text = Usermanager.playerAbnormalCondition[key].value.ToString();
}
public override void SettleEnemy(EnemyNode enemyNode)
{
base.Settle();
}
public override void EnemyUIShow(GameObject buff, string key, EnemyNode enemyNode)
{
buff.transform.GetChild(0).GetComponent<Text>().text = "¹Ì";
buff.transform.GetChild(1).GetComponent<Text>().text = enemyNode.EnemyState.abnormalCondition[key].value.ToString();
}
public override Buff NewBuff(int value)
{
Buff buff = new Buff_Firm();
buff.value = value;
return buff;
}
}

25
ColorlessWorld-2024-4-2/Assets/Scripts/Buff/Buff_Posion.cs

@ -11,16 +11,37 @@ public class Buff_Posion : Buff
base.Settle();
}
public override void SettleEnemy( EnemyNode enemyNode )
{
SettleEnemyPosion(enemyNode);
base.Settle();
}
public void SettlePosion()
{
if (value > 0)
GameManager.Instance.playerState.currentHP -= value;
GameManager.Instance.playerState.currentHP-= Usermanager .Instance .SufferDamageCalculation (value);
}
public void SettleEnemyPosion(EnemyNode enemyNode)
{
if (value > 0)
enemyNode.sufferDamage(Usermanager.Instance.DamageCalculation(value));
}
public override void UIShow(GameObject buff, string key)
{
buff.transform.GetChild(0).GetComponent<Text>().text = "¶¾";
buff.transform.GetChild(1).GetComponent<Text>().text = Usermanager.playerAbnormalCondition[key].value.ToString();
}
public override void EnemyUIShow(GameObject buff, string key ,EnemyNode enemyNode)
{
buff.transform.GetChild(0).GetComponent<Text>().text = "¶¾";
buff.transform.GetChild(1).GetComponent<Text>().text = enemyNode.EnemyState.abnormalCondition[key].value.ToString();
}
public override Buff NewBuff(int value)
{
Buff buff = new Buff_Posion();
buff.value = value;
return buff;
}
}

21
ColorlessWorld-2024-4-2/Assets/Scripts/Buff/Buff_UpperAnger.cs

@ -7,7 +7,7 @@ public class Buff_UpperAnger : Buff
{
public override void Settle()
{
base.Settle();
}
public override void UIShow(GameObject buff, string key)
@ -15,4 +15,23 @@ public class Buff_UpperAnger : Buff
buff.transform.GetChild(0).GetComponent<Text>().text = "怒";
buff.transform.GetChild(1).GetComponent<Text>().text = Usermanager.playerAbnormalCondition[key].value.ToString();
}
public override void SettleEnemy(EnemyNode enemyNode)
{
base.Settle();
}
public override void EnemyUIShow(GameObject buff, string key, EnemyNode enemyNode)
{
buff.transform.GetChild(0).GetComponent<Text>().text = "怒";
buff.transform.GetChild(1).GetComponent<Text>().text = enemyNode.EnemyState.abnormalCondition[key].value.ToString();
}
public override Buff NewBuff(int value)
{
Buff buff = new Buff_UpperAnger();
buff.value = value;
return buff;
}
}

20
ColorlessWorld-2024-4-2/Assets/Scripts/Buff/Buff_UpperShield.cs

@ -15,4 +15,24 @@ public class Buff_UpperShield : Buff
buff.transform.GetChild(0).GetComponent<Text>().text = "¼á";
buff.transform.GetChild(1).GetComponent<Text>().text = Usermanager.playerAbnormalCondition[key].value.ToString();
}
public override void SettleEnemy(EnemyNode enemyNode)
{
base.Settle();
}
public override void EnemyUIShow(GameObject buff, string key, EnemyNode enemyNode)
{
buff.transform.GetChild(0).GetComponent<Text>().text = "¼á";
buff.transform.GetChild(1).GetComponent<Text>().text = enemyNode.EnemyState.abnormalCondition[key].value.ToString();
}
public override Buff NewBuff(int value)
{
Buff buff = new Buff_UpperShield();
buff.value = value;
return buff;
}
}

19
ColorlessWorld-2024-4-2/Assets/Scripts/Buff/Buff_UpperStepRange.cs

@ -15,4 +15,23 @@ public class Buff_UpperStepRange : Buff
buff.transform.GetChild(0).GetComponent<Text>().text = "ËÙ";
buff.transform.GetChild(1).GetComponent<Text>().text = Usermanager.playerAbnormalCondition[key].value.ToString();
}
public override void SettleEnemy(EnemyNode enemyNode)
{
base.Settle();
}
public override void EnemyUIShow(GameObject buff, string key, EnemyNode enemyNode)
{
buff.transform.GetChild(0).GetComponent<Text>().text = "ËÙ";
buff.transform.GetChild(1).GetComponent<Text>().text = enemyNode.EnemyState.abnormalCondition[key].value.ToString();
}
public override Buff NewBuff(int value)
{
Buff buff = new Buff_DownStepRange();
buff.value = value;
return buff;
}
}

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

@ -7,19 +7,34 @@ public class Buff_Vulnerable : Buff
{
public override void Settle()
{
base.Settle();
SettleVulnerable();
base.Settle();
}
public void SettleVulnerable()
{
if (value > 0)
Usermanager.Instance.SufferDamageJudge();
}
public override void UIShow(GameObject buff, string key)
{
buff.transform.GetChild(0).GetComponent<Text>().text = "Ò×";
buff.transform.GetChild(1).GetComponent<Text>().text = Usermanager.playerAbnormalCondition[key].value.ToString();
}
public override void SettleEnemy(EnemyNode enemyNode)
{
base.Settle();
}
public override void EnemyUIShow(GameObject buff, string key, EnemyNode enemyNode)
{
buff.transform.GetChild(0).GetComponent<Text>().text = "Ò×";
buff.transform.GetChild(1).GetComponent<Text>().text = enemyNode.EnemyState.abnormalCondition[key].value.ToString();
}
public override Buff NewBuff(int value)
{
Buff buff = new Buff_Vulnerable();
buff.value = value;
return buff;
}
}

19
ColorlessWorld-2024-4-2/Assets/Scripts/Buff/Buff_Weak.cs

@ -21,4 +21,23 @@ public class Buff_Weak : Buff
buff.transform.GetChild(0).GetComponent<Text>().text = "Ðé";
buff.transform.GetChild(1).GetComponent<Text>().text = Usermanager.playerAbnormalCondition[key].value.ToString();
}
public override void SettleEnemy(EnemyNode enemyNode)
{
base.Settle();
}
public override void EnemyUIShow(GameObject buff, string key, EnemyNode enemyNode)
{
buff.transform.GetChild(0).GetComponent<Text>().text = "Ðé";
buff.transform.GetChild(1).GetComponent<Text>().text = enemyNode.EnemyState.abnormalCondition[key].value.ToString();
}
public override Buff NewBuff(int value)
{
Buff buff = new Buff_Weak();
buff.value = value;
return buff;
}
}

37
ColorlessWorld-2024-4-2/Assets/Scripts/Buff/Buff_coma.cs

@ -0,0 +1,37 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class Buff_coma : Buff
{
public override void Settle()
{
base.Settle();
}
public override void UIShow(GameObject buff, string key)
{
buff.transform.GetChild(0).GetComponent<Text>().text = "ȏ";
buff.transform.GetChild(1).GetComponent<Text>().text = Usermanager.playerAbnormalCondition[key].value.ToString();
}
public override void SettleEnemy(EnemyNode enemyNode)
{
base.Settle();
}
public override void EnemyUIShow(GameObject buff, string key, EnemyNode enemyNode)
{
buff.transform.GetChild(0).GetComponent<Text>().text = "ȏ";
buff.transform.GetChild(1).GetComponent<Text>().text = enemyNode.EnemyState.abnormalCondition[key].value.ToString();
}
public override Buff NewBuff(int value)
{
Buff buff = new Buff_coma();
buff.value = value;
return buff;
}
}

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

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

37
ColorlessWorld-2024-4-2/Assets/Scripts/Buff/Buff_corrode.cs

@ -0,0 +1,37 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class Buff_corrode : Buff
{
public override void Settle()
{
}
public override void UIShow(GameObject buff, string key)
{
buff.transform.GetChild(0).GetComponent<Text>().text = "¸¯";
buff.transform.GetChild(1).GetComponent<Text>().text = Usermanager.playerAbnormalCondition[key].value.ToString();
}
public override void SettleEnemy(EnemyNode enemyNode)
{
}
public override void EnemyUIShow(GameObject buff, string key, EnemyNode enemyNode)
{
buff.transform.GetChild(0).GetComponent<Text>().text = "¸¯";
buff.transform.GetChild(1).GetComponent<Text>().text = enemyNode.EnemyState.abnormalCondition[key].value.ToString();
}
public override Buff NewBuff(int value)
{
Buff buff = new Buff_corrode();
buff.value = value;
return buff;
}
}

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

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

37
ColorlessWorld-2024-4-2/Assets/Scripts/Buff/Buff_disarm.cs

@ -0,0 +1,37 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class Buff_disarm : Buff
{
public override void Settle()
{
base.Settle();
}
public override void UIShow(GameObject buff, string key)
{
buff.transform.GetChild(0).GetComponent<Text>().text = "½É";
buff.transform.GetChild(1).GetComponent<Text>().text = Usermanager.playerAbnormalCondition[key].value.ToString();
}
public override void SettleEnemy(EnemyNode enemyNode)
{
base.Settle();
}
public override void EnemyUIShow(GameObject buff, string key, EnemyNode enemyNode)
{
buff.transform.GetChild(0).GetComponent<Text>().text = "½É";
buff.transform.GetChild(1).GetComponent<Text>().text = enemyNode.EnemyState.abnormalCondition[key].value.ToString();
}
public override Buff NewBuff(int value)
{
Buff buff = new Buff_disarm();
buff.value = value;
return buff;
}
}

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

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

37
ColorlessWorld-2024-4-2/Assets/Scripts/Buff/Buff_flashPoint.cs

@ -0,0 +1,37 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class Buff_flashPoint : Buff
{
public override void Settle()
{
}
public override void UIShow(GameObject buff, string key)
{
buff.transform.GetChild(0).GetComponent<Text>().text = "ÉÁ";
buff.transform.GetChild(1).GetComponent<Text>().text = Usermanager.playerAbnormalCondition[key].value.ToString();
}
public override void SettleEnemy(EnemyNode enemyNode)
{
}
public override void EnemyUIShow(GameObject buff, string key, EnemyNode enemyNode)
{
buff.transform.GetChild(0).GetComponent<Text>().text = "ÉÁ";
buff.transform.GetChild(1).GetComponent<Text>().text = enemyNode.EnemyState.abnormalCondition[key].value.ToString();
}
public override Buff NewBuff(int value)
{
Buff buff = new Buff_flashPoint();
buff.value = value;
return buff;
}
}

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

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

35
ColorlessWorld-2024-4-2/Assets/Scripts/Buff/Buff_levelSeep.cs

@ -0,0 +1,35 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class Buff_levelSeep : Buff
{
public override void Settle()
{
base.Settle();
}
public override void SettleEnemy(EnemyNode enemyNode)
{
base.Settle();
}
public override void UIShow(GameObject buff, string key)
{
buff.transform.GetChild(0).GetComponent<Text>().text = "ÃÔ";
buff.transform.GetChild(1).GetComponent<Text>().text = Usermanager.playerAbnormalCondition[key].value.ToString();
}
public override void EnemyUIShow(GameObject buff, string key, EnemyNode enemyNode)
{
buff.transform.GetChild(0).GetComponent<Text>().text = "ÃÔ";
buff.transform.GetChild(1).GetComponent<Text>().text = enemyNode.EnemyState.abnormalCondition[key].value.ToString();
}
public override Buff NewBuff(int value)
{
Buff buff = new Buff_levelSeep();
buff.value = value;
return buff;
}
}

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

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

37
ColorlessWorld-2024-4-2/Assets/Scripts/Buff/Buff_parasitism.cs

@ -0,0 +1,37 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class Buff_parasitism : Buff
{
public override void Settle()
{
Usermanager.Instance.buffSettleList.Add(AbnormalCondition.parasitism);
}
public override void UIShow(GameObject buff, string key)
{
buff.transform.GetChild(0).GetComponent<Text>().text = "¼Ä";
buff.transform.GetChild(1).GetComponent<Text>().text = Usermanager.playerAbnormalCondition[key].value.ToString();
}
public override void SettleEnemy(EnemyNode enemyNode)
{
base.Settle();
}
public override void EnemyUIShow(GameObject buff, string key, EnemyNode enemyNode)
{
buff.transform.GetChild(0).GetComponent<Text>().text = "¼Ä";
buff.transform.GetChild(1).GetComponent<Text>().text = enemyNode.EnemyState.abnormalCondition[key].value.ToString();
}
public override Buff NewBuff(int value)
{
Buff buff = new Buff_parasitism();
buff.value = value;
return buff;
}
}

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

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

37
ColorlessWorld-2024-4-2/Assets/Scripts/Buff/Buff_sleep.cs

@ -0,0 +1,37 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class Buff_sleep : Buff
{
public override void Settle()
{
base.Settle();
}
public override void UIShow(GameObject buff, string key)
{
buff.transform.GetChild(0).GetComponent<Text>().text = "Ãß";
buff.transform.GetChild(1).GetComponent<Text>().text = Usermanager.playerAbnormalCondition[key].value.ToString();
}
public override void SettleEnemy(EnemyNode enemyNode)
{
base.Settle();
}
public override void EnemyUIShow(GameObject buff, string key, EnemyNode enemyNode)
{
buff.transform.GetChild(0).GetComponent<Text>().text = "Ãß";
buff.transform.GetChild(1).GetComponent<Text>().text = enemyNode.EnemyState.abnormalCondition[key].value.ToString();
}
public override Buff NewBuff(int value)
{
Buff buff = new Buff_sleep();
buff.value = value;
return buff;
}
}

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

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

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

@ -99,7 +99,26 @@ public class CardDrag : MonoBehaviour, IBeginDragHandler, IDragHandler, IEndDrag
}
}
}
private void banActionCardCheck()
{
if(TurnMaster.Instance.playerAction == TurnMaster.PlayerAction.banAction)
{
cardEntity.costEnough = false;
}
else
{
cardEntity.costEnough = true;
}
if(TurnMaster.Instance.playerAction == TurnMaster.PlayerAction.move)
{
cardEntity.costEnough = false;
}
else if(TurnMaster.Instance.playerAction != TurnMaster.PlayerAction.banAction)
{
cardEntity.costEnough = true;
}
}
private void resetComponentPosition()
{
//±éÀú·¶Î§Ô¤ÀÀ³ØÏû³ýÓ°ÏìÉ«
@ -142,8 +161,9 @@ public class CardDrag : MonoBehaviour, IBeginDragHandler, IDragHandler, IEndDrag
{
// if (GameObject.Find("CardPanel") != null)
// graphicRaycaster = GameObject.Find("CardPanel").GetComponent<GraphicRaycaster>();
banActionCardCheck();
costCheck();
disCardCheck();
disCardCheck();
if (!cardEntity.costEnough)
{
return;

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

@ -33,7 +33,8 @@ public class TurnMaster : Singleton<TurnMaster>
{
none,
useCard,
move
move,
banAction
}
public void Start()
@ -49,13 +50,15 @@ public class TurnMaster : Singleton<TurnMaster>
//洗牌--抽卡
StartCoroutine(ShuffleWithLosingCards());
//判断眩晕等能不能行动
Usermanager.Instance.BanActionJudge();
//结算玩家buff
Usermanager.Instance.PlayerTurnSettle();
//结算地块Buff
MapUnitySettleManager.Instance.MapGridsSettle();
//恢复体力
GameManager.Instance.playerState.currentStepRange = GameManager.Instance.playerState.maxStepRange;
restoreResource(0);
GameManager.Instance.playerState.currentStepRange = Usermanager.Instance.StepRangeCalculation(GameManager.Instance.playerState.maxStepRange);
restoreResource(0);
//显示敌人攻击虚线
EnemyManager.Instance.EnemyLine_Observer();
//回复敌人系数
@ -98,18 +101,21 @@ public class TurnMaster : Singleton<TurnMaster>
yield return new WaitForSeconds(3.0f); // 等待3秒
turn = Turn.playerTurn;
}
public void EndPlayerTurn()
{
if(turn ==Turn.playerTurn)
turn = Turn.enemyTurnBegin;
//turn = Turn.playerTurnBegin;
//回合结束结算buff
Usermanager.Instance.BuffSettleInEndTurn();
}
public void EndEnemyTurn()
{
EnemyManager.Instance.enemyTurnState = EnemyManager.EnemyTurnState.end;
turn = Turn.playerTurnBegin;
}
//老吊写的函数
public void restoreResource(int settleTurn)
{

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

@ -9,6 +9,20 @@ public class EnemyManager : Singleton<EnemyManager>
[SerializeField]
public List<IEnemyObserver> enemyObservers = new List<IEnemyObserver>();
[Header("悬停角色属性")]//uibar
public GameObject statePanel;
public Text hPText;
public Text attackText;
public Text stepRangeText;
public Text attackRangeText;
public Text speedText;
public Text nameText;
public Image enemyIcon;
[Header("悬停角色意图")]//planAction
public GameObject planPanle;
public Text stateText;
[Header("怪物顺序控件")]
public List<EnemyNode> enemySpeedSortingList;//安照速度进行排序
public int enemyCount;//记录几只怪进行了行动
@ -25,13 +39,7 @@ public class EnemyManager : Singleton<EnemyManager>
runing,
end
}
// [Header ("¹ÖÎï¹¥»÷·¶Î§Ô¤ÀÀÓ°Ïì³Ø")]
// public List<MapUnity> influencePreviewPool = new List<MapUnity>();
private void Start()
{
Invoke("GetEnemyPosition_Observer", 6f);
}
public void SpeedSortList()
{
@ -85,7 +93,7 @@ public class EnemyManager : Singleton<EnemyManager>
EnemySortIconSync();
observer.EnemyTurn();
observer.GetEnemyNode().bleedSettle();
enemyTurnState = EnemyTurnState.stop;
enemyCount += 1;

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

@ -82,13 +82,11 @@ public class EnemyNode : MonoBehaviour,IEnemyObserver
if(enemyType ==EnemyType.enemy )
enemyUIBar = GetComponent<EnemyUIBar>();
Invoke("StartPosition", 6f);
}
public void StartPosition()
{
this.transform.position = GameManager.Instance.X[positionX].Y[positionY].transform.position;
//this.transform.position = GameManager.Instance.X[positionX].Y[positionY].transform.position;
GameManager.Instance.X[positionX].Y[positionY].enemyNode = this;
if(enemyType ==EnemyType.block)
{
@ -415,7 +413,7 @@ public class EnemyNode : MonoBehaviour,IEnemyObserver
switch (enemyType)
{
case EnemyType.enemy:
GetComponent<EnemyUIBar>().statePanel.SetActive(false);
EnemyManager.Instance.statePanel.SetActive(false);
RewardManager.Instance.JudgeEnemyOver();
Destroy(this.gameObject);
break;
@ -426,19 +424,21 @@ public class EnemyNode : MonoBehaviour,IEnemyObserver
}
//ÀϵõдµÄÓ¦Óú¯Êý
//Buff结算应用函数
//施加buff效果
public void sufferAbnormalCondition(string condition, int value)
{
if (EnemyState.abnormalCondition.ContainsKey(condition))
if (EnemyState .abnormalCondition .ContainsKey(condition))
{
int beforeval = EnemyState.abnormalCondition[condition];
int beforeval = EnemyState.abnormalCondition[condition].value;
int afterval = beforeval + value;
EnemyState.abnormalCondition[condition] = afterval;
EnemyState.abnormalCondition[condition].value = afterval;
}
else
{
EnemyState.abnormalCondition[condition] = value;
AddEnemyAbnormalCondition(condition,value);
}
if (condition.Equals(CardFunction.coma))
{
EnemyState.damageMultiplier = 0;
@ -449,20 +449,22 @@ public class EnemyNode : MonoBehaviour,IEnemyObserver
EnemyState.damageMultiplier = 0;
EnemyState.stepRangeMultiplier = 0;
}
enemyUIBar.RefreshEnemyBuffIcon();
}
public void sufferDamage(int damageVal)
{
EnemyState.currentHP -= damageVal;
EnemyState.currentHP -= SufferDamageCalculation (damageVal);
Debug.Log("µÐÈËѪÁ¿" + EnemyState.currentHP);
if (EnemyState.currentHP <= 0)
{
OnDeath();
}else
}
else
{
foreach (var key in EnemyState.abnormalCondition.Keys.ToList())
{
Debug.Log(key);
switch (key)
{
case AbnormalCondition.sleep:
@ -498,6 +500,11 @@ public class EnemyNode : MonoBehaviour,IEnemyObserver
break;
}
}
if(EnemyState.abnormalCondition.ContainsKey(UpperCondition.flashPoint))
{
FlashPointRealize();
}
}
}
@ -538,130 +545,177 @@ public class EnemyNode : MonoBehaviour,IEnemyObserver
{
foreach (var key in EnemyState.abnormalCondition.Keys.ToList())
{
Debug.Log(key);
switch (key)
{
case AbnormalCondition.posion:
posionSettle(EnemyState.abnormalCondition[key]);
break;
case AbnormalCondition.weak:
weakSettle(EnemyState.abnormalCondition[key]);
break;
case AbnormalCondition.coma:
comaSettle(EnemyState.abnormalCondition[key]);
break;
case AbnormalCondition.disarm:
disarmSettle(EnemyState.abnormalCondition[key]);
break;
case AbnormalCondition.bleed:
//bleedSettle(EnemyState.abnormalCondition[key]);
break;
case AbnormalCondition.thorn:
thornSettle(EnemyState.abnormalCondition[key]);
break;
}
EnemyState.abnormalCondition[key].SettleEnemy(this);
abnormalConditionEndCheck();
enemyUIBar. RefreshEnemyBuffIcon();
}
}
private void abnormalConditionEndCheck()
{
foreach (var key in EnemyState.abnormalCondition.Keys.ToList())
{
Debug.Log(key);
switch (key)
if (EnemyState.abnormalCondition[key].value <= 0)
{
case AbnormalCondition.sleep:
sleepSettle(EnemyState.abnormalCondition[key]);
break;
EnemyState.abnormalCondition.Remove(key);
}
abnormalConditionEndCheck();
}
/*for(int i=0;i< EnemyState.abnormalCondition.Count; i++)
{
switch (EnemyState.abnormalCondition[i].key)
{
case AbnormalCondition.posion:
posionSettle(kvp.Value);
break;
case AbnormalCondition.weak:
weakSettle(kvp.Value);
break;
case AbnormalCondition.coma:
comaSettle(kvp.Value);
break;
case AbnormalCondition.disarm:
disarmSettle(kvp.Value);
break;
case AbnormalCondition.sleep:
sleepSettle(kvp.Value);
break;
case AbnormalCondition.bleed:
bleedSettle(kvp.Value);
break;
case AbnormalCondition.thorn:
thornSettle(kvp.Value);
break;
}
}*/
}
private void posionSettle(int posionStack)
//获取格子
public MapUnity GetMapGrid()
{
sufferDamage(posionStack);
EnemyState.abnormalCondition[AbnormalCondition.posion]--;
return GameManager.Instance.X[positionX].Y[positionY];
}
private void weakSettle(int weakStack)
//施加新Buff
public void AddEnemyAbnormalCondition(string condition, int value)
{
if(BuffDataManager.Instance.abnormalCondition.ContainsKey(condition))
{
EnemyState.abnormalCondition.Add(condition, BuffDataManager.Instance.abnormalCondition[condition].NewBuff(value));
}
}
#region Buff结算函数
//结算易伤
public int SufferDamageCalculation(int damage)
{
EnemyState.damageMultiplier = 0.75;
EnemyState.abnormalCondition[AbnormalCondition.weak]--;
if (EnemyState .abnormalCondition .ContainsKey(AbnormalCondition.vulnerable))
{
EnemyState .sufferDamageMultiply = 1.5f;
}
else
{
EnemyState. sufferDamageMultiply = 1f;
}
damage = (int)(EnemyState.sufferDamageMultiply * damage);
return damage;
}
private void comaSettle(int comaStack)
//结算伤害
public int DamageCalculation(int damage)
{
EnemyState.damageMultiplier = 0;
EnemyState.stepRangeMultiplier = 0;
EnemyState.abnormalCondition[AbnormalCondition.coma]--;
int angerUpperDamage = 0, angerDownDamage = 0;
if (EnemyState .abnormalCondition .ContainsKey(UpperCondition.angerUpperDamage))
{
angerUpperDamage = EnemyState.abnormalCondition[UpperCondition.angerUpperDamage].value;
}
if (EnemyState.abnormalCondition.ContainsKey(AbnormalCondition.angerDownDamage))
{
angerDownDamage = EnemyState.abnormalCondition[AbnormalCondition.angerDownDamage].value;
}
if (EnemyState.abnormalCondition.ContainsKey(AbnormalCondition.weak))
{
EnemyState.damageMultiplier = 0.75f;
}
else
{
EnemyState.damageMultiplier = 1f;
}
damage = (int)((damage + angerUpperDamage - angerDownDamage) * EnemyState.damageMultiplier);
return damage;
}
private void disarmSettle(int disarmStack)
//护盾计算函数
public int ShieldCalculation(int shield)
{
EnemyState.damageMultiplier = 0;
EnemyState.abnormalCondition[AbnormalCondition.disarm]--;
int shieldValue = 0;
if (EnemyState.abnormalCondition.ContainsKey(UpperCondition.shieldUpperValue))
{
shieldValue += EnemyState.abnormalCondition[UpperCondition.shieldUpperValue].value;
}
if (EnemyState.abnormalCondition.ContainsKey(AbnormalCondition.shieldDownValue))
{
shieldValue -= EnemyState.abnormalCondition[AbnormalCondition.shieldDownValue].value;
}
shield += shieldValue;
return shield;
}
private void sleepSettle(int sleepStack)
//闪位实现
public void FlashPointRealize()
{
EnemyState.damageMultiplier = 0;
EnemyState.stepRangeMultiplier = 0;
EnemyState.abnormalCondition[AbnormalCondition.sleep]--;
//随机移动
int index_X = UnityEngine.Random.Range(0, GameManager.Instance.X.Count);
int index_Y = UnityEngine.Random.Range(0, GameManager.Instance.X[index_X].Y.Count);
MapUnity targetNode = GameManager.Instance.X[index_X].Y[index_Y];
MapUnity currentNode = GameManager.Instance.X[positionX].Y[positionY];
currentNode.enemyNode = null;
currentNode.blocked = false;
positionX = targetNode.locationX;
positionY = targetNode.locationY;
targetNode.enemyNode = this;
this.transform.position = targetNode.transform.position;
//随机污染
RandomColour(2);
}
public void bleedSettle()
//随机污染
public void RandomColour(int number)
{
if (EnemyState.abnormalCondition.TryGetValue(AbnormalCondition.bleed, out int stack))
List<MapUnity> playerMap = new List<MapUnity>();
for(int x=0;x< GameManager.Instance.X.Count;x++)
{
sufferDamage(2);
EnemyState.abnormalCondition[AbnormalCondition.bleed] = stack - 1;
}
foreach (var node in GameManager.Instance.X[x].Y)
{
if(node .whoColour == MapUnity.WhoColour.playerColour )
{
playerMap.Add(node);
}
}
}
for(int i=0;i<number;i++)
{
int index = UnityEngine.Random.Range(0, playerMap.Count);
playerMap[index].whoColour = MapUnity.WhoColour.enemyColour;
playerMap.RemoveAt(index);
}
}
private void thornSettle(int thornStack)
//步数计算
public int StepRangeCalculation(int stepRange)
{
int addStepRange = 0;
if (EnemyState.abnormalCondition.ContainsKey(UpperCondition.upperSpeed))
{
addStepRange += 1;
}
if (EnemyState.abnormalCondition.ContainsKey(AbnormalCondition.downSpeed))
{
addStepRange -= 1;
}
if (EnemyState.abnormalCondition.ContainsKey(AbnormalCondition.BanStep))
{
EnemyState.stepRangeMultiplier = 0;
}
else
{
EnemyState.stepRangeMultiplier = 1f;
}
stepRange = (int)((stepRange + addStepRange) * EnemyState.stepRangeMultiplier);
return stepRange;
}
private void abnormalConditionEndCheck()
//腐蚀实现
public void CorrodeRealize(MapUnity node)
{
foreach (var key in EnemyState.abnormalCondition.Keys.ToList())
if (EnemyState.abnormalCondition.ContainsKey(UpperCondition.corrode))
{
if (EnemyState.abnormalCondition[key] <= 0)
{
EnemyState.abnormalCondition.Remove(key);
}
node.whoColour = MapUnity.WhoColour.enemyColour;
}
}
#endregion
}

3
ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/SkeletonArcher.cs

@ -188,6 +188,9 @@ public class SkeletonArcher : MonoBehaviour
yield return 0;
}
//Åжϸ¯Ê´
enemyNode.CorrodeRealize(endMapUnity);
yield break;
}

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

@ -38,8 +38,7 @@ public class SkullGuardian : MonoBehaviour
{
enemyNode.canMove = false;
}*/
enemyNode.enemyUIBar.RefreshEnemyBuffIcon();
//重置时间标量
lastTime = time;
}
@ -162,7 +161,10 @@ public class SkullGuardian : MonoBehaviour
yield return 0;
}
//Åжϸ¯Ê´
enemyNode.CorrodeRealize(endMapUnity);
yield break;
}
public void NextTurnIntention()

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

@ -40,41 +40,46 @@ public class GameManager : Singleton<GameManager>
public Image enemyColourCountBar;
private void Start()
{
//生成空地图列表
GenerateEnmptyMapList();
//生成角色数据
if (templatePlayerState != null)
playerState = Instantiate(templatePlayerState);
//开局场地涂色并开始阶段
StartCoroutine(StartStartColourCoroutine(complete));
}
[System.Serializable]
public class Yunit
{
Invoke("CompleteGenerate", 6.5f);
public List<MapUnity> Y;
}
if(complete ==false )
public void GenerateEnmptyMapList()
{
if (complete == false)
{
for (int i = 0; i < MapManager.Instance.line; i++)
{
int currentColum = 0;
if(i%2 ==0)
if (i % 2 == 0)
{
currentColum = MapManager.Instance.column;
}
else
{
currentColum = MapManager.Instance.column -1;
currentColum = MapManager.Instance.column - 1;
}
for (int j = 0; j <currentColum; j++)
for (int j = 0; j < currentColum; j++)
{
X[i].Y.Add(null);
}
}
}
//生成角色数据
if (templatePlayerState != null)
playerState = Instantiate(templatePlayerState);
//开局场地涂色
Invoke("StartMapColour", 5f);
}
[System.Serializable]
public class Yunit
{
public List<MapUnity> Y;
}
private void Update()
{
//ͬ²½UIÊý¾Ý
@ -146,8 +151,16 @@ public class GameManager : Singleton<GameManager>
}
IEnumerator StartStartColourCoroutine(bool complete)
{
yield return new WaitUntil (()=> this.complete==true ) ;
StartCoroutine(StartMapColour());
yield return StartCoroutine(StartMapColour());
SyncColourCountUI();
TurnMaster.Instance.turn = TurnMaster.Turn.playerTurnBegin;
}
//¿ª¾Ö³¡µØÍ¿É«
public void StartMapColour()
IEnumerator StartMapColour()
{
for (int i = 0; i < X.Count; i++)
{
@ -170,23 +183,10 @@ public class GameManager : Singleton<GameManager>
if( j < X [i].Y .Count)
X[i].Y[j].whoColour = MapUnity.WhoColour.enemyColour;
}
yield return null;
}
}
}
//完成场地创建
public void CompleteGenerate()
{
complete = true;
SyncColourCountUI();
EnemyManager.Instance.SpeedSortList();
EnemyManager.Instance.EnemySortIconGnerate();
TurnMaster.Instance.turn = TurnMaster.Turn.playerTurnBegin;
}
}
}

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

@ -2,12 +2,13 @@ using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class MapManager : Singleton <MapManager>
public class MapManager : Singleton<MapManager>
{
[Header("µØÍ¼")]
public GameObject mapUnity;
public int line;
public int column;
public GameObject generatePoint;
public Vector3 lineOffSet;
@ -15,23 +16,32 @@ public class MapManager : Singleton <MapManager>
public List<List<MapUnity>> mapUnities;//¶þά´¢´æ±í
[Header("µÐÈË")]
public List<EnemyGenerateData> enemyGenerateDataList = new List<EnemyGenerateData>();
void Start()
{
MapGenerate();
StartCoroutine (GenerateProcess());
}
IEnumerator GenerateProcess()
{
StartCoroutine(CompleteGenerate());
yield return 0;
}
public void MapGenerate()
IEnumerator MapGenerate()
{
for (int i =0;i<line;i++)
for (int i = 0; i < line; i++)
{
if(i != 0)
if (i != 0)
{
generatePoint.transform.position += columnOffSet;
}
generatePoint.transform.position = new Vector3(0, 0, generatePoint.transform.position.z);
int currentColumn = column;
if(i % 2 == 0)
if (i % 2 == 0)
{
currentColumn = column;
}
@ -40,23 +50,70 @@ public class MapManager : Singleton <MapManager>
currentColumn = column - 1;
}
for (int j =0;j<currentColumn ;j++)
for (int j = 0; j < currentColumn; j++)
{
if (i % 2 != 0&&j == 0)
if (i % 2 != 0 && j == 0)
{
generatePoint.transform.position += lineOffSet/2f;
generatePoint.transform.position += lineOffSet / 2f;
}
var a= Instantiate(mapUnity, generatePoint.transform.position, mapUnity .transform .rotation );
var a = Instantiate(mapUnity, generatePoint.transform.position, mapUnity.transform.rotation);
a.GetComponent<MapUnity>().locationX = i;
a.GetComponent<MapUnity>().locationY = j;
a.GetComponent<MapUnity>().locationY = j;
a.GetComponent<MapUnity>().RegisterUnit();
generatePoint.transform.position += lineOffSet;
yield return null;
}
}
}
IEnumerator EnemyGenerate()
{
yield return StartCoroutine(SetUpMapUnity());
foreach (var enemy in enemyGenerateDataList )
{
var currentEnemy = Instantiate(enemy.enemyPrefab, GameManager.Instance.X[enemy.locationX].Y[enemy.locationY].transform.position, enemy.enemyPrefab.transform.rotation);
EnemyNode enemynode = currentEnemy.GetComponent<EnemyNode>();
enemynode.positionX = enemy.locationX;
enemynode.positionY = enemy.locationY;
enemynode.StartPosition();
}
}
IEnumerator SetUpMapUnity()
{
yield return StartCoroutine(MapGenerate());
for (int i = 0; i <GameManager .Instance . X.Count; i++)
{
for (int j = 0; j < GameManager.Instance.X[i].Y.Count; j++)
{
GameManager.Instance.X[i].Y[j].StartRegiste();
}
}
}
public void MapSetUp()
//Íê³É³¡µØ´´½¨
IEnumerator CompleteGenerate()
{
yield return StartCoroutine(EnemyGenerate());
yield return new WaitForSeconds(1);
GameManager.Instance.player.StartPlayer();
GameManager.Instance. complete = true;
EnemyManager.Instance.SpeedSortList();
EnemyManager.Instance.EnemySortIconGnerate();
}
[System .Serializable ]
public class EnemyGenerateData
{
public GameObject enemyPrefab;
public int locationX, locationY;
}
}

18
ColorlessWorld-2024-4-2/Assets/Scripts/MapUnity.cs

@ -55,19 +55,15 @@ public class MapUnity : MonoBehaviour
[Header("寻路控件")]
public AStarNode aStarNode;
void Start()
public void StartRegiste()
{
if(compalte ==false )
{
Invoke("RegisterUnit", 2f);
if(compalte ==false )
{
//计算周围节点
Invoke("ConnectUnit", 4f);
Invoke("Complete", 6f);
}
ConnectUnit();
Complete();
}
}

22
ColorlessWorld-2024-4-2/Assets/Scripts/Player.cs

@ -14,7 +14,7 @@ public class Player : MonoBehaviour
private void Start()
{
Invoke("StartPlayer", 4f);
// Invoke("StartPlayer", 4f);
}
public void StartPlayer()
@ -26,7 +26,7 @@ public class Player : MonoBehaviour
}
public void Update()
{
if (Mouse.current.leftButton.wasPressedThisFrame && TurnMaster.Instance.playerAction != TurnMaster.PlayerAction.useCard)
if (Mouse.current.leftButton.wasPressedThisFrame && TurnMaster.Instance.playerAction != TurnMaster.PlayerAction.useCard&& TurnMaster.Instance.playerAction != TurnMaster.PlayerAction.banAction)
{
if (GameManager.Instance.playerState.currentStepRange > 0)
{
@ -41,17 +41,22 @@ public class Player : MonoBehaviour
mapUnity.influenced = true;
mapUnity.choossedMark.GetComponent<Renderer>().material = mapUnity.red;
}
//StepPreviewInfluencedNode(GameManager.Instance.playerState.currentStepRange);
//StepPreviewInfluencedNode(GameManager.Instance.playerState.currentStepRange);
TurnMaster.Instance.playerAction = TurnMaster.PlayerAction.move;
}
else
{
// Debug.Log(raycastHit.collider.gameObject.name);
ChooseNode();
}
}
else
{
Debug.Log("没有体力啦");
}
}
@ -60,6 +65,8 @@ public class Player : MonoBehaviour
// StepPreviewInfluencedNode(step);
CloseStepPreviewInfluencedNode();//取消格子预览
if(TurnMaster.Instance.playerAction != TurnMaster.PlayerAction.banAction)
TurnMaster.Instance.playerAction = TurnMaster.PlayerAction.none;
//todo取消卡牌释放
}
}
@ -113,7 +120,10 @@ public class Player : MonoBehaviour
GameManager.Instance.playerOn.playerOn = false;
GameManager.Instance.playerOn.influenced = false;
}
//ÅжϼÄÉúÊÇ·ñÉúЧ
Usermanager.Instance.ParasitismnRealize(GameManager.Instance.playerOn, mapNode);
mapNode.playerOn = true;
GameManager.Instance.playerOn = mapNode;
@ -126,7 +136,8 @@ public class Player : MonoBehaviour
}
influencePreviewPool.Clear();
TurnMaster.Instance.playerAction = TurnMaster.PlayerAction.none;
}
else
{
@ -143,6 +154,7 @@ public class Player : MonoBehaviour
mapUnity.influenced = false;
}
influencePreviewPool.Clear();
}
public void StepPreviewInfluencedNode(int step)//可移动格子预览

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

@ -21,17 +21,17 @@ public class AbnormalCondition : Singleton<AbnormalCondition>
//빈속鯤소렘
//큼삽瓊��벧-
public const string angerUpperDamage = "11";
// public const string angerUpperDamage = "11";
//큼삽슉됴�벧-
public const string angerDownDamage = "12";
//솽미삿돤빱뜀藤樓-
public const string shieldUpperValue = "13";
//public const string shieldUpperValue = "13";
//솽미맏슉됴빱뜀-
public const string shieldDownValue = "14";
//솽미(쀼북역迦꼇딜빱뜀)-
public const string firm = "15";
//public const string firm = "15";
//속탬-
public const string addDrawCard = "16";
// public const string addDrawCard = "16";
//숑탬-
public const string minusDrawCard = "17";
//쐐탬-
@ -39,9 +39,16 @@ public class AbnormalCondition : Singleton<AbnormalCondition>
//弄�-
public const string vulnerable = "19";
//속醵-
public const string upperSpeed = "20";
//public const string upperSpeed = "20";
//숑醵-
public const string downSpeed = "21";
//끌훈-
public const string BanStep = "22";
//火种
public const string fireSeed = "23";
//昏睡(叠层那个)
public const string levelSleep = "24";
//寄生
public const string parasitism = "25";
}

5
ColorlessWorld-2024-4-2/Assets/Scripts/Tool/Data_SO/EnemyState_SO.cs

@ -24,12 +24,15 @@ public class EnemyState_SO : ScriptableObject
public float currentHP;//当前血量
public float sufferDamageMultiply;//受伤系数
public int colourType;//涂色类型,0为不涂色
public int maxSkillCoolDown;//技能冷却
public int currentSkillCoolDown;//技能冷却
public Dictionary<string, int> abnormalCondition = new Dictionary<string, int>();//Ò쳣״̬
// public Dictionary<string, int> abnormalCondition = new Dictionary<string, int>();//异常状态
public Dictionary<string, Buff> abnormalCondition = new Dictionary<string, Buff>();//异常状态
public double damageMultiplier = 1;//攻击力系数

30
ColorlessWorld-2024-4-2/Assets/Scripts/Tool/UpperCondition.cs

@ -0,0 +1,30 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class UpperCondition
{
//큼삽瓊��벧-
public const string angerUpperDamage = "101";
//솽미삿돤빱뜀藤樓-
public const string shieldUpperValue = "102";
//솽미(쀼북역迦꼇딜빱뜀)-
public const string firm = "103";
//속탬-
public const string addDrawCard = "104";
//속醵-
public const string upperSpeed = "105";
//�貫
public const string flashPoint = "106";
//므벙
public const string bonePile = "107";
//릭苛
public const string corrode = "108";
}

11
ColorlessWorld-2024-4-2/Assets/Scripts/Tool/UpperCondition.cs.meta

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

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

@ -8,10 +8,16 @@ using UnityEngine.EventSystems;
public class EnemyPlanActionUI : MonoBehaviour
{
public EnemyNode enemyNode;
public GameObject planPanle;
public Text stateText;
public Text attackDamageText;
//外部引用EnemyManager
GameObject planPanle;
Text stateText;
private void Start()
{
planPanle = EnemyManager.Instance.planPanle;
stateText = EnemyManager.Instance.stateText;
}
private void OnMouseEnter()
{
if (TurnMaster.Instance.turn == TurnMaster.Turn.playerTurn &&GameManager .Instance .onDrag ==false )

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

@ -27,15 +27,7 @@ public class EnemyUIBar : MonoBehaviour
public Text attackDamageText;
public GameObject moveIcon;
[Header("悬停角色属性")]
public GameObject statePanel;
public Text hPText;
public Text attackText;
public Text stepRangeText;
public Text attackRangeText;
public Text speedText;
public Text nameText;
public Image enemyIcon;
[Header("Buff图标显示")]
public List<GameObject> buffIconList = new List<GameObject>();
@ -125,22 +117,22 @@ public class EnemyUIBar : MonoBehaviour
//鼠标悬停
private void OnMouseOver()
{
statePanel.SetActive(true);
statePanel.transform.position = Mouse.current.position.value;
EnemyManager.Instance. statePanel.SetActive(true);
EnemyManager.Instance.statePanel.transform.position = Mouse.current.position.value;
EnemyState_SO enemyState = enemyNode.EnemyState;
nameText.text = enemyState.enemyName;
enemyIcon.sprite = enemyState.enemyIcon;
hPText.text = enemyState.currentHP.ToString() + "/" + enemyState.maxHP.ToString();
attackText.text = (enemyState.damage * enemyState.damageMultiplier).ToString ();
stepRangeText.text = (enemyState.stepRange * enemyState.stepRangeMultiplier).ToString();
attackRangeText.text = enemyState.attackRange.ToString();
speedText.text = enemyState.speed.ToString();
EnemyManager.Instance.nameText.text = enemyState.enemyName;
EnemyManager.Instance.enemyIcon.sprite = enemyState.enemyIcon;
EnemyManager.Instance.hPText.text = enemyState.currentHP.ToString() + "/" + enemyState.maxHP.ToString();
EnemyManager.Instance.attackText.text = (enemyState.damage * enemyState.damageMultiplier).ToString ();
EnemyManager.Instance.stepRangeText.text = (enemyState.stepRange * enemyState.stepRangeMultiplier).ToString();
EnemyManager.Instance.attackRangeText.text = enemyState.attackRange.ToString();
EnemyManager.Instance.speedText.text = enemyState.speed.ToString();
}
private void OnMouseExit()
{
statePanel.SetActive(false);
EnemyManager.Instance.statePanel.SetActive(false);
}
@ -159,73 +151,13 @@ public class EnemyUIBar : MonoBehaviour
//再刷新
foreach (var key in EnemyState.abnormalCondition.Keys.ToList())
{
switch (key)
if (EnemyState.abnormalCondition[key].value > 0)
{
case AbnormalCondition.posion:
if(EnemyState.abnormalCondition[key]!=0)
{
var posion = Instantiate(buffIcon, buffPanle.transform);
posion.transform.GetChild(0).GetComponent<Text>().text = "毒";
posion.transform.GetChild(1).GetComponent<Text>().text = EnemyState.abnormalCondition[key].ToString();
buffIconList.Add(posion);
}
break;
case AbnormalCondition.weak:
if (EnemyState.abnormalCondition[key] != 0)
{
var weak = Instantiate(buffIcon, buffPanle.transform);
weak.transform.GetChild(0).GetComponent<Text>().text = "虚";
weak.transform.GetChild(1).GetComponent<Text>().text = EnemyState.abnormalCondition[key].ToString();
buffIconList.Add(weak);
}
break;
case AbnormalCondition.coma:
if (EnemyState.abnormalCondition[key] != 0)
{
var coma = Instantiate(buffIcon, buffPanle.transform);
coma.transform.GetChild(0).GetComponent<Text>().text = "晕";
coma.transform.GetChild(1).GetComponent<Text>().text = EnemyState.abnormalCondition[key].ToString();
buffIconList.Add(coma);
}
break;
case AbnormalCondition.disarm:
if (EnemyState.abnormalCondition[key] != 0)
{
var disarm = Instantiate(buffIcon, buffPanle.transform);
disarm.transform.GetChild(0).GetComponent<Text>().text = "缴";
disarm.transform.GetChild(1).GetComponent<Text>().text = EnemyState.abnormalCondition[key].ToString();
buffIconList.Add(disarm);
}
break;
case AbnormalCondition.sleep:
if (EnemyState.abnormalCondition[key] != 0)
{
var sleep = Instantiate(buffIcon, buffPanle.transform);
sleep.transform.GetChild(0).GetComponent<Text>().text = "睡";
sleep.transform.GetChild(1).GetComponent<Text>().text = EnemyState.abnormalCondition[key].ToString();
buffIconList.Add(sleep);
}
break;
case AbnormalCondition.bleed:
if (EnemyState.abnormalCondition[key] != 0)
{
var bleed = Instantiate(buffIcon, buffPanle.transform);
bleed.transform.GetChild(0).GetComponent<Text>().text = "流";
bleed.transform.GetChild(1).GetComponent<Text>().text = EnemyState.abnormalCondition[key].ToString();
buffIconList.Add(bleed);
}
break;
case AbnormalCondition.thorn:
if (EnemyState.abnormalCondition[key] != 0)
{
var thorn = Instantiate(buffIcon, buffPanle.transform);
thorn.transform.GetChild(0).GetComponent<Text>().text = "刺";
thorn.transform.GetChild(1).GetComponent<Text>().text = EnemyState.abnormalCondition[key].ToString();
buffIconList.Add(thorn);
}
break;
var buff = Instantiate(buffIcon, buffPanle.transform);
EnemyState.abnormalCondition[key].EnemyUIShow(buff, key,enemyNode);
buffIconList.Add(buff);
}
}
}
}

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

@ -0,0 +1,40 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class BuffDataManager : Singleton<BuffDataManager>
{
public Dictionary<string, Buff> abnormalCondition = new Dictionary<string, Buff>();//Ò쳣״̬
private void OnEnable()
{
abnormalCondition.Add("4", new Buff_Posion());
abnormalCondition.Add("5", new Buff_Weak ());
abnormalCondition.Add("6", new Buff_coma());
abnormalCondition.Add("7", new Buff_disarm());
abnormalCondition.Add("8", new Buff_sleep());
abnormalCondition.Add("12", new Buff_DownAnger());
abnormalCondition.Add("14", new Buff_DownShield());
abnormalCondition.Add("17", new Buff_MinusDrawCard());
abnormalCondition.Add("18", new Buff_BanDrawCard());
abnormalCondition.Add("19", new Buff_Vulnerable());
abnormalCondition.Add("21", new Buff_DownStepRange());
abnormalCondition.Add("22", new Buff_BanStepRange());
abnormalCondition.Add("23", new Buff_FireSeed());
abnormalCondition.Add("24", new Buff_levelSeep());
abnormalCondition.Add("25", new Buff_parasitism());
abnormalCondition.Add("101", new Buff_UpperAnger());
abnormalCondition.Add("102", new Buff_UpperShield());
abnormalCondition.Add("103", new Buff_Firm());
abnormalCondition.Add("104", new Buff_DrawCardNumber());
abnormalCondition.Add("105", new Buff_UpperStepRange());
abnormalCondition.Add("106", new Buff_flashPoint());
abnormalCondition.Add("107", new Buff_BonePile());
abnormalCondition.Add("108", new Buff_corrode());
}
}

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

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

61
ColorlessWorld-2024-4-2/Assets/Scripts/manager/MapUnitySettleManager.cs

@ -0,0 +1,61 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class MapUnitySettleManager : Singleton<MapUnitySettleManager>
{
public void PlayerMudGridSettle(int value)
{
if(GameManager .Instance .playerOn .whoColour == MapUnity.WhoColour.enemyColour )
{
Usermanager.Instance.AddPlayerAbnormalCondition_downSpeed(value);
}
else if (GameManager.Instance.playerOn.whoColour == MapUnity.WhoColour.playerColour)
{
Usermanager.Instance.AddPlayerAbnormalCondition_upperSpeed(value);
}
}
public void EnemyRedGridSettle (EnemyNode enemyNode , int value)
{
if (enemyNode.GetMapGrid().whoColour == MapUnity.WhoColour.playerColour)
{
AddEnemyFireSeed(enemyNode, value);
}
}
#region 给敌方施加Buff方法
//给敌方施加火种
public void AddEnemyFireSeed(EnemyNode enemyNode, int value)
{
enemyNode.sufferAbnormalCondition(AbnormalCondition.fireSeed, value);
if (enemyNode.EnemyState.abnormalCondition[AbnormalCondition.fireSeed].value >= 10)
{
enemyNode.sufferDamage(Usermanager .Instance . DamageCalculation(15));
enemyNode.EnemyState.abnormalCondition[AbnormalCondition.fireSeed].value -= 10;
enemyNode.enemyUIBar.RefreshEnemyBuffIcon();
}
}
#endregion
public void MapGridsSettle()
{
PlayerMudGridSettle(1);
if (EnemyManager.Instance.enemySpeedSortingList.Count > 0)
{
for (int i = 0; i < EnemyManager.Instance.enemySpeedSortingList.Count; i++)
{
if (EnemyManager.Instance.enemySpeedSortingList[i] != null)
{
EnemyRedGridSettle(EnemyManager.Instance.enemySpeedSortingList[i], 3);
}
}
}
}
}

11
ColorlessWorld-2024-4-2/Assets/Scripts/manager/MapUnitySettleManager.cs.meta

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

2
ColorlessWorld-2024-4-2/Assets/Scripts/manager/ScenceLoadManager.cs.meta

@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: c4e609945f10ddd4289c176395cebad5
guid: a89c4e241092d8d4e9db66087ec8d193
MonoImporter:
externalObjects: {}
serializedVersion: 2

8
ColorlessWorld-2024-4-2/Assets/Scripts/manager/ScenceManager.cs

@ -0,0 +1,8 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class ScenceManager : Singleton <ScenceManager>
{
}

11
ColorlessWorld-2024-4-2/Assets/Scripts/manager/ScenceManager.cs.meta

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

220
ColorlessWorld-2024-4-2/Assets/Scripts/manager/Usermanager.cs

@ -16,6 +16,8 @@ public class Usermanager : Singleton<Usermanager>
[Header ("Buff状态")]
public static Dictionary<string, Buff > playerAbnormalCondition = new Dictionary<string, Buff >();//异常状态
public List<string> buffSettleList = new List<string>();//回合结束时结算
[Header("Buff状态UI组件")]
public List<GameObject> buffIconList = new List<GameObject>();
public GameObject buffPanle;
@ -32,6 +34,10 @@ public class Usermanager : Singleton<Usermanager>
public float sufferDamageMultiply = 1;
//移动乘率
public float stepRangeMultiply = 1;
//昏睡昏迷等不能行动
public bool coma;
public bool sleep;
public bool canAction;
public Usermanager(int health)
{
@ -52,62 +58,116 @@ public class Usermanager : Singleton<Usermanager>
{
Buff buff = new Buff_Posion ();
SufferPlayerAbnormalCondition(AbnormalCondition.posion, value,buff);
RefreshEnemyBuffIcon();
RefreshPlayerBuffIcon();
}
public void AddPlayerAbnormalCondition_Weak(int value)
{
Buff buff = new Buff_Weak();
SufferPlayerAbnormalCondition(AbnormalCondition.weak, value, buff);
RefreshEnemyBuffIcon();
RefreshPlayerBuffIcon();
}
public void AddPlayerAbnormalCondition_angerUpperDamage(int value)
{
Buff buff = new Buff_UpperAnger();
SufferPlayerAbnormalCondition(AbnormalCondition.angerUpperDamage, value, buff);
RefreshEnemyBuffIcon();
SufferPlayerAbnormalCondition(UpperCondition.angerUpperDamage, value, buff);
RefreshPlayerBuffIcon();
}
public void AddPlayerAbnormalCondition_angerDownDamage(int value)
{
Buff buff = new Buff_DownAnger();
SufferPlayerAbnormalCondition(AbnormalCondition.angerDownDamage, value, buff);
RefreshEnemyBuffIcon();
RefreshPlayerBuffIcon();
}
public void AddPlayerAbnormalCondition_shieldUpperValue(int value)
{
Buff buff = new Buff_UpperShield();
SufferPlayerAbnormalCondition(AbnormalCondition.shieldUpperValue, value, buff);
RefreshEnemyBuffIcon();
SufferPlayerAbnormalCondition(UpperCondition.shieldUpperValue, value, buff);
RefreshPlayerBuffIcon();
}
public void AddPlayerAbnormalCondition_shieldDownValue(int value)
{
Buff buff = new Buff_DownShield();
SufferPlayerAbnormalCondition(AbnormalCondition.shieldDownValue, value, buff);
RefreshEnemyBuffIcon();
RefreshPlayerBuffIcon();
}
public void AddPlayerAbnormalCondition_firm(int value)
{
Buff buff = new Buff_Firm();
SufferPlayerAbnormalCondition(AbnormalCondition.firm, value, buff);
RefreshEnemyBuffIcon();
SufferPlayerAbnormalCondition(UpperCondition.firm, value, buff);
RefreshPlayerBuffIcon();
}
public void AddPlayerAbnormalCondition_addDrawCard(int value)
{
Buff buff = new Buff_DrawCardNumber();
SufferPlayerAbnormalCondition(AbnormalCondition.addDrawCard, value, buff);
RefreshEnemyBuffIcon();
SufferPlayerAbnormalCondition(UpperCondition.addDrawCard, value, buff);
RefreshPlayerBuffIcon();
}
public void AddPlayerAbnormalCondition_minusDrawCard(int value)
{
Buff buff = new Buff_MinusDrawCard();
SufferPlayerAbnormalCondition(AbnormalCondition.minusDrawCard , value, buff);
RefreshEnemyBuffIcon();
RefreshPlayerBuffIcon();
}
public void AddPlayerAbnormalCondition_banDrawCard(int value)
{
Buff buff = new Buff_BanDrawCard();
SufferPlayerAbnormalCondition(AbnormalCondition.banDrawCard, value, buff);
RefreshEnemyBuffIcon();
RefreshPlayerBuffIcon();
}
public void AddPlayerAbnormalCondition_downSpeed(int value)
{
Buff buff = new Buff_DownStepRange();
SufferPlayerAbnormalCondition(AbnormalCondition.downSpeed, value, buff);
RefreshPlayerBuffIcon();
}
public void AddPlayerAbnormalCondition_upperSpeed(int value)
{
Buff buff = new Buff_UpperStepRange();
SufferPlayerAbnormalCondition(UpperCondition.upperSpeed, value, buff);
RefreshPlayerBuffIcon();
}
public void AddPlayerAbnormalCondition_coma(int value)
{
Buff buff = new Buff_coma();
SufferPlayerAbnormalCondition(AbnormalCondition.coma, value, buff);
RefreshPlayerBuffIcon();
}
public void AddPlayerAbnormalCondition_sleep(int value)
{
Buff buff = new Buff_sleep();
SufferPlayerAbnormalCondition(AbnormalCondition.sleep, value, buff);
RefreshPlayerBuffIcon();
}
public void AddPlayerAbnormalCondition_levelSleep(int value)
{
Buff buff = new Buff_levelSeep();
SufferPlayerAbnormalCondition(AbnormalCondition.levelSleep, value, buff);
if(playerAbnormalCondition [AbnormalCondition .levelSleep ].value >=10)
{
AddPlayerAbnormalCondition_coma(1);
playerAbnormalCondition[AbnormalCondition.levelSleep].value -= 10;
}
RefreshPlayerBuffIcon();
}
public void AddPlayerAbnormalCondition_vulnerable(int value)
{
Buff buff = new Buff_Vulnerable();
SufferPlayerAbnormalCondition(AbnormalCondition.vulnerable, value, buff);
RefreshPlayerBuffIcon();
}
public void AddPlayerAbnormalCondition_BanStep(int value)
{
Buff buff = new Buff_BanStepRange();
SufferPlayerAbnormalCondition(AbnormalCondition.BanStep, value, buff);
RefreshPlayerBuffIcon();
}
public void AddPlayerAbnormalCondition_parasitism(int value)
{
Buff buff = new Buff_parasitism();
SufferPlayerAbnormalCondition(AbnormalCondition.parasitism, value, buff);
RefreshPlayerBuffIcon();
}
#endregion
@ -127,7 +187,27 @@ public class Usermanager : Singleton<Usermanager>
}
}
public void SufferPlayerAbnormalCondition(string condition, int value)
{
if (playerAbnormalCondition.ContainsKey(condition))
{
int beforeval = playerAbnormalCondition[condition].value;
int afterval = beforeval + value;
playerAbnormalCondition[condition].value = afterval;
}
else
{
AddNewAbnormalCondition(condition, value);
}
}
public void AddNewAbnormalCondition(string condition, int value)
{
if (BuffDataManager.Instance.abnormalCondition.ContainsKey(condition))
{
playerAbnormalCondition.Add(condition, BuffDataManager.Instance.abnormalCondition[condition].NewBuff(value));
}
}
//回合Buff结算
public void PlayerTurnSettle()
{
@ -135,11 +215,25 @@ public class Usermanager : Singleton<Usermanager>
{
playerAbnormalCondition[key].Settle();
AbnormalConditionEndCheck();
RefreshEnemyBuffIcon();
RefreshPlayerBuffIcon();
}
}
//回合结束时结算buff
public void BuffSettleInEndTurn()
{
foreach (var key in buffSettleList)
{
Buff buff = playerAbnormalCondition[key];
buff.value--;
if (buff.value <= 0)
{
playerAbnormalCondition.Remove(key);
}
}
buffSettleList.Clear();
RefreshPlayerBuffIcon();
}
//检查移除已归零buff
public void AbnormalConditionEndCheck()
{
@ -153,7 +247,7 @@ public class Usermanager : Singleton<Usermanager>
}
//异常Buff显示
public void RefreshEnemyBuffIcon()
public void RefreshPlayerBuffIcon()
{
//先清空
foreach (var icon in buffIconList)
@ -174,8 +268,11 @@ public class Usermanager : Singleton<Usermanager>
}
}
public void SufferDamage(int damage)
{
GameManager.Instance.playerState.currentHP -= SufferDamageCalculation(damage);
}
#region Buff结算函数
//计算函数
@ -184,9 +281,9 @@ public class Usermanager : Singleton<Usermanager>
{
int angerUpperDamage=0, angerDownDamage=0;
if (playerAbnormalCondition .ContainsKey (AbnormalCondition .angerUpperDamage ))
if (playerAbnormalCondition .ContainsKey (UpperCondition .angerUpperDamage ))
{
angerUpperDamage = playerAbnormalCondition[AbnormalCondition.angerUpperDamage].value;
angerUpperDamage = playerAbnormalCondition[UpperCondition.angerUpperDamage].value;
}
if(playerAbnormalCondition.ContainsKey(AbnormalCondition.angerDownDamage ))
{
@ -200,6 +297,8 @@ public class Usermanager : Singleton<Usermanager>
damagemultiply = 1f;
}
damage = (int)((damage + angerUpperDamage - angerDownDamage) * damagemultiply);
return damage;
}
@ -208,9 +307,9 @@ public class Usermanager : Singleton<Usermanager>
{
int shieldValue = 0;
if (playerAbnormalCondition.ContainsKey(AbnormalCondition.shieldUpperValue))
if (playerAbnormalCondition.ContainsKey(UpperCondition.shieldUpperValue))
{
shieldValue += playerAbnormalCondition[AbnormalCondition.shieldUpperValue].value;
shieldValue += playerAbnormalCondition[UpperCondition.shieldUpperValue].value;
}
if (playerAbnormalCondition.ContainsKey(AbnormalCondition.shieldDownValue))
{
@ -227,9 +326,9 @@ public class Usermanager : Singleton<Usermanager>
{
int addDrawNumber = 0;
if (playerAbnormalCondition.ContainsKey(AbnormalCondition.addDrawCard))
if (playerAbnormalCondition.ContainsKey(UpperCondition.addDrawCard))
{
addDrawNumber += playerAbnormalCondition[AbnormalCondition.addDrawCard].value;
addDrawNumber += playerAbnormalCondition[UpperCondition.addDrawCard].value;
}
if (playerAbnormalCondition.ContainsKey(AbnormalCondition.minusDrawCard))
{
@ -252,7 +351,7 @@ public class Usermanager : Singleton<Usermanager>
{
int addStepRange =0;
if (playerAbnormalCondition.ContainsKey(AbnormalCondition.upperSpeed))
if (playerAbnormalCondition.ContainsKey(UpperCondition.upperSpeed))
{
addStepRange += 1;
}
@ -271,7 +370,42 @@ public class Usermanager : Singleton<Usermanager>
stepRange = (int)((stepRange + addStepRange) *stepRangeMultiply);
return stepRange;
}
//受伤计算函数
public int SufferDamageCalculation(int damage)
{
if (playerAbnormalCondition.ContainsKey(AbnormalCondition.vulnerable))
{
sufferDamageMultiply = 1.5f;
}
else
{
sufferDamageMultiply = 1f;
}
damage =(int)(sufferDamageMultiply * damage);
if (damage > 0 && playerAbnormalCondition.ContainsKey(AbnormalCondition.sleep))
{
sleep = false;
playerAbnormalCondition.Remove(AbnormalCondition.sleep);
BanActionJudge();
RefreshPlayerBuffIcon();
}
return damage;
}
//寄生实现函数
public void ParasitismnRealize(MapUnity start,MapUnity end)
{
if (playerAbnormalCondition.ContainsKey(AbnormalCondition.parasitism)&& playerAbnormalCondition[AbnormalCondition.parasitism].value>0)
{
List<MapUnity> path = AStarManager.Instance.FindPathWithEndNode(start, end);
foreach (var node in path )
{
node.whoColour = MapUnity.WhoColour.enemyColour;
}
}
}
//判断函数
//易伤判断
@ -290,7 +424,7 @@ public class Usermanager : Singleton<Usermanager>
//强固判断函数
public bool FirmJudge()
{
if (playerAbnormalCondition.ContainsKey(AbnormalCondition.firm))
if (playerAbnormalCondition.ContainsKey(UpperCondition.firm))
{
firm = true;
}
@ -300,5 +434,37 @@ public class Usermanager : Singleton<Usermanager>
}
return firm;
}
//昏睡昏迷判断函数(不能行动)
public void BanActionJudge()
{
if (playerAbnormalCondition.ContainsKey(AbnormalCondition.coma))
{
coma = true;
}
else
{
coma = false;
}
if (playerAbnormalCondition.ContainsKey(AbnormalCondition.sleep))
{
sleep = true;
}
else
{
sleep = false;
}
if(coma==true ||sleep==true )
{
TurnMaster.Instance.playerAction = TurnMaster.PlayerAction.banAction;
}
else
{
TurnMaster.Instance.playerAction = TurnMaster.PlayerAction.none;
}
}
#endregion
}

BIN
ColorlessWorld-2024-4-2/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache

Binary file not shown.
Loading…
Cancel
Save