Browse Source

Merge pull request '0930提交' (#204) from dev-0930-yjm into dev45-0703NewVer

Reviewed-on: #204
pull/205/head
yjm484 3 months ago
parent
commit
c0af119b7b
  1. 27
      ColorlessWorld-2024-4-2/Assets/Plugins/Microsoft.CSharp.dll.meta
  2. 4
      ColorlessWorld-2024-4-2/Assets/Scenes/SampleScene.unity
  3. 2
      ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/EnemyManager.cs
  4. 20
      ColorlessWorld-2024-4-2/Assets/Scripts/Tool/Name.cs
  5. 240
      ColorlessWorld-2024-4-2/Assets/Scripts/Weapon/WeaponManager.cs
  6. 11
      ColorlessWorld-2024-4-2/Assets/Scripts/Weapon/WeaponNode.cs
  7. 4
      ColorlessWorld-2024-4-2/Assets/StreamingAssets/card_data_5.csv
  8. BIN
      ColorlessWorld-2024-4-2/obj/Debug/Assembly-CSharp-Editor.csproj.AssemblyReference.cache

27
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:

4
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

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

@ -225,7 +225,7 @@ public class EnemyManager : Singleton<EnemyManager>
GameObject gemA = Instantiate(Resources.Load<GameObject>(Name.WeaponNode.EnemyPrefabPath + Name.WeaponNode.PrefabName));
WeaponNode weaponNodeA = gemA.GetComponent<WeaponNode>();
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);

