Browse Source

bug修复

pull/52/head
yjm484 1 year ago
parent
commit
5a1f859cd5
  1. 11
      ColorlessWorld-2024-4-2/Assets/Scripts/Card/CardEntity.cs
  2. 6
      ColorlessWorld-2024-4-2/Assets/Scripts/Card/TurnMaster.cs
  3. 12
      ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/BlackSheep.cs
  4. 6
      ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/DarkCloud.cs
  5. 6
      ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/EnemyNode.cs
  6. 4
      ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/Grinfiend.cs
  7. 2
      ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/HoodWanderer.cs
  8. 6
      ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/Mushroom.cs
  9. 6
      ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/Polymaw.cs
  10. 2
      ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/SkullGuardian.cs
  11. 4
      ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/SkullMage.cs
  12. 4
      ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/SkullWarlock.cs
  13. 10
      ColorlessWorld-2024-4-2/Assets/Scripts/MapUnity.cs
  14. 2
      ColorlessWorld-2024-4-2/Assets/Scripts/PlayerManager/PlayerStatsManager.cs
  15. 53
      ColorlessWorld-2024-4-2/Assets/Scripts/manager/CardManager.cs
  16. 6
      ColorlessWorld-2024-4-2/Assets/Scripts/manager/SettlementManager.cs
  17. 2
      ColorlessWorld-2024-4-2/Assets/Scripts/manager/Usermanager.cs

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

