diff --git a/ColorlessWorld-2024-4-2/Assets/GameDate/Enemy/SkeletonArcher.asset b/ColorlessWorld-2024-4-2/Assets/GameDate/Enemy/SkeletonArcher.asset index 7cd0731e..ca1bec8e 100644 --- a/ColorlessWorld-2024-4-2/Assets/GameDate/Enemy/SkeletonArcher.asset +++ b/ColorlessWorld-2024-4-2/Assets/GameDate/Enemy/SkeletonArcher.asset @@ -21,8 +21,8 @@ MonoBehaviour: currentMoveCoolDown: 0 shieldValue: 0 upShieldValue: 0 - maxHP: 25 - currentHP: 25 + maxHP: 5 + currentHP: 5 sufferDamageMultiply: 1 colourType: 0 maxSkillCoolDown: 3 diff --git a/ColorlessWorld-2024-4-2/Assets/GameDate/cardDeckList.asset b/ColorlessWorld-2024-4-2/Assets/GameDate/cardDeckList.asset index 657e3467..60857ec2 100644 --- a/ColorlessWorld-2024-4-2/Assets/GameDate/cardDeckList.asset +++ b/ColorlessWorld-2024-4-2/Assets/GameDate/cardDeckList.asset @@ -12,4 +12,4 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: d4cac7ba486f106409799af2bd4b4fc8, type: 3} m_Name: cardDeckList m_EditorClassIdentifier: - cardDeckList: 1127000012270000132700001427000015270000162700001727000018270000192700001a2700001b2700001c2700001d2700001e2700001f270000 + cardDeckList: 11270000122700001327000013270000132700001327000013270000142700001427000014270000142700001427000014270000 diff --git a/ColorlessWorld-2024-4-2/Assets/Scenes/SampleScene.unity b/ColorlessWorld-2024-4-2/Assets/Scenes/SampleScene.unity index 32553ada..6d2ef693 100644 --- a/ColorlessWorld-2024-4-2/Assets/Scenes/SampleScene.unity +++ b/ColorlessWorld-2024-4-2/Assets/Scenes/SampleScene.unity @@ -3526,7 +3526,7 @@ MonoBehaviour: m_Arguments: m_ObjectArgument: {fileID: 0} m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine - m_IntArgument: 1 + m_IntArgument: 10 m_FloatArgument: 0 m_StringArgument: m_BoolArgument: 0 @@ -10190,6 +10190,7 @@ MonoBehaviour: deleteCardNumberText: {fileID: 263387098} currentCost: 0 totalCost: 0 + commDrawCardsNum: 6 turn: 4 playerAction: 0 --- !u!4 &1108322117 diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/Buff/Buff.cs b/ColorlessWorld-2024-4-2/Assets/Scripts/Buff/Buff.cs index 55895087..103c0c49 100644 --- a/ColorlessWorld-2024-4-2/Assets/Scripts/Buff/Buff.cs +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/Buff/Buff.cs @@ -15,11 +15,21 @@ public class Buff { value--; } + + public virtual void SettleEnemyBegin(EnemyNode enemyNode) + { + + } public virtual int CheckValue() { return value; } - + + public virtual void BeginSettle() + { + + } + public virtual void UIShow(GameObject buff, string key) { diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/Buff/Buff_BanDrawCard.cs b/ColorlessWorld-2024-4-2/Assets/Scripts/Buff/Buff_BanDrawCard.cs index 6b423f80..d9ab5ff9 100644 --- a/ColorlessWorld-2024-4-2/Assets/Scripts/Buff/Buff_BanDrawCard.cs +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/Buff/Buff_BanDrawCard.cs @@ -19,12 +19,6 @@ public class Buff_BanDrawCard : Buff buff.transform.GetChild(1).GetComponent().text = Usermanager.playerAbnormalCondition[key].value.ToString(); } - public override void SettleEnemy(EnemyNode enemyNode) - { - - base.Settle(); - - } public override void EnemyUIShow(GameObject buff, string key, EnemyNode enemyNode) { diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/Buff/Buff_Bleed.cs b/ColorlessWorld-2024-4-2/Assets/Scripts/Buff/Buff_Bleed.cs new file mode 100644 index 00000000..af1acc78 --- /dev/null +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/Buff/Buff_Bleed.cs @@ -0,0 +1,37 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEngine.UI; + +public class Buff_Bleed : Buff +{ + public override void Settle() + { + + } + + public override void UIShow(GameObject buff, string key) + { + buff.transform.GetChild(0).GetComponent().text = "琛"; + buff.transform.GetChild(1).GetComponent().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 = "琛"; + buff.transform.GetChild(1).GetComponent().text = enemyNode.EnemyState.abnormalCondition[key].value.ToString(); + } + public override Buff NewBuff(int value) + { + Buff buff = new Buff_Bleed(); + buff.value = value; + return buff; + } +} diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/Buff/Buff_Bleed.cs.meta b/ColorlessWorld-2024-4-2/Assets/Scripts/Buff/Buff_Bleed.cs.meta new file mode 100644 index 00000000..287b444c --- /dev/null +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/Buff/Buff_Bleed.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 94f3eff17d6ea054d8bbd6dc8aaa924c +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/Buff/Buff_Boom.cs b/ColorlessWorld-2024-4-2/Assets/Scripts/Buff/Buff_Boom.cs new file mode 100644 index 00000000..fb18fecd --- /dev/null +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/Buff/Buff_Boom.cs @@ -0,0 +1,37 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEngine.UI; + +public class Buff_Boom : Buff +{ + public override void Settle() + { + + + } + public override void UIShow(GameObject buff, string key) + { + buff.transform.GetChild(0).GetComponent().text = "爆"; + buff.transform.GetChild(1).GetComponent().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 = "爆"; + buff.transform.GetChild(1).GetComponent().text = enemyNode.EnemyState.abnormalCondition[key].value.ToString(); + } + public override Buff NewBuff(int value) + { + Buff buff = new Buff_Boom(); + buff.value = value; + return buff; + } +} diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/Buff/Buff_Boom.cs.meta b/ColorlessWorld-2024-4-2/Assets/Scripts/Buff/Buff_Boom.cs.meta new file mode 100644 index 00000000..e26d2780 --- /dev/null +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/Buff/Buff_Boom.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 91eec09224c93fe4f8309eb3d00f4297 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/Buff/Buff_BoomAndPollute.cs b/ColorlessWorld-2024-4-2/Assets/Scripts/Buff/Buff_BoomAndPollute.cs new file mode 100644 index 00000000..3ffcf62d --- /dev/null +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/Buff/Buff_BoomAndPollute.cs @@ -0,0 +1,37 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEngine.UI; + +public class Buff_BoomAndPollute : Buff +{ + public override void Settle() + { + + + } + public override void UIShow(GameObject buff, string key) + { + buff.transform.GetChild(0).GetComponent().text = "爆"; + buff.transform.GetChild(1).GetComponent().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 = "爆"; + buff.transform.GetChild(1).GetComponent().text = enemyNode.EnemyState.abnormalCondition[key].value.ToString(); + } + public override Buff NewBuff(int value) + { + Buff buff = new Buff_BoomAndPollute(); + buff.value = value; + return buff; + } +} diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/Buff/Buff_BoomAndPollute.cs.meta b/ColorlessWorld-2024-4-2/Assets/Scripts/Buff/Buff_BoomAndPollute.cs.meta new file mode 100644 index 00000000..34cfdba1 --- /dev/null +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/Buff/Buff_BoomAndPollute.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: a519e546095a0404790433ae640ef843 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/Buff/Buff_DrawCardNumber.cs b/ColorlessWorld-2024-4-2/Assets/Scripts/Buff/Buff_DrawCardNumber.cs index 80a00a8f..86f3d6ce 100644 --- a/ColorlessWorld-2024-4-2/Assets/Scripts/Buff/Buff_DrawCardNumber.cs +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/Buff/Buff_DrawCardNumber.cs @@ -7,19 +7,27 @@ using UnityEngine.UI; public class Buff_DrawCardNumber : Buff { public override void Settle() - { - SettleDrawCardNumber(); - base.Settle(); + { + + Debug.Log("抽卡层数是:" + value); } - private void SettleDrawCardNumber() + public override void BeginSettle() { - Debug.Log("额外抽卡数量;" + value); + value= 0; } + public override void UIShow(GameObject buff, string key) { buff.transform.GetChild(0).GetComponent().text = "抽"; buff.transform.GetChild(1).GetComponent().text = Usermanager.playerAbnormalCondition[key].value.ToString(); } + + public override Buff NewBuff(int value) + { + Buff buff = new Buff_DrawCardNumber(); + buff.value = value; + return buff; + } } diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/Buff/Buff_FireSeed.cs b/ColorlessWorld-2024-4-2/Assets/Scripts/Buff/Buff_FireSeed.cs index 98ba14d5..85abd68f 100644 --- a/ColorlessWorld-2024-4-2/Assets/Scripts/Buff/Buff_FireSeed.cs +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/Buff/Buff_FireSeed.cs @@ -7,7 +7,7 @@ public class Buff_FireSeed : Buff { public override void Settle() { - base.Settle(); + //base.Settle(); } @@ -22,7 +22,7 @@ public class Buff_FireSeed : Buff public override void SettleEnemy(EnemyNode enemyNode) { - base.Settle(); + //base.Settle(); } diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/Buff/Buff_Firm.cs b/ColorlessWorld-2024-4-2/Assets/Scripts/Buff/Buff_Firm.cs index 7f86bbb7..533d2884 100644 --- a/ColorlessWorld-2024-4-2/Assets/Scripts/Buff/Buff_Firm.cs +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/Buff/Buff_Firm.cs @@ -7,7 +7,7 @@ public class Buff_Firm : Buff { public override void Settle() { - base.Settle(); + } public override void UIShow(GameObject buff, string key) @@ -19,7 +19,7 @@ public class Buff_Firm : Buff public override void SettleEnemy(EnemyNode enemyNode) { - base.Settle(); + } diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/Buff/Buff_Immunity.cs b/ColorlessWorld-2024-4-2/Assets/Scripts/Buff/Buff_Immunity.cs new file mode 100644 index 00000000..523a4612 --- /dev/null +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/Buff/Buff_Immunity.cs @@ -0,0 +1,40 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEngine.UI; + +public class Buff_Immunity : Buff +{ + public override void Settle() + { + + } + + + + public override void UIShow(GameObject buff, string key) + { + buff.transform.GetChild(0).GetComponent().text = "免"; + buff.transform.GetChild(1).GetComponent().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 = "免"; + buff.transform.GetChild(1).GetComponent().text = enemyNode.EnemyState.abnormalCondition[key].value.ToString(); + } + public override Buff NewBuff(int value) + { + Buff buff = new Buff_Immunity(); + buff.value = value; + return buff; + } +} diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/Buff/Buff_Immunity.cs.meta b/ColorlessWorld-2024-4-2/Assets/Scripts/Buff/Buff_Immunity.cs.meta new file mode 100644 index 00000000..aef5cb87 --- /dev/null +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/Buff/Buff_Immunity.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: d9afea1bff93be349ad0c1e891b905ea +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/Buff/Buff_Posion.cs b/ColorlessWorld-2024-4-2/Assets/Scripts/Buff/Buff_Posion.cs index 475877ec..9f982040 100644 --- a/ColorlessWorld-2024-4-2/Assets/Scripts/Buff/Buff_Posion.cs +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/Buff/Buff_Posion.cs @@ -5,16 +5,27 @@ using UnityEngine.UI; public class Buff_Posion : Buff { - public override void Settle() + public override void BeginSettle() { SettlePosion(); - base.Settle(); + value--; + } + + public override void Settle() + { + } public override void SettleEnemy( EnemyNode enemyNode ) + { + + + } + + public override void SettleEnemyBegin(EnemyNode enemyNode) { SettleEnemyPosion(enemyNode); - base.Settle(); + value--; } public void SettlePosion() @@ -26,7 +37,7 @@ public class Buff_Posion : Buff public void SettleEnemyPosion(EnemyNode enemyNode) { if (value > 0) - enemyNode.sufferDamage(Usermanager.Instance.DamageCalculation(value)); + enemyNode.sufferTrueDamage(Usermanager.Instance.DamageCalculation(value)); } public override void UIShow(GameObject buff, string key) { diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/Buff/Buff_Thorn.cs b/ColorlessWorld-2024-4-2/Assets/Scripts/Buff/Buff_Thorn.cs new file mode 100644 index 00000000..7f89f51c --- /dev/null +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/Buff/Buff_Thorn.cs @@ -0,0 +1,37 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEngine.UI; + +public class Buff_Thorn : Buff +{ + public override void Settle() + { + + } + + public override void UIShow(GameObject buff, string key) + { + buff.transform.GetChild(0).GetComponent().text = "反"; + buff.transform.GetChild(1).GetComponent().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 = "反"; + buff.transform.GetChild(1).GetComponent().text = enemyNode.EnemyState.abnormalCondition[key].value.ToString(); + } + public override Buff NewBuff(int value) + { + Buff buff = new Buff_Thorn(); + buff.value = value; + return buff; + } +} diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/Buff/Buff_Thorn.cs.meta b/ColorlessWorld-2024-4-2/Assets/Scripts/Buff/Buff_Thorn.cs.meta new file mode 100644 index 00000000..98ae08eb --- /dev/null +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/Buff/Buff_Thorn.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 17f56e22d6dc46e4585b12a7579491da +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/Buff/Buff_UpperAnger.cs b/ColorlessWorld-2024-4-2/Assets/Scripts/Buff/Buff_UpperAnger.cs index e01e51d5..8b16486a 100644 --- a/ColorlessWorld-2024-4-2/Assets/Scripts/Buff/Buff_UpperAnger.cs +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/Buff/Buff_UpperAnger.cs @@ -19,7 +19,7 @@ public class Buff_UpperAnger : Buff public override void SettleEnemy(EnemyNode enemyNode) { - base.Settle(); + } diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/Buff/Buff_UpperShield.cs b/ColorlessWorld-2024-4-2/Assets/Scripts/Buff/Buff_UpperShield.cs index 7abd0efb..9ad39d85 100644 --- a/ColorlessWorld-2024-4-2/Assets/Scripts/Buff/Buff_UpperShield.cs +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/Buff/Buff_UpperShield.cs @@ -7,7 +7,7 @@ public class Buff_UpperShield : Buff { public override void Settle() { - base.Settle(); + } public override void UIShow(GameObject buff, string key) @@ -20,7 +20,7 @@ public class Buff_UpperShield : Buff public override void SettleEnemy(EnemyNode enemyNode) { - base.Settle(); + } diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/Buff/Buff_Weak.cs b/ColorlessWorld-2024-4-2/Assets/Scripts/Buff/Buff_Weak.cs index 47faccfc..2fbee0f0 100644 --- a/ColorlessWorld-2024-4-2/Assets/Scripts/Buff/Buff_Weak.cs +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/Buff/Buff_Weak.cs @@ -6,15 +6,10 @@ public class Buff_Weak : Buff { public override void Settle() { - SettleWeak(); base.Settle(); } - public void SettleWeak() - { - - } public override void UIShow(GameObject buff, string key) { diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/Buff/Buff_parasitism.cs b/ColorlessWorld-2024-4-2/Assets/Scripts/Buff/Buff_parasitism.cs index 20d61b97..166b887b 100644 --- a/ColorlessWorld-2024-4-2/Assets/Scripts/Buff/Buff_parasitism.cs +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/Buff/Buff_parasitism.cs @@ -7,7 +7,7 @@ public class Buff_parasitism : Buff { public override void Settle() { - Usermanager.Instance.buffSettleList.Add(AbnormalCondition.parasitism); + } public override void UIShow(GameObject buff, string key) @@ -19,7 +19,7 @@ public class Buff_parasitism : Buff public override void SettleEnemy(EnemyNode enemyNode) { - base.Settle(); + } diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/Card/CardDrag.cs b/ColorlessWorld-2024-4-2/Assets/Scripts/Card/CardDrag.cs index ffc3980a..4459dfd5 100644 --- a/ColorlessWorld-2024-4-2/Assets/Scripts/Card/CardDrag.cs +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/Card/CardDrag.cs @@ -56,7 +56,16 @@ public class CardDrag : MonoBehaviour, IBeginDragHandler, IDragHandler, IEndDrag if (GameManager.Instance.playerState.currentCost - cardEntity.cardOriginalData.Cost < 0) { Debug.Log("费用不足"); - cardEntity.costEnough = false; + cardEntity.canUse = false; + } + } + + private void disArmCheck() + { + if (Usermanager.playerAbnormalCondition.ContainsKey(AbnormalCondition.disarm)&&cardEntity.cardOriginalData.CarType.Equals(CardType.attack)) + { + Debug.Log("被缴械了"); + cardEntity.canUse = false; } } @@ -79,7 +88,14 @@ public class CardDrag : MonoBehaviour, IBeginDragHandler, IDragHandler, IEndDrag switch (kvp.Key) { case CardFunction.drawCard: - drawCardNum += int.Parse(kvp.Value); + if (Usermanager.playerAbnormalCondition.ContainsKey(AbnormalCondition.banDrawCard)) + { + + } + else + { + drawCardNum += int.Parse(kvp.Value); + } break; } @@ -92,7 +108,7 @@ public class CardDrag : MonoBehaviour, IBeginDragHandler, IDragHandler, IEndDrag if (TurnMaster.Instance.handCard.getHandCardList().Count - int.Parse(kvp.Value) - 1 + drawCardNum < 0) { Debug.Log("没有足够的牌可以弃牌"); - cardEntity.costEnough = false; + cardEntity.canUse = false; } break; @@ -103,19 +119,19 @@ public class CardDrag : MonoBehaviour, IBeginDragHandler, IDragHandler, IEndDrag { if(TurnMaster.Instance.playerAction == TurnMaster.PlayerAction.banAction) { - cardEntity.costEnough = false; + cardEntity.canUse = false; } else { - cardEntity.costEnough = true; + cardEntity.canUse = true; } if(TurnMaster.Instance.playerAction == TurnMaster.PlayerAction.move) { - cardEntity.costEnough = false; + cardEntity.canUse = false; } else if(TurnMaster.Instance.playerAction != TurnMaster.PlayerAction.banAction) { - cardEntity.costEnough = true; + cardEntity.canUse = true; } } @@ -162,9 +178,10 @@ public class CardDrag : MonoBehaviour, IBeginDragHandler, IDragHandler, IEndDrag // if (GameObject.Find("CardPanel") != null) // graphicRaycaster = GameObject.Find("CardPanel").GetComponent(); banActionCardCheck(); + disArmCheck(); costCheck(); disCardCheck(); - if (!cardEntity.costEnough) + if (!cardEntity.canUse) { return; } @@ -332,7 +349,7 @@ public class CardDrag : MonoBehaviour, IBeginDragHandler, IDragHandler, IEndDrag public void OnDrag(PointerEventData eventData) { - if (!cardEntity.costEnough) + if (!cardEntity.canUse) { return; } @@ -369,7 +386,7 @@ public class CardDrag : MonoBehaviour, IBeginDragHandler, IDragHandler, IEndDrag private IEnumerator OnDragIEnumerator(PointerEventData eventData) { - if (!cardEntity.costEnough) + if (!cardEntity.canUse) { yield break; } diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/Card/CardEntity.cs b/ColorlessWorld-2024-4-2/Assets/Scripts/Card/CardEntity.cs index 6009551a..695ac358 100644 --- a/ColorlessWorld-2024-4-2/Assets/Scripts/Card/CardEntity.cs +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/Card/CardEntity.cs @@ -34,7 +34,7 @@ public class CardEntity : MonoBehaviour public Image cardImage; - public bool costEnough = true; + public bool canUse = true; public void Start() @@ -113,6 +113,12 @@ public class CardEntity : MonoBehaviour case CardFunction.posion: sb.Append("施加" + kvp.Value + "层中毒;"); break; + case CardFunction.fireSeed: + sb.Append("施加" + kvp.Value + "层火种;"); + break; + case CardFunction.vulnerable: + sb.Append("施加" + kvp.Value + "层易伤;"); + break; case CardFunction.weak: sb.Append("施加" + kvp.Value + "层虚弱;"); break; @@ -131,6 +137,24 @@ public class CardEntity : MonoBehaviour case CardFunction.thorn: sb.Append("获得" + kvp.Value + "层荆棘;"); break; + case CardFunction.ember: + sb.Append("获得" + kvp.Value + "层怒火;"); + break; + case CardFunction.upSpeed: + sb.Append("获得" + kvp.Value + "层加速;"); + break; + case CardFunction.downSpeed: + sb.Append("获得" + kvp.Value + "层减速;"); + break; + case CardFunction.enhanceShield: + sb.Append("获得" + kvp.Value + "层坚固;"); + break; + case CardFunction.extraDrawCardsNum: + sb.Append("下回合多抽" + kvp.Value + "张牌;"); + break; + case CardFunction.firm: + sb.Append("获得强固;"); + break; case CardFunction.costRestore: sb.Append("获得" + kvp.Value + "点能量;"); break; diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/Card/CardOriginalDataList.cs b/ColorlessWorld-2024-4-2/Assets/Scripts/Card/CardOriginalDataList.cs index cfd8f4b0..e67275a5 100644 --- a/ColorlessWorld-2024-4-2/Assets/Scripts/Card/CardOriginalDataList.cs +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/Card/CardOriginalDataList.cs @@ -16,7 +16,7 @@ public class CardOriginalDataList : Singleton void Start() { - cardOriginalDataList = ReadExcel("Assets/data/card_data.csv"); + cardOriginalDataList = ReadExcel("Assets/data/card_data_1.csv"); /* for(int i =0;i<10;i++) { diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/Card/TurnMaster.cs b/ColorlessWorld-2024-4-2/Assets/Scripts/Card/TurnMaster.cs index 4b7833e1..13585119 100644 --- a/ColorlessWorld-2024-4-2/Assets/Scripts/Card/TurnMaster.cs +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/Card/TurnMaster.cs @@ -18,12 +18,16 @@ public class TurnMaster : Singleton public int currentCost; public int totalCost; + public int commDrawCardsNum = 6; + public enum Turn { playerTurnBegin, playerTurn, + playerTurnEnd, enemyTurnBegin, enemyTurn, + enemyTurnEnd, turnStop }; public Turn turn = Turn.playerTurnBegin; @@ -52,8 +56,8 @@ public class TurnMaster : Singleton //判断眩晕等能不能行动 Usermanager.Instance.BanActionJudge(); - //结算玩家buff - Usermanager.Instance.PlayerTurnSettle(); + //回合开始结算玩家buff + Usermanager.Instance.PlayerTurnBeginSettle(); //结算地块Buff MapUnitySettleManager.Instance.MapGridsSettle(); //恢复体力 @@ -65,15 +69,22 @@ public class TurnMaster : Singleton EnemyManager.Instance.enemyMultiplierRestore(); //阶段流转 - StartCoroutine(EndPlayerTurnBegin()); + StartCoroutine(EndPlayerTurnBegin()); + + + } + + if (turn == Turn.playerTurnEnd) + { + //回合结束结算玩家buff + Usermanager.Instance.PlayerTurnSettle(); + //阶段流转 + turn = Turn.enemyTurnBegin; } if (turn == Turn.enemyTurnBegin) { - - //结算技能冷却 - // EnemyManager.Instance.EnemySkillCoolDown_Observer(); - EnemyManager.Instance.enemyTurnSettle(0); + EnemyManager.Instance.enemyTurnBeginSettle(0); turn = Turn.enemyTurn; } @@ -87,7 +98,15 @@ public class TurnMaster : Singleton turn = Turn.turnStop; - // EndEnemyTurn();在enemyTurn里面调用 + } + + if (turn == Turn.enemyTurnEnd) + { + + EnemyManager.Instance.enemyTurnSettle(0); + + + turn = Turn.playerTurnBegin; } //同步UI @@ -105,15 +124,13 @@ public class TurnMaster : Singleton public void EndPlayerTurn() { if(turn ==Turn.playerTurn) - turn = Turn.enemyTurnBegin; - - //回合结束结算buff - Usermanager.Instance.BuffSettleInEndTurn(); + turn = Turn.playerTurnEnd; + } public void EndEnemyTurn() { EnemyManager.Instance.enemyTurnState = EnemyManager.EnemyTurnState.end; - turn = Turn.playerTurnBegin; + turn = Turn.enemyTurnEnd; } //老吊写的函数 @@ -122,7 +139,11 @@ public class TurnMaster : Singleton //totalCost = Usermanager.Instance.totalCost; //currentCost = totalCost; GameManager.Instance.playerState.currentCost = GameManager.Instance.playerState.maxCost; - Usermanager.Instance.Shield = 0; + if (!Usermanager.Instance.FirmJudge()) + { + Usermanager.Instance.Shield = 0; + } + } IEnumerator ShuffleWithLosingCards() { @@ -131,9 +152,18 @@ public class TurnMaster : Singleton disCard(j); } + int tureDrawCardsNum=commDrawCardsNum; + + if (Usermanager.playerAbnormalCondition.ContainsKey(AbnormalCondition.addDrawCard)) + { + Debug.Log("追加抽卡数:" + Usermanager.playerAbnormalCondition[AbnormalCondition.addDrawCard].value); + tureDrawCardsNum += Usermanager.playerAbnormalCondition[AbnormalCondition.addDrawCard].value; + } + MathTool.keepNature(tureDrawCardsNum); + Debug.Log("真正抽卡数:"+tureDrawCardsNum); // 等待直到当前帧结束 yield return new WaitForEndOfFrame(); - drawCards(6); + drawCards(tureDrawCardsNum); } public IEnumerator MoveCards() @@ -164,10 +194,14 @@ public class TurnMaster : Singleton public IEnumerator randomDiscard(int count) { List disCardList = MathTool.GetRandomNumbers(handCard.getHandCardList().Count, count); - foreach (int number in disCardList) + if (disCardList != null) { - disCard(number); + foreach (int number in disCardList) + { + disCard(number); + } } + yield return null; } diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/EnemyManager.cs b/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/EnemyManager.cs index a6287fbb..e99b9519 100644 --- a/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/EnemyManager.cs +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/EnemyManager.cs @@ -162,6 +162,15 @@ public class EnemyManager : Singleton } } + public void enemyTurnBeginSettle(int settleTurn) + { + foreach (var observer in enemyObservers) + { + //observer.GetEnemyNode().enemyTurnSettleInit(); + observer.GetEnemyNode().enemyTurnBeginSettle(settleTurn); + } + } + public void enemyMultiplierRestore() { foreach (var observer in enemyObservers) diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/EnemyNode.cs b/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/EnemyNode.cs index ed81cd88..30735811 100644 --- a/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/EnemyNode.cs +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/EnemyNode.cs @@ -5,6 +5,7 @@ using System.Linq; using System.Xml; using UnityEngine; using UnityEngine.Assertions; +using static UnityEngine.Rendering.DebugUI; public class EnemyNode : MonoBehaviour,IEnemyObserver { @@ -102,6 +103,26 @@ public class EnemyNode : MonoBehaviour,IEnemyObserver Debug .Log ("敌人生成在("+positionX +","+positionY +")"); } + public int getStepRange() + { + int extraStep = 0; + float stepMultiplie = 1.0f; + if (EnemyState.abnormalCondition.ContainsKey(AbnormalCondition.upSpeed)) + { + extraStep = 1; + } + if (EnemyState.abnormalCondition.ContainsKey(AbnormalCondition.downSpeed)) + { + extraStep = -1; + } + if (EnemyState.abnormalCondition.ContainsKey(AbnormalCondition.banStep)) + { + stepMultiplie = 0f; + } + int trueStepRange=EnemyState.stepRange+extraStep; + return (int)(trueStepRange * stepMultiplie); + } + public void EnemyTurn() { switch (enemyScript) @@ -413,6 +434,10 @@ public class EnemyNode : MonoBehaviour,IEnemyObserver //死亡时 public void OnDeath() { + if (EnemyState.abnormalCondition.ContainsKey(AbnormalCondition.boom)) + { + boomCal(); + } switch (enemyType) { case EnemyType.enemy: @@ -427,10 +452,43 @@ public class EnemyNode : MonoBehaviour,IEnemyObserver } + private void boomCal() + { + MapUnity currentNode = GameManager.Instance.X[positionX].Y[positionY]; + HashSet targetSet=new HashSet(); + targetSet.Add(currentNode); + getNodeTools.getCircleNodeForBoom(targetSet, 1); + foreach (MapUnity target in targetSet) + { + target.whoColour = MapUnity.WhoColour.enemyColour; + } + } + //Buff结算应用函数 //施加buff效果 public void sufferAbnormalCondition(string condition, int value) { + if (immunityCal(condition,value)) + { + return; + } + if (condition.Equals(AbnormalCondition.fireSeed)) + { + sufferFireSeed(condition, value); + return; + } + + if (condition.Equals(AbnormalCondition.levelSleep)) + { + sufferLevelSleep(condition, value); + return; + } + if (condition.Equals(AbnormalCondition.upSpeed)|| condition.Equals(AbnormalCondition.downSpeed)) + { + sufferSpeed(condition, value); + return; + } + if (EnemyState .abnormalCondition .ContainsKey(condition)) { int beforeval = EnemyState.abnormalCondition[condition].value; @@ -456,9 +514,261 @@ public class EnemyNode : MonoBehaviour,IEnemyObserver enemyUIBar.RefreshEnemyBuffIcon(); } - public void sufferDamage(int damageVal) + private void sufferSpeed(string condition, int value) + { + //speed的特殊处理 + if (condition.Equals(AbnormalCondition.upSpeed)) + { + if (EnemyState.abnormalCondition.ContainsKey(AbnormalCondition.downSpeed)) + { + int downLayer = EnemyState.abnormalCondition[AbnormalCondition.downSpeed].value; + int trueLayer = downLayer - value; + if (trueLayer > 0) + { + EnemyState.abnormalCondition[AbnormalCondition.downSpeed].value = trueLayer; + } + else if (trueLayer == 0) + { + EnemyState.abnormalCondition.Remove(AbnormalCondition.downSpeed); + } + else if (trueLayer < 0) + { + EnemyState.abnormalCondition.Remove(AbnormalCondition.downSpeed); + AddEnemyAbnormalCondition(condition, 0 - trueLayer); + } + } + else + { + if (EnemyState.abnormalCondition.ContainsKey(condition)) + { + int beforeval = EnemyState.abnormalCondition[condition].value; + int afterval = beforeval + value; + EnemyState.abnormalCondition[condition].value = afterval; + Debug.Log("加入了:" + condition + "afterval:" + afterval); + } + else + { + AddEnemyAbnormalCondition(condition, value); + } + } + } + else if (condition.Equals(AbnormalCondition.downSpeed)) + { + if (EnemyState.abnormalCondition.ContainsKey(AbnormalCondition.upSpeed)) + { + int downLayer = EnemyState.abnormalCondition[AbnormalCondition.upSpeed].value; + int trueLayer = downLayer - value; + if (trueLayer > 0) + { + EnemyState.abnormalCondition[AbnormalCondition.upSpeed].value = trueLayer; + } + else if (trueLayer == 0) + { + EnemyState.abnormalCondition.Remove(AbnormalCondition.upSpeed); + } + else if (trueLayer < 0) + { + EnemyState.abnormalCondition.Remove(AbnormalCondition.upSpeed); + AddEnemyAbnormalCondition(condition, 0 - trueLayer); + } + } + else + { + if (EnemyState.abnormalCondition.ContainsKey(condition)) + { + int beforeval = EnemyState.abnormalCondition[condition].value; + int afterval = beforeval + value; + EnemyState.abnormalCondition[condition].value = afterval; + Debug.Log("加入了:" + condition + "afterval:" + afterval); + } + else + { + AddEnemyAbnormalCondition(condition, value); + } + } + } + //enemyUIBar.RefreshEnemyBuffIcon(); + + } + + private bool immunityCal(string condition, int value) + { + bool isImmunityDispose = false; + if (EnemyState.abnormalCondition.ContainsKey(AbnormalCondition.immunity) && !AbnormalCondition.playBuffList.Contains(condition)) + { + isImmunityDispose = true; + EnemyState.abnormalCondition[AbnormalCondition.immunity].value -= 1; + if (EnemyState.abnormalCondition[AbnormalCondition.immunity].value <= 0) + { + EnemyState.abnormalCondition.Remove(AbnormalCondition.immunity); + } + } + return isImmunityDispose; + } + + private void sufferFireSeed(string condition, int value) + { + //firseed的特殊处理 + int nowValue=0; + if (EnemyState.abnormalCondition.ContainsKey(condition)) + { + nowValue = EnemyState.abnormalCondition[condition].value; + } + int trueValue=nowValue+ value; + int damamgeLayers=0; + if (trueValue >=10) + { + damamgeLayers = trueValue / 10; + + } + int afterval = trueValue % 10; + Debug.Log("伤害层数是:" + damamgeLayers); + Debug.Log("剩余层数是:" + afterval); + //TODO 是否应该是n次15点伤害 + sufferDamage(15 * damamgeLayers,false); + EnemyState.abnormalCondition.Remove(condition); + AddEnemyAbnormalCondition(condition, afterval); + //enemyUIBar.RefreshEnemyBuffIcon(); + + } + + private void sufferLevelSleep(string condition, int value) + { + //firseed的特殊处理 + int nowValue = 0; + if (EnemyState.abnormalCondition.ContainsKey(condition)) + { + nowValue = EnemyState.abnormalCondition[condition].value; + } + int trueValue = nowValue + value; + int sleepLayers = 0; + if (trueValue >= 10) + { + sleepLayers = trueValue / 10; + + } + int afterval = trueValue % 10; + Debug.Log("sleep层数是:" + sleepLayers); + Debug.Log("剩余层数是:" + afterval); + if (sleepLayers > 0) + { + sufferAbnormalCondition(AbnormalCondition.sleep, sleepLayers); + } + EnemyState.abnormalCondition.Remove(condition); + AddEnemyAbnormalCondition(condition, afterval); + //enemyUIBar.RefreshEnemyBuffIcon(); + + } + public void sufferDamage(int damageVal,bool isFromPlayer) + { + if (isFromPlayer==true) + { + thornCal(); + } + bleedCal(); + int trueDamage = SufferDamageCalculation(damageVal); + if (trueDamage > EnemyState.shieldValue) + { + int afterVal = trueDamage - EnemyState.shieldValue; + EnemyState.shieldValue = 0; + EnemyState.currentHP -= afterVal; + } + else + { + EnemyState.shieldValue -= trueDamage; + } + Debug.Log("敌人血量" + EnemyState.currentHP); + if (EnemyState.currentHP <= 0) + { + OnDeath(); + } + else + { + foreach (var key in EnemyState.abnormalCondition.Keys.ToList()) + { + switch (key) + { + case AbnormalCondition.sleep: + EnemyState.abnormalCondition.Remove(key); + EnemyState.damageMultiplier = 1; + EnemyState.stepRangeMultiplier = 1; + break; + } + } + foreach (var key in EnemyState.abnormalCondition.Keys.ToList()) + { + switch (key) + { + case AbnormalCondition.weak: + EnemyState.damageMultiplier = 0.75; + break; + case AbnormalCondition.disarm: + EnemyState.damageMultiplier = 0; + break; + } + } + foreach (var key in EnemyState.abnormalCondition.Keys.ToList()) + { + switch (key) + { + case AbnormalCondition.coma: + EnemyState.damageMultiplier = 0; + EnemyState.stepRangeMultiplier = 0; + break; + case AbnormalCondition.sleep: + EnemyState.damageMultiplier = 0; + EnemyState.stepRangeMultiplier = 0; + break; + } + } + + if(EnemyState.abnormalCondition.ContainsKey(AbnormalCondition.flashPoint)) + { + FlashPointRealize(); + } + } + } + + public void bleedCal() { - EnemyState.currentHP -= SufferDamageCalculation (damageVal); + if (EnemyState.abnormalCondition.ContainsKey(AbnormalCondition.bleed)) + { + sufferTrueDamage(2); + EnemyState.abnormalCondition[AbnormalCondition.bleed].value -= 1; + if (EnemyState.abnormalCondition[AbnormalCondition.bleed].value <= 0) + { + EnemyState.abnormalCondition.Remove(AbnormalCondition.bleed); + } + + } + } + + private void thornCal() + { + if (EnemyState.abnormalCondition.ContainsKey(AbnormalCondition.thorn)) + { + Usermanager.Instance.SufferTrueDamage(3); + EnemyState.abnormalCondition[AbnormalCondition.thorn].value -= 1; + if (EnemyState.abnormalCondition[AbnormalCondition.thorn].value <= 0) + { + EnemyState.abnormalCondition.Remove(AbnormalCondition.thorn); + } + + } + } + + public void sufferTrueDamage(int damageVal) + { + if (damageVal > EnemyState.shieldValue) + { + int afterVal = damageVal - EnemyState.shieldValue; + EnemyState.shieldValue = 0; + EnemyState.currentHP -= afterVal; + } + else + { + EnemyState.shieldValue -= damageVal; + } Debug.Log("敌人血量" + EnemyState.currentHP); if (EnemyState.currentHP <= 0) { @@ -504,7 +814,7 @@ public class EnemyNode : MonoBehaviour,IEnemyObserver } } - if(EnemyState.abnormalCondition.ContainsKey(UpperCondition.flashPoint)) + if (EnemyState.abnormalCondition.ContainsKey(AbnormalCondition.flashPoint)) { FlashPointRealize(); } @@ -546,6 +856,7 @@ public class EnemyNode : MonoBehaviour,IEnemyObserver public void enemyTurnSettle(int settleTurn) { + EnemyState.shieldValue = 0; foreach (var key in EnemyState.abnormalCondition.Keys.ToList()) { EnemyState.abnormalCondition[key].SettleEnemy(this); @@ -554,14 +865,37 @@ public class EnemyNode : MonoBehaviour,IEnemyObserver } } + public void enemyTurnBeginSettle(int settleTurn) + { + EnemyState.shieldValue = 0; + foreach (var key in EnemyState.abnormalCondition.Keys.ToList()) + { + EnemyState.abnormalCondition[key].SettleEnemyBegin(this); + abnormalConditionEndCheck(); + //有bug + enemyUIBar.RefreshEnemyBuffIcon(); + } + } + private void abnormalConditionEndCheck() { foreach (var key in EnemyState.abnormalCondition.Keys.ToList()) { - if (EnemyState.abnormalCondition[key].value <= 0) + if (AbnormalCondition.canNegativeNumberList.Contains(key)) + { + if (EnemyState.abnormalCondition[key].value == 0) + { + EnemyState.abnormalCondition.Remove(key); + } + } + else { - EnemyState.abnormalCondition.Remove(key); + if (EnemyState.abnormalCondition[key].value <= 0) + { + EnemyState.abnormalCondition.Remove(key); + } } + } } @@ -600,13 +934,9 @@ public class EnemyNode : MonoBehaviour,IEnemyObserver { int angerUpperDamage = 0, angerDownDamage = 0; - if (EnemyState .abnormalCondition .ContainsKey(UpperCondition.angerUpperDamage)) - { - angerUpperDamage = EnemyState.abnormalCondition[UpperCondition.angerUpperDamage].value; - } - if (EnemyState.abnormalCondition.ContainsKey(AbnormalCondition.angerDownDamage)) + if (EnemyState .abnormalCondition .ContainsKey(AbnormalCondition.angerUpperDamage)) { - angerDownDamage = EnemyState.abnormalCondition[AbnormalCondition.angerDownDamage].value; + angerUpperDamage = EnemyState.abnormalCondition[AbnormalCondition.angerUpperDamage].value; } if (EnemyState.abnormalCondition.ContainsKey(AbnormalCondition.weak)) { @@ -627,13 +957,9 @@ public class EnemyNode : MonoBehaviour,IEnemyObserver { int shieldValue = 0; - if (EnemyState.abnormalCondition.ContainsKey(UpperCondition.shieldUpperValue)) + if (EnemyState.abnormalCondition.ContainsKey(AbnormalCondition.shieldUpperValue)) { - shieldValue += EnemyState.abnormalCondition[UpperCondition.shieldUpperValue].value; - } - if (EnemyState.abnormalCondition.ContainsKey(AbnormalCondition.shieldDownValue)) - { - shieldValue -= EnemyState.abnormalCondition[AbnormalCondition.shieldDownValue].value; + shieldValue += EnemyState.abnormalCondition[AbnormalCondition.shieldUpperValue].value; } shield += shieldValue; @@ -644,11 +970,14 @@ public class EnemyNode : MonoBehaviour,IEnemyObserver //闪位实现 public void FlashPointRealize() { + HashSet targetNodeList= new HashSet(); + targetNodeList.Add(GameManager.Instance.X[positionX].Y[positionY]); + getNodeTools.getCircleNodeForEnemy(targetNodeList,1); + targetNodeList.Remove(GameManager.Instance.X[positionX].Y[positionY]); //随机移动 - int index_X = UnityEngine.Random.Range(0, GameManager.Instance.X.Count); - int index_Y = UnityEngine.Random.Range(0, GameManager.Instance.X[index_X].Y.Count); + - MapUnity targetNode = GameManager.Instance.X[index_X].Y[index_Y]; + MapUnity targetNode = getNodeTools.getRandomElement(targetNodeList); MapUnity currentNode = GameManager.Instance.X[positionX].Y[positionY]; currentNode.enemyNode = null; @@ -685,31 +1014,6 @@ public class EnemyNode : MonoBehaviour,IEnemyObserver } } - //步数计算 - 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; - } - //腐蚀实现 public void CorrodeRealize(MapUnity node) { @@ -719,6 +1023,8 @@ public class EnemyNode : MonoBehaviour,IEnemyObserver } } + #endregion + } diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/SkeletonArcher.cs b/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/SkeletonArcher.cs index bffc3b34..8e329395 100644 --- a/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/SkeletonArcher.cs +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/SkeletonArcher.cs @@ -22,69 +22,7 @@ public class SkeletonArcher : MonoBehaviour private void Update() { - /*//时时寻路 - if (GameManager.Instance.complete == true && TurnMaster.Instance.turn == TurnMaster.Turn.playerTurn) - { - if (lastTime > 0) - { - lastTime -= Time.deltaTime; - } - else - { - enemyNode.FindPath(); - if (enemyNode.pasth.Count > enemyNode.EnemyState.attackRange) - { - enemyNode.moveType = EnemyNode.MoveType.front; - } - else if (enemyNode.pasth.Count == enemyNode.EnemyState.attackRange) - { - enemyNode.moveType = EnemyNode.MoveType.stay; - } - else - { - //反向寻路 - MapUnity currentNode = enemyNode.pasth[0]; - enemyNode.oppositePasth.Clear(); - enemyNode.oppositePasth = AStarManager.Instance.FindOppositePath(currentNode, GameManager.Instance.playerOn, enemyNode.EnemyState.stepRange); - - enemyNode.moveType = EnemyNode.MoveType.back; - } - - if (enemyNode.moveType == EnemyNode.MoveType.stay) - { - enemyNode.canMove = false; - } - else - { - enemyNode.canMove = true; - } - - //瞄准 - switch (enemyNode.planAction) - { - case EnemyNode.PlanAction.shoot: - ArcherAim(); - break; - case EnemyNode.PlanAction.aoe: - if (enemyNode.pasth.Count <= enemyNode.EnemyState.attackRange) - { - enemyNode.lineAim.GetComponent().aimGamgObject = GameManager.Instance.player .gameObject; - } - else - { - enemyNode.lineAim.GetComponent().aimGamgObject = enemyNode.pasth[enemyNode.EnemyState.attackRange].gameObject; - } - break; - - - } - - enemyNode.enemyUIBar.RefreshEnemyBuffIcon(); - - //重置时间标量 - lastTime = time; - } - }*/ + } @@ -96,7 +34,15 @@ public class SkeletonArcher : MonoBehaviour IEnumerator JudgeActionCoroutine()//等移动到位置就判断是否还能走 { - yield return StartCoroutine(RemoteAttackAction()); + if (enemyNode.EnemyState.abnormalCondition.ContainsKey(AbnormalCondition.disarm)) + { + + } + else + { + yield return StartCoroutine(RemoteAttackAction()); + } + } @@ -127,9 +73,9 @@ public class SkeletonArcher : MonoBehaviour private int getMoveStep() { - if(enemyNode.EnemyState.getStepRange() + 1<= enemyNode.pasth.Count) + if(enemyNode.getStepRange() + 1<= enemyNode.pasth.Count) { - return enemyNode.EnemyState.getStepRange() + 1; + return enemyNode.getStepRange() + 1; } else { @@ -139,6 +85,7 @@ public class SkeletonArcher : MonoBehaviour IEnumerator moveOneStep(MapUnity nexMapUnity) { + enemyNode.bleedCal(); MapUnity currentNode = GameManager.Instance.X[enemyNode.positionX].Y[enemyNode.positionY]; MapUnity disNode = nexMapUnity; currentNode.blocked = false; @@ -151,6 +98,10 @@ public class SkeletonArcher : MonoBehaviour IEnumerator RemoteAttackAction() { + //Usermanager.Instance.SufferPlayerAbnormalCondition(AbnormalCondition.immunity, 1); + //Usermanager.Instance.SufferPlayerAbnormalCondition(AbnormalCondition.banStep, 1); + //enemyNode.sufferAbnormalCondition(AbnormalCondition.immunity, 1); + enemyNode.sufferAbnormalCondition(AbnormalCondition.boom, 1); MapUnity currentNode = GameManager.Instance.X[enemyNode.positionX].Y[enemyNode.positionY]; if (getNodeTools.canRemoteAttack(currentNode,enemyNode.EnemyState.attackRange)) { @@ -164,9 +115,18 @@ public class SkeletonArcher : MonoBehaviour } } + + IEnumerator JudgNextActionCoroutine() { - yield return StartCoroutine(JudgeActionCoroutine()); + if (enemyNode.EnemyState.abnormalCondition.ContainsKey(AbnormalCondition.sleep)) + { + + } + else + { + yield return StartCoroutine(JudgeActionCoroutine()); + } //下回合意图 ArcherAim(); @@ -193,62 +153,7 @@ public class SkeletonArcher : MonoBehaviour yield break; } - - - public void SkeletonArcherAction() - { - float distance = Vector3.Distance(this.transform.position, GameManager.Instance.player.transform.position); - //放技能 - if (enemyNode.EnemyState.currentSkillCoolDown > 0) - { - Vector3 dir = GameManager.Instance.player.transform.position - this.transform.position; - Ray ray = new Ray(this.transform.position, dir); - if (Physics.Raycast(ray, out RaycastHit raycastHit, 500, layerMask.value)) - { - - if (raycastHit.collider.tag == "Player" && distance <= enemyNode.EnemyState.attackRange+0.5f) - { - AttackDamage(); - } - } - Debug.Log("远程攻击"); - } - else - { - if (distance <= enemyNode.EnemyState.attackRange + 0.5f) - { - ArcherColour(GameManager.Instance.playerOn); - } - else - { - ArcherColour(enemyNode.pasth[enemyNode.EnemyState.attackRange]); - } - enemyNode.EnemyState.currentSkillCoolDown = enemyNode.EnemyState.maxSkillCoolDown; - Debug.Log("剑雨"); - } - } - public void NextTurnIntention() - { - if (enemyNode.pasth.Count <= enemyNode.EnemyState.attackRange) - { - enemyNode.canMove = false; - } - else - { - enemyNode.canMove = true; - } - //判断下回合放啥技能 - if (enemyNode.EnemyState.currentSkillCoolDown <= 0) - { - enemyNode.planAction = EnemyNode.PlanAction.aoe; - enemyNode.canLineAppre = true; - } - else - { - enemyNode.planAction = EnemyNode.PlanAction.shoot; - enemyNode.canLineAppre = true; - } - } + public void ArcherColour(MapUnity currentNode) { @@ -291,11 +196,6 @@ public class SkeletonArcher : MonoBehaviour public void AttackDamage() { - Usermanager.Instance.shield -= (int)(enemyNode.EnemyState.damage * enemyNode.EnemyState.damageMultiplier); - if (Usermanager.Instance.shield < 0) - { - GameManager.Instance.playerState.currentHP += Usermanager.Instance.shield; - Usermanager.Instance.shield = 0; - } + Usermanager.Instance.SufferDamage(enemyNode.DamageCalculation(enemyNode.EnemyState.damage),enemyNode); } } diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/SkullGuardian.cs b/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/SkullGuardian.cs index 0b8dbef4..ca1cba79 100644 --- a/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/SkullGuardian.cs +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/SkullGuardian.cs @@ -100,6 +100,7 @@ public class SkullGuardian : MonoBehaviour if (getNodeTools.canRemoteAttack(currentNode, enemyNode.EnemyState.attackRange)) { AttackDamage(); + //Usermanager.Instance.SufferPlayerAbnormalCondition(AbnormalCondition.vulnerable, 1); } else { @@ -109,6 +110,7 @@ public class SkullGuardian : MonoBehaviour if (getNodeTools.canRemoteAttack(currentNode, enemyNode.EnemyState.attackRange)) { AttackDamage(); + //Usermanager.Instance.SufferPlayerAbnormalCondition(AbnormalCondition.vulnerable, 1); } } } @@ -126,9 +128,9 @@ public class SkullGuardian : MonoBehaviour } private int getMoveStep() { - if (enemyNode.EnemyState.getStepRange() + 1 <= enemyNode.pasth.Count) + if (enemyNode.getStepRange() + 1 <= enemyNode.pasth.Count) { - return enemyNode.EnemyState.getStepRange() + 1; + return enemyNode.getStepRange() + 1; } else { @@ -193,11 +195,6 @@ public class SkullGuardian : MonoBehaviour public void AttackDamage() { - Usermanager.Instance.shield -= (int)(enemyNode.EnemyState.damage * enemyNode.EnemyState.damageMultiplier); - if (Usermanager.Instance.shield < 0) - { - GameManager.Instance.playerState.currentHP += Usermanager.Instance.shield; - Usermanager.Instance.shield = 0; - } + Usermanager.Instance.SufferDamage(enemyNode.DamageCalculation(enemyNode.EnemyState.damage),enemyNode); } } diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/Player.cs b/ColorlessWorld-2024-4-2/Assets/Scripts/Player.cs index ea810d86..6068bfed 100644 --- a/ColorlessWorld-2024-4-2/Assets/Scripts/Player.cs +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/Player.cs @@ -28,7 +28,7 @@ public class Player : MonoBehaviour { 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&&!Usermanager.playerAbnormalCondition.ContainsKey(AbnormalCondition.banStep)) { Ray ray = Camera.main.ScreenPointToRay(Mouse.current.position.value); if (Physics.Raycast(ray, out RaycastHit raycastHit, 500, playerLayerMask.value) && raycastHit.collider.gameObject.tag == "Player") @@ -123,6 +123,7 @@ public class Player : MonoBehaviour //判断寄生是否生效 Usermanager.Instance.ParasitismnRealize(GameManager.Instance.playerOn, mapNode); + Usermanager.Instance.bleedRealize(GameManager.Instance.playerOn, mapNode); mapNode.playerOn = true; GameManager.Instance.playerOn = mapNode; diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/Tool/AbnormalCondition.cs b/ColorlessWorld-2024-4-2/Assets/Scripts/Tool/AbnormalCondition.cs index 7157c19f..dd3d3d4e 100644 --- a/ColorlessWorld-2024-4-2/Assets/Scripts/Tool/AbnormalCondition.cs +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/Tool/AbnormalCondition.cs @@ -21,34 +21,43 @@ public class AbnormalCondition : Singleton //后加玩家方 //怒火提升伤害- - // public const string angerUpperDamage = "11"; - //怒火降低伤害- - public const string angerDownDamage = "12"; + public const string angerUpperDamage = "16"; //坚固获得护盾增益- - //public const string shieldUpperValue = "13"; - //坚固负降低护盾- - public const string shieldDownValue = "14"; + public const string shieldUpperValue = "17"; //坚固(回合开始不掉护盾)- - //public const string firm = "15"; - //加牌- - // public const string addDrawCard = "16"; - //减牌- - public const string minusDrawCard = "17"; - //禁牌- - public const string banDrawCard = "18"; + public const string firm = "18"; //易伤- public const string vulnerable = "19"; + //加牌- + public const string addDrawCard = "20"; + //禁牌- + public const string banDrawCard = "21"; + //加速- - //public const string upperSpeed = "20"; + public const string upSpeed = "22"; //减速- - public const string downSpeed = "21"; + public const string downSpeed = "23"; //缠绕- - public const string BanStep = "22"; + public const string banStep = "26"; //火种 - public const string fireSeed = "23"; + public const string fireSeed = "25"; //昏睡(叠层那个) public const string levelSleep = "24"; //寄生 - public const string parasitism = "25"; + public const string parasitism = "27"; + //腐蚀 + public const string corrode = "28"; + //免疫 + public const string immunity = "29"; + //自爆 + public const string boom = "30"; + //自爆且污染 + public const string boomAndPollute = "31"; + //闪位 + public const string flashPoint = "106"; + + public static readonly List canNegativeNumberList = new List { angerUpperDamage, shieldUpperValue, addDrawCard }; + + public static readonly List playBuffList = new List { angerUpperDamage, shieldUpperValue, firm, addDrawCard, upSpeed , immunity }; } diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/Tool/CardFunction.cs b/ColorlessWorld-2024-4-2/Assets/Scripts/Tool/CardFunction.cs index 549f9cb5..d06d3610 100644 --- a/ColorlessWorld-2024-4-2/Assets/Scripts/Tool/CardFunction.cs +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/Tool/CardFunction.cs @@ -34,5 +34,25 @@ public class CardFunction public const string dyeing = "14"; //造成场地差伤害 public const string nodeDiffDamage = "15"; - + //怒火 + public const string ember = "16"; + //坚固 + public const string enhanceShield = "17"; + //强固 + public const string firm = "18"; + //易伤 + public const string vulnerable = "19"; + //加牌 + public const string extraDrawCardsNum = "20"; + //禁牌 + public const string banDrawCard = "21"; + //加速 + public const string upSpeed = "22"; + //减速 + public const string downSpeed = "23"; + //火种 + public const string fireSeed = "25"; + //缠绕 + public const string banStep = "26"; + } diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/Tool/CardType.cs b/ColorlessWorld-2024-4-2/Assets/Scripts/Tool/CardType.cs new file mode 100644 index 00000000..085bc177 --- /dev/null +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/Tool/CardType.cs @@ -0,0 +1,13 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class CardType +{ + //攻击牌 + public const int attack = 1; + //技能牌 + public const int skill = 2; + //能力牌 + public const int ablility = 3; +} diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/Tool/CardType.cs.meta b/ColorlessWorld-2024-4-2/Assets/Scripts/Tool/CardType.cs.meta new file mode 100644 index 00000000..8fbfa85a --- /dev/null +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/Tool/CardType.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 904f37a760855624384a12bc6f1ebfb4 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/Tool/Data_SO/EnemyState_SO.cs b/ColorlessWorld-2024-4-2/Assets/Scripts/Tool/Data_SO/EnemyState_SO.cs index cf369c09..aa645559 100644 --- a/ColorlessWorld-2024-4-2/Assets/Scripts/Tool/Data_SO/EnemyState_SO.cs +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/Tool/Data_SO/EnemyState_SO.cs @@ -40,8 +40,5 @@ public class EnemyState_SO : ScriptableObject public int attackRange;//攻击范围 - public int getStepRange() - { - return (int)(stepRange * stepRangeMultiplier); - } + } diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/Tool/MathTool.cs b/ColorlessWorld-2024-4-2/Assets/Scripts/Tool/MathTool.cs index 54dddb85..e862cf61 100644 --- a/ColorlessWorld-2024-4-2/Assets/Scripts/Tool/MathTool.cs +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/Tool/MathTool.cs @@ -40,6 +40,14 @@ public class MathTool return numbers; } + public static void keepNature(int number) + { + if (number < 0) + { + number= 0; + } + } + public static List RemoveDuplicates(List list) { List result = new List(); diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/Tool/getNodeTools.cs b/ColorlessWorld-2024-4-2/Assets/Scripts/Tool/getNodeTools.cs index bb654f25..afc2f0a2 100644 --- a/ColorlessWorld-2024-4-2/Assets/Scripts/Tool/getNodeTools.cs +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/Tool/getNodeTools.cs @@ -1,6 +1,7 @@ using System; using System.Collections; using System.Collections.Generic; +using System.Linq; using Unity.VisualScripting; using UnityEngine; using UnityEngine.UI; @@ -71,6 +72,22 @@ public class getNodeTools return canPass; } + public static bool tryGetNodeFroPlayerBoom(MapUnity currentNode, HashSet results) + { + bool canPass = true; + if (currentNode == null) + { + canPass = false; + return canPass; + } + + if (canPass) + { + results.Add(currentNode); + } + return canPass; + } + public static bool tryGetNodeForEnemy(MapUnity currentNode, HashSet results) { bool canPass = true; @@ -87,6 +104,10 @@ public class getNodeTools canPass = false; } } + if (currentNode.Equals(GameManager.Instance.playerOn)) + { + canPass = false; + } if (canPass) { @@ -103,6 +124,14 @@ public class getNodeTools } } + public static void getCircleNodeForBoom(HashSet nodeList, int range) + { + for (int i = 0; i < range; i++) + { + getNearbyNodeForBoom(nodeList); + } + } + public static void getCircleNodeForEnemy(HashSet nodeList, int range) { for (int i = 0; i < range; i++) @@ -153,6 +182,25 @@ public class getNodeTools } + public static void getNearbyNodeForBoom(HashSet nodeList) + { + // 创建一个副本以避免遍历时修改原集合 + HashSet nodesCopy = new HashSet(nodeList); + HashSet nodesToAdd = new HashSet(); // 临时列表存储要添加的节点 + + foreach (var node in nodesCopy) + { + for (int i = 0; i < 6; i++) + { + tryGetNodeFroPlayerBoom(node.unitPool[i], nodesToAdd); + } + } + + // 遍历完成后统一修改原集合 + nodeList.AddRange(nodesToAdd); + + } + public static void getNearbyNodeFroEnemy(HashSet nodeList) { // 创建一个副本以避免遍历时修改原集合 @@ -258,7 +306,6 @@ public class getNodeTools if (Physics.Raycast(ray, out RaycastHit raycastHit, distance, layerMask.value)) { float disChar = distance - Vector3.Distance(centerMapUnity.transform.position, raycastHit.collider.transform.position); - Debug.Log(disChar); if (disChar > 0.25) { canPass = false; @@ -325,5 +372,16 @@ public class getNodeTools return canAttack; } + public static MapUnity getRandomElement(HashSet hashSet) + { + if (hashSet == null || hashSet.Count == 0) + { + throw new ArgumentException("HashSet cannot be null or empty."); + } + + System.Random random = new System.Random(); + return hashSet.ElementAt(random.Next(hashSet.Count)); + } + } diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/UI/EnemyUIBar.cs b/ColorlessWorld-2024-4-2/Assets/Scripts/UI/EnemyUIBar.cs index 4c932879..bbce763a 100644 --- a/ColorlessWorld-2024-4-2/Assets/Scripts/UI/EnemyUIBar.cs +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/UI/EnemyUIBar.cs @@ -5,6 +5,7 @@ using UnityEngine.InputSystem; using UnityEngine.UI; using System.Linq; using System.Xml; +using System; public class EnemyUIBar : MonoBehaviour { @@ -80,24 +81,31 @@ public class EnemyUIBar : MonoBehaviour //异常Buff显示 public void RefreshEnemyBuffIcon() { - EnemyState_SO EnemyState = enemyNode.EnemyState; - //先清空 - foreach (var icon in buffIconList ) + try { - Destroy(icon); - } - buffIconList.Clear(); - - //再刷新 - foreach (var key in EnemyState.abnormalCondition.Keys.ToList()) - { - if (EnemyState.abnormalCondition[key].value > 0) + EnemyState_SO EnemyState = enemyNode.EnemyState; + //先清空 + foreach (var icon in buffIconList) { - var buff = Instantiate(buffIcon, buffPanle.transform); - EnemyState.abnormalCondition[key].EnemyUIShow(buff, key,enemyNode); - buffIconList.Add(buff); + Destroy(icon); } + buffIconList.Clear(); + //再刷新 + foreach (var key in EnemyState.abnormalCondition.Keys.ToList()) + { + if (EnemyState.abnormalCondition[key].value > 0) + { + var buff = Instantiate(buffIcon, buffPanle.transform); + EnemyState.abnormalCondition[key].EnemyUIShow(buff, key, enemyNode); + buffIconList.Add(buff); + } + + } + }catch(Exception e) + { + } + } } diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/manager/BuffDataManager.cs b/ColorlessWorld-2024-4-2/Assets/Scripts/manager/BuffDataManager.cs index f9a6229a..98156e5e 100644 --- a/ColorlessWorld-2024-4-2/Assets/Scripts/manager/BuffDataManager.cs +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/manager/BuffDataManager.cs @@ -15,25 +15,33 @@ public class BuffDataManager : Singleton 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("9", new Buff_Bleed()); + abnormalCondition.Add("10", new Buff_Thorn()); + abnormalCondition.Add("16", new Buff_UpperAnger()); + abnormalCondition.Add("17", new Buff_UpperShield()); + abnormalCondition.Add("18", new Buff_Firm()); 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("20", new Buff_DrawCardNumber()); + abnormalCondition.Add("21", new Buff_BanDrawCard()); + //abnormalCondition.Add("21", new Buff_DownStepRange()); + abnormalCondition.Add("22", new Buff_UpperStepRange()); + abnormalCondition.Add("23", new Buff_DownStepRange()); abnormalCondition.Add("24", new Buff_levelSeep()); - abnormalCondition.Add("25", new Buff_parasitism()); + abnormalCondition.Add("25", new Buff_FireSeed()); + abnormalCondition.Add("26", new Buff_BanStepRange()); + abnormalCondition.Add("27", new Buff_parasitism()); + abnormalCondition.Add("28", new Buff_corrode()); + abnormalCondition.Add("29", new Buff_Immunity()); + abnormalCondition.Add("30", new Buff_Boom()); + abnormalCondition.Add("31", new Buff_BoomAndPollute()); - 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("101", new Buff_UpperAnger()); + //abnormalCondition.Add("102", new Buff_UpperShield()); + //abnormalCondition.Add("103", new Buff_Firm()); abnormalCondition.Add("105", new Buff_UpperStepRange()); abnormalCondition.Add("106", new Buff_flashPoint()); abnormalCondition.Add("107", new Buff_BonePile()); - abnormalCondition.Add("108", new Buff_corrode()); + } diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/manager/MapUnitySettleManager.cs b/ColorlessWorld-2024-4-2/Assets/Scripts/manager/MapUnitySettleManager.cs index 1175653f..63bb7764 100644 --- a/ColorlessWorld-2024-4-2/Assets/Scripts/manager/MapUnitySettleManager.cs +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/manager/MapUnitySettleManager.cs @@ -8,7 +8,7 @@ public class MapUnitySettleManager : Singleton { if(GameManager .Instance .playerOn .whoColour == MapUnity.WhoColour.enemyColour ) { - Usermanager.Instance.AddPlayerAbnormalCondition_downSpeed(value); + //Usermanager.Instance.AddPlayerAbnormalCondition_downSpeed(value); } else if (GameManager.Instance.playerOn.whoColour == MapUnity.WhoColour.playerColour) { @@ -21,7 +21,7 @@ public class MapUnitySettleManager : Singleton { if (enemyNode.GetMapGrid().whoColour == MapUnity.WhoColour.playerColour) { - AddEnemyFireSeed(enemyNode, value); + enemyNode.sufferAbnormalCondition(AbnormalCondition.fireSeed, value); } } @@ -34,7 +34,7 @@ public class MapUnitySettleManager : Singleton enemyNode.sufferAbnormalCondition(AbnormalCondition.fireSeed, value); if (enemyNode.EnemyState.abnormalCondition[AbnormalCondition.fireSeed].value >= 10) { - enemyNode.sufferDamage(Usermanager .Instance . DamageCalculation(15)); + enemyNode.sufferDamage(Usermanager .Instance . DamageCalculation(15), false); enemyNode.EnemyState.abnormalCondition[AbnormalCondition.fireSeed].value -= 10; enemyNode.enemyUIBar.RefreshEnemyBuffIcon(); } diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/manager/SettlementManager.cs b/ColorlessWorld-2024-4-2/Assets/Scripts/manager/SettlementManager.cs index 705e9976..20000443 100644 --- a/ColorlessWorld-2024-4-2/Assets/Scripts/manager/SettlementManager.cs +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/manager/SettlementManager.cs @@ -15,7 +15,7 @@ public class SettlementManager : Singleton for (int i = 0; i < influencePreviewPool.Count; i++) { //施加负面 - if (influencePreviewPool[i].enemyNode != null) + if (influencePreviewPool[i].enemyNode != null&& influencePreviewPool[i].enemyNode.enemyType!= EnemyNode.EnemyType.block) { influencePreviewPool[i].enemyNode.sufferAbnormalCondition(condition, stackVak); } @@ -38,7 +38,7 @@ public class SettlementManager : Singleton //造成伤害 if (influencePreviewPool[i].enemyNode != null) { - influencePreviewPool[i].enemyNode.sufferDamage(damageVal); + influencePreviewPool[i].enemyNode.sufferDamage(Usermanager.Instance.DamageCalculation(damageVal), true); } } } @@ -72,7 +72,7 @@ public class SettlementManager : Singleton } break; case CardFunction.cardShield: - Usermanager.Instance.Shield = Usermanager.Instance.Shield + int.Parse(kvp.Value); + Usermanager.Instance.Shield += Usermanager.Instance.ShieldCalculation(int.Parse(kvp.Value)); break; case CardFunction.posion: case CardFunction.weak: @@ -80,6 +80,8 @@ public class SettlementManager : Singleton case CardFunction.disarm: case CardFunction.sleep: case CardFunction.thorn: + case CardFunction.fireSeed: + case CardFunction.vulnerable: abnormalConditionWork(kvp.Key, int.Parse(kvp.Value), influencePreviewPool); break; case CardFunction.costRestore: @@ -88,6 +90,16 @@ public class SettlementManager : Singleton case CardFunction.dyeing: dyeingWork(influencePreviewPool); break; + case CardFunction.ember: + case CardFunction.enhanceShield: + case CardFunction.firm: + case CardFunction.extraDrawCardsNum: + case CardFunction.banDrawCard: + case CardFunction.upSpeed: + case CardFunction.downSpeed: + case CardFunction.banStep: + Usermanager.Instance.SufferPlayerAbnormalCondition(kvp.Key, int.Parse(kvp.Value)); + break; case CardFunction.discard: yield return StartCoroutine(TurnMaster.Instance.randomDiscard(int.Parse(kvp.Value))); yield return StartCoroutine(TurnMaster.Instance.MoveCards()); @@ -114,8 +126,14 @@ public class SettlementManager : Singleton switch (kvp.Key) { case CardFunction.drawCard: - TurnMaster.Instance.drawCards(int.Parse(kvp.Value)); - yield return StartCoroutine(TurnMaster.Instance.MoveCards()); + if (Usermanager.playerAbnormalCondition.ContainsKey(AbnormalCondition.banDrawCard)) + { + } + else + { + TurnMaster.Instance.drawCards(int.Parse(kvp.Value)); + yield return StartCoroutine(TurnMaster.Instance.MoveCards()); + } break; } diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/manager/Usermanager.cs b/ColorlessWorld-2024-4-2/Assets/Scripts/manager/Usermanager.cs index 5f5194a1..edcfdfc6 100644 --- a/ColorlessWorld-2024-4-2/Assets/Scripts/manager/Usermanager.cs +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/manager/Usermanager.cs @@ -73,24 +73,12 @@ public class Usermanager : Singleton SufferPlayerAbnormalCondition(UpperCondition.angerUpperDamage, value, buff); RefreshPlayerBuffIcon(); } - public void AddPlayerAbnormalCondition_angerDownDamage(int value) - { - Buff buff = new Buff_DownAnger(); - SufferPlayerAbnormalCondition(AbnormalCondition.angerDownDamage, value, buff); - RefreshPlayerBuffIcon(); - } public void AddPlayerAbnormalCondition_shieldUpperValue(int value) { Buff buff = new Buff_UpperShield(); SufferPlayerAbnormalCondition(UpperCondition.shieldUpperValue, value, buff); RefreshPlayerBuffIcon(); } - public void AddPlayerAbnormalCondition_shieldDownValue(int value) - { - Buff buff = new Buff_DownShield(); - SufferPlayerAbnormalCondition(AbnormalCondition.shieldDownValue, value, buff); - RefreshPlayerBuffIcon(); - } public void AddPlayerAbnormalCondition_firm(int value) { Buff buff = new Buff_Firm(); @@ -103,24 +91,12 @@ public class Usermanager : Singleton SufferPlayerAbnormalCondition(UpperCondition.addDrawCard, value, buff); RefreshPlayerBuffIcon(); } - public void AddPlayerAbnormalCondition_minusDrawCard(int value) - { - Buff buff = new Buff_MinusDrawCard(); - SufferPlayerAbnormalCondition(AbnormalCondition.minusDrawCard , value, buff); - RefreshPlayerBuffIcon(); - } public void AddPlayerAbnormalCondition_banDrawCard(int value) { Buff buff = new Buff_BanDrawCard(); SufferPlayerAbnormalCondition(AbnormalCondition.banDrawCard, value, buff); 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(); @@ -159,7 +135,7 @@ public class Usermanager : Singleton public void AddPlayerAbnormalCondition_BanStep(int value) { Buff buff = new Buff_BanStepRange(); - SufferPlayerAbnormalCondition(AbnormalCondition.BanStep, value, buff); + SufferPlayerAbnormalCondition(AbnormalCondition.banStep, value, buff); RefreshPlayerBuffIcon(); } @@ -189,11 +165,28 @@ public class Usermanager : Singleton } public void SufferPlayerAbnormalCondition(string condition, int value) { + if (immunityCal(condition,value)) + { + return; + } + if (condition.Equals(AbnormalCondition.levelSleep)) + { + sufferLevelSleep(condition, value); + return; + } + + if (condition.Equals(AbnormalCondition.upSpeed)|| condition.Equals(AbnormalCondition.downSpeed)) + { + sufferSpeed(condition, value); + return; + } + if (playerAbnormalCondition.ContainsKey(condition)) { int beforeval = playerAbnormalCondition[condition].value; int afterval = beforeval + value; playerAbnormalCondition[condition].value = afterval; + Debug.Log("加入了:" + condition + "afterval:" + afterval); } else { @@ -201,11 +194,143 @@ public class Usermanager : Singleton } } + + private bool immunityCal(string condition, int value) + { + bool isImmunityDispose = false; + if (playerAbnormalCondition.ContainsKey(AbnormalCondition.immunity)&& !AbnormalCondition.playBuffList.Contains(condition)) + { + isImmunityDispose = true; + playerAbnormalCondition[AbnormalCondition.immunity].value -= 1; + if (playerAbnormalCondition[AbnormalCondition.immunity].value<=0) + { + playerAbnormalCondition.Remove(AbnormalCondition.immunity); + } + } + return isImmunityDispose; + } + + private void sufferLevelSleep(string condition, int value) + { + //LevelSleep的特殊处理 + int nowValue = 0; + if (playerAbnormalCondition.ContainsKey(condition)) + { + nowValue = playerAbnormalCondition[condition].value; + } + int trueValue = nowValue + value; + int sleepLayers = 0; + if (trueValue >= 10) + { + sleepLayers = trueValue / 10; + + } + int afterval = trueValue % 10; + Debug.Log("sleep层数是:" + sleepLayers); + Debug.Log("剩余层数是:" + afterval); + if (sleepLayers > 0) + { + SufferPlayerAbnormalCondition(AbnormalCondition.sleep, sleepLayers); + } + playerAbnormalCondition.Remove(condition); + AddNewAbnormalCondition(condition, afterval); + //enemyUIBar.RefreshEnemyBuffIcon(); + + } + + private void sufferSpeed(string condition, int value) + { + //speed的特殊处理 + if (condition.Equals(AbnormalCondition.upSpeed)) + { + if (playerAbnormalCondition.ContainsKey(AbnormalCondition.downSpeed)) + { + int downLayer = playerAbnormalCondition[AbnormalCondition.downSpeed].value; + int trueLayer = downLayer - value; + if (trueLayer > 0) + { + playerAbnormalCondition[AbnormalCondition.downSpeed].value = trueLayer; + } + else if (trueLayer == 0) + { + playerAbnormalCondition.Remove(AbnormalCondition.downSpeed); + } + else if (trueLayer < 0) + { + playerAbnormalCondition.Remove(AbnormalCondition.downSpeed); + AddNewAbnormalCondition(condition, 0-trueLayer); + } + }else + { + if (playerAbnormalCondition.ContainsKey(condition)) + { + int beforeval = playerAbnormalCondition[condition].value; + int afterval = beforeval + value; + playerAbnormalCondition[condition].value = afterval; + Debug.Log("加入了:" + condition + "afterval:" + afterval); + } + else + { + AddNewAbnormalCondition(condition, value); + } + } + }else if (condition.Equals(AbnormalCondition.downSpeed)) + { + if (playerAbnormalCondition.ContainsKey(AbnormalCondition.upSpeed)) + { + int downLayer = playerAbnormalCondition[AbnormalCondition.upSpeed].value; + int trueLayer = downLayer - value; + if (trueLayer > 0) + { + playerAbnormalCondition[AbnormalCondition.upSpeed].value = trueLayer; + } + else if (trueLayer == 0) + { + playerAbnormalCondition.Remove(AbnormalCondition.upSpeed); + } + else if (trueLayer < 0) + { + playerAbnormalCondition.Remove(AbnormalCondition.upSpeed); + AddNewAbnormalCondition(condition, 0 - trueLayer); + } + } + else + { + if (playerAbnormalCondition.ContainsKey(condition)) + { + int beforeval = playerAbnormalCondition[condition].value; + int afterval = beforeval + value; + playerAbnormalCondition[condition].value = afterval; + Debug.Log("加入了:" + condition + "afterval:" + afterval); + } + else + { + AddNewAbnormalCondition(condition, value); + } + } + } + //enemyUIBar.RefreshEnemyBuffIcon(); + + } + public void AddNewAbnormalCondition(string condition, int value) { if (BuffDataManager.Instance.abnormalCondition.ContainsKey(condition)) { + if (condition.Equals(AbnormalCondition.upSpeed)) + { + GameManager.Instance.playerState.currentStepRange += 1; + } + if (condition.Equals(AbnormalCondition.downSpeed)) + { + GameManager.Instance.playerState.currentStepRange -= 1; + } + if (condition.Equals(AbnormalCondition.banStep)) + { + GameManager.Instance.playerState.currentStepRange = 0; + } playerAbnormalCondition.Add(condition, BuffDataManager.Instance.abnormalCondition[condition].NewBuff(value)); + Debug.Log("加入了:" + condition + "value是:" + value); } } //回合Buff结算 @@ -218,6 +343,17 @@ public class Usermanager : Singleton RefreshPlayerBuffIcon(); } + } + + public void PlayerTurnBeginSettle() + { + foreach (var key in playerAbnormalCondition.Keys.ToList()) + { + playerAbnormalCondition[key].BeginSettle(); + AbnormalConditionEndCheck(); + RefreshPlayerBuffIcon(); + } + } //回合结束时结算buff public void BuffSettleInEndTurn() @@ -239,9 +375,19 @@ public class Usermanager : Singleton { foreach (var key in playerAbnormalCondition.Keys.ToList()) { - if (playerAbnormalCondition[key].CheckValue() <= 0) + if (AbnormalCondition.canNegativeNumberList.Contains(key)) { - playerAbnormalCondition.Remove(key); + if (playerAbnormalCondition[key].CheckValue() == 0) + { + playerAbnormalCondition.Remove(key); + } + } + else + { + if (playerAbnormalCondition[key].CheckValue() <= 0) + { + playerAbnormalCondition.Remove(key); + } } } } @@ -268,26 +414,80 @@ public class Usermanager : Singleton } } - public void SufferDamage(int damage) + public void SufferTrueDamage(int damage) { - GameManager.Instance.playerState.currentHP -= SufferDamageCalculation(damage); + int trueDamage = SufferTrueDamageCalculation(damage); + if (trueDamage > shield) + { + int afterVal= trueDamage - shield; + shield = 0; + GameManager.Instance.playerState.currentHP -= afterVal; + } + else + { + shield-= trueDamage; + } + } + + public void SufferDamage(int damage,EnemyNode enemyNode) + { + if (enemyNode != null) + { + thornCal(enemyNode); + } + bleedCal(); + int trueDamage = SufferDamageCalculation(damage); + if (trueDamage > shield) + { + int afterVal = trueDamage - shield; + shield = 0; + GameManager.Instance.playerState.currentHP -= afterVal; + } + else + { + shield -= trueDamage; + } + } + + private void bleedCal() + { + if (playerAbnormalCondition.ContainsKey(AbnormalCondition.bleed)) + { + SufferTrueDamage(2); + playerAbnormalCondition[AbnormalCondition.bleed].value -=1; + if (playerAbnormalCondition[AbnormalCondition.bleed].value<=0) + { + playerAbnormalCondition.Remove(AbnormalCondition.bleed); + } + + } + } + + private void thornCal(EnemyNode enemyNode) + { + if (playerAbnormalCondition.ContainsKey(AbnormalCondition.thorn)) + { + enemyNode.sufferTrueDamage(3); + playerAbnormalCondition[AbnormalCondition.thorn].value -= 1; + if (playerAbnormalCondition[AbnormalCondition.thorn].value <= 0) + { + playerAbnormalCondition.Remove(AbnormalCondition.thorn); + } + + } } - + #region Buff结算函数 //计算函数 //伤害计算函数 public int DamageCalculation(int damage) { - int angerUpperDamage=0, angerDownDamage=0; + int angerUpperDamage = 0; - if (playerAbnormalCondition .ContainsKey (UpperCondition .angerUpperDamage )) + if (playerAbnormalCondition .ContainsKey (AbnormalCondition.angerUpperDamage)) { - angerUpperDamage = playerAbnormalCondition[UpperCondition.angerUpperDamage].value; - } - if(playerAbnormalCondition.ContainsKey(AbnormalCondition.angerDownDamage )) - { - angerDownDamage = playerAbnormalCondition[AbnormalCondition.angerDownDamage].value; + angerUpperDamage = playerAbnormalCondition[AbnormalCondition.angerUpperDamage].value; } if(playerAbnormalCondition.ContainsKey(AbnormalCondition.weak)) { @@ -296,8 +496,8 @@ public class Usermanager : Singleton { damagemultiply = 1f; } - damage = (int)((damage + angerUpperDamage - angerDownDamage) * damagemultiply); - + damage = (int)((damage + angerUpperDamage ) * damagemultiply); + MathTool.keepNature(damage); return damage; } @@ -307,59 +507,30 @@ public class Usermanager : Singleton { int shieldValue = 0; - if (playerAbnormalCondition.ContainsKey(UpperCondition.shieldUpperValue)) - { - shieldValue += playerAbnormalCondition[UpperCondition.shieldUpperValue].value; - } - if (playerAbnormalCondition.ContainsKey(AbnormalCondition.shieldDownValue)) + if (playerAbnormalCondition.ContainsKey(AbnormalCondition.shieldUpperValue)) { - shieldValue -= playerAbnormalCondition[AbnormalCondition.shieldDownValue].value; + shieldValue += playerAbnormalCondition[AbnormalCondition.shieldUpperValue].value; } shield += shieldValue; - + MathTool.keepNature(shield); return shield; } - //抽牌计算函数 - public int DrawCardCalculation(int drawNumber) - { - int addDrawNumber = 0; - - if (playerAbnormalCondition.ContainsKey(UpperCondition.addDrawCard)) - { - addDrawNumber += playerAbnormalCondition[UpperCondition.addDrawCard].value; - } - if (playerAbnormalCondition.ContainsKey(AbnormalCondition.minusDrawCard)) - { - addDrawNumber -= playerAbnormalCondition[AbnormalCondition.minusDrawCard].value; - } - if (playerAbnormalCondition.ContainsKey(AbnormalCondition.banDrawCard)) - { - drawNubmerMultiply =0; - } - else - { - drawNubmerMultiply = 1f; - } - drawNumber = (int)((drawNumber + addDrawNumber) * drawNubmerMultiply); - return drawNumber; - } - //移动力计算函数 public int StepRangeCalculation(int stepRange) { int addStepRange =0; - if (playerAbnormalCondition.ContainsKey(UpperCondition.upperSpeed)) + if (playerAbnormalCondition.ContainsKey(AbnormalCondition.upSpeed)) { - addStepRange += 1; + addStepRange = 1; } - if (playerAbnormalCondition.ContainsKey(AbnormalCondition.downSpeed)) + else if (playerAbnormalCondition.ContainsKey(AbnormalCondition.downSpeed)) { - addStepRange -= 1; + addStepRange = -1; } - if (playerAbnormalCondition.ContainsKey(AbnormalCondition.BanStep)) + if (playerAbnormalCondition.ContainsKey(AbnormalCondition.banStep)) { stepRangeMultiply = 0; } @@ -368,9 +539,24 @@ public class Usermanager : Singleton stepRangeMultiply = 1f; } stepRange = (int)((stepRange + addStepRange) *stepRangeMultiply); + MathTool.keepNature(stepRange); return stepRange; } //受伤计算函数 + public int SufferTrueDamageCalculation(int damage) + { + sufferDamageMultiply = 1f; + damage =(int)(sufferDamageMultiply * damage); + if (damage > 0 && playerAbnormalCondition.ContainsKey(AbnormalCondition.sleep)) + { + sleep = false; + playerAbnormalCondition.Remove(AbnormalCondition.sleep); + BanActionJudge(); + RefreshPlayerBuffIcon(); + } + return damage; + } + public int SufferDamageCalculation(int damage) { if (playerAbnormalCondition.ContainsKey(AbnormalCondition.vulnerable)) @@ -381,7 +567,7 @@ public class Usermanager : Singleton { sufferDamageMultiply = 1f; } - damage =(int)(sufferDamageMultiply * damage); + damage = (int)(sufferDamageMultiply * damage); if (damage > 0 && playerAbnormalCondition.ContainsKey(AbnormalCondition.sleep)) { @@ -396,7 +582,7 @@ public class Usermanager : Singleton //寄生实现函数 public void ParasitismnRealize(MapUnity start,MapUnity end) { - if (playerAbnormalCondition.ContainsKey(AbnormalCondition.parasitism)&& playerAbnormalCondition[AbnormalCondition.parasitism].value>0) + if (playerAbnormalCondition.ContainsKey(AbnormalCondition.parasitism)|| playerAbnormalCondition.ContainsKey(AbnormalCondition.corrode)) { List path = AStarManager.Instance.FindPathWithEndNode(start, end); foreach (var node in path ) @@ -405,6 +591,24 @@ public class Usermanager : Singleton } } + } + + public void bleedRealize(MapUnity start, MapUnity end) + { + if (playerAbnormalCondition.ContainsKey(AbnormalCondition.bleed)) + { + List path = AStarManager.Instance.FindPathWithEndNode(start, end); + foreach (var node in path) + { + SufferDamage(2,null); + playerAbnormalCondition[AbnormalCondition.bleed].value -= 1; + if (playerAbnormalCondition[AbnormalCondition.bleed].value<=0) + { + playerAbnormalCondition.Remove(AbnormalCondition.bleed); + } + } + } + } //判断函数 @@ -424,7 +628,7 @@ public class Usermanager : Singleton //强固判断函数 public bool FirmJudge() { - if (playerAbnormalCondition.ContainsKey(UpperCondition.firm)) + if (playerAbnormalCondition.ContainsKey(AbnormalCondition.firm)) { firm = true; } diff --git a/ColorlessWorld-2024-4-2/Assets/data/card_data(宸茶嚜鍔ㄨ繕鍘).CSV b/ColorlessWorld-2024-4-2/Assets/data/card_data(宸茶嚜鍔ㄨ繕鍘).CSV new file mode 100644 index 00000000..f4f6b40d --- /dev/null +++ b/ColorlessWorld-2024-4-2/Assets/data/card_data(宸茶嚜鍔ㄨ繕鍘).CSV @@ -0,0 +1,21 @@ +锘縄D,鍚嶇О,璐圭敤,绋鏈夊害,鍔熻兘,鏁板,鏂芥硶鑼冨洿,浣滅敤鑼冨洿,娑堣,浼樺娍鍔熻兘,鏁板,鍗$墝绫诲瀷,浼樺娍鎻忚堪,鍥剧墖璺緞 +10001,灏勫嚮,1,1,1,7,3,1,0,1,7,1,,PlayerIcon +10002,鎶ょ浘,1,1,2,5,0,0,0,2,5,1,,PlayerIcon +10003,姣掕嵂,1,1,4,6,3,1,0,4,10,1,鏂藉姞4灞備腑姣,PlayerIcon +10004,鏋彾鐐稿脊,2,2,9,2,2,7_2,0,9;4,2;4,1,鏂藉姞4灞備腑姣,PlayerIcon +10005,鑺辩矇,0,2,8,2,4,1,0,8,2,1,鏂藉姞1灞傛矇鐫,PlayerIcon +10006,鑷存畫,2,1,7,2,2,1,0,7;9,2;2,1,鏂藉姞2灞傛祦琛,PlayerIcon +10007,婊嬪吇,1,2,12;13,3;1,0,0,0,12,3,1,鏃犻渶涓㈠純,PlayerIcon +10008,鑽夊北鍘嬮《,3,3,1;6,10;1,2,1,0,1;6,13;1,1,閫犳垚3鐐逛激瀹,PlayerIcon +10009,灏栧埡鐢,1,1,2;10,3;4,0,0,0,2;10,3;6,1,鑾峰緱3灞傝崋妫,PlayerIcon +10010,娲诲姏,0,2,11,1,0,0,1,11,2,1,鑾峰緱1鐐硅兘閲,PlayerIcon +10011,鑽夊洟,2,1,1;14,5;0,1,6_2,1,1;14,8;0,1,閫犳垚3鐐逛激瀹,PlayerIcon +10012,绌垮埡灏勫嚮,2,1,1,8,1,5_1,0,1;4,8;4,1,鏂藉姞4灞備腑姣,PlayerIcon +10013,妫灄涔嬫,3,3,1,20,3,1,0,1;15,20;0,1,閫犳垚鍦哄湴宸激瀹,PlayerIcon +10014,宸ㄦ爲涔嬪紦,2,1,1;14,13;0,3,5_3,0,1;14;5,13;0;1,1,鏂藉姞1灞傝櫄寮,PlayerIcon +10015,鐐稿脊,0,1,1,5,0,8_2,0,1,5,1,,PlayerIcon +10016,鎸ョ爫,1,1,,,,,,,,,, +10017,椋為晼,1,1,,,,,,,,,, +10018,鎶ょ浘,1,1,,,,,,,,,, +10019,鍒閿嬪啿鍒,1,1,,,,,,,,,, +10020,鐏杞,2,1,,,,,,,,,, diff --git a/ColorlessWorld-2024-4-2/Assets/data/card_data(宸茶嚜鍔ㄨ繕鍘).CSV.meta b/ColorlessWorld-2024-4-2/Assets/data/card_data(宸茶嚜鍔ㄨ繕鍘).CSV.meta new file mode 100644 index 00000000..7eedfef0 --- /dev/null +++ b/ColorlessWorld-2024-4-2/Assets/data/card_data(宸茶嚜鍔ㄨ繕鍘).CSV.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 756dc84a049c81a4089ed459ecb0f174 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/ColorlessWorld-2024-4-2/Assets/data/card_data_1.csv b/ColorlessWorld-2024-4-2/Assets/data/card_data_1.csv new file mode 100644 index 00000000..71e87968 --- /dev/null +++ b/ColorlessWorld-2024-4-2/Assets/data/card_data_1.csv @@ -0,0 +1,5 @@ +锘縄D,鍚嶇О,璐圭敤,绋鏈夊害,鍔熻兘,鏁板,鏂芥硶鑼冨洿,浣滅敤鑼冨洿,娑堣,浼樺娍鍔熻兘,鏁板,鍗$墝绫诲瀷,浼樺娍鎻忚堪,鍥剧墖璺緞 +10001,鎸ョ爫,1,1,7;19,6;1,1,1,0,7;19,6;1,1,,PlayerIcon +10002,椋為晼,1,1,7,4,1,5_1,0,7,4,1,,PlayerIcon +10003,鎶ょ浘,1,1,12;23,2;1,0,0,0,12;23,2;1,2,,PlayerIcon +10004,鐏杞,0,1,1;22,4;1,0,6_3,0,1;22,4;1,1,,PlayerIcon diff --git a/ColorlessWorld-2024-4-2/Assets/data/card_data_1.csv.meta b/ColorlessWorld-2024-4-2/Assets/data/card_data_1.csv.meta new file mode 100644 index 00000000..5e000424 --- /dev/null +++ b/ColorlessWorld-2024-4-2/Assets/data/card_data_1.csv.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 02128876db686ef459bd576ab2d65d9a +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/ColorlessWorld-2024-4-2/obj/Debug/Assembly-CSharp.csproj.AssemblyReference.cache b/ColorlessWorld-2024-4-2/obj/Debug/Assembly-CSharp.csproj.AssemblyReference.cache deleted file mode 100644 index ceb211e5..00000000 Binary files a/ColorlessWorld-2024-4-2/obj/Debug/Assembly-CSharp.csproj.AssemblyReference.cache and /dev/null differ diff --git a/ColorlessWorld-2024-4-2/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache b/ColorlessWorld-2024-4-2/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache deleted file mode 100644 index 907412b7..00000000 Binary files a/ColorlessWorld-2024-4-2/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache and /dev/null differ