Browse Source

一些修正

remotes/checkIfPRContentChanged-1753429692420322192/dev-0524-1212
yjm484 1 year ago
parent
commit
6be0ae23f6
  1. 3
      ColorlessWorld-2024-4-2/Assets/Scripts/Card/CardEntity.cs
  2. 2
      ColorlessWorld-2024-4-2/Assets/Scripts/Card/CardOriginalData.cs
  3. 15
      ColorlessWorld-2024-4-2/Assets/Scripts/Card/CardOriginalDataList.cs
  4. 2
      ColorlessWorld-2024-4-2/Assets/Scripts/FightReward/RewardManager.cs
  5. 1
      ColorlessWorld-2024-4-2/Assets/Scripts/MapManager.cs
  6. 29
      ColorlessWorld-2024-4-2/Assets/Scripts/Tool/CoordinateColorPair.cs
  7. 11
      ColorlessWorld-2024-4-2/Assets/Scripts/Tool/CoordinateColorPair.cs.meta
  8. 46
      ColorlessWorld-2024-4-2/Assets/Scripts/Tool/getNodeTools.cs
  9. 80
      ColorlessWorld-2024-4-2/Assets/Scripts/manager/CardManager.cs
  10. BIN
      ColorlessWorld-2024-4-2/obj/Debug/Assembly-CSharp-Editor.csproj.AssemblyReference.cache

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

@ -197,7 +197,8 @@ public class CardEntity : MonoBehaviour
public void createCardImageTest()
{
MapUnity currentNode = GameManager.Instance.ToolX[3].Y[3];
getNodeTools.setCardImageTest(cardOriginalData, 90.0f, currentNode,this);
Debug.Log("card´´˝¨");
CardManager.setCardImageTest(cardOriginalData, 90.0f, currentNode,this);
}

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<CoordinateColorPair> cardImageMark;
public string CardId
{
get { return cardId; }

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

@ -138,6 +138,7 @@ public class CardOriginalDataList : Singleton<CardOriginalDataList>
private CardOriginalData loadDatafromCsv(string[] values, CardOriginalData cardOriginalData)
{
cardOriginalData.cardImageMark = new HashSet<CoordinateColorPair>();
//CardOriginalData cardOriginalData = CardOriginalData.Instance;
cardOriginalData.CardId = values[0];
//cardOriginalData.ChineseName = values[1];
@ -153,6 +154,20 @@ public class CardOriginalDataList : Singleton<CardOriginalDataList>
cardOriginalData.testTrueFunctionVal = new Dictionary<string, string>();
cardOriginalData.originFunctionVal = new HashSet<string>();
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);
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);//ÉúłÉŃĄż¨ąí
cardRewardTipData.cardChoosePanle = cardChoosePanle;
GeneratorRewardCard(cardChoosePanle.transform .GetChild(1), cardTip,amount);//生成随机卡牌
//GeneratorRewardCard(cardChoosePanle.transform .GetChild(1), cardTip,amount);//生成随机卡牌
break;
case RewardType.money:
var moneyTip = Instantiate(rewardTipPrefabMoney, chooseRewardPanle.transform);

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

@ -197,6 +197,7 @@ public class MapManager : Singleton<MapManager>
yield return new WaitForSeconds(2);
yield return StartCoroutine(EnemyGenerate());
yield return StartCoroutine(CompleteGenerate());
CardManager.createCardImageMap();
}
IEnumerator GenerateProcessTest()

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:

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

@ -670,52 +670,8 @@ public class getNodeTools
}
public static void setCardImageTest(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));
for (int i = 0; i < trueCubeList.Count; i++)
{
MapUnity endNode = new MapUnity();
endNode = 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;
cardEntity.cardImage.sprite= Sprite.Create(texture, new Rect(0, 0, texture.width, texture.height), new Vector2(0.5f, 0.5f));
}
public static HashSet<MapUnity> setEffectRangePreviewNoCard(string effectRange, float euler, MapUnity currentNode)
{

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

@ -6,10 +6,12 @@ using System.Text;
using System.Text.RegularExpressions;
using Newtonsoft.Json;
using UnityEngine;
using UnityEngine.Rendering;
using static UnityEngine.Rendering.DebugUI;
public class CardManager : Singleton<CardManager>
{
public Dictionary<HashSet<CoordinateColorPair>, Sprite> cardImageMap = new Dictionary<HashSet<CoordinateColorPair>, Sprite>();
private void Start()
{
DontDestroyOnLoad(this.gameObject);
@ -191,4 +193,82 @@ public class CardManager : Singleton<CardManager>
}
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);
}
}

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

Binary file not shown.
Loading…
Cancel
Save