diff --git a/ColorlessWorld-2024-4-2/Assets/Plugins/Microsoft.CSharp.dll.meta b/ColorlessWorld-2024-4-2/Assets/Plugins/Microsoft.CSharp.dll.meta new file mode 100644 index 00000000..17bba4e5 --- /dev/null +++ b/ColorlessWorld-2024-4-2/Assets/Plugins/Microsoft.CSharp.dll.meta @@ -0,0 +1,27 @@ +fileFormatVersion: 2 +guid: a94cf6fef2879da4c91e5ef768aadf4e +PluginImporter: + externalObjects: {} + serializedVersion: 2 + iconMap: {} + executionOrder: {} + defineConstraints: [] + isPreloaded: 0 + isOverridable: 0 + isExplicitlyReferenced: 0 + validateReferences: 1 + platformData: + - first: + Any: + second: + enabled: 1 + settings: {} + - first: + Editor: Editor + second: + enabled: 0 + settings: + DefaultValueInitialized: true + userData: + assetBundleName: + assetBundleVariant: diff --git a/ColorlessWorld-2024-4-2/Assets/Scenes/SampleScene.unity b/ColorlessWorld-2024-4-2/Assets/Scenes/SampleScene.unity index 5d4c9503..cbf561bb 100644 --- a/ColorlessWorld-2024-4-2/Assets/Scenes/SampleScene.unity +++ b/ColorlessWorld-2024-4-2/Assets/Scenes/SampleScene.unity @@ -106796,8 +106796,8 @@ MonoBehaviour: cardFather: {fileID: 1642602660} cardPrefab: {fileID: 5488427976241108427, guid: b4269360e36ee9e49becd4021ec00f97, type: 3} - currentEnemyHP: 1 - maxEnemyHP: 1 + currentEnemyHP: 50 + maxEnemyHP: 50 --- !u!4 &1584057329 Transform: m_ObjectHideFlags: 0 diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/EnemyManager.cs b/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/EnemyManager.cs index 39b797a9..d21c8a87 100644 --- a/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/EnemyManager.cs +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/EnemyManager.cs @@ -225,7 +225,7 @@ public class EnemyManager : Singleton GameObject gemA = Instantiate(Resources.Load(Name.WeaponNode.EnemyPrefabPath + Name.WeaponNode.PrefabName)); WeaponNode weaponNodeA = gemA.GetComponent(); weaponNodeA.result = Name.WeaponNodeFunction.everyBlackNodeAddScore; - weaponNodeA.resultValue = "1"; + weaponNodeA.resultValue = "1_1"; weaponNodeA.condition = Name.none; weaponNodeA.conditionValue = Name.none; WeaponManager.Instance.loadEnemyWeaponNode(0, gemA); diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/Tool/Name.cs b/ColorlessWorld-2024-4-2/Assets/Scripts/Tool/Name.cs index 62020d5f..2c07981b 100644 --- a/ColorlessWorld-2024-4-2/Assets/Scripts/Tool/Name.cs +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/Tool/Name.cs @@ -632,19 +632,19 @@ public static class Name sb.Append("下回合多抽" + int.Parse(resultValue)+"张牌"); break; case Name.WeaponNodeFunction.everyRedNodeAddScore: - sb.Append("每有一个红色地块增加" + int.Parse(resultValue) + "点攻击力"); + sb.Append("每有"+ resultValue.Split("_")[0]+"个红色地块增加" + resultValue.Split("_")[1] + "点攻击力"); break; case Name.WeaponNodeFunction.everyYellowNodeAddScore: - sb.Append("每有一个黄色地块增加" + int.Parse(resultValue) + "点攻击力"); + sb.Append("每有"+ resultValue.Split("_")[0]+"个黄色地块增加" + resultValue.Split("_")[1] + "点攻击力"); break; case Name.WeaponNodeFunction.everyBlueNodeAddScore: - sb.Append("每有一个蓝色地块增加" + int.Parse(resultValue) + "点攻击力"); + sb.Append("每有" + resultValue.Split("_")[0] + "个蓝色地块增加" + resultValue.Split("_")[1] + "点攻击力"); break; case Name.WeaponNodeFunction.everyBlackNodeAddScore: - sb.Append("每有一个黑色地块增加" + int.Parse(resultValue) + "点攻击力"); + sb.Append("每有" + resultValue.Split("_")[0] + "个黑色地块增加" + resultValue.Split("_")[1] + "点攻击力"); break; case Name.WeaponNodeFunction.everyHolyNodeAddScore: - sb.Append("每有一个圣光地块增加" + int.Parse(resultValue) + "点攻击力"); + sb.Append("每有" + resultValue.Split("_")[0] + "个圣光地块增加" + resultValue.Split("_")[1] + "点攻击力"); break; case Name.WeaponNodeFunction.everyBombAddScore: sb.Append("每有一个炸弹增加" + int.Parse(resultValue) + "点攻击力"); @@ -1161,6 +1161,8 @@ public static class Name public const string everyBlueNodeAddScore = "everyBlueNodeAddScore"; //每有黑色+n public const string everyBlackNodeAddScore = "everyBlackNodeAddScore"; + //每有白色+n + public const string everyWhiteNodeAddScore = "everyBlackNodeAddScore"; //每有圣光+n public const string everyHolyNodeAddScore = "everyHolyNodeAddScore"; //每有炸弹+n @@ -1201,6 +1203,14 @@ public static class Name public static readonly HashSet WeaponNodeLevelSet = new HashSet { Basic,Elementary,Intermediate,Advanced}; } + public static class EveryNodeAddScoreResultSet + { + public static readonly HashSet BasiclSet = new HashSet { "2_1", "3_2" }; + public static readonly HashSet ElementarySet = new HashSet { "1_1" }; + public static readonly HashSet IntermediateSet = new HashSet { "1_2" }; + public static readonly HashSet AdvancedSet = new HashSet { "1_3" }; + } + public static class DomainFunction { //加分 diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/Weapon/WeaponManager.cs b/ColorlessWorld-2024-4-2/Assets/Scripts/Weapon/WeaponManager.cs index bbd53f5e..1c1f7196 100644 --- a/ColorlessWorld-2024-4-2/Assets/Scripts/Weapon/WeaponManager.cs +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/Weapon/WeaponManager.cs @@ -8,6 +8,8 @@ using Unity.VisualScripting; using UnityEngine; using static Cinemachine.DocumentationSortingAttribute; using static Name; +using static UnityEngine.InputSystem.InputControlScheme.MatchResult; +using Match = System.Text.RegularExpressions.Match; public class WeaponManager : Singleton { @@ -162,117 +164,15 @@ public class WeaponManager : Singleton public GameObject getRandomWeaponNodeForPlayer() { - GameObject gem = Instantiate(Resources.Load(Name.WeaponNode.PrefabPath + Name.WeaponNode.PrefabName)); - string condition = MathTool.GetRandomElements(Name.WeaponNodeCondition.PlayerConditionSet, 1).ElementAt(0); - string conditionValue = ""; - string[] nodesMark = new string[4]; - string[] nodesColor = new string[4]; - string result = MathTool.GetRandomElements(Name.WeaponNodeFunction.PlayerResultSet, 1).ElementAt(0); - string resultValue = ""; - switch (condition) - { - case Name.WeaponNodeCondition.position: - conditionValue = MathTool.GetRandomElements(new HashSet { "0", "1", "2", "3", "4" }, 1).ElementAt(0); - break; - case Name.WeaponNodeCondition.positionUnused: - conditionValue = MathTool.GetRandomElements(new HashSet { "0", "1", "2", "3", "4" }, 1).ElementAt(0); - break; - case Name.WeaponNodeCondition.positionUsed: - conditionValue = MathTool.GetRandomElements(new HashSet { "0", "1", "2", "3", "4" }, 1).ElementAt(0); - break; - case Name.WeaponNodeCondition.diffSettle: - conditionValue = Name.none; - break; - case Name.WeaponNodeCondition.usedCard: - conditionValue = MathTool.GetRandomElements(new HashSet { "1", "2", "3", "4", "5" }, 1).ElementAt(0); - break; - case Name.WeaponNodeCondition.threeColorDiffMoreThan: - conditionValue = MathTool.GetRandomElements(new HashSet { "3", "4", "5" }, 1).ElementAt(0); - break; - case Name.WeaponNodeCondition.everyNumNodeConvert: - conditionValue = MathTool.GetRandomElements(new HashSet { "7", "8", "9" }, 1).ElementAt(0); - break; - case Name.WeaponNodeCondition.bombbomb: - conditionValue = Name.none; - break; - case Name.WeaponNodeCondition.node: - conditionValue = Name.none; - HashSet nodesA = MathTool.GetRandomElements(new HashSet { "1_0", "-1_0", "0_1", "0_-1", "-1_1", "-1_-1" }, 3); - nodesA.Add("0_0"); - nodesMark = nodesA.ToArray(); - nodesColor = new string[4] { MathTool.GetRandomElements(new HashSet { Name.Color.Red, Name.Color.Blue, Name.Color.Yellow }, 1).ElementAt(0) - ,MathTool.GetRandomElements(new HashSet { Name.Color.Red, Name.Color.Blue, Name.Color.Yellow }, 1).ElementAt(0) - ,MathTool.GetRandomElements(new HashSet { Name.Color.Red, Name.Color.Blue, Name.Color.Yellow }, 1).ElementAt(0) - ,MathTool.GetRandomElements(new HashSet { Name.Color.Red, Name.Color.Blue, Name.Color.Yellow }, 1).ElementAt(0)}; - break; - case Name.WeaponNodeCondition.cardConditionPattern: - conditionValue = Name.none; - StringBuilder sb = new StringBuilder(); - sb.Append(MathTool.GetRandomElements(new HashSet { Name.Color.Red, Name.Color.Blue, Name.Color.Yellow }, 1).ElementAt(0)) - .Append(MathTool.GetRandomElements(new HashSet { "<", ">" }, 1).ElementAt(0)) - .Append(MathTool.GetRandomElements(new HashSet { "5", "6", "7", "8", "9" }, 1).ElementAt(0)); - condition = sb.ToString(); - break; - } - switch (result) - { - case Name.WeaponNodeFunction.addScore: - resultValue = MathTool.GetRandomElements(MathTool.GenerateIntegerSet(7, 12), 1).ElementAt(0); - break; - case Name.WeaponNodeFunction.mulScore: - resultValue = MathTool.GetRandomElements(new HashSet { "1", "2" }, 1).ElementAt(0); - break; - case Name.WeaponNodeFunction.repetWeaponNode: - resultValue = MathTool.GetRandomElements(new HashSet { "0", "1", "2", "3", "4" }, 1).ElementAt(0); - break; - case Name.WeaponNodeFunction.redNodeCount: - resultValue = MathTool.GetRandomElements(MathTool.GenerateIntegerSet(3, 8), 1).ElementAt(0); - break; - case Name.WeaponNodeFunction.blueNodeCount: - resultValue = MathTool.GetRandomElements(MathTool.GenerateIntegerSet(3, 8), 1).ElementAt(0); - break; - case Name.WeaponNodeFunction.yellowNodeCount: - resultValue = MathTool.GetRandomElements(MathTool.GenerateIntegerSet(3, 8), 1).ElementAt(0); - break; - case Name.WeaponNodeFunction.mostNodeCount: - resultValue = MathTool.GetRandomElements(MathTool.GenerateIntegerSet(3, 8), 1).ElementAt(0); - break; - case Name.WeaponNodeFunction.leastNodeCount: - resultValue = MathTool.GetRandomElements(MathTool.GenerateIntegerSet(3, 8), 1).ElementAt(0); - break; - case Name.WeaponNodeFunction.allNodeCount: - resultValue = MathTool.GetRandomElements(MathTool.GenerateIntegerSet(2, 4), 1).ElementAt(0); - break; - case Name.WeaponNodeFunction.drawCard: - resultValue = MathTool.GetRandomElements(MathTool.GenerateIntegerSet(1, 4), 1).ElementAt(0); - break; - case Name.WeaponNodeFunction.everyRedNodeAddScore: - resultValue = MathTool.GetRandomElements(MathTool.GenerateIntegerSet(1, 3), 1).ElementAt(0); - break; - case Name.WeaponNodeFunction.everyYellowNodeAddScore: - resultValue = MathTool.GetRandomElements(MathTool.GenerateIntegerSet(1, 3), 1).ElementAt(0); - break; - case Name.WeaponNodeFunction.everyBlueNodeAddScore: - resultValue = MathTool.GetRandomElements(MathTool.GenerateIntegerSet(1, 3), 1).ElementAt(0); - break; - case Name.NodeItem.Volcano: - resultValue = MathTool.GetRandomElements(MathTool.GenerateIntegerSet(1, 2), 1).ElementAt(0); - break; - } - WeaponNode weaponNode = gem.GetComponent(); - weaponNode.result = result; - weaponNode.resultValue = resultValue; - weaponNode.condition = condition; - weaponNode.conditionValue = conditionValue; - weaponNode.nodesMark = nodesMark; - weaponNode.nodesColor = nodesColor; - return gem; + string level= MathTool.GetRandomElements(Name.WeaponNodeLevel.WeaponNodeLevelSet,1).ElementAt(0); + return getRandomWeaponNodeForPlayerWithLevel(level); } public GameObject getRandomWeaponNodeForPlayerWithLevel(string level) { GameObject gem = Instantiate(Resources.Load(Name.WeaponNode.PrefabPath + Name.WeaponNode.PrefabName)); string condition = ""; + HashSet resultSet = new HashSet(); switch (level) { case Name.WeaponNodeLevel.Basic: @@ -296,21 +196,23 @@ public class WeaponManager : Singleton switch (level) { case Name.WeaponNodeLevel.Basic: - result = MathTool.GetRandomElements(Name.WeaponNodeFunction.PlayerBasicResultSet, 1).ElementAt(0); + resultSet = Name.WeaponNodeFunction.PlayerBasicResultSet; break; case Name.WeaponNodeLevel.Elementary: - result = MathTool.GetRandomElements(Name.WeaponNodeFunction.PlayerElementaryResultSet, 1).ElementAt(0); + resultSet = Name.WeaponNodeFunction.PlayerElementaryResultSet; break; case Name.WeaponNodeLevel.Intermediate: - result = MathTool.GetRandomElements(Name.WeaponNodeFunction.PlayerIntermediateResultSet, 1).ElementAt(0); + resultSet = Name.WeaponNodeFunction.PlayerIntermediateResultSet; break; case Name.WeaponNodeLevel.Advanced: - result = MathTool.GetRandomElements(Name.WeaponNodeFunction.PlayerAdvancedResultSet, 1).ElementAt(0); + resultSet = Name.WeaponNodeFunction.PlayerAdvancedResultSet; break; } - + string resultValue = ""; conditionValue = getConditionValueWithLevel(level,ref condition, ref nodesMark, ref nodesColor); + checkResultSetRationality(ref resultSet, condition); + result = MathTool.GetRandomElements(resultSet, 1).ElementAt(0); resultValue = getResultValueWithLevel(level,ref result, condition, conditionValue); WeaponNode weaponNode = gem.GetComponent(); weaponNode.result = result; @@ -321,7 +223,86 @@ public class WeaponManager : Singleton weaponNode.nodesColor = nodesColor.ToArray(); return gem; } - + + public string getEveryNodeAddScoreValue(string level,string condition) + { + string resultValue = ""; + HashSet resultSet = new HashSet(); + switch (level) + { + case Name.WeaponNodeLevel.Basic: + resultSet = Name.EveryNodeAddScoreResultSet.BasiclSet; + break; + case Name.WeaponNodeLevel.Elementary: + resultSet = Name.EveryNodeAddScoreResultSet.ElementarySet; + break; + case Name.WeaponNodeLevel.Intermediate: + resultSet = Name.EveryNodeAddScoreResultSet.IntermediateSet; + break; + case Name.WeaponNodeLevel.Advanced: + resultSet = Name.EveryNodeAddScoreResultSet.AdvancedSet; + break; + } + //checkResultSetRationality(ref resultSet, condition); + resultValue = MathTool.GetRandomElements(resultSet, 1).ElementAt(0); + return resultValue; + } + public void checkResultSetRationality(ref HashSet set,string condition) + { + Match match = System.Text.RegularExpressions.Regex.Match(condition, Name.Regex.cardConditionPattern); + if (match.Success) + { + //Debug.Log("checkResultSetRationality成功2"); + string firstPart = match.Groups[1].Value; // 第一部分 + string op = match.Groups[2].Value; // 运算符部分 + string secondPart = match.Groups[3].Value; // 第二部分 + if (op.Equals("<")) + { + //Debug.Log("checkResultSetRationality成功1"); + resultBlockingPolicy(firstPart,ref set); + } + } + } + //屏蔽策略 + public void resultBlockingPolicy(string firstPart, ref HashSet set) + { + switch (firstPart) + { + case Name.Color.Red: + set.Remove(Name.WeaponNodeFunction.everyRedNodeAddScore); + set.Remove(Name.WeaponNodeFunction.redNodeCount); + set.Remove(Name.WeaponNodeFunction.leastNodeCount); + set.Remove(Name.WeaponNodeFunction.mostNodeCount); + set.Remove(Name.WeaponNodeFunction.allNodeCount); + break; + case Name.Color.Blue: + set.Remove(Name.WeaponNodeFunction.everyBlueNodeAddScore); + set.Remove(Name.WeaponNodeFunction.blueNodeCount); + set.Remove(Name.WeaponNodeFunction.leastNodeCount); + set.Remove(Name.WeaponNodeFunction.mostNodeCount); + set.Remove(Name.WeaponNodeFunction.allNodeCount); + break; + case Name.Color.Yellow: + set.Remove(Name.WeaponNodeFunction.everyYellowNodeAddScore); + set.Remove(Name.WeaponNodeFunction.yellowNodeCount); + set.Remove(Name.WeaponNodeFunction.leastNodeCount); + set.Remove(Name.WeaponNodeFunction.mostNodeCount); + set.Remove(Name.WeaponNodeFunction.allNodeCount); + break; + case Name.Color.Black: + set.Remove(Name.WeaponNodeFunction.everyBlackNodeAddScore); + set.Remove(Name.WeaponNodeFunction.leastNodeCount); + set.Remove(Name.WeaponNodeFunction.mostNodeCount); + set.Remove(Name.WeaponNodeFunction.allNodeCount); + break; + case Name.Color.White: + set.Remove(Name.WeaponNodeFunction.everyWhiteNodeAddScore); + set.Remove(Name.WeaponNodeFunction.leastNodeCount); + set.Remove(Name.WeaponNodeFunction.mostNodeCount); + set.Remove(Name.WeaponNodeFunction.allNodeCount); + break; + } + } public WeaponNodeDataPair getRandomConditionWithLevel(string level) { string condition = ""; @@ -384,6 +365,7 @@ public class WeaponManager : Singleton { GameObject gem = Instantiate(Resources.Load(Name.WeaponNode.PrefabPath + Name.WeaponNode.PrefabName)); string condition = ""; + HashSet resultSet= new HashSet(); switch (level) { case Name.WeaponNodeLevel.Basic: @@ -407,21 +389,22 @@ public class WeaponManager : Singleton switch (level) { case Name.WeaponNodeLevel.Basic: - result = MathTool.GetRandomElements(Name.WeaponNodeFunction.PlayerBasicAddScoreResultSet, 1).ElementAt(0); + resultSet = Name.WeaponNodeFunction.PlayerBasicResultSet; break; case Name.WeaponNodeLevel.Elementary: - result = MathTool.GetRandomElements(Name.WeaponNodeFunction.PlayerElementaryResultSet, 1).ElementAt(0); + resultSet = Name.WeaponNodeFunction.PlayerElementaryResultSet; break; case Name.WeaponNodeLevel.Intermediate: - result = MathTool.GetRandomElements(Name.WeaponNodeFunction.PlayerIntermediateResultSet, 1).ElementAt(0); + resultSet = Name.WeaponNodeFunction.PlayerIntermediateResultSet; break; case Name.WeaponNodeLevel.Advanced: - result = MathTool.GetRandomElements(Name.WeaponNodeFunction.PlayerAdvancedResultSet, 1).ElementAt(0); + resultSet = Name.WeaponNodeFunction.PlayerAdvancedResultSet; break; } - string resultValue = ""; conditionValue = getConditionValueWithLevel(level, ref condition, ref nodesMark, ref nodesColor); + checkResultSetRationality(ref resultSet, condition); + result = MathTool.GetRandomElements(resultSet, 1).ElementAt(0); resultValue = getResultValueWithLevel(level, ref result, condition, conditionValue); WeaponNode weaponNode = gem.GetComponent(); weaponNode.result = result; @@ -833,6 +816,7 @@ public class WeaponManager : Singleton public string getResultValueWithLevel(string level,ref string result, string condition, string conditionValue) { string resultValue = ""; + HashSet resultSet = new HashSet(); switch (result) { case Name.WeaponNodeFunction.addScore: @@ -921,21 +905,7 @@ public class WeaponManager : Singleton case Name.WeaponNodeFunction.everyRedNodeAddScore: case Name.WeaponNodeFunction.everyYellowNodeAddScore: case Name.WeaponNodeFunction.everyBlueNodeAddScore: - switch (level) - { - case Name.WeaponNodeLevel.Basic: - resultValue = MathTool.GetRandomElements(MathTool.GenerateIntegerSet(1, 1), 1).ElementAt(0); - break; - case Name.WeaponNodeLevel.Elementary: - resultValue = MathTool.GetRandomElements(MathTool.GenerateIntegerSet(2, 3), 1).ElementAt(0); - break; - case Name.WeaponNodeLevel.Intermediate: - resultValue = MathTool.GetRandomElements(MathTool.GenerateIntegerSet(4, 5), 1).ElementAt(0); - break; - case Name.WeaponNodeLevel.Advanced: - resultValue = MathTool.GetRandomElements(MathTool.GenerateIntegerSet(6, 8), 1).ElementAt(0); - break; - } + resultValue = getEveryNodeAddScoreValue(level, condition); break; case Name.NodeItem.Volcano: switch (level) @@ -1012,10 +982,10 @@ public class WeaponManager : Singleton { Name.WeaponNodeLevel.Elementary, MathTool.GenerateIntegerSet(3, 3) }, { Name.WeaponNodeLevel.Intermediate, MathTool.GenerateIntegerSet(4, 5) }}; Dictionary> everyNodeAddScoreDict = new Dictionary>{ - { Name.WeaponNodeLevel.Basic, MathTool.GenerateIntegerSet(1, 1) }, - { Name.WeaponNodeLevel.Elementary, MathTool.GenerateIntegerSet(2, 3) }, - { Name.WeaponNodeLevel.Intermediate, MathTool.GenerateIntegerSet(4, 5) }, - { Name.WeaponNodeLevel.Advanced, MathTool.GenerateIntegerSet(6, 8) }}; + { Name.WeaponNodeLevel.Basic, Name.EveryNodeAddScoreResultSet.BasiclSet }, + { Name.WeaponNodeLevel.Elementary, Name.EveryNodeAddScoreResultSet.ElementarySet }, + { Name.WeaponNodeLevel.Intermediate, Name.EveryNodeAddScoreResultSet.IntermediateSet }, + { Name.WeaponNodeLevel.Advanced, Name.EveryNodeAddScoreResultSet.AdvancedSet }}; Dictionary> isIgnoreConditionDict = new Dictionary>(); Dictionary> VolcanoDict = new Dictionary>{ { Name.WeaponNodeLevel.Basic, MathTool.GenerateIntegerSet(1, 1) }, diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/Weapon/WeaponNode.cs b/ColorlessWorld-2024-4-2/Assets/Scripts/Weapon/WeaponNode.cs index 91d81e3c..cc051c32 100644 --- a/ColorlessWorld-2024-4-2/Assets/Scripts/Weapon/WeaponNode.cs +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/Weapon/WeaponNode.cs @@ -2,6 +2,7 @@ using System; using System.Collections; using System.Collections.Generic; using System.Drawing.Imaging; +using System.Linq; using System.Text.RegularExpressions; using TMPro; using Unity.VisualScripting; @@ -318,23 +319,23 @@ public class WeaponNode : MonoBehaviour,IDragHandler, IBeginDragHandler, IEndDra break; case Name.WeaponNodeFunction.everyRedNodeAddScore: int redNodeCount = getNodeTools.getNodesCount(Name.Color.Red); - score += redNodeCount * int.Parse(resultValue); + score += redNodeCount / int.Parse(resultValue.Split("_")[0]) * int.Parse(resultValue.Split("_")[1]); break; case Name.WeaponNodeFunction.everyYellowNodeAddScore: int yellowNodeCount = getNodeTools.getNodesCount(Name.Color.Yellow); - score += yellowNodeCount * int.Parse(resultValue); + score += yellowNodeCount / int.Parse(resultValue.Split("_")[0]) * int.Parse(resultValue.Split("_")[1]); break; case Name.WeaponNodeFunction.everyBlueNodeAddScore: int blueNodeCount = getNodeTools.getNodesCount(Name.Color.Blue); - score += blueNodeCount * int.Parse(resultValue); + score += blueNodeCount / int.Parse(resultValue.Split("_")[0]) * int.Parse(resultValue.Split("_")[1]); break; case Name.WeaponNodeFunction.everyBlackNodeAddScore: int blackNodeCount = getNodeTools.getNodesCount(Name.Color.Black); - score += blackNodeCount * int.Parse(resultValue); + score += blackNodeCount / int.Parse(resultValue.Split("_")[0]) * int.Parse(resultValue.Split("_")[1]); break; case Name.WeaponNodeFunction.everyHolyNodeAddScore: int holyNodeCount = getNodeTools.getNodesCount(Name.Color.Holy); - score += holyNodeCount * int.Parse(resultValue); + score += holyNodeCount / int.Parse(resultValue.Split("_")[0]) * int.Parse(resultValue.Split("_")[1]); break; case Name.WeaponNodeFunction.everyBombAddScore: int bombCount = 0; diff --git a/ColorlessWorld-2024-4-2/Assets/StreamingAssets/card_data_5.csv b/ColorlessWorld-2024-4-2/Assets/StreamingAssets/card_data_5.csv index df41bbcf..cdb40bb4 100644 --- a/ColorlessWorld-2024-4-2/Assets/StreamingAssets/card_data_5.csv +++ b/ColorlessWorld-2024-4-2/Assets/StreamingAssets/card_data_5.csv @@ -14,7 +14,7 @@ 1016,1,1,1,3_1,none,53,2&3,0_0;1_0;2_0;0_1;0_-1;1_2;1_-2,red;red;red;red;red;red;red,CardIcon/1021,散射,1 1017,1,1,1,3_1,none,17,1,0_0;1_0;2_0;3_0;2_1;2_-1;2_2;2_-2,blue;blue;blue;blue;blue;blue;blue;blue,CardIcon/1021,单向箭头,2 1007,1,2,1,3_1,none,1,20,0_0;1_0;0_1;0_-1;1_1;1_-1;1_2;1_-2,black;black;black;black;black;black;black;black,CardIcon/1021,黑火药,3 -1018,1,0,1,,none,none,none,0_0;1_0;-1_0,red;red_Bomb;blue,CardIcon/1021,Test18,1 +1018,1,0,1,,none,none,none,0_0;1_0;-1_0,red;red;blue,CardIcon/1021,Test18,1 1019,1,0,1,,none,none,none,0_0;1_0;-1_0,blue;blue;blue,CardIcon/1021,Test19,1 1020,1,0,1,,none,none,none,0_0;1_0;-1_0,yellow;yellow;yellow,CardIcon/1021,Test20,1 1021,1,0,1,,none,none,none,0_0;0_1;0_-1;1_0,red;blue;yellow;red,CardIcon/1021,Test21,1 @@ -26,7 +26,7 @@ 1027,1,0,1,,none,none,none,0_0;1_0;-1_0;-1_1;-1_-1,yellow;yellow;yellow;red;red,CardIcon/1021,Test27,1 1028,1,0,1,,none,none,none,0_0;1_0;2_0;-1_0;-2_0,red;blue;blue;yellow;yellow,CardIcon/1021,Test28,1 1029,1,0,1,,none,none,none,0_0;0_1;-1_-1;1_2;-1_-2,blue;blue;blue;blue;blue,CardIcon/1021,Test29,1 -1030,1,0,1,,none,none,none,1_0;0_1;0_-1;-1_0;-1_1;-1_-1,red;red;red;yellow;yellow;yellow_Burrower,CardIcon/1021,Test30,1 +1030,1,0,1,,none,none,none,1_0;0_1;0_-1;-1_0;-1_1;-1_-1,red;red;red;yellow;yellow;yellow,CardIcon/1021,Test30,1 1031,1,0,1,,none,none,none,0_1;0_-1;-1_0;0_0,red;red;yellow;yellow,CardIcon/1021,Test31,1 1032,1,0,1,,none,none,none,1_0;-1_-1;-1_1;0_0,blue;blue;blue;blue,CardIcon/1021,Test32,1 1033,1,0,1,,none,none,none,0_0;-1_1;0_2;-1_-1;0_-2,yellow;yellow;blue;yellow;blue,CardIcon/1021,Test33,1 diff --git a/ColorlessWorld-2024-4-2/obj/Debug/Assembly-CSharp-Editor.csproj.AssemblyReference.cache b/ColorlessWorld-2024-4-2/obj/Debug/Assembly-CSharp-Editor.csproj.AssemblyReference.cache index 5fec2853..005f92a1 100644 Binary files a/ColorlessWorld-2024-4-2/obj/Debug/Assembly-CSharp-Editor.csproj.AssemblyReference.cache and b/ColorlessWorld-2024-4-2/obj/Debug/Assembly-CSharp-Editor.csproj.AssemblyReference.cache differ