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 upShieldValue: 0
maxHP: 25 maxHP: 25
currentHP: 25 currentHP: 25
sufferDamageMultiply: 1
colourType: 0 colourType: 0
maxSkillCoolDown: 3 maxSkillCoolDown: 3
currentSkillCoolDown: 3 currentSkillCoolDown: 3

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

@ -23,6 +23,7 @@ MonoBehaviour:
upShieldValue: 7 upShieldValue: 7
maxHP: 27 maxHP: 27
currentHP: 27 currentHP: 27
sufferDamageMultiply: 1
colourType: 0 colourType: 0
maxSkillCoolDown: 3 maxSkillCoolDown: 3
currentSkillCoolDown: 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;
using UnityEngine.UI; using UnityEngine.UI;
[System .Serializable ]
public class Buff public class Buff
{ {
public int value; public int value;
@ -10,6 +11,10 @@ public class Buff
{ {
value --; value --;
} }
public virtual void SettleEnemy(EnemyNode enemyNode)
{
value--;
}
public virtual int CheckValue() public virtual int CheckValue()
{ {
return value; 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() public override void Settle()
{ {
SettleBanDrawCard();
base.Settle(); base.Settle();
} }
public void SettleBanDrawCard()
{
}
public override void UIShow(GameObject buff, string key) public override void UIShow(GameObject buff, string key)
{ {
buff.transform.GetChild(0).GetComponent<Text>().text = "½û"; buff.transform.GetChild(0).GetComponent<Text>().text = "½û";
buff.transform.GetChild(1).GetComponent<Text>().text = Usermanager.playerAbnormalCondition[key].value.ToString(); 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(0).GetComponent<Text>().text = "²ø";
buff.transform.GetChild(1).GetComponent<Text>().text = Usermanager.playerAbnormalCondition[key].value.ToString(); 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() public override void Settle()
{ {
base.Settle();
} }
public override void UIShow(GameObject buff, string key) 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(0).GetComponent<Text>().text = "ËË";
buff.transform.GetChild(1).GetComponent<Text>().text = Usermanager.playerAbnormalCondition[key].value.ToString(); 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(0).GetComponent<Text>().text = "Èí";
buff.transform.GetChild(1).GetComponent<Text>().text = Usermanager.playerAbnormalCondition[key].value.ToString(); 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(0).GetComponent<Text>().text = "Âý";
buff.transform.GetChild(1).GetComponent<Text>().text = Usermanager.playerAbnormalCondition[key].value.ToString(); 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(0).GetComponent<Text>().text = "¹Ì";
buff.transform.GetChild(1).GetComponent<Text>().text = Usermanager.playerAbnormalCondition[key].value.ToString(); 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(); base.Settle();
} }
public override void SettleEnemy( EnemyNode enemyNode )
{
SettleEnemyPosion(enemyNode);
base.Settle();
}
public void SettlePosion() public void SettlePosion()
{ {
if (value > 0) 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) public override void UIShow(GameObject buff, string key)
{ {
buff.transform.GetChild(0).GetComponent<Text>().text = "¶¾"; buff.transform.GetChild(0).GetComponent<Text>().text = "¶¾";
buff.transform.GetChild(1).GetComponent<Text>().text = Usermanager.playerAbnormalCondition[key].value.ToString(); 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() public override void Settle()
{ {
base.Settle();
} }
public override void UIShow(GameObject buff, string key) 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(0).GetComponent<Text>().text = "怒";
buff.transform.GetChild(1).GetComponent<Text>().text = Usermanager.playerAbnormalCondition[key].value.ToString(); 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(0).GetComponent<Text>().text = "¼á";
buff.transform.GetChild(1).GetComponent<Text>().text = Usermanager.playerAbnormalCondition[key].value.ToString(); 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(0).GetComponent<Text>().text = "ËÙ";
buff.transform.GetChild(1).GetComponent<Text>().text = Usermanager.playerAbnormalCondition[key].value.ToString(); 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() public override void Settle()
{ {
base.Settle(); base.Settle();
SettleVulnerable();
} }
public void SettleVulnerable()
{
if (value > 0)
Usermanager.Instance.SufferDamageJudge();
}
public override void UIShow(GameObject buff, string key) public override void UIShow(GameObject buff, string key)
{ {
buff.transform.GetChild(0).GetComponent<Text>().text = "Ò×"; buff.transform.GetChild(0).GetComponent<Text>().text = "Ò×";
buff.transform.GetChild(1).GetComponent<Text>().text = Usermanager.playerAbnormalCondition[key].value.ToString(); 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(0).GetComponent<Text>().text = "Ðé";
buff.transform.GetChild(1).GetComponent<Text>().text = Usermanager.playerAbnormalCondition[key].value.ToString(); 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() private void resetComponentPosition()
{ {
//±éÀú·¶Î§Ô¤ÀÀ³ØÏû³ýÓ°ÏìÉ« //±éÀú·¶Î§Ô¤ÀÀ³ØÏû³ýÓ°ÏìÉ«
@ -142,8 +161,9 @@ public class CardDrag : MonoBehaviour, IBeginDragHandler, IDragHandler, IEndDrag
{ {
// if (GameObject.Find("CardPanel") != null) // if (GameObject.Find("CardPanel") != null)
// graphicRaycaster = GameObject.Find("CardPanel").GetComponent<GraphicRaycaster>(); // graphicRaycaster = GameObject.Find("CardPanel").GetComponent<GraphicRaycaster>();
banActionCardCheck();
costCheck(); costCheck();
disCardCheck(); disCardCheck();
if (!cardEntity.costEnough) if (!cardEntity.costEnough)
{ {
return; return;

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

@ -33,7 +33,8 @@ public class TurnMaster : Singleton<TurnMaster>
{ {
none, none,
useCard, useCard,
move move,
banAction
} }
public void Start() public void Start()
@ -49,13 +50,15 @@ public class TurnMaster : Singleton<TurnMaster>
//洗牌--抽卡 //洗牌--抽卡
StartCoroutine(ShuffleWithLosingCards()); StartCoroutine(ShuffleWithLosingCards());
//判断眩晕等能不能行动
Usermanager.Instance.BanActionJudge();
//结算玩家buff //结算玩家buff
Usermanager.Instance.PlayerTurnSettle(); Usermanager.Instance.PlayerTurnSettle();
//结算地块Buff
MapUnitySettleManager.Instance.MapGridsSettle();
//恢复体力 //恢复体力
GameManager.Instance.playerState.currentStepRange = GameManager.Instance.playerState.maxStepRange; GameManager.Instance.playerState.currentStepRange = Usermanager.Instance.StepRangeCalculation(GameManager.Instance.playerState.maxStepRange);
restoreResource(0); restoreResource(0);
//显示敌人攻击虚线 //显示敌人攻击虚线
EnemyManager.Instance.EnemyLine_Observer(); EnemyManager.Instance.EnemyLine_Observer();
//回复敌人系数 //回复敌人系数
@ -98,18 +101,21 @@ public class TurnMaster : Singleton<TurnMaster>
yield return new WaitForSeconds(3.0f); // 等待3秒 yield return new WaitForSeconds(3.0f); // 等待3秒
turn = Turn.playerTurn; turn = Turn.playerTurn;
} }
public void EndPlayerTurn() public void EndPlayerTurn()
{ {
if(turn ==Turn.playerTurn) if(turn ==Turn.playerTurn)
turn = Turn.enemyTurnBegin; turn = Turn.enemyTurnBegin;
//turn = Turn.playerTurnBegin;
//回合结束结算buff
Usermanager.Instance.BuffSettleInEndTurn();
} }
public void EndEnemyTurn() public void EndEnemyTurn()
{ {
EnemyManager.Instance.enemyTurnState = EnemyManager.EnemyTurnState.end; EnemyManager.Instance.enemyTurnState = EnemyManager.EnemyTurnState.end;
turn = Turn.playerTurnBegin; turn = Turn.playerTurnBegin;
} }
//老吊写的函数 //老吊写的函数
public void restoreResource(int settleTurn) 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] [SerializeField]
public List<IEnemyObserver> enemyObservers = new List<IEnemyObserver>(); 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("怪物顺序控件")] [Header("怪物顺序控件")]
public List<EnemyNode> enemySpeedSortingList;//安照速度进行排序 public List<EnemyNode> enemySpeedSortingList;//安照速度进行排序
public int enemyCount;//记录几只怪进行了行动 public int enemyCount;//记录几只怪进行了行动
@ -25,13 +39,7 @@ public class EnemyManager : Singleton<EnemyManager>
runing, runing,
end end
} }
// [Header ("¹ÖÎï¹¥»÷·¶Î§Ô¤ÀÀÓ°Ïì³Ø")]
// public List<MapUnity> influencePreviewPool = new List<MapUnity>();
private void Start()
{
Invoke("GetEnemyPosition_Observer", 6f);
}
public void SpeedSortList() public void SpeedSortList()
{ {
@ -85,7 +93,7 @@ public class EnemyManager : Singleton<EnemyManager>
EnemySortIconSync(); EnemySortIconSync();
observer.EnemyTurn(); observer.EnemyTurn();
observer.GetEnemyNode().bleedSettle();
enemyTurnState = EnemyTurnState.stop; enemyTurnState = EnemyTurnState.stop;
enemyCount += 1; 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 ) if(enemyType ==EnemyType.enemy )
enemyUIBar = GetComponent<EnemyUIBar>(); enemyUIBar = GetComponent<EnemyUIBar>();
Invoke("StartPosition", 6f);
} }
public void StartPosition() 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; GameManager.Instance.X[positionX].Y[positionY].enemyNode = this;
if(enemyType ==EnemyType.block) if(enemyType ==EnemyType.block)
{ {
@ -415,7 +413,7 @@ public class EnemyNode : MonoBehaviour,IEnemyObserver
switch (enemyType) switch (enemyType)
{ {
case EnemyType.enemy: case EnemyType.enemy:
GetComponent<EnemyUIBar>().statePanel.SetActive(false); EnemyManager.Instance.statePanel.SetActive(false);
RewardManager.Instance.JudgeEnemyOver(); RewardManager.Instance.JudgeEnemyOver();
Destroy(this.gameObject); Destroy(this.gameObject);
break; break;
@ -426,19 +424,21 @@ public class EnemyNode : MonoBehaviour,IEnemyObserver
} }
//ÀϵõдµÄÓ¦Óú¯Êý //Buff结算应用函数
//施加buff效果
public void sufferAbnormalCondition(string condition, int value) 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; int afterval = beforeval + value;
EnemyState.abnormalCondition[condition] = afterval; EnemyState.abnormalCondition[condition].value = afterval;
} }
else else
{ {
EnemyState.abnormalCondition[condition] = value; AddEnemyAbnormalCondition(condition,value);
} }
if (condition.Equals(CardFunction.coma)) if (condition.Equals(CardFunction.coma))
{ {
EnemyState.damageMultiplier = 0; EnemyState.damageMultiplier = 0;
@ -449,20 +449,22 @@ public class EnemyNode : MonoBehaviour,IEnemyObserver
EnemyState.damageMultiplier = 0; EnemyState.damageMultiplier = 0;
EnemyState.stepRangeMultiplier = 0; EnemyState.stepRangeMultiplier = 0;
} }
enemyUIBar.RefreshEnemyBuffIcon();
} }
public void sufferDamage(int damageVal) public void sufferDamage(int damageVal)
{ {
EnemyState.currentHP -= damageVal; EnemyState.currentHP -= SufferDamageCalculation (damageVal);
Debug.Log("µÐÈËѪÁ¿" + EnemyState.currentHP); Debug.Log("µÐÈËѪÁ¿" + EnemyState.currentHP);
if (EnemyState.currentHP <= 0) if (EnemyState.currentHP <= 0)
{ {
OnDeath(); OnDeath();
}else }
else
{ {
foreach (var key in EnemyState.abnormalCondition.Keys.ToList()) foreach (var key in EnemyState.abnormalCondition.Keys.ToList())
{ {
Debug.Log(key);
switch (key) switch (key)
{ {
case AbnormalCondition.sleep: case AbnormalCondition.sleep:
@ -498,6 +500,11 @@ public class EnemyNode : MonoBehaviour,IEnemyObserver
break; 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()) foreach (var key in EnemyState.abnormalCondition.Keys.ToList())
{ {
Debug.Log(key); EnemyState.abnormalCondition[key].SettleEnemy(this);
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;
}
abnormalConditionEndCheck(); abnormalConditionEndCheck();
enemyUIBar. RefreshEnemyBuffIcon();
} }
}
private void abnormalConditionEndCheck()
{
foreach (var key in EnemyState.abnormalCondition.Keys.ToList()) foreach (var key in EnemyState.abnormalCondition.Keys.ToList())
{ {
Debug.Log(key); if (EnemyState.abnormalCondition[key].value <= 0)
switch (key)
{ {
case AbnormalCondition.sleep: EnemyState.abnormalCondition.Remove(key);
sleepSettle(EnemyState.abnormalCondition[key]);
break;
} }
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); return GameManager.Instance.X[positionX].Y[positionY];
EnemyState.abnormalCondition[AbnormalCondition.posion]--;
} }
//施加新Buff
private void weakSettle(int weakStack) 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; if (EnemyState .abnormalCondition .ContainsKey(AbnormalCondition.vulnerable))
EnemyState.abnormalCondition[AbnormalCondition.weak]--; {
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; int angerUpperDamage = 0, angerDownDamage = 0;
EnemyState.stepRangeMultiplier = 0;
EnemyState.abnormalCondition[AbnormalCondition.coma]--; 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; int shieldValue = 0;
EnemyState.abnormalCondition[AbnormalCondition.disarm]--;
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; int index_X = UnityEngine.Random.Range(0, GameManager.Instance.X.Count);
EnemyState.abnormalCondition[AbnormalCondition.sleep]--; 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); foreach (var node in GameManager.Instance.X[x].Y)
EnemyState.abnormalCondition[AbnormalCondition.bleed] = stack - 1; {
} 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) node.whoColour = MapUnity.WhoColour.enemyColour;
{
EnemyState.abnormalCondition.Remove(key);
}
} }
} }
#endregion
} }

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

@ -188,6 +188,9 @@ public class SkeletonArcher : MonoBehaviour
yield return 0; 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.canMove = false;
}*/ }*/
enemyNode.enemyUIBar.RefreshEnemyBuffIcon();
//重置时间标量 //重置时间标量
lastTime = time; lastTime = time;
} }
@ -162,7 +161,10 @@ public class SkullGuardian : MonoBehaviour
yield return 0; yield return 0;
} }
//Åжϸ¯Ê´
enemyNode.CorrodeRealize(endMapUnity);
yield break;
} }
public void NextTurnIntention() public void NextTurnIntention()

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

