diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/FightReward/RewardManager.cs b/ColorlessWorld-2024-4-2/Assets/Scripts/FightReward/RewardManager.cs index 611542ce..28238e63 100644 --- a/ColorlessWorld-2024-4-2/Assets/Scripts/FightReward/RewardManager.cs +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/FightReward/RewardManager.cs @@ -156,7 +156,8 @@ public class RewardManager : Singleton weaponNodeTipData.count = amount; weaponNodeTipData.tipText.text = amount; //生成武器附魔 - GameObject weaponNode = WeaponManager.Instance.getRandomWeaponNodeForPlayer(); + //GameObject weaponNode = WeaponManager.Instance.getRandomWeaponNodeForPlayer(); + GameObject weaponNode = WeaponManager.Instance.getRandomWeaponNodeForPlayerWithLevel(Name.WeaponNodeLevel.Elementary); weaponNode.transform.parent = weaponNodeTipData.tipIcon.transform; weaponNode.transform.localPosition = Vector3.zero; weaponNode.transform.localScale = Vector3.one; diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/StartChoosePoint/StartChooseCardManager.cs b/ColorlessWorld-2024-4-2/Assets/Scripts/StartChoosePoint/StartChooseCardManager.cs index 72865fb2..94140e16 100644 --- a/ColorlessWorld-2024-4-2/Assets/Scripts/StartChoosePoint/StartChooseCardManager.cs +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/StartChoosePoint/StartChooseCardManager.cs @@ -106,7 +106,8 @@ public class StartChooseCardManager : Singleton { Destroy(getWeaponNodeList[i].currentWeaponNode); } - GameObject weaponNode = WeaponManager.Instance.getRandomWeaponNodeForPlayer(); + //GameObject weaponNode = WeaponManager.Instance.getRandomWeaponNodeForPlayer(); + GameObject weaponNode = WeaponManager.Instance.getRandomWeaponNodeForPlayerWithLevel(Name.WeaponNodeLevel.Elementary); weaponNode.transform.parent = getWeaponNodeList[i].weaponNodeFather; weaponNode.transform.localPosition = Vector3.zero; weaponNode .transform .localScale = Vector3.one; diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/TavernPoint/WeaponNode/WeaponNodeOutcomSlot.cs b/ColorlessWorld-2024-4-2/Assets/Scripts/TavernPoint/WeaponNode/WeaponNodeOutcomSlot.cs index 7683b84e..b1fcdc25 100644 --- a/ColorlessWorld-2024-4-2/Assets/Scripts/TavernPoint/WeaponNode/WeaponNodeOutcomSlot.cs +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/TavernPoint/WeaponNode/WeaponNodeOutcomSlot.cs @@ -49,7 +49,8 @@ public class WeaponNodeOutcomSlot : MonoBehaviour weaponNodeMatrialSlotList[i].materialObject.SetActive(false); } - GameObject weaponNode = WeaponManager.Instance.getRandomWeaponNodeForPlayer(); + //GameObject weaponNode = WeaponManager.Instance.getRandomWeaponNodeForPlayer(); + GameObject weaponNode = WeaponManager.Instance.getRandomWeaponNodeForPlayerWithLevel(Name.WeaponNodeLevel.Elementary); weaponNode.transform.SetParent(outcomeWeaponNodeFather); weaponNode.transform.localPosition = Vector3.zero; weaponNode.transform.localScale = Vector3.one; diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/Tool/MathTool.cs b/ColorlessWorld-2024-4-2/Assets/Scripts/Tool/MathTool.cs index 5f93ab52..9ad00945 100644 --- a/ColorlessWorld-2024-4-2/Assets/Scripts/Tool/MathTool.cs +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/Tool/MathTool.cs @@ -421,6 +421,27 @@ public class MathTool return result; } + public static HashSet GetIntegerRangeAsStrings(int start, int end) + { + HashSet result = new HashSet(); + + // 确定步进方向 + int step = (start <= end) ? 1 : -1; + + // 计算需要包含的元素数量 + int count = Math.Abs(end - start) + 1; + + // 填充HashSet + int current = start; + for (int i = 0; i < count; i++) + { + result.Add(current.ToString()); + current += step; + } + + return result; + } + public static int RandomTarget(int target, float percentage) { float deviation = target * percentage; diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/Tool/Name.cs b/ColorlessWorld-2024-4-2/Assets/Scripts/Tool/Name.cs index c7599fc7..265fc5ce 100644 --- a/ColorlessWorld-2024-4-2/Assets/Scripts/Tool/Name.cs +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/Tool/Name.cs @@ -1051,7 +1051,7 @@ public static class Name public static readonly HashSet PlayerBasicConditionSet = new HashSet { cardConditionPattern, node,position}; - public static readonly HashSet PlayerElementaryConditionSet = new HashSet { cardConditionPattern,position, positionUsed, diffSettle + public static readonly HashSet PlayerElementaryConditionSet = new HashSet { cardConditionPattern,position ,usedCard,node,everyNumNodeConvert}; public static readonly HashSet PlayerIntermediateConditionSet = new HashSet { cardConditionPattern,position, positionUsed, diffSettle diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/Weapon/WeaponManager.cs b/ColorlessWorld-2024-4-2/Assets/Scripts/Weapon/WeaponManager.cs index 66e9a06e..bc2d769b 100644 --- a/ColorlessWorld-2024-4-2/Assets/Scripts/Weapon/WeaponManager.cs +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/Weapon/WeaponManager.cs @@ -304,7 +304,7 @@ public class WeaponManager : Singleton } string resultValue = ""; - conditionValue = getConditionValueWithLevel(level, condition, ref nodesMark, ref nodesMark); + conditionValue = getConditionValueWithLevel(level,ref condition, ref nodesMark, ref nodesColor); resultValue = getResultValueWithLevel(level, result, condition, conditionValue); WeaponNode weaponNode = gem.GetComponent(); weaponNode.result = result; @@ -457,7 +457,7 @@ public class WeaponManager : Singleton } string resultValue = ""; - conditionValue = getConditionValueWithLevel(conditionLevel, condition, ref nodesMark, ref nodesMark); + conditionValue = getConditionValueWithLevel(conditionLevel,ref condition, ref nodesMark, ref nodesMark); resultValue = getResultValueWithLevel(resultLevel, result, condition, conditionValue); WeaponNode weaponNode = gem.GetComponent(); weaponNode.result = result; @@ -590,7 +590,7 @@ public class WeaponManager : Singleton } string resultValue = ""; - conditionValue = getConditionValueWithLevel(conditionLevel, condition, ref nodesMark, ref nodesMark); + conditionValue = getConditionValueWithLevel(conditionLevel,ref condition, ref nodesMark, ref nodesMark); resultValue = getResultValueWithLevel(resultLevel, result, condition, conditionValue); WeaponNode weaponNode = gem.GetComponent(); weaponNode.result = result; @@ -603,7 +603,7 @@ public class WeaponManager : Singleton } - public string getConditionValueWithLevel(string level, string condition, ref List nodesMark, ref List nodesColor) + public string getConditionValueWithLevel(string level,ref string condition, ref List nodesMark, ref List nodesColor) { string conditionValue = ""; switch (condition) @@ -645,16 +645,16 @@ public class WeaponManager : Singleton switch (level) { case Name.WeaponNodeLevel.Basic: - conditionValue = MathTool.GetRandomElements(MathTool.GetTargetRange(3, 5), 1).ElementAt(0); + conditionValue = MathTool.GetRandomElements(MathTool.GetIntegerRangeAsStrings(3, 5), 1).ElementAt(0); break; case Name.WeaponNodeLevel.Elementary: - conditionValue = MathTool.GetRandomElements(MathTool.GetTargetRange(4, 6), 1).ElementAt(0); + conditionValue = MathTool.GetRandomElements(MathTool.GetIntegerRangeAsStrings(4, 6), 1).ElementAt(0); break; case Name.WeaponNodeLevel.Intermediate: - conditionValue = MathTool.GetRandomElements(MathTool.GetTargetRange(5, 7), 1).ElementAt(0); + conditionValue = MathTool.GetRandomElements(MathTool.GetIntegerRangeAsStrings(5, 7), 1).ElementAt(0); break; case Name.WeaponNodeLevel.Advanced: - conditionValue = MathTool.GetRandomElements(MathTool.GetTargetRange(6, 8), 1).ElementAt(0); + conditionValue = MathTool.GetRandomElements(MathTool.GetIntegerRangeAsStrings(6, 8), 1).ElementAt(0); break; } break; @@ -695,16 +695,16 @@ public class WeaponManager : Singleton switch (level) { case Name.WeaponNodeLevel.Basic: - part3 = MathTool.GetRandomElements(MathTool.GetTargetRange(3, 5), 1).ElementAt(0); + part3 = MathTool.GetRandomElements(MathTool.GetIntegerRangeAsStrings(3, 5), 1).ElementAt(0); break; case Name.WeaponNodeLevel.Elementary: - part3 = MathTool.GetRandomElements(MathTool.GetTargetRange(5, 8), 1).ElementAt(0); + part3 = MathTool.GetRandomElements(MathTool.GetIntegerRangeAsStrings(5, 8), 1).ElementAt(0); break; case Name.WeaponNodeLevel.Intermediate: - part3 = MathTool.GetRandomElements(MathTool.GetTargetRange(9, 12), 1).ElementAt(0); + part3 = MathTool.GetRandomElements(MathTool.GetIntegerRangeAsStrings(9, 12), 1).ElementAt(0); break; case Name.WeaponNodeLevel.Advanced: - part3 = MathTool.GetRandomElements(MathTool.GetTargetRange(14, 18), 1).ElementAt(0); + part3 = MathTool.GetRandomElements(MathTool.GetIntegerRangeAsStrings(14, 18), 1).ElementAt(0); break; } sb.Append(part3); diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/Weapon/WeaponNode.cs b/ColorlessWorld-2024-4-2/Assets/Scripts/Weapon/WeaponNode.cs index cf33de93..81fcacfa 100644 --- a/ColorlessWorld-2024-4-2/Assets/Scripts/Weapon/WeaponNode.cs +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/Weapon/WeaponNode.cs @@ -857,6 +857,14 @@ public class WeaponNode : MonoBehaviour,IDragHandler, IBeginDragHandler, IEndDra { inforTextGemImage.text = "无效果"; } + foreach (string a in nodesMark) + { + Debug.Log("nodesMark是" + a); + } + foreach (string a in nodesColor) + { + Debug.Log("nodesColor是" + a); + } gemImageIcon.sprite = CardManager.Instance.createGemImageByToolX(nodesMark, nodesColor); }