@ -122,13 +122,13 @@ public class CardEntity : MonoBehaviour
}
public void createCard(string cardId, int cardIndex)
public void createCard(string cardId, int cardIndex,bool needTrueFun)
{
this.cardId = cardId;
//Debug.Log(cardId + "-" + CardOriginalDataList.Instance.cardOriginalDataList[cardId]);
cardOriginalData = CardOriginalDataList.Instance.existCardOriginalDataList[cardId];
settleForStart(SettlementManager.settleTurn);
createCardUI();
createCardUI(needTrueFun);
//createCardDescription();
//createCardName();
//createCardCost();
@ -227,7 +227,7 @@ public class CardEntity : MonoBehaviour
}
public void createCardUI()
public void createCardUI(bool needTrueFun)
{
/*if (cardOriginalData.Rarity.Equals(Name.CardRarity.Legendary))
{
@ -279,7 +279,10 @@ public class CardEntity : MonoBehaviour
//createFun(3);
break;
}
createTrueFun();
if (needTrueFun)
{
createTrueFun();
}
summarizeNodeColor();

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

@ -427,7 +427,7 @@ public class TurnMaster : Singleton<TurnMaster>
cardPrefab.GetComponent<RectTransform>().localEulerAngles = new Vector3(0, 0, 0);
CardEntity cardEntity = cardPrefab.GetComponent<CardEntity>();
cardEntity.createCard(cardDeck.cardList[cardDeck.cardList.Count - 1], i);
cardEntity.createCard(cardDeck.cardList[cardDeck.cardList.Count - 1], i,true);
cardDeck.cardList.RemoveAt(cardDeck.cardList.Count - 1);
handCard.cardEntityList.Add(cardEntity);
//ĚíźÓż¨ĹĆŇĆśŻ˝Ĺąž
@ -463,7 +463,7 @@ public class TurnMaster : Singleton<TurnMaster>
cardPrefab.GetComponent<RectTransform>().localEulerAngles = new Vector3(0, 0, 0);
CardEntity cardEntity = cardPrefab.GetComponent<CardEntity>();
cardEntity.createCard(cardDeck.cardList[cardDeck.cardList.Count - 1], i);
cardEntity.createCard(cardDeck.cardList[cardDeck.cardList.Count - 1], i,true);
cardDeck.cardList.RemoveAt(cardDeck.cardList.Count - 1);
handCard.cardEntityList.Add(cardEntity);
}
@ -488,7 +488,7 @@ public class TurnMaster : Singleton<TurnMaster>
}
cardPrefab.GetComponent<RectTransform>().localEulerAngles = new Vector3(0, 0, 0);
CardEntity cardEntity = cardPrefab.GetComponent<CardEntity>();
cardEntity.createCard(id, 0);
cardEntity.createCard(id, 0,false);
return cardPrefab;
}

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

@ -113,16 +113,16 @@ public class BlackSheep : MonoBehaviour
if (!enemyNode.EnemyState.abnormalCondition.ContainsKey(AbnormalCondition.disarm))
{
AttackDamage(enemyNode.EnemyState.damage);
GameManager.Instance.playerOn.whoColour = Name.NodeColor.Black;
GameManager.Instance.playerOn.switchColor(Name.NodeColor.Black);
if (GameManager.Instance.playerOn.unitPool[0] != null)
{
MapUnity mapUnityA = GameManager.Instance.playerOn.unitPool[1];
mapUnityA.whoColour = Name.NodeColor.Black;
mapUnityA.switchColor(Name.NodeColor.Black);
}
if (GameManager.Instance.playerOn.unitPool[5] != null)
{
MapUnity mapUnityA = GameManager.Instance.playerOn.unitPool[5];
mapUnityA.whoColour = Name.NodeColor.Black;
mapUnityA.switchColor(Name.NodeColor.Black);
}
}
}
@ -136,16 +136,16 @@ public class BlackSheep : MonoBehaviour
if (!enemyNode.EnemyState.abnormalCondition.ContainsKey(AbnormalCondition.disarm))
{
AttackDamage(enemyNode.EnemyState.damage);
GameManager.Instance.playerOn.whoColour = Name.NodeColor.Black;
GameManager.Instance.playerOn.switchColor(Name.NodeColor.Black);
if (GameManager.Instance.playerOn.unitPool[0] != null)
{
MapUnity mapUnityA = GameManager.Instance.playerOn.unitPool[0];
mapUnityA.whoColour = Name.NodeColor.Black;
mapUnityA.switchColor(Name.NodeColor.Black);
}
if (GameManager.Instance.playerOn.unitPool[5] != null)
{
MapUnity mapUnityA = GameManager.Instance.playerOn.unitPool[5];
mapUnityA.whoColour = Name.NodeColor.Black;
mapUnityA.switchColor(Name.NodeColor.Black);
}
}
}

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

@ -147,12 +147,12 @@ public class DarkCloud : MonoBehaviour
if (GameManager.Instance.playerOn.unitPool[1] != null)
{
MapUnity mapUnityA = GameManager.Instance.playerOn.unitPool[1];
mapUnityA.whoColour=Name.NodeColor.Black;
mapUnityA.switchColor(Name.NodeColor.Black);
}
if (GameManager.Instance.playerOn.unitPool[5] != null)
{
MapUnity mapUnityA = GameManager.Instance.playerOn.unitPool[5];
mapUnityA.whoColour = Name.NodeColor.Black;
mapUnityA.switchColor(Name.NodeColor.Black);
}
}
@ -173,7 +173,7 @@ public class DarkCloud : MonoBehaviour
getNodeTools.getCircleNodeForEnemy(targetNodes,1);
foreach (MapUnity node in targetNodes)
{
node.whoColour = Name.NodeColor.Black;
node.switchColor(Name.NodeColor.Black);
}
if (getNodeTools.canRemoteAttack(currentNode, enemyNode.EnemyState.attackRange))
{

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

@ -733,7 +733,7 @@ public class EnemyNode : MonoBehaviour,IEnemyObserver
getNodeTools.getCircleNodeForBoom(targetSet, 1);
foreach (MapUnity target in targetSet)
{
target.whoColour = Name.NodeColor.Black;
target.switchColor(Name.NodeColor.Black);
}
}
@ -746,7 +746,7 @@ public class EnemyNode : MonoBehaviour,IEnemyObserver
int damage = EnemyState.abnormalCondition[AbnormalCondition.boom].value;
foreach (MapUnity target in targetSet)
{
target.whoColour = Name.NodeColor.Black;
target.switchColor(Name.NodeColor.Black);
if (target.Equals(GameManager.Instance.playerOn))
{
Usermanager.Instance.SufferDamage(damage, null);
@ -1370,7 +1370,7 @@ public class EnemyNode : MonoBehaviour,IEnemyObserver
{
if (EnemyState.abnormalCondition.ContainsKey(AbnormalCondition.corrode))
{
node.whoColour = Name.NodeColor.Black;
node.switchColor(Name.NodeColor.Black);
}
}

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

@ -134,12 +134,12 @@ public class Grinfiend : MonoBehaviour
if (GameManager.Instance.playerOn.unitPool[1] != null)
{
MapUnity mapUnityA = GameManager.Instance.playerOn.unitPool[1];
mapUnityA.whoColour=Name.NodeColor.Black;
mapUnityA.switchColor(Name.NodeColor.Black);
}
if (GameManager.Instance.playerOn.unitPool[5] != null)
{
MapUnity mapUnityA = GameManager.Instance.playerOn.unitPool[5];
mapUnityA.whoColour = Name.NodeColor.Black;
mapUnityA.switchColor(Name.NodeColor.Black);
}
}

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

@ -121,7 +121,7 @@ public class HoodWanderer : MonoBehaviour
HashSet<MapUnity> randomNodes = MathTool.GetRandomElements(set, num);
foreach (var node in randomNodes)
{
node.whoColour = Name.NodeColor.Black;
node.switchColor(Name.NodeColor.Black);
}
GameManager.Instance.SyncColourCountUI();
}

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

@ -86,7 +86,7 @@ public class Mushroom : MonoBehaviour
getNodeTools.getCircleNodeForEnemy(targetNodes, 1);
foreach (MapUnity node in targetNodes)
{
node.whoColour = Name.NodeColor.Black;
node.switchColor(Name.NodeColor.Black);
if (node.Equals(GameManager.Instance.playerOn))
{
Usermanager.Instance.SufferDamage(enemyNode.DamageCalculation(7), enemyNode);
@ -213,12 +213,12 @@ public class Mushroom : MonoBehaviour
if (GameManager.Instance.playerOn.unitPool[1] != null)
{
MapUnity mapUnityA = GameManager.Instance.playerOn.unitPool[1];
mapUnityA.whoColour=Name.NodeColor.Black;
mapUnityA.switchColor(Name.NodeColor.Black);
}
if (GameManager.Instance.playerOn.unitPool[5] != null)
{
MapUnity mapUnityA = GameManager.Instance.playerOn.unitPool[5];
mapUnityA.whoColour = Name.NodeColor.Black;
mapUnityA.switchColor(Name.NodeColor.Black);
}
}

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

@ -173,7 +173,7 @@ public class Polymaw : MonoBehaviour
AttackDamage();
foreach (MapUnity node in targetNodes)
{
node.whoColour = Name.NodeColor.Black;
node.switchColor(Name.NodeColor.Black);
}
}
}
@ -190,7 +190,7 @@ public class Polymaw : MonoBehaviour
AttackDamage();
foreach (MapUnity node in targetNodes)
{
node.whoColour = Name.NodeColor.Black;
node.switchColor(Name.NodeColor.Black);
}
}
}
@ -234,7 +234,7 @@ public class Polymaw : MonoBehaviour
getNodeTools.getCircleNodeForEnemy(targetNodes, 2);
foreach (MapUnity node in targetNodes)
{
node.whoColour = Name.NodeColor.Black;
node.switchColor(Name.NodeColor.Black);
if (node.Equals(GameManager.Instance.playerOn))
{
Usermanager.Instance.SufferDamage(enemyNode.DamageCalculation(5), enemyNode);

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

@ -226,7 +226,7 @@ public class SkullGuardian : MonoBehaviour
{
if (toColourPool.Count > 0)
{
toColourPool[c].whoColour = Name.NodeColor.Black;
toColourPool[c].switchColor(Name.NodeColor.Black); ;
if(toColourPool[c].playerOn)
{
AttackDamage();

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

@ -102,7 +102,7 @@ public class SkullMage : MonoBehaviour
HashSet<MapUnity> randomNodes = MathTool.GetRandomElements(set, num);
foreach (var node in randomNodes)
{
node.whoColour = Name.NodeColor.Black;
node.switchColor(Name.NodeColor.Black);
}
GameManager.Instance.SyncColourCountUI();
}
@ -241,7 +241,7 @@ public class SkullMage : MonoBehaviour
{
if (toColourPool.Count > 0)
{
toColourPool[c].whoColour = Name.NodeColor.Black;
toColourPool[c].switchColor(Name.NodeColor.Black);
if (toColourPool[c].playerOn)
{
AttackDamage();

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

@ -92,7 +92,7 @@ public class SkullWarlock : MonoBehaviour
HashSet<MapUnity> randomNodes = MathTool.GetRandomElements(set, num);
foreach (var node in randomNodes)
{
node.whoColour = Name.NodeColor.Black;
node.switchColor(Name.NodeColor.Black);
}
GameManager.Instance.SyncColourCountUI();
}
@ -231,7 +231,7 @@ public class SkullWarlock : MonoBehaviour
{
if (toColourPool.Count > 0)
{
toColourPool[c].whoColour = Name.NodeColor.Black;
toColourPool[c].switchColor(Name.NodeColor.Black);
if (toColourPool[c].playerOn)
{
AttackDamage();

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

@ -154,10 +154,16 @@ public class MapUnity : MonoBehaviour
colourGameObject.GetComponent<Renderer>().material = noneColour;
}*/
if (whoColour != beforeWhoColour)
/* if (whoColour != beforeWhoColour)
{
RefreshWhoColor();
}
}*/
}
public void switchColor(int newColor)
{
whoColour = newColor;
RefreshWhoColor();
}
public void RegisterUnit()
{

2
ColorlessWorld-2024-4-2/Assets/Scripts/PlayerManager/PlayerStatsManager.cs

@ -111,7 +111,7 @@ public class PlayerStatsManager : Singleton <PlayerStatsManager>
}
cardPrefab.GetComponent<RectTransform>().localEulerAngles = new Vector3(0, 0, 0);
CardEntity cardEntity = cardPrefab.GetComponent<CardEntity>();
cardEntity.createCard(id, 0);
cardEntity.createCard(id, 0, false);
return cardPrefab;
}

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

