From e86dd9662a290108f0357f2518a72329720ecd30 Mon Sep 17 00:00:00 2001 From: yjm484 <171359351@qq.com> Date: Thu, 4 Jul 2024 03:15:45 +0800 Subject: [PATCH] 0703BUGFIX --- .../Assets/Scripts/Card/CardDrag.cs | 1 + .../Assets/Scripts/Card/TurnMaster.cs | 6 ++-- .../Assets/Scripts/Enemy/EnemyNode.cs | 28 +++++++++++++++++-- .../Assets/Scripts/Tool/MathTool.cs | 18 ++++++++++++ .../Scripts/manager/SettlementManager.cs | 4 ++- 5 files changed, 50 insertions(+), 7 deletions(-) diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/Card/CardDrag.cs b/ColorlessWorld-2024-4-2/Assets/Scripts/Card/CardDrag.cs index 2481732b..74363b2a 100644 --- a/ColorlessWorld-2024-4-2/Assets/Scripts/Card/CardDrag.cs +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/Card/CardDrag.cs @@ -269,6 +269,7 @@ public class CardDrag : MonoBehaviour, IBeginDragHandler, IDragHandler, IEndDrag { cardEntity.influencePreviewPool = handler.HandleAngleWithResult(euler); } + cardEntity.influencePreviewPool=MathTool.RemoveDuplicates(cardEntity.influencePreviewPool); } diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/Card/TurnMaster.cs b/ColorlessWorld-2024-4-2/Assets/Scripts/Card/TurnMaster.cs index 5724409a..3e16fb3c 100644 --- a/ColorlessWorld-2024-4-2/Assets/Scripts/Card/TurnMaster.cs +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/Card/TurnMaster.cs @@ -62,8 +62,8 @@ public class TurnMaster : Singleton { //结算buff //结算技能冷却 - // EnemyManager.Instance.EnemySkillCoolDown_Observer(); - + // EnemyManager.Instance.EnemySkillCoolDown_Observer(); + EnemyManager.Instance.enemyTurnSettle(0); turn = Turn.enemyTurn; } @@ -74,7 +74,7 @@ public class TurnMaster : Singleton //敌人动作如移动,涂色 EnemyManager.Instance.EnemyTurn_Observer(); - EnemyManager.Instance.enemyTurnSettle(0); + turn = Turn.turnStop; // EndEnemyTurn();在enemyTurn里面调用 diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/EnemyNode.cs b/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/EnemyNode.cs index 443f3836..f28ae682 100644 --- a/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/EnemyNode.cs +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/EnemyNode.cs @@ -309,6 +309,18 @@ public class EnemyNode : MonoBehaviour,IEnemyObserver if (EnemyState.currentHP <= 0) { OnDeath(); + }else + { + foreach (var key in EnemyState.abnormalCondition.Keys.ToList()) + { + Debug.Log(key); + switch (key) + { + case AbnormalCondition.sleep: + EnemyState.abnormalCondition.Remove(key); + break; + } + } } } @@ -338,9 +350,6 @@ public class EnemyNode : MonoBehaviour,IEnemyObserver case AbnormalCondition.disarm: disarmSettle(EnemyState.abnormalCondition[key]); break; - case AbnormalCondition.sleep: - sleepSettle(EnemyState.abnormalCondition[key]); - break; case AbnormalCondition.bleed: //bleedSettle(EnemyState.abnormalCondition[key]); break; @@ -350,6 +359,18 @@ public class EnemyNode : MonoBehaviour,IEnemyObserver } abnormalConditionEndCheck(); } + + foreach (var key in EnemyState.abnormalCondition.Keys.ToList()) + { + Debug.Log(key); + switch (key) + { + case AbnormalCondition.sleep: + sleepSettle(EnemyState.abnormalCondition[key]); + break; + } + abnormalConditionEndCheck(); + } /*for(int i=0;i< EnemyState.abnormalCondition.Count; i++) { switch (EnemyState.abnormalCondition[i].key) @@ -410,6 +431,7 @@ public class EnemyNode : MonoBehaviour,IEnemyObserver { EnemyState.damageMultiplier = 0; EnemyState.stepRangeMultiplier = 0; + EnemyState.abnormalCondition[AbnormalCondition.sleep]--; } public void bleedSettle() diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/Tool/MathTool.cs b/ColorlessWorld-2024-4-2/Assets/Scripts/Tool/MathTool.cs index 30c62bd0..54dddb85 100644 --- a/ColorlessWorld-2024-4-2/Assets/Scripts/Tool/MathTool.cs +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/Tool/MathTool.cs @@ -39,4 +39,22 @@ public class MathTool return numbers; } + + public static List RemoveDuplicates(List list) + { + List result = new List(); + HashSet set = new HashSet(); + + foreach (T item in list) + { + if (set.Add(item)) + { + result.Add(item); + } + } + + return result; + } } + + diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/manager/SettlementManager.cs b/ColorlessWorld-2024-4-2/Assets/Scripts/manager/SettlementManager.cs index b022aa39..3fe3438e 100644 --- a/ColorlessWorld-2024-4-2/Assets/Scripts/manager/SettlementManager.cs +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/manager/SettlementManager.cs @@ -2,6 +2,7 @@ using System.Collections; using System.Collections.Generic; using Unity.VisualScripting; using UnityEngine; +using UnityEngine.Playables; public class SettlementManager : Singleton { @@ -81,7 +82,7 @@ public class SettlementManager : Singleton abnormalConditionWork(kvp.Key, int.Parse(kvp.Value), influencePreviewPool); break; case CardFunction.costRestore: - TurnMaster.Instance.currentCost += int.Parse(kvp.Value); + GameManager.Instance.playerState.currentCost += int.Parse(kvp.Value); break; case CardFunction.dyeing: dyeingWork(influencePreviewPool); @@ -118,6 +119,7 @@ public class SettlementManager : Singleton } } + GameManager.Instance.SyncColourCountUI(); } -- 2.30.2