Compare commits

...

2 Commits

Author SHA1 Message Date
yjm484 6be0ae23f6 一些修正 1 year ago
yjm484 8423ddf5f7 卡牌修改 1 year ago
  1. 17
      ColorlessWorld-2024-4-2/Assets/GameDate/cardDeckList.asset
  2. 64
      ColorlessWorld-2024-4-2/Assets/Scenes/SampleScene.unity
  3. 4
      ColorlessWorld-2024-4-2/Assets/Scripts/Card/CardDrag.cs
  4. 15
      ColorlessWorld-2024-4-2/Assets/Scripts/Card/CardEntity.cs
  5. 2
      ColorlessWorld-2024-4-2/Assets/Scripts/Card/CardOriginalData.cs
  6. 17
      ColorlessWorld-2024-4-2/Assets/Scripts/Card/CardOriginalDataList.cs
  7. 2
      ColorlessWorld-2024-4-2/Assets/Scripts/FightReward/RewardManager.cs
  8. 25
      ColorlessWorld-2024-4-2/Assets/Scripts/GameManager.cs
  9. 7
      ColorlessWorld-2024-4-2/Assets/Scripts/Handler/EffectRangeHandler3_1.cs
  10. 21
      ColorlessWorld-2024-4-2/Assets/Scripts/Handler/EffectRangeHandlerBase.cs
  11. 129
      ColorlessWorld-2024-4-2/Assets/Scripts/MapManager.cs
  12. 22
      ColorlessWorld-2024-4-2/Assets/Scripts/MapUnity.cs
  13. 42
      ColorlessWorld-2024-4-2/Assets/Scripts/Player.cs
  14. 0
      ColorlessWorld-2024-4-2/Assets/Scripts/Servent/MainMnue.meta
  15. 0
      ColorlessWorld-2024-4-2/Assets/Scripts/Servent/MainMnue/MineMnueSlied.cs
  16. 0
      ColorlessWorld-2024-4-2/Assets/Scripts/Servent/MainMnue/MineMnueSlied.cs.meta
  17. 29
      ColorlessWorld-2024-4-2/Assets/Scripts/Tool/CoordinateColorPair.cs
  18. 11
      ColorlessWorld-2024-4-2/Assets/Scripts/Tool/CoordinateColorPair.cs.meta
  19. 76
      ColorlessWorld-2024-4-2/Assets/Scripts/Tool/MathTool.cs
  20. 2
      ColorlessWorld-2024-4-2/Assets/Scripts/Tool/Name.cs
  21. 55
      ColorlessWorld-2024-4-2/Assets/Scripts/Tool/getNodeTools.cs
  22. 80
      ColorlessWorld-2024-4-2/Assets/Scripts/manager/CardManager.cs
  23. 2
      ColorlessWorld-2024-4-2/Assets/StreamingAssets/card_data_4.csv
  24. 7
      ColorlessWorld-2024-4-2/Assets/StreamingAssets/card_data_4.csv.meta
  25. 16
      ColorlessWorld-2024-4-2/Assets/data/card_data_4.csv
  26. 7
      ColorlessWorld-2024-4-2/Assets/data/card_data_4.csv.meta
  27. BIN
      ColorlessWorld-2024-4-2/obj/Debug/Assembly-CSharp-Editor.csproj.AssemblyReference.cache

17
ColorlessWorld-2024-4-2/Assets/GameDate/cardDeckList.asset

@ -13,13 +13,10 @@ MonoBehaviour:
m_Name: cardDeckList m_Name: cardDeckList
m_EditorClassIdentifier: m_EditorClassIdentifier:
cardDeckList: cardDeckList:
- 1014 - 1001
- 1014 - 1001
- 1015 - 1001
- 1015 - 1001
- 1015 - 1001
- 1016 - 1001
- 1016 - 1001
- 1016
- 1017
- 1017

64
ColorlessWorld-2024-4-2/Assets/Scenes/SampleScene.unity