@ -2,9 +2,11 @@ using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
using Newtonsoft.Json;
using UnityEngine;
using static UnityEngine.Rendering.DebugUI;
public class CardManager : Singleton<CardManager>
{
@ -33,6 +35,52 @@ public class CardManager : Singleton<CardManager>
string newCardId=AddElementToDictionary(CardOriginalDataList.Instance.existCardOriginalDataList, cardOriginalData.CardId, newCardOriginalData);
return newCardId;
}
public string switchColorAndAllCondition(string orginalCardId, CardOriginalData cardOriginalData, string newColor)
{
//CardOriginalData newCardOriginalData=cardOriginalData;
CardOriginalData newCardOriginalData = JsonConvert.DeserializeObject<CardOriginalData>(JsonConvert.SerializeObject(cardOriginalData));
for (int i=0;i<cardOriginalData.conditionAndFunctionVal.Count;i++)
{
string condition = newCardOriginalData.conditionAndFunctionVal.ElementAt(i).Key;
string pattern = @"(\w+)([><=])(\d+)";
string[] conditions=condition.Split("_");
StringBuilder sb = new StringBuilder();
for (int j = 0; j < conditions.Length; j++)
{
newCardOriginalData.originFunctionVal.Clear();
Match match = Regex.Match(conditions[j], pattern);
if (match.Success)
{
string beforecolor = match.Groups[1].Value; // 颜色部分
string op = match.Groups[2].Value; // 运算符部分
string number = match.Groups[3].Value; // 数值部分
string newCon = newColor + op + number;
if (j != 0)
{
sb.Append("_");
}
sb.Append(newCon);
}
}
Tuple<string, string> value = newCardOriginalData.conditionAndFunctionVal[condition];
newCardOriginalData.conditionAndFunctionVal.Remove(condition);
newCardOriginalData.conditionAndFunctionVal.Add(sb.ToString(), value);
}
for (int i = 0; i < newCardOriginalData.nodesColor.Length; i++)
{
if (!newCardOriginalData.nodesColor[i].Equals(Name.none))
{
newCardOriginalData.nodesColor[i] = newColor;
}
}
string newCardImgPath = "CardIcon/" + cardOriginalData.EffectRange + newColor;
newCardOriginalData.ImgPath = newCardImgPath;
string newCardId = AddElementToDictionary(CardOriginalDataList.Instance.existCardOriginalDataList, cardOriginalData.CardId, newCardOriginalData);
return newCardId;
}
public List<string> splitStringIntoComponents(string input)
{
// 使用正则表达式将颜色、符号和数字分离出来,并支持其他符号如减号
@ -109,7 +157,10 @@ public class CardManager : Singleton<CardManager>
CardOriginalData newCardOriginalData = JsonConvert.DeserializeObject<CardOriginalData>(JsonConvert.SerializeObject(cardOriginalData));
for (int i = 0; i < newCardOriginalData.nodesColor.Length; i++)
{
newCardOriginalData.nodesColor[i] = newColor;
if (!newCardOriginalData.nodesColor[i].Equals(Name.none))
{
newCardOriginalData.nodesColor[i] = newColor;
}
}
string newCardImgPath = "CardIcon/" + cardOriginalData.EffectRange + newColor;
newCardOriginalData.ImgPath = newCardImgPath;

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

@ -47,7 +47,7 @@ public class SettlementManager : Singleton<SettlementManager>
}
if (!cardOriginalData.nodesColor[0].Equals(Name.none))
{
targetNode.whoColour = Name.stringColorToint(cardOriginalData.nodesColor[0]);
targetNode.switchColor(Name.stringColorToint(cardOriginalData.nodesColor[0]));
}
Debug.Log("offsetÊÇ" + offset);
for (int i = 0; i < cardOriginalData.nodesMark.Length; i++)
@ -61,7 +61,7 @@ public class SettlementManager : Singleton<SettlementManager>
}
if (endNode != null)
{
endNode.whoColour = Name.stringColorToint(cardOriginalData.nodesColor[i + 1]);
endNode.switchColor(Name.stringColorToint(cardOriginalData.nodesColor[i + 1]));
}
}
}
@ -320,7 +320,7 @@ public class SettlementManager : Singleton<SettlementManager>
List<MapUnity> path = AStarManager.Instance.FindPathWithEndNode(start, end);
foreach (var node in path)
{
node.whoColour = Name.NodeColor.Black;
node.switchColor(Name.NodeColor.Black);
}
}

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

@ -639,7 +639,7 @@ public class Usermanager : Singleton<Usermanager>
{
if (playerAbnormalCondition.ContainsKey(AbnormalCondition.parasitism)|| playerAbnormalCondition.ContainsKey(AbnormalCondition.corrode))
{
node.whoColour = Name.NodeColor.Black;
node.switchColor(Name.NodeColor.Black);
}
}

Loading…
Cancel
Save