20
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<string> WeaponNodeLevelSet = new HashSet<string> { Basic,Elementary,Intermediate,Advanced};
}
public static class EveryNodeAddScoreResultSet
{
public static readonly HashSet<string> BasiclSet = new HashSet<string> { "2_1", "3_2" };
public static readonly HashSet<string> ElementarySet = new HashSet<string> { "1_1" };
public static readonly HashSet<string> IntermediateSet = new HashSet<string> { "1_2" };
public static readonly HashSet<string> AdvancedSet = new HashSet<string> { "1_3" };
}
public static class DomainFunction
{
//加分

240
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<WeaponManager>
{
@ -162,117 +164,15 @@ public class WeaponManager : Singleton<WeaponManager>
public GameObject getRandomWeaponNodeForPlayer()
{
GameObject gem = Instantiate(Resources.Load<GameObject>(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<string> { "0", "1", "2", "3", "4" }, 1).ElementAt(0);
break;
case Name.WeaponNodeCondition.positionUnused:
conditionValue = MathTool.GetRandomElements(new HashSet<string> { "0", "1", "2", "3", "4" }, 1).ElementAt(0);
break;
case Name.WeaponNodeCondition.positionUsed:
conditionValue = MathTool.GetRandomElements(new HashSet<string> { "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<string> { "1", "2", "3", "4", "5" }, 1).ElementAt(0);
break;
case Name.WeaponNodeCondition.threeColorDiffMoreThan:
conditionValue = MathTool.GetRandomElements(new HashSet<string> { "3", "4", "5" }, 1).ElementAt(0);
break;
case Name.WeaponNodeCondition.everyNumNodeConvert:
conditionValue = MathTool.GetRandomElements(new HashSet<string> { "7", "8", "9" }, 1).ElementAt(0);
break;
case Name.WeaponNodeCondition.bombbomb:
conditionValue = Name.none;
break;
case Name.WeaponNodeCondition.node:
conditionValue = Name.none;
HashSet<string> nodesA = MathTool.GetRandomElements(new HashSet<string> { "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<string> { Name.Color.Red, Name.Color.Blue, Name.Color.Yellow }, 1).ElementAt(0)
,MathTool.GetRandomElements(new HashSet<string> { Name.Color.Red, Name.Color.Blue, Name.Color.Yellow }, 1).ElementAt(0)
,MathTool.GetRandomElements(new HashSet<string> { Name.Color.Red, Name.Color.Blue, Name.Color.Yellow }, 1).ElementAt(0)
,MathTool.GetRandomElements(new HashSet<string> { 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<string> { Name.Color.Red, Name.Color.Blue, Name.Color.Yellow }, 1).ElementAt(0))
.Append(MathTool.GetRandomElements(new HashSet<string> { "<", ">" }, 1).ElementAt(0))
.Append(MathTool.GetRandomElements(new HashSet<string> { "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<string> { "1", "2" }, 1).ElementAt(0);
break;
case Name.WeaponNodeFunction.repetWeaponNode:
resultValue = MathTool.GetRandomElements(new HashSet<string> { "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>();
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<GameObject>(Name.WeaponNode.PrefabPath + Name.WeaponNode.PrefabName));
string condition = "";
HashSet<string> resultSet = new HashSet<string>();
switch (level)
{
case Name.WeaponNodeLevel.Basic:
@ -296,21 +196,23 @@ public class WeaponManager : Singleton<WeaponManager>
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>();
weaponNode.result = result;
@ -321,7 +223,86 @@ public class WeaponManager : Singleton<WeaponManager>
weaponNode.nodesColor = nodesColor.ToArray();
return gem;
}
public string getEveryNodeAddScoreValue(string level,string condition)
{
string resultValue = "";
HashSet<string> resultSet = new HashSet<string>();
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<string> 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<string> 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<WeaponManager>
{
GameObject gem = Instantiate(Resources.Load<GameObject>(Name.WeaponNode.PrefabPath + Name.WeaponNode.PrefabName));
string condition = "";
HashSet<string> resultSet= new HashSet<string>();
switch (level)
{
case Name.WeaponNodeLevel.Basic:
@ -407,21 +389,22 @@ public class WeaponManager : Singleton<WeaponManager>
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>();
weaponNode.result = result;
@ -833,6 +816,7 @@ public class WeaponManager : Singleton<WeaponManager>
public string getResultValueWithLevel(string level,ref string result, string condition, string conditionValue)
{
string resultValue = "";
HashSet<string> resultSet = new HashSet<string>();
switch (result)
{
case Name.WeaponNodeFunction.addScore:
@ -921,21 +905,7 @@ public class WeaponManager : Singleton<WeaponManager>
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<WeaponManager>
{ Name.WeaponNodeLevel.Elementary, MathTool.GenerateIntegerSet(3, 3) },
{ Name.WeaponNodeLevel.Intermediate, MathTool.GenerateIntegerSet(4, 5) }};
Dictionary<string, HashSet<string>> everyNodeAddScoreDict = new Dictionary<string, HashSet<string>>{
{ 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<string, HashSet<string>> isIgnoreConditionDict = new Dictionary<string, HashSet<string>>();
Dictionary<string, HashSet<string>> VolcanoDict = new Dictionary<string, HashSet<string>>{
{ Name.WeaponNodeLevel.Basic, MathTool.GenerateIntegerSet(1, 1) },

11
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;

4
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

1 ID 费用类型 费用 施法范围 作用范围 条件 功能 数值 地块标记 地块颜色 图片路径 名称 稀有度
14 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
15 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
16 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
17 1018 1 0 1 none none none 0_0;1_0;-1_0 red;red_Bomb;blue red;red;blue CardIcon/1021 Test18 1
18 1019 1 0 1 none none none 0_0;1_0;-1_0 blue;blue;blue CardIcon/1021 Test19 1
19 1020 1 0 1 none none none 0_0;1_0;-1_0 yellow;yellow;yellow CardIcon/1021 Test20 1
20 1021 1 0 1 none none none 0_0;0_1;0_-1;1_0 red;blue;yellow;red CardIcon/1021 Test21 1
26 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
27 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
28 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
29 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 red;red;red;yellow;yellow;yellow CardIcon/1021 Test30 1
30 1031 1 0 1 none none none 0_1;0_-1;-1_0;0_0 red;red;yellow;yellow CardIcon/1021 Test31 1
31 1032 1 0 1 none none none 1_0;-1_-1;-1_1;0_0 blue;blue;blue;blue CardIcon/1021 Test32 1
32 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

BIN
ColorlessWorld-2024-4-2/obj/Debug/Assembly-CSharp-Editor.csproj.AssemblyReference.cache

Binary file not shown.
Loading…
Cancel
Save