@ -3854,6 +3854,37 @@ SphereCollider:
serializedVersion: 3 serializedVersion: 3
m_Radius: 0.45 m_Radius: 0.45
m_Center: {x: 0, y: 0.41, z: -2} m_Center: {x: 0, y: 0.41, z: -2}
--- !u!1 &179913386
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 179913387}
m_Layer: 0
m_Name: MapGeneraterTest
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &179913387
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 179913386}
serializedVersion: 2
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: -50.362644, y: -4.974493, z: 0.41015458}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 1819238997}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &192780992 --- !u!1 &192780992
GameObject: GameObject:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@ -6205,7 +6236,7 @@ GameObject:
m_Icon: {fileID: 0} m_Icon: {fileID: 0}
m_NavMeshLayer: 0 m_NavMeshLayer: 0
m_StaticEditorFlags: 0 m_StaticEditorFlags: 0
m_IsActive: 0 m_IsActive: 1
--- !u!4 &281408863 --- !u!4 &281408863
Transform: Transform:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@ -7420,7 +7451,7 @@ GameObject:
m_Icon: {fileID: 0} m_Icon: {fileID: 0}
m_NavMeshLayer: 0 m_NavMeshLayer: 0
m_StaticEditorFlags: 0 m_StaticEditorFlags: 0
m_IsActive: 0 m_IsActive: 1
--- !u!4 &329040649 --- !u!4 &329040649
Transform: Transform:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@ -9229,7 +9260,7 @@ GameObject:
m_Icon: {fileID: 0} m_Icon: {fileID: 0}
m_NavMeshLayer: 0 m_NavMeshLayer: 0
m_StaticEditorFlags: 0 m_StaticEditorFlags: 0
m_IsActive: 0 m_IsActive: 1
--- !u!114 &395072432 --- !u!114 &395072432
MonoBehaviour: MonoBehaviour:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@ -13008,7 +13039,7 @@ GameObject:
m_Icon: {fileID: 0} m_Icon: {fileID: 0}
m_NavMeshLayer: 0 m_NavMeshLayer: 0
m_StaticEditorFlags: 0 m_StaticEditorFlags: 0
m_IsActive: 0 m_IsActive: 1
--- !u!114 &515302568 --- !u!114 &515302568
MonoBehaviour: MonoBehaviour:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@ -15397,7 +15428,7 @@ GameObject:
m_Icon: {fileID: 0} m_Icon: {fileID: 0}
m_NavMeshLayer: 0 m_NavMeshLayer: 0
m_StaticEditorFlags: 0 m_StaticEditorFlags: 0
m_IsActive: 0 m_IsActive: 1
--- !u!114 &628364366 --- !u!114 &628364366
MonoBehaviour: MonoBehaviour:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@ -17936,7 +17967,7 @@ GameObject:
m_Icon: {fileID: 0} m_Icon: {fileID: 0}
m_NavMeshLayer: 0 m_NavMeshLayer: 0
m_StaticEditorFlags: 0 m_StaticEditorFlags: 0
m_IsActive: 0 m_IsActive: 1
--- !u!224 &789990414 --- !u!224 &789990414
RectTransform: RectTransform:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@ -22026,7 +22057,7 @@ GameObject:
m_Icon: {fileID: 0} m_Icon: {fileID: 0}
m_NavMeshLayer: 0 m_NavMeshLayer: 0
m_StaticEditorFlags: 0 m_StaticEditorFlags: 0
m_IsActive: 0 m_IsActive: 1
--- !u!82 &992566369 --- !u!82 &992566369
AudioSource: AudioSource:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@ -25161,7 +25192,7 @@ GameObject:
m_Icon: {fileID: 0} m_Icon: {fileID: 0}
m_NavMeshLayer: 0 m_NavMeshLayer: 0
m_StaticEditorFlags: 0 m_StaticEditorFlags: 0
m_IsActive: 0 m_IsActive: 1
--- !u!4 &1147870383 --- !u!4 &1147870383
Transform: Transform:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@ -28747,6 +28778,15 @@ MonoBehaviour:
- Y: [] - Y: []
- Y: [] - Y: []
- Y: [] - Y: []
ToolX:
- Y: []
- Y: []
- Y: []
- Y: []
- Y: []
- Y: []
- Y: []
- Y: []
character: 0 character: 0
playerOn: {fileID: 0} playerOn: {fileID: 0}
player: {fileID: 1809205617} player: {fileID: 1809205617}
@ -36479,7 +36519,7 @@ GameObject:
m_Icon: {fileID: 0} m_Icon: {fileID: 0}
m_NavMeshLayer: 0 m_NavMeshLayer: 0
m_StaticEditorFlags: 0 m_StaticEditorFlags: 0
m_IsActive: 0 m_IsActive: 1
--- !u!114 &1690695889 --- !u!114 &1690695889
MonoBehaviour: MonoBehaviour:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@ -37789,7 +37829,7 @@ GameObject:
m_Icon: {fileID: 0} m_Icon: {fileID: 0}
m_NavMeshLayer: 0 m_NavMeshLayer: 0
m_StaticEditorFlags: 0 m_StaticEditorFlags: 0
m_IsActive: 0 m_IsActive: 1
--- !u!114 &1751203283 --- !u!114 &1751203283
MonoBehaviour: MonoBehaviour:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@ -39358,6 +39398,7 @@ MonoBehaviour:
line: 8 line: 8
column: 8 column: 8
generatePoint: {fileID: 514899946} generatePoint: {fileID: 514899946}
generatePointTest: {fileID: 179913386}
lineOffSet: {x: 1, y: 0, z: 0} lineOffSet: {x: 1, y: 0, z: 0}
columnOffSet: {x: 0, y: 0, z: 0.865} columnOffSet: {x: 0, y: 0, z: 0.865}
enemyGenerateDataList: [] enemyGenerateDataList: []
@ -40208,6 +40249,7 @@ Transform:
m_ConstrainProportionsScale: 0 m_ConstrainProportionsScale: 0
m_Children: m_Children:
- {fileID: 514899947} - {fileID: 514899947}
- {fileID: 179913387}
- {fileID: 1802141879} - {fileID: 1802141879}
- {fileID: 1285317928} - {fileID: 1285317928}
m_Father: {fileID: 0} m_Father: {fileID: 0}
@ -45370,7 +45412,7 @@ GameObject:
m_Icon: {fileID: 0} m_Icon: {fileID: 0}
m_NavMeshLayer: 0 m_NavMeshLayer: 0
m_StaticEditorFlags: 0 m_StaticEditorFlags: 0
m_IsActive: 0 m_IsActive: 1
--- !u!114 &2068068678 --- !u!114 &2068068678
MonoBehaviour: MonoBehaviour:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0

4
ColorlessWorld-2024-4-2/Assets/Scripts/Card/CardDrag.cs