@ -40,41 +40,46 @@ public class GameManager : Singleton<GameManager>
public Image enemyColourCountBar; public Image enemyColourCountBar;
private void Start() 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++) for (int i = 0; i < MapManager.Instance.line; i++)
{ {
int currentColum = 0; int currentColum = 0;
if(i%2 ==0) if (i % 2 == 0)
{ {
currentColum = MapManager.Instance.column; currentColum = MapManager.Instance.column;
} }
else 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); 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() private void Update()
{ {
//ͬ²½UIÊý¾Ý //ͬ²½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++) for (int i = 0; i < X.Count; i++)
{ {
@ -170,23 +183,10 @@ public class GameManager : Singleton<GameManager>
if( j < X [i].Y .Count) if( j < X [i].Y .Count)
X[i].Y[j].whoColour = MapUnity.WhoColour.enemyColour; 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 System.Collections.Generic;
using UnityEngine; using UnityEngine;
public class MapManager : Singleton <MapManager> public class MapManager : Singleton<MapManager>
{ {
[Header("µØÍ¼")]
public GameObject mapUnity; public GameObject mapUnity;
public int line; public int line;
public int column; public int column;
public GameObject generatePoint; public GameObject generatePoint;
public Vector3 lineOffSet; public Vector3 lineOffSet;
@ -15,23 +16,32 @@ public class MapManager : Singleton <MapManager>
public List<List<MapUnity>> mapUnities;//¶þά´¢´æ±í public List<List<MapUnity>> mapUnities;//¶þά´¢´æ±í
[Header("µÐÈË")]
public List<EnemyGenerateData> enemyGenerateDataList = new List<EnemyGenerateData>();
void Start() 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 += columnOffSet;
} }
generatePoint.transform.position = new Vector3(0, 0, generatePoint.transform.position.z); generatePoint.transform.position = new Vector3(0, 0, generatePoint.transform.position.z);
int currentColumn = column; int currentColumn = column;
if(i % 2 == 0) if (i % 2 == 0)
{ {
currentColumn = column; currentColumn = column;
} }
@ -40,23 +50,70 @@ public class MapManager : Singleton <MapManager>
currentColumn = column - 1; 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>().locationX = i;
a.GetComponent<MapUnity>().locationY = j; a.GetComponent<MapUnity>().locationY = j;
a.GetComponent<MapUnity>().RegisterUnit();
generatePoint.transform.position += lineOffSet; 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("寻路控件")] [Header("寻路控件")]
public AStarNode aStarNode; public AStarNode aStarNode;
void Start() public void StartRegiste()
{ {
if(compalte ==false ) if(compalte ==false )
{ {
Invoke("RegisterUnit", 2f);
//计算周围节点 //计算周围节点
Invoke("ConnectUnit", 4f); ConnectUnit();
Complete();
Invoke("Complete", 6f); }
}
} }

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

@ -14,7 +14,7 @@ public class Player : MonoBehaviour
private void Start() private void Start()
{ {
Invoke("StartPlayer", 4f); // Invoke("StartPlayer", 4f);
} }
public void StartPlayer() public void StartPlayer()
@ -26,7 +26,7 @@ public class Player : MonoBehaviour
} }
public void Update() 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) if (GameManager.Instance.playerState.currentStepRange > 0)
{ {
@ -41,17 +41,22 @@ public class Player : MonoBehaviour
mapUnity.influenced = true; mapUnity.influenced = true;
mapUnity.choossedMark.GetComponent<Renderer>().material = mapUnity.red; mapUnity.choossedMark.GetComponent<Renderer>().material = mapUnity.red;
} }
//StepPreviewInfluencedNode(GameManager.Instance.playerState.currentStepRange); //StepPreviewInfluencedNode(GameManager.Instance.playerState.currentStepRange);
TurnMaster.Instance.playerAction = TurnMaster.PlayerAction.move;
} }
else else
{ {
// Debug.Log(raycastHit.collider.gameObject.name); // Debug.Log(raycastHit.collider.gameObject.name);
ChooseNode(); ChooseNode();
} }
} }
else else
{ {
Debug.Log("没有体力啦"); Debug.Log("没有体力啦");
} }
} }
@ -60,6 +65,8 @@ public class Player : MonoBehaviour
// StepPreviewInfluencedNode(step); // StepPreviewInfluencedNode(step);
CloseStepPreviewInfluencedNode();//取消格子预览 CloseStepPreviewInfluencedNode();//取消格子预览
if(TurnMaster.Instance.playerAction != TurnMaster.PlayerAction.banAction)
TurnMaster.Instance.playerAction = TurnMaster.PlayerAction.none;
//todo取消卡牌释放 //todo取消卡牌释放
} }
} }
@ -113,7 +120,10 @@ public class Player : MonoBehaviour
GameManager.Instance.playerOn.playerOn = false; GameManager.Instance.playerOn.playerOn = false;
GameManager.Instance.playerOn.influenced = false; GameManager.Instance.playerOn.influenced = false;
} }
//ÅжϼÄÉúÊÇ·ñÉúЧ
Usermanager.Instance.ParasitismnRealize(GameManager.Instance.playerOn, mapNode);
mapNode.playerOn = true; mapNode.playerOn = true;
GameManager.Instance.playerOn = mapNode; GameManager.Instance.playerOn = mapNode;
@ -126,7 +136,8 @@ public class Player : MonoBehaviour
} }
influencePreviewPool.Clear(); influencePreviewPool.Clear();
TurnMaster.Instance.playerAction = TurnMaster.PlayerAction.none;
} }
else else
{ {
@ -143,6 +154,7 @@ public class Player : MonoBehaviour
mapUnity.influenced = false; mapUnity.influenced = false;
} }
influencePreviewPool.Clear(); influencePreviewPool.Clear();
} }
public void StepPreviewInfluencedNode(int step)//可移动格子预览 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 angerDownDamage = "12";
//솽미삿돤빱뜀藤樓- //솽미삿돤빱뜀藤樓-
public const string shieldUpperValue = "13"; //public const string shieldUpperValue = "13";
//솽미맏슉됴빱뜀- //솽미맏슉됴빱뜀-
public const string shieldDownValue = "14"; 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"; public const string minusDrawCard = "17";
//쐐탬- //쐐탬-
@ -39,9 +39,16 @@ public class AbnormalCondition : Singleton<AbnormalCondition>
//弄�- //弄�-
public const string vulnerable = "19"; public const string vulnerable = "19";
//속醵- //속醵-
public const string upperSpeed = "20"; //public const string upperSpeed = "20";
//숑醵- //숑醵-
public const string downSpeed = "21"; public const string downSpeed = "21";
//끌훈- //끌훈-
public const string BanStep = "22"; 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 currentHP;//当前血量
public float sufferDamageMultiply;//受伤系数
public int colourType;//涂色类型,0为不涂色 public int colourType;//涂色类型,0为不涂色
public int maxSkillCoolDown;//技能冷却 public int maxSkillCoolDown;//技能冷却
public int currentSkillCoolDown;//技能冷却 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;//攻击力系数 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 class EnemyPlanActionUI : MonoBehaviour
{ {
public EnemyNode enemyNode; public EnemyNode enemyNode;
public GameObject planPanle;
public Text stateText;
public Text attackDamageText; public Text attackDamageText;
//外部引用EnemyManager
GameObject planPanle;
Text stateText;
private void Start()
{
planPanle = EnemyManager.Instance.planPanle;
stateText = EnemyManager.Instance.stateText;
}
private void OnMouseEnter() private void OnMouseEnter()
{ {
if (TurnMaster.Instance.turn == TurnMaster.Turn.playerTurn &&GameManager .Instance .onDrag ==false ) 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 Text attackDamageText;
public GameObject moveIcon; 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图标显示")] [Header("Buff图标显示")]
public List<GameObject> buffIconList = new List<GameObject>(); public List<GameObject> buffIconList = new List<GameObject>();
@ -125,22 +117,22 @@ public class EnemyUIBar : MonoBehaviour
//鼠标悬停 //鼠标悬停
private void OnMouseOver() private void OnMouseOver()
{ {
statePanel.SetActive(true); EnemyManager.Instance. statePanel.SetActive(true);
statePanel.transform.position = Mouse.current.position.value; EnemyManager.Instance.statePanel.transform.position = Mouse.current.position.value;
EnemyState_SO enemyState = enemyNode.EnemyState; EnemyState_SO enemyState = enemyNode.EnemyState;
nameText.text = enemyState.enemyName; EnemyManager.Instance.nameText.text = enemyState.enemyName;
enemyIcon.sprite = enemyState.enemyIcon; EnemyManager.Instance.enemyIcon.sprite = enemyState.enemyIcon;
hPText.text = enemyState.currentHP.ToString() + "/" + enemyState.maxHP.ToString(); EnemyManager.Instance.hPText.text = enemyState.currentHP.ToString() + "/" + enemyState.maxHP.ToString();
attackText.text = (enemyState.damage * enemyState.damageMultiplier).ToString (); EnemyManager.Instance.attackText.text = (enemyState.damage * enemyState.damageMultiplier).ToString ();
stepRangeText.text = (enemyState.stepRange * enemyState.stepRangeMultiplier).ToString(); EnemyManager.Instance.stepRangeText.text = (enemyState.stepRange * enemyState.stepRangeMultiplier).ToString();
attackRangeText.text = enemyState.attackRange.ToString(); EnemyManager.Instance.attackRangeText.text = enemyState.attackRange.ToString();
speedText.text = enemyState.speed.ToString(); EnemyManager.Instance.speedText.text = enemyState.speed.ToString();
} }
private void OnMouseExit() 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()) foreach (var key in EnemyState.abnormalCondition.Keys.ToList())
{ {
switch (key) if (EnemyState.abnormalCondition[key].value > 0)
{ {
case AbnormalCondition.posion: var buff = Instantiate(buffIcon, buffPanle.transform);
if(EnemyState.abnormalCondition[key]!=0) EnemyState.abnormalCondition[key].EnemyUIShow(buff, key,enemyNode);
{ buffIconList.Add(buff);
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;
} }
} }
} }
} }

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 fileFormatVersion: 2
guid: c4e609945f10ddd4289c176395cebad5 guid: a89c4e241092d8d4e9db66087ec8d193
MonoImporter: MonoImporter:
externalObjects: {} externalObjects: {}
serializedVersion: 2 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状态")] [Header ("Buff状态")]
public static Dictionary<string, Buff > playerAbnormalCondition = new Dictionary<string, Buff >();//异常状态 public static Dictionary<string, Buff > playerAbnormalCondition = new Dictionary<string, Buff >();//异常状态
public List<string> buffSettleList = new List<string>();//回合结束时结算
[Header("Buff状态UI组件")] [Header("Buff状态UI组件")]
public List<GameObject> buffIconList = new List<GameObject>(); public List<GameObject> buffIconList = new List<GameObject>();
public GameObject buffPanle; public GameObject buffPanle;
@ -32,6 +34,10 @@ public class Usermanager : Singleton<Usermanager>
public float sufferDamageMultiply = 1; public float sufferDamageMultiply = 1;
//移动乘率 //移动乘率
public float stepRangeMultiply = 1; public float stepRangeMultiply = 1;
//昏睡昏迷等不能行动
public bool coma;
public bool sleep;
public bool canAction;
public Usermanager(int health) public Usermanager(int health)
{ {
@ -52,62 +58,116 @@ public class Usermanager : Singleton<Usermanager>
{ {
Buff buff = new Buff_Posion (); Buff buff = new Buff_Posion ();
SufferPlayerAbnormalCondition(AbnormalCondition.posion, value,buff); SufferPlayerAbnormalCondition(AbnormalCondition.posion, value,buff);
RefreshEnemyBuffIcon(); RefreshPlayerBuffIcon();
} }
public void AddPlayerAbnormalCondition_Weak(int value) public void AddPlayerAbnormalCondition_Weak(int value)
{ {
Buff buff = new Buff_Weak(); Buff buff = new Buff_Weak();
SufferPlayerAbnormalCondition(AbnormalCondition.weak, value, buff); SufferPlayerAbnormalCondition(AbnormalCondition.weak, value, buff);
RefreshEnemyBuffIcon(); RefreshPlayerBuffIcon();
} }
public void AddPlayerAbnormalCondition_angerUpperDamage(int value) public void AddPlayerAbnormalCondition_angerUpperDamage(int value)
{ {
Buff buff = new Buff_UpperAnger(); Buff buff = new Buff_UpperAnger();
SufferPlayerAbnormalCondition(AbnormalCondition.angerUpperDamage, value, buff); SufferPlayerAbnormalCondition(UpperCondition.angerUpperDamage, value, buff);
RefreshEnemyBuffIcon(); RefreshPlayerBuffIcon();
} }
public void AddPlayerAbnormalCondition_angerDownDamage(int value) public void AddPlayerAbnormalCondition_angerDownDamage(int value)
{ {
Buff buff = new Buff_DownAnger(); Buff buff = new Buff_DownAnger();
SufferPlayerAbnormalCondition(AbnormalCondition.angerDownDamage, value, buff); SufferPlayerAbnormalCondition(AbnormalCondition.angerDownDamage, value, buff);
RefreshEnemyBuffIcon(); RefreshPlayerBuffIcon();
} }
public void AddPlayerAbnormalCondition_shieldUpperValue(int value) public void AddPlayerAbnormalCondition_shieldUpperValue(int value)
{ {
Buff buff = new Buff_UpperShield(); Buff buff = new Buff_UpperShield();
SufferPlayerAbnormalCondition(AbnormalCondition.shieldUpperValue, value, buff); SufferPlayerAbnormalCondition(UpperCondition.shieldUpperValue, value, buff);
RefreshEnemyBuffIcon(); RefreshPlayerBuffIcon();
} }
public void AddPlayerAbnormalCondition_shieldDownValue(int value) public void AddPlayerAbnormalCondition_shieldDownValue(int value)
{ {
Buff buff = new Buff_DownShield(); Buff buff = new Buff_DownShield();
SufferPlayerAbnormalCondition(AbnormalCondition.shieldDownValue, value, buff); SufferPlayerAbnormalCondition(AbnormalCondition.shieldDownValue, value, buff);
RefreshEnemyBuffIcon(); RefreshPlayerBuffIcon();
} }
public void AddPlayerAbnormalCondition_firm(int value) public void AddPlayerAbnormalCondition_firm(int value)
{ {
Buff buff = new Buff_Firm(); Buff buff = new Buff_Firm();
SufferPlayerAbnormalCondition(AbnormalCondition.firm, value, buff); SufferPlayerAbnormalCondition(UpperCondition.firm, value, buff);
RefreshEnemyBuffIcon(); RefreshPlayerBuffIcon();
} }
public void AddPlayerAbnormalCondition_addDrawCard(int value) public void AddPlayerAbnormalCondition_addDrawCard(int value)
{ {
Buff buff = new Buff_DrawCardNumber(); Buff buff = new Buff_DrawCardNumber();
SufferPlayerAbnormalCondition(AbnormalCondition.addDrawCard, value, buff); SufferPlayerAbnormalCondition(UpperCondition.addDrawCard, value, buff);
RefreshEnemyBuffIcon(); RefreshPlayerBuffIcon();
} }
public void AddPlayerAbnormalCondition_minusDrawCard(int value) public void AddPlayerAbnormalCondition_minusDrawCard(int value)
{ {
Buff buff = new Buff_MinusDrawCard(); Buff buff = new Buff_MinusDrawCard();
SufferPlayerAbnormalCondition(AbnormalCondition.minusDrawCard , value, buff); SufferPlayerAbnormalCondition(AbnormalCondition.minusDrawCard , value, buff);
RefreshEnemyBuffIcon(); RefreshPlayerBuffIcon();
} }
public void AddPlayerAbnormalCondition_banDrawCard(int value) public void AddPlayerAbnormalCondition_banDrawCard(int value)
{ {
Buff buff = new Buff_BanDrawCard(); Buff buff = new Buff_BanDrawCard();
SufferPlayerAbnormalCondition(AbnormalCondition.banDrawCard, value, buff); 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 #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结算 //回合Buff结算
public void PlayerTurnSettle() public void PlayerTurnSettle()
{ {
@ -135,11 +215,25 @@ public class Usermanager : Singleton<Usermanager>
{ {
playerAbnormalCondition[key].Settle(); playerAbnormalCondition[key].Settle();
AbnormalConditionEndCheck(); 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 //检查移除已归零buff
public void AbnormalConditionEndCheck() public void AbnormalConditionEndCheck()
{ {
@ -153,7 +247,7 @@ public class Usermanager : Singleton<Usermanager>
} }
//异常Buff显示 //异常Buff显示
public void RefreshEnemyBuffIcon() public void RefreshPlayerBuffIcon()
{ {
//先清空 //先清空
foreach (var icon in buffIconList) 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结算函数 #region Buff结算函数
//计算函数 //计算函数
@ -184,9 +281,9 @@ public class Usermanager : Singleton<Usermanager>
{ {
int angerUpperDamage=0, angerDownDamage=0; 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 )) if(playerAbnormalCondition.ContainsKey(AbnormalCondition.angerDownDamage ))
{ {
@ -200,6 +297,8 @@ public class Usermanager : Singleton<Usermanager>
damagemultiply = 1f; damagemultiply = 1f;
} }
damage = (int)((damage + angerUpperDamage - angerDownDamage) * damagemultiply); damage = (int)((damage + angerUpperDamage - angerDownDamage) * damagemultiply);
return damage; return damage;
} }
@ -208,9 +307,9 @@ public class Usermanager : Singleton<Usermanager>
{ {
int shieldValue = 0; 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)) if (playerAbnormalCondition.ContainsKey(AbnormalCondition.shieldDownValue))
{ {
@ -227,9 +326,9 @@ public class Usermanager : Singleton<Usermanager>
{ {
int addDrawNumber = 0; 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)) if (playerAbnormalCondition.ContainsKey(AbnormalCondition.minusDrawCard))
{ {
@ -252,7 +351,7 @@ public class Usermanager : Singleton<Usermanager>
{ {
int addStepRange =0; int addStepRange =0;
if (playerAbnormalCondition.ContainsKey(AbnormalCondition.upperSpeed)) if (playerAbnormalCondition.ContainsKey(UpperCondition.upperSpeed))
{ {
addStepRange += 1; addStepRange += 1;
} }
@ -271,7 +370,42 @@ public class Usermanager : Singleton<Usermanager>
stepRange = (int)((stepRange + addStepRange) *stepRangeMultiply); stepRange = (int)((stepRange + addStepRange) *stepRangeMultiply);
return stepRange; 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() public bool FirmJudge()
{ {
if (playerAbnormalCondition.ContainsKey(AbnormalCondition.firm)) if (playerAbnormalCondition.ContainsKey(UpperCondition.firm))
{ {
firm = true; firm = true;
} }
@ -300,5 +434,37 @@ public class Usermanager : Singleton<Usermanager>
} }
return firm; 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 #endregion
} }

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

Binary file not shown.
Loading…
Cancel
Save