@ -418,7 +418,7 @@ public class CardDrag : MonoBehaviour, IBeginDragHandler, IDragHandler, IEndDrag
{ {
//射线检测瞄准的地图节点,判断是否可放置和改变放置影响区 //射线检测瞄准的地图节点,判断是否可放置和改变放置影响区
Ray ray = Camera.main.ScreenPointToRay(Mouse.current.position.value); Ray ray = Camera.main.ScreenPointToRay(Mouse.current.position.value);
Debug.Log(Mouse.current.position.value); //Debug.Log(Mouse.current.position.value);
if (Physics.Raycast(ray, out RaycastHit raycastHit, 500, layerMask.value)) if (Physics.Raycast(ray, out RaycastHit raycastHit, 500, layerMask.value))
{ {
//Debug.Log(raycastHit.collider.gameObject.name); //Debug.Log(raycastHit.collider.gameObject.name);
@ -447,7 +447,7 @@ public class CardDrag : MonoBehaviour, IBeginDragHandler, IDragHandler, IEndDrag
Vector3 face = currentNode.transform.position - GameManager.Instance.playerOn.transform.position; Vector3 face = currentNode.transform.position - GameManager.Instance.playerOn.transform.position;
float euler = Vector3.SignedAngle(-GameManager.Instance.playerOn.transform.forward, face, GameManager.Instance.playerOn.transform.up) + 180; float euler = Vector3.SignedAngle(-GameManager.Instance.playerOn.transform.forward, face, GameManager.Instance.playerOn.transform.up) + 180;
Debug.Log("euler是"+ euler); Debug.Log("euler是"+ euler);
getNodeTools.setEffectRangePreview(cardEntity.cardOriginalData.EffectRange, euler, currentNode,cardEntity); getNodeTools.setEffectRangePreviewTest(cardEntity.cardOriginalData, euler, currentNode,cardEntity);
//setEffectRangePreview(cardEntity.cardOriginalData.EffectRange, euler, currentNode); //setEffectRangePreview(cardEntity.cardOriginalData.EffectRange, euler, currentNode);
//influencePreviewPool.Add(currentNode); //influencePreviewPool.Add(currentNode);

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

@ -1,6 +1,7 @@
using System; using System;
using System.Collections; using System.Collections;
using System.Collections.Generic; using System.Collections.Generic;
using System.Data;
using System.Linq; using System.Linq;
using System.Text.RegularExpressions; using System.Text.RegularExpressions;
using Unity.VisualScripting; using Unity.VisualScripting;
@ -131,7 +132,8 @@ public class CardEntity : MonoBehaviour
//createCardDescription(); //createCardDescription();
//createCardName(); //createCardName();
//createCardCost(); //createCardCost();
createCardImage(); //createCardImage();
createCardImageTest();
this.cardIndex = cardIndex; this.cardIndex = cardIndex;
} }
@ -190,6 +192,15 @@ public class CardEntity : MonoBehaviour
} }
} }
}
public void createCardImageTest()
{
MapUnity currentNode = GameManager.Instance.ToolX[3].Y[3];
Debug.Log("card´´˝¨");
CardManager.setCardImageTest(cardOriginalData, 90.0f, currentNode,this);
} }
//»ñÈ¡¿¨ÅÆÃû×Ö //»ñÈ¡¿¨ÅÆÃû×Ö
public void createCardName() public void createCardName()
@ -197,6 +208,8 @@ public class CardEntity : MonoBehaviour
cardName.text = cardOriginalData.ChineseName; cardName.text = cardOriginalData.ChineseName;
} }
public void createCardCost() public void createCardCost()
{ {
/* if (cardOriginalData.FunctionVal.ContainsKey(CardFunction.xCost)) /* if (cardOriginalData.FunctionVal.ContainsKey(CardFunction.xCost))

2
ColorlessWorld-2024-4-2/Assets/Scripts/Card/CardOriginalData.cs

@ -49,6 +49,8 @@ public class CardOriginalData : System.Object
public HashSet<string> originFunctionVal; public HashSet<string> originFunctionVal;
public HashSet<CoordinateColorPair> cardImageMark;
public string CardId public string CardId
{ {
get { return cardId; } get { return cardId; }

17
ColorlessWorld-2024-4-2/Assets/Scripts/Card/CardOriginalDataList.cs

@ -20,7 +20,7 @@ public class CardOriginalDataList : Singleton<CardOriginalDataList>
private void OnEnable() private void OnEnable()
{ {
cardOriginalDataList = ReadExcel("card_data_3.csv"); cardOriginalDataList = ReadExcel("card_data_4.csv");
//categorizeCardsByRarity(); //categorizeCardsByRarity();
existCardOriginalDataList = cardOriginalDataList; existCardOriginalDataList = cardOriginalDataList;
@ -138,6 +138,7 @@ public class CardOriginalDataList : Singleton<CardOriginalDataList>
private CardOriginalData loadDatafromCsv(string[] values, CardOriginalData cardOriginalData) private CardOriginalData loadDatafromCsv(string[] values, CardOriginalData cardOriginalData)
{ {
cardOriginalData.cardImageMark = new HashSet<CoordinateColorPair>();
//CardOriginalData cardOriginalData = CardOriginalData.Instance; //CardOriginalData cardOriginalData = CardOriginalData.Instance;
cardOriginalData.CardId = values[0]; cardOriginalData.CardId = values[0];
//cardOriginalData.ChineseName = values[1]; //cardOriginalData.ChineseName = values[1];
@ -153,6 +154,20 @@ public class CardOriginalDataList : Singleton<CardOriginalDataList>
cardOriginalData.testTrueFunctionVal = new Dictionary<string, string>(); cardOriginalData.testTrueFunctionVal = new Dictionary<string, string>();
cardOriginalData.originFunctionVal = new HashSet<string>(); cardOriginalData.originFunctionVal = new HashSet<string>();
cardOriginalData.ImgPath = values[9]; cardOriginalData.ImgPath = values[9];
for (int i = 0; i < cardOriginalData.nodesMark.Length; i++)
{
// 拆分坐标
string[] coords = cardOriginalData.nodesMark[i].Split('_');
int x = int.Parse(coords[0]);
int y = int.Parse(coords[1]);
string color = cardOriginalData.nodesColor[i];
// 创建 CoordinateColorPair 实例
CoordinateColorPair pair = new CoordinateColorPair(x, y, color);
// 添加到 HashSet
cardOriginalData.cardImageMark.Add(pair);
}
getDictionaryFromString(values, cardOriginalData); getDictionaryFromString(values, cardOriginalData);
return cardOriginalData; return cardOriginalData;

2
ColorlessWorld-2024-4-2/Assets/Scripts/FightReward/RewardManager.cs

@ -80,7 +80,7 @@ public class RewardManager : Singleton<RewardManager>
var cardChoosePanle = Instantiate(cardChoosePanlePrefab, cardChoosePanleFather.transform);//ÉúłÉŃĄż¨ąí var cardChoosePanle = Instantiate(cardChoosePanlePrefab, cardChoosePanleFather.transform);//ÉúłÉŃĄż¨ąí
cardRewardTipData.cardChoosePanle = cardChoosePanle; cardRewardTipData.cardChoosePanle = cardChoosePanle;
GeneratorRewardCard(cardChoosePanle.transform .GetChild(1), cardTip,amount);//生成随机卡牌 //GeneratorRewardCard(cardChoosePanle.transform .GetChild(1), cardTip,amount);//生成随机卡牌
break; break;
case RewardType.money: case RewardType.money:
var moneyTip = Instantiate(rewardTipPrefabMoney, chooseRewardPanle.transform); var moneyTip = Instantiate(rewardTipPrefabMoney, chooseRewardPanle.transform);

25
ColorlessWorld-2024-4-2/Assets/Scripts/GameManager.cs

@ -8,6 +8,7 @@ public class GameManager : Singleton<GameManager>
{ {
public bool complete; public bool complete;
public List <Yunit> X; public List <Yunit> X;
public List<Yunit> ToolX;
[Header("当前选择角色")] [Header("当前选择角色")]
public SelectedCharacter character; public SelectedCharacter character;
public enum SelectedCharacter public enum SelectedCharacter
@ -107,6 +108,7 @@ public class GameManager : Singleton<GameManager>
{ {
//生成空地图列表 //生成空地图列表
GenerateEnmptyMapList(); GenerateEnmptyMapList();
GenerateEnmptyMapListForTool();
// GenerateEnmptyMapListDefault(); // GenerateEnmptyMapListDefault();
//生成角色数据 //生成角色数据
if (PlayerStatsManager .Instance .playerState != null) if (PlayerStatsManager .Instance .playerState != null)
@ -146,6 +148,29 @@ public class GameManager : Singleton<GameManager>
} }
} }
} }
public void GenerateEnmptyMapListForTool()
{
if (complete == false)
{
for (int i = 0; i < MapManager.Instance.line; i++)
{
int currentColum = 0;
if (i % 2 == 0)
{
currentColum = MapManager.Instance.column;
}
else
{
currentColum = MapManager.Instance.column - 1;
}
for (int j = 0; j < currentColum; j++)
{
ToolX[i].Y.Add(null);
}
}
}
}
public void GenerateEnmptyMapListDefault() public void GenerateEnmptyMapListDefault()
{ {
if (complete == false) if (complete == false)

7
ColorlessWorld-2024-4-2/Assets/Scripts/Handler/EffectRangeHandler3_1.cs

@ -69,4 +69,9 @@ public class EffectRangeHandler3_1 : EffectRangeHandlerBase
} }
} private void get3_1Node(MapUnity currentNode, int offset, CardOriginalData cardOriginalData)
{
}
}

21
ColorlessWorld-2024-4-2/Assets/Scripts/Handler/EffectRangeHandlerBase.cs

@ -43,6 +43,27 @@ public class EffectRangeHandlerBase : EffectRangeHandler
return canPass; return canPass;
} }
public (int x, int y, int z) ooveInDirection(int x, int y, int z, float euler)
{
switch (euler)
{
case 30.0f: // ÓÒÉÏ
return (x + 1, y - 1, z);
case 90.0f: // ÓÒ
return (x + 1, y, z - 1);
case 150.0f: // ÓÒÏÂ
return (x, y + 1, z - 1);
case 210.0f: // ×óÏÂ
return (x - 1, y + 1, z);
case 270.0f: // ×ó
return (x - 1, y, z + 1);
case 330.0f: // ×óÉÏ
return (x, y - 1, z + 1);
default:
throw new ArgumentException("Invalid direction: must be between 0 and 5");
}
}
public int getOffsetFromEuler(float euler) public int getOffsetFromEuler(float euler)
{ {
int offset = 0; int offset = 0;

129
ColorlessWorld-2024-4-2/Assets/Scripts/MapManager.cs

@ -14,6 +14,10 @@ public class MapManager : Singleton<MapManager>
public GameObject generatePoint; public GameObject generatePoint;
public GameObject generatePointTest;
public GameObject cameraObject;
public Vector3 lineOffSet; public Vector3 lineOffSet;
public Vector3 columnOffSet; public Vector3 columnOffSet;
@ -175,7 +179,7 @@ public class MapManager : Singleton<MapManager>
bookAnim.GetComponent<Animator>().SetTrigger("move"); bookAnim.GetComponent<Animator>().SetTrigger("move");
//书缝愈合 //书缝愈合
//bookUpAnim.SetActive(true); //bookUpAnim.SetActive(true);
StartCoroutine(GenerateProcessTest());
enemyBurn(PlayerStatsManager.Instance.levelDevelopData.fightEenemyPool); enemyBurn(PlayerStatsManager.Instance.levelDevelopData.fightEenemyPool);
} }
//总动画控制进程 //总动画控制进程
@ -193,6 +197,45 @@ public class MapManager : Singleton<MapManager>
yield return new WaitForSeconds(2); yield return new WaitForSeconds(2);
yield return StartCoroutine(EnemyGenerate()); yield return StartCoroutine(EnemyGenerate());
yield return StartCoroutine(CompleteGenerate()); yield return StartCoroutine(CompleteGenerate());
CardManager.createCardImageMap();
}
IEnumerator GenerateProcessTest()
{
yield return StartCoroutine(MapGenerateTest());
// yield return StartCoroutine(MapGenerateDefault());
yield return StartCoroutine(SetUpMapUnityForTool());
//yield return StartCoroutine(UPMoveMapUnity());
//yield return new WaitForSeconds(2);
//yield return StartCoroutine(EnemyGenerate());
//yield return StartCoroutine(CompleteGenerate());
createCameraAboveObject(GameManager.Instance.ToolX[3].Y[3].gameObject, 10.0f, 0);
}
public void createCameraAboveObject(GameObject targetObject, float heightAbove, float lookDownAngle)
{
// 1. 创建摄像机
cameraObject = new GameObject("RenderCamera");
Camera renderCamera = cameraObject.AddComponent<Camera>();
// 设置摄像机参数
renderCamera.clearFlags = CameraClearFlags.SolidColor; // 清除背景颜色
renderCamera.backgroundColor = Color.clear; // 背景透明
renderCamera.orthographic = true; // 正交投影
renderCamera.orthographicSize = 5;
renderCamera.enabled = false;
// RenderTexture renderTexture = new RenderTexture(512, 512, 24);
//renderCamera.targetTexture = renderTexture;
// 2. 设置摄像机位置:目标物体上方
Vector3 targetPosition = targetObject.transform.position;
cameraObject.transform.position = targetPosition + new Vector3(0, heightAbove, 0);
// 3. 设置摄像机朝向:向下看目标物体
cameraObject.transform.LookAt(targetPosition);
// 4. 调整倾斜角度(可选)
cameraObject.transform.Rotate(lookDownAngle, 0, 0);
} }
//完成场地创建 //完成场地创建
@ -232,6 +275,19 @@ public class MapManager : Singleton<MapManager>
} }
yield return null; yield return null;
} }
IEnumerator SetUpMapUnityForTool()
{
// yield return StartCoroutine(MapGenerate());
for (int i = 0; i < GameManager.Instance.ToolX.Count; i++)
{
for (int j = 0; j < GameManager.Instance.ToolX[i].Y.Count; j++)
{
GameManager.Instance.ToolX[i].Y[j].StartRegiste();
}
}
yield return null;
}
IEnumerator MapGenerate() IEnumerator MapGenerate()
{ {
for (int i = 0; i < line; i++) for (int i = 0; i < line; i++)
@ -301,6 +357,77 @@ public class MapManager : Singleton<MapManager>
}*/ }*/
#endregion #endregion
} }
IEnumerator MapGenerateTest()
{
for (int i = 0; i < line; i++)
{
if (i != 0)
{
generatePointTest.transform.position += columnOffSet;
}
generatePointTest.transform.position = new Vector3(20, 20, generatePointTest.transform.position.z);
int currentColumn = column;
if (i != 0 && i % 2 != 0)
{
currentColumn = column - 1;
}
for (int j = 0; j < currentColumn; j++)
{
if (i % 2 != 0 && j == 0)
{
generatePointTest.transform.position += lineOffSet / 2f;
}
var a = Instantiate(mapUnity, generatePointTest.transform.position - new Vector3(0, 2, 0), mapUnity.transform.rotation);
MapUnity currentMapUnityScript = a.GetComponent<MapUnity>();
currentMapUnityScript.locationX = i;
currentMapUnityScript.locationY = j;
currentMapUnityScript.RegisterUnitForTool();
generatePointTest.transform.position += lineOffSet;
}
}
yield return null;
#region 隐藏多余节点
/* //隐藏多余节点
List<Yunit> X = GameManager.Instance.X;
for (int i = 0; i < (int)(line / 2f); i++)
{
if (i == 0)
{
X[i].Y[0].gameObject.SetActive(false);
X[i].Y[1].gameObject.SetActive(false);
X[i].Y[X[i].Y .Count -1].gameObject.SetActive(false);
X[i].Y[X[i].Y.Count - 2].gameObject.SetActive(false);
}
else
{
X[i].Y[0].gameObject.SetActive(false);
X[i].Y[X[i].Y.Count - 1].gameObject.SetActive(false);
}
}
for (int i = (int)(line / 2f)+1; i < line ; i++)
{
if (i == line -1)
{
X[i].Y[0].gameObject.SetActive(false);
X[i].Y[1].gameObject.SetActive(false);
X[i].Y[X[i].Y.Count - 1].gameObject.SetActive(false);
X[i].Y[X[i].Y.Count - 2].gameObject.SetActive(false);
}
else
{
X[i].Y[0].gameObject.SetActive(false);
X[i].Y[X[i].Y.Count - 1].gameObject.SetActive(false);
}
}*/
#endregion
}
IEnumerator MapGenerateDefault() IEnumerator MapGenerateDefault()
{ {
for (int i = 0; i < line; i++) for (int i = 0; i < line; i++)

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

@ -7,9 +7,13 @@ using UnityEngine.UI;
public class MapUnity : MonoBehaviour public class MapUnity : MonoBehaviour
{ {
public List<MapUnity> unitPool;//临接对象池 public List<MapUnity> unitPool;//临接对象池
public int locationX;//Áù±ßÐÎ×ø±ê public int locationX;
public int locationY; public int locationY;
public int cubeQ;//六边形坐标(立方)
public int cubeS;
public int cubeR;
public bool compalte;//标识已完成 public bool compalte;//标识已完成
[Header("UI效果范围控件")] [Header("UI效果范围控件")]
@ -86,6 +90,11 @@ public class MapUnity : MonoBehaviour
int xStart = locationX * 2 + 1; int xStart = locationX * 2 + 1;
int yStart = locationY * 2 + 1; int yStart = locationY * 2 + 1;
//计算立方坐标
(int q, int s, int r) = MathTool.AxialToCube(locationY, locationX);
cubeQ = q;
cubeS = s; cubeR = r;
//拼接地图 //拼接地图
if (locationX !=0&&locationX % 2 != 0) if (locationX !=0&&locationX % 2 != 0)
{ {
@ -163,13 +172,22 @@ public class MapUnity : MonoBehaviour
public void switchColor(int newColor) public void switchColor(int newColor)
{ {
whoColour = newColor; if (newColor != 10)
{
whoColour = newColor;
}
RefreshWhoColor(); RefreshWhoColor();
} }
public void RegisterUnit() public void RegisterUnit()
{ {
GameManager.Instance.X[locationX].Y[locationY] = this; GameManager.Instance.X[locationX].Y[locationY] = this;
} }
public void RegisterUnitForTool()
{
Debug.Log(GameManager.Instance.ToolX[0].Y.Count);
GameManager.Instance.ToolX[locationX].Y[locationY] = this;
}
public void ConnectUnit() public void ConnectUnit()
{ {

42
ColorlessWorld-2024-4-2/Assets/Scripts/Player.cs

@ -1,3 +1,4 @@
using System;
using System.Collections; using System.Collections;
using System.Collections.Generic; using System.Collections.Generic;
using UnityEngine; using UnityEngine;
@ -97,25 +98,32 @@ public class Player : MonoBehaviour
TurnMaster.Instance.playerAction = TurnMaster.PlayerAction.none; TurnMaster.Instance.playerAction = TurnMaster.PlayerAction.none;
} }
try
switch (GameManager.Instance.playerOn.whoColour)
{ {
case Name .NodeColor .Red : switch (GameManager.Instance.playerOn.whoColour)
standOnBuff.sprite = onRed; {
break; case Name.NodeColor.Red:
case Name.NodeColor.Green: standOnBuff.sprite = onRed;
standOnBuff.sprite = onGreen; break;
break; case Name.NodeColor.Green:
case Name.NodeColor.Blue: standOnBuff.sprite = onGreen;
standOnBuff.sprite = onBule; break;
break; case Name.NodeColor.Blue:
case Name.NodeColor.Black: standOnBuff.sprite = onBule;
standOnBuff.sprite = onBlack; break;
break; case Name.NodeColor.Black:
case Name.NodeColor.White: standOnBuff.sprite = onBlack;
standOnBuff.sprite = defaultBuff; break;
break; case Name.NodeColor.White:
standOnBuff.sprite = defaultBuff;
break;
}
} }
catch(Exception e)
{
}
} }

0
ColorlessWorld-2024-4-2/Assets/Scripts/MainMnue.meta → ColorlessWorld-2024-4-2/Assets/Scripts/Servent/MainMnue.meta

0
ColorlessWorld-2024-4-2/Assets/Scripts/MainMnue/MineMnueSlied.cs → ColorlessWorld-2024-4-2/Assets/Scripts/Servent/MainMnue/MineMnueSlied.cs

0
ColorlessWorld-2024-4-2/Assets/Scripts/MainMnue/MineMnueSlied.cs.meta → ColorlessWorld-2024-4-2/Assets/Scripts/Servent/MainMnue/MineMnueSlied.cs.meta

29
ColorlessWorld-2024-4-2/Assets/Scripts/Tool/CoordinateColorPair.cs

@ -0,0 +1,29 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class CoordinateColorPair
{
public int X { get; set; }
public int Y { get; set; }
public string Color { get; set; }
public CoordinateColorPair(int x, int y, string color)
{
X = x;
Y = y;
Color = color;
}
public override bool Equals(object obj)
{
if (obj is CoordinateColorPair other)
return X == other.X && Y == other.Y && Color == other.Color;
return false;
}
public override int GetHashCode()
{
return (X, Y, Color).GetHashCode();
}
}

11
ColorlessWorld-2024-4-2/Assets/Scripts/Tool/CoordinateColorPair.cs.meta

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: e9a4d6c1d5ec9674d9cfd40bdb9c2876
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

76
ColorlessWorld-2024-4-2/Assets/Scripts/Tool/MathTool.cs

@ -41,7 +41,83 @@ public class MathTool
return numbers; return numbers;
} }
public static List<(int x, int y, int z)> RotateCoordinates(List<(int x, int y, int z)> coordinates, int angle)
{
List<(int x, int y, int z)> rotatedCoordinates = new List<(int x, int y, int z)>();
foreach (var coord in coordinates)
{
(int x, int y, int z) rotatedCoord = coord;
// 将角度标准化到 0 - 360 之间,并判断旋转多少次 60 度
//int rotationSteps = (angle % 360) / 60;
int rotationSteps=0;
if (angle >= 350 || angle < 40) rotationSteps= 5;
if (angle >= 70 && angle < 110) rotationSteps = 0;
if (angle >= 130 && angle < 170) rotationSteps = 1;
if (angle >= 190 && angle < 230) rotationSteps = 2;
if (angle >= 250 && angle < 290) rotationSteps = 3;
if (angle >= 310 && angle < 350) rotationSteps = 4;
// 根据旋转的次数进行坐标变换
for (int i = 0; i < rotationSteps; i++)
{
rotatedCoord = Rotate60DegreesClockwise(rotatedCoord);
}
rotatedCoordinates.Add(rotatedCoord);
}
return rotatedCoordinates;
}
// 函数用于将坐标顺时针旋转 60 度
private static (int x, int y, int z) Rotate60DegreesClockwise((int x, int y, int z) coord)
{
int x = coord.x;
int y = coord.y;
int z = coord.z;
// 60 度顺时针旋转公式
return (-z, -x, -y);
}
public static (int x, int y) CubeToAxial(int q, int s, int r)
{
int y = -r;
int x = q - (y + 1) / 2;
return (x, y);
}
// 从轴向坐标转换为立方坐标
public static (int q, int s, int r) AxialToCube(int x, int y)
{
int q = (y+1)/2+x;
int r = -y;
int s = -q - r;
return (q, s, r);
}
public static List<(int x, int y, int z)> TranslateHexesToNewOrigin(List<(int x, int y, int z)> hexList, (int x, int y, int z) newOrigin)
{
List<(int x, int y, int z)> translatedHexes = new List<(int x, int y, int z)>();
foreach (var hex in hexList)
{
int newX = hex.x + newOrigin.x;
int newY = hex.y + newOrigin.y;
int newZ = hex.z + newOrigin.z;
// Ensure x + y + z = 0 for consistency in cube coordinates
translatedHexes.Add((newX, newY, newZ));
}
return translatedHexes;
}
public static void keepNature(int number) public static void keepNature(int number)
{ {

2
ColorlessWorld-2024-4-2/Assets/Scripts/Tool/Name.cs

@ -99,7 +99,7 @@ public static class Name
public static int stringColorToint(string color) public static int stringColorToint(string color)
{ {
int intcolor = 1; int intcolor = 10;
switch (color) switch (color)
{ {
case Color.Red: case Color.Red:

55
ColorlessWorld-2024-4-2/Assets/Scripts/Tool/getNodeTools.cs

@ -1,8 +1,12 @@
using System; using System;
using System.Collections;
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq; using System.Linq;
using Unity.VisualScripting; using Unity.VisualScripting;
using UnityEngine; using UnityEngine;
using UnityEngine.UIElements;
using static UnityEditor.Experimental.AssetDatabaseExperimental.AssetDatabaseCounters;
using static UnityEditor.FilePathAttribute;
public class getNodeTools public class getNodeTools
{ {
@ -107,6 +111,21 @@ public class getNodeTools
} }
} }
public static MapUnity getNodeWithCube(int q, int s,int r)
{
//计算立方坐标
(int x, int y) = MathTool.CubeToAxial(q,s,r);
MapUnity result = GameManager.Instance.X[y].Y[x];
return result;
}
public static MapUnity getToolNodeWithCube(int q, int s, int r)
{
//计算立方坐标
(int x, int y) = MathTool.CubeToAxial(q, s, r);
MapUnity result = GameManager.Instance.ToolX[y].Y[x];
return result;
}
public static HashSet<MapUnity> getAllNodes() public static HashSet<MapUnity> getAllNodes()
{ {
HashSet<MapUnity> set = new HashSet<MapUnity>(); HashSet<MapUnity> set = new HashSet<MapUnity>();
@ -618,6 +637,42 @@ public class getNodeTools
}*/ }*/
} }
public static void setEffectRangePreviewTest(CardOriginalData cardOriginalData, float euler, MapUnity currentNode, CardEntity cardEntity)
{
List<(int, int, int)> cubeList = new List<(int, int, int)>();
int intEuler=(int)euler;
//Debug.Log("euler是" + intEuler);
for (int i = 0; i < cardOriginalData.nodesMark.Length; i++)
{
try
{
string[] marks = cardOriginalData.nodesMark[i].Split("_");
(int q, int s, int y) = MathTool.AxialToCube(int.Parse(marks[0]) , int.Parse(marks[1]));
cubeList.Add((q, s, y));
}
catch (Exception e)
{ }
}
List<(int, int, int)> rotatedCubeList = new List<(int, int, int)>();
rotatedCubeList = MathTool.RotateCoordinates(cubeList, intEuler);
List<(int, int, int)> trueCubeList = new List<(int, int, int)>();
trueCubeList = MathTool.TranslateHexesToNewOrigin(rotatedCubeList, (currentNode.cubeQ, currentNode.cubeS, currentNode.cubeR));
foreach (var tuple in trueCubeList)
{
MapUnity endNode = new MapUnity();
endNode = getNodeWithCube(tuple.Item1, tuple.Item2, tuple.Item3);
if (endNode != null)
{
cardEntity.influencePreviewPool.Add(endNode);
}
}
}
public static HashSet<MapUnity> setEffectRangePreviewNoCard(string effectRange, float euler, MapUnity currentNode) public static HashSet<MapUnity> setEffectRangePreviewNoCard(string effectRange, float euler, MapUnity currentNode)
{ {
MapUnity playerOnNode = GameManager.Instance.playerOn.transform.GetComponent<MapUnity>(); MapUnity playerOnNode = GameManager.Instance.playerOn.transform.GetComponent<MapUnity>();

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

@ -6,10 +6,12 @@ using System.Text;
using System.Text.RegularExpressions; using System.Text.RegularExpressions;
using Newtonsoft.Json; using Newtonsoft.Json;
using UnityEngine; using UnityEngine;
using UnityEngine.Rendering;
using static UnityEngine.Rendering.DebugUI; using static UnityEngine.Rendering.DebugUI;
public class CardManager : Singleton<CardManager> public class CardManager : Singleton<CardManager>
{ {
public Dictionary<HashSet<CoordinateColorPair>, Sprite> cardImageMap = new Dictionary<HashSet<CoordinateColorPair>, Sprite>();
private void Start() private void Start()
{ {
DontDestroyOnLoad(this.gameObject); DontDestroyOnLoad(this.gameObject);
@ -191,4 +193,82 @@ public class CardManager : Singleton<CardManager>
} }
return key; return key;
} }
public static void setCardImageTest(CardOriginalData cardOriginalData, float euler, MapUnity currentNode, CardEntity cardEntity)
{
if (CardManager.Instance.cardImageMap.TryGetValue(cardOriginalData.cardImageMark, out Sprite sprite))
{
cardEntity.cardImage.sprite = sprite;
}
else
{
createCardImage(cardOriginalData, euler, currentNode);
setCardImageTest(cardOriginalData, euler, currentNode, cardEntity);
}
}
public static void createCardImageMap()
{
MapUnity currentNode = GameManager.Instance.ToolX[3].Y[3];
foreach (CardOriginalData cardOriginalData in CardOriginalDataList.Instance.existCardOriginalDataList.Values)
{
Debug.Log("createcardimage!");
createCardImage(cardOriginalData, 90.0f, currentNode);
}
}
public static void createCardImage(CardOriginalData cardOriginalData, float euler, MapUnity currentNode)
{
for (int i = 0; i < GameManager.Instance.ToolX.Count; i++)
{
for (int j = 0; j < GameManager.Instance.ToolX[i].Y.Count; j++)
{
GameManager.Instance.ToolX[i].Y[j].whoColour=Name.NodeColor.White;
}
}
List<(int, int, int)> cubeList = new List<(int, int, int)>();
int intEuler = (int)euler;
Debug.Log("eulerÊÇ" + intEuler);
for (int i = 0; i < cardOriginalData.nodesMark.Length; i++)
{
try
{
string[] marks = cardOriginalData.nodesMark[i].Split("_");
(int q, int s, int y) = MathTool.AxialToCube(int.Parse(marks[0]), int.Parse(marks[1]));
cubeList.Add((q, s, y));
}
catch (Exception e)
{ }
}
List<(int, int, int)> rotatedCubeList = new List<(int, int, int)>();
rotatedCubeList = MathTool.RotateCoordinates(cubeList, intEuler);
List<(int, int, int)> trueCubeList = new List<(int, int, int)>();
trueCubeList = MathTool.TranslateHexesToNewOrigin(rotatedCubeList, (currentNode.cubeQ, currentNode.cubeS, currentNode.cubeR));
for (int i = 0; i < trueCubeList.Count; i++)
{
MapUnity endNode = new MapUnity();
endNode = getNodeTools.getToolNodeWithCube(trueCubeList[i].Item1, trueCubeList[i].Item2, trueCubeList[i].Item3);
if (endNode != null)
{
Debug.Log("Ⱦɫ³É¹¦" + cardOriginalData.nodesColor[i]);
endNode.switchColor(Name.stringColorToint(cardOriginalData.nodesColor[i]));
//endNode.influenced = true;
}
}
RenderTexture renderTexture = new RenderTexture(512, 512, 24);
Camera renderCamera = MapManager.Instance.cameraObject.GetComponent<Camera>();
renderCamera.targetTexture = renderTexture;
Texture2D texture = new Texture2D(renderTexture.width, renderTexture.height, TextureFormat.ARGB32, false);
RenderTexture.active = renderCamera.targetTexture;
renderCamera.Render();
texture.ReadPixels(new Rect(0, 0, renderTexture.width, renderTexture.height), 0, 0);
texture.Apply();
RenderTexture.active = null;
Material material = new Material(Shader.Find("Standard"));
material.mainTexture = renderTexture;
Sprite sprite = Sprite.Create(texture, new Rect(0, 0, texture.width, texture.height), new Vector2(0.5f, 0.5f));
CardManager.Instance.cardImageMap.Add(cardOriginalData.cardImageMark, sprite);
}
} }

2
ColorlessWorld-2024-4-2/Assets/StreamingAssets/card_data_4.csv

@ -0,0 +1,2 @@
ID,费用,施法范围,作用范围,条件,功能,数值,地块标记,地块颜色,图片路径
1001,1,2,3_1,red>8;blue<20,1;2,5;4,0_0;1_0;2_0,red;red;red,CardIcon/1010
1 ID 费用类型 费用 施法范围 作用范围 条件 功能 数值 地块标记 地块颜色 图片路径 名称 描述
1 ID 费用 施法范围 作用范围 条件 功能 数值 地块标记 地块颜色 图片路径
2 1001 1 2 3_1 red>8;blue<20 1;2 5;4 0_0;1_0;2_0 red;red;red CardIcon/1010

7
ColorlessWorld-2024-4-2/Assets/StreamingAssets/card_data_4.csv.meta

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 741f3a676aaf67e458b1f5f2dfb9dea0
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

16
ColorlessWorld-2024-4-2/Assets/data/card_data_4.csv

@ -0,0 +1,16 @@
ID,名称,费用,稀有度,施法范围,作用范围,消耗,条件,功能,数值,地块标记,地块颜色,图片路径
1001,星闪,1,1,3,1,0,none,1,5,,green,CardIcon/1
1002,微光,1,1,1,2,0,none,2,5,0,red;red,CardIcon/2
1003,光辉杖击,2,2,1,4_1,0,none;red>3_green>1,1;5_1,9;2_5,0;0_0;0_0_0,red;red;red;red,CardIcon/4_1
1004,星辉护盾,2,2,2,3_2,0,none;red>5,2;2,8;1,2;-2,red;red;red,CardIcon/3_2
1101,,1,2,1,5_4,0,red>4;red>6,1;25,8;3,0;0_-1;0_1;0_0,red;red;red;red;red,CardIcon/Sslx_Card_Kamizn_Feibiao_v01
1102,,1,1,2,5_5,0,red>3,2,7,1;-1;1_0;-1_0,red;red;red;red;red,CardIcon/Sslx_Card_Kamizn_Feibiao_v01
1103,,1,1,1,4_1,0,red>1,1,10,0;0_0;0_0_0,red;red;red;red,CardIcon/Sslx_Card_Kamizn_Feibiao_v01
1104,,1,1,3,3_4,0,red>2,25,8,0;-1,red;red;red,CardIcon/Sslx_Card_Kamizn_Feibiao_v01
1105,,2,2,2,6_5,0,red>2;red>10,1;5,12;2,0;-1;0_-1;-1_-1;0_0,red;red;red;red;red;red;red,CardIcon/Sslx_Card_Kamizn_Feibiao_v01
1106,,1,1,1,4_1,0,red>3_green>2,1,8,0;0_0;0_0_0,red;red;green;green,CardIcon/Sslx_Card_Kamizn_Feibiao_v01
1107,,2,2,2,6_7,0,red>7;blue<4,25;4,6;4,0;-1;1;0_0;0_0_0,red;red;red;red;green;green,CardIcon/Sslx_Card_Kamizn_Feibiao_v01
1108,,2,2,2,6_4,0,red>7;green>4,1;4,12;6,0;-1;1;0_1;0_-1,red;red;red;red;green;green,CardIcon/Sslx_Card_Kamizn_Feibiao_v01
1109,,2,2,2,7_3,0,red<15;blue<6,1_25;19,7_8;2,0;-1;1;-2;2;0_0,green;green;red;red;red;red;green,CardIcon/Sslx_Card_Kamizn_Feibiao_v01
1110,,1,1,2,3_4,0,red>3,1,6,0;-1,red;red;blue,CardIcon/Sslx_Card_Kamizn_Feibiao_v01
1111,,2,2,0,6_3,0,red>6;blue>2,1;48,6;5,0;1;-1;-2;2;3,None;blue;blue;blue;red;red;red,CardIcon/Sslx_Card_Kamizn_Feibiao_v01
1 ID 名称 费用 稀有度 施法范围 作用范围 消耗 条件 功能 数值 地块标记 地块颜色 图片路径
2 1001 星闪 1 1 3 1 0 none 1 5 green CardIcon/1
3 1002 微光 1 1 1 2 0 none 2 5 0 red;red CardIcon/2
4 1003 光辉杖击 2 2 1 4_1 0 none;red>3_green>1 1;5_1 9;2_5 0;0_0;0_0_0 red;red;red;red CardIcon/4_1
5 1004 星辉护盾 2 2 2 3_2 0 none;red>5 2;2 8;1 2;-2 red;red;red CardIcon/3_2
6 1101 1 2 1 5_4 0 red>4;red>6 1;25 8;3 0;0_-1;0_1;0_0 red;red;red;red;red CardIcon/Sslx_Card_Kamizn_Feibiao_v01
7 1102 1 1 2 5_5 0 red>3 2 7 1;-1;1_0;-1_0 red;red;red;red;red CardIcon/Sslx_Card_Kamizn_Feibiao_v01
8 1103 1 1 1 4_1 0 red>1 1 10 0;0_0;0_0_0 red;red;red;red CardIcon/Sslx_Card_Kamizn_Feibiao_v01
9 1104 1 1 3 3_4 0 red>2 25 8 0;-1 red;red;red CardIcon/Sslx_Card_Kamizn_Feibiao_v01
10 1105 2 2 2 6_5 0 red>2;red>10 1;5 12;2 0;-1;0_-1;-1_-1;0_0 red;red;red;red;red;red;red CardIcon/Sslx_Card_Kamizn_Feibiao_v01
11 1106 1 1 1 4_1 0 red>3_green>2 1 8 0;0_0;0_0_0 red;red;green;green CardIcon/Sslx_Card_Kamizn_Feibiao_v01
12 1107 2 2 2 6_7 0 red>7;blue<4 25;4 6;4 0;-1;1;0_0;0_0_0 red;red;red;red;green;green CardIcon/Sslx_Card_Kamizn_Feibiao_v01
13 1108 2 2 2 6_4 0 red>7;green>4 1;4 12;6 0;-1;1;0_1;0_-1 red;red;red;red;green;green CardIcon/Sslx_Card_Kamizn_Feibiao_v01
14 1109 2 2 2 7_3 0 red<15;blue<6 1_25;19 7_8;2 0;-1;1;-2;2;0_0 green;green;red;red;red;red;green CardIcon/Sslx_Card_Kamizn_Feibiao_v01
15 1110 1 1 2 3_4 0 red>3 1 6 0;-1 red;red;blue CardIcon/Sslx_Card_Kamizn_Feibiao_v01
16 1111 2 2 0 6_3 0 red>6;blue>2 1;48 6;5 0;1;-1;-2;2;3 None;blue;blue;blue;red;red;red CardIcon/Sslx_Card_Kamizn_Feibiao_v01

7
ColorlessWorld-2024-4-2/Assets/data/card_data_4.csv.meta

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 45d411a9f662d64478953b229cfd1a00
TextScriptImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

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

Binary file not shown.
Loading…
Cancel
Save