Browse Source

Merge pull request '卡片自定义' (#45) from dev-0524-1014 into dev-0524

Reviewed-on: #45
pull/46/head
yjm484 1 year ago
parent
commit
d25f890616
  1. 8
      ColorlessWorld-2024-4-2/Assets/Deform.meta
  2. 8
      ColorlessWorld-2024-4-2/Assets/Deform/EditorResources.meta
  3. 22
      ColorlessWorld-2024-4-2/Assets/Deform/EditorResources/DeformSettings.asset
  4. 8
      ColorlessWorld-2024-4-2/Assets/Deform/EditorResources/DeformSettings.asset.meta
  5. 10
      ColorlessWorld-2024-4-2/Assets/GameDate/cardDeckList.asset
  6. BIN
      ColorlessWorld-2024-4-2/Assets/Resources/CardIcon/1blue.png
  7. 127
      ColorlessWorld-2024-4-2/Assets/Resources/CardIcon/1blue.png.meta
  8. BIN
      ColorlessWorld-2024-4-2/Assets/Resources/CardIcon/1red.png
  9. 127
      ColorlessWorld-2024-4-2/Assets/Resources/CardIcon/1red.png.meta
  10. BIN
      ColorlessWorld-2024-4-2/Assets/Resources/CardIcon/1white.png
  11. 127
      ColorlessWorld-2024-4-2/Assets/Resources/CardIcon/1white.png.meta
  12. 6
      ColorlessWorld-2024-4-2/Assets/Scripts/Card/CardDataForChooseUI.cs
  13. 2
      ColorlessWorld-2024-4-2/Assets/Scripts/Card/CardDeck.cs
  14. 16
      ColorlessWorld-2024-4-2/Assets/Scripts/Card/CardEntity.cs
  15. 4
      ColorlessWorld-2024-4-2/Assets/Scripts/Card/CardOriginalData.cs
  16. 24
      ColorlessWorld-2024-4-2/Assets/Scripts/Card/CardOriginalDataList.cs
  17. 4
      ColorlessWorld-2024-4-2/Assets/Scripts/Card/CardSmall/CardSmall.cs
  18. 2
      ColorlessWorld-2024-4-2/Assets/Scripts/Card/LookCard/InFightLookCardManager.cs
  19. 2
      ColorlessWorld-2024-4-2/Assets/Scripts/Card/LookCard/LookCardManager.cs
  20. 6
      ColorlessWorld-2024-4-2/Assets/Scripts/Card/TurnMaster.cs
  21. 4
      ColorlessWorld-2024-4-2/Assets/Scripts/Card/UsedCard.cs
  22. 2
      ColorlessWorld-2024-4-2/Assets/Scripts/PlayerManager/PlayerStatsManager.cs
  23. 2
      ColorlessWorld-2024-4-2/Assets/Scripts/Tool/Data_SO/CardDeck_SO.cs
  24. 57
      ColorlessWorld-2024-4-2/Assets/Scripts/manager/CardManager.cs
  25. 11
      ColorlessWorld-2024-4-2/Assets/Scripts/manager/CardManager.cs.meta
  26. 4
      ColorlessWorld-2024-4-2/Assets/Scripts/manager/RewardManager.cs
  27. 2
      ColorlessWorld-2024-4-2/Assets/Scripts/manager/SettlementManager.cs
  28. 5
      ColorlessWorld-2024-4-2/Assets/Scripts/manager/ShopManager.cs
  29. BIN
      ColorlessWorld-2024-4-2/obj/Debug/Assembly-CSharp-Editor.csproj.AssemblyReference.cache

8
ColorlessWorld-2024-4-2/Assets/Deform.meta

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 6084914329ce1a942983a04197d65939
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

8
ColorlessWorld-2024-4-2/Assets/Deform/EditorResources.meta

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: a7e11b54a2cdf1d4ea4a034c00094bdf
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

22
ColorlessWorld-2024-4-2/Assets/Deform/EditorResources/DeformSettings.asset

@ -0,0 +1,22 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 84838e1060cbc4f45a2f463816b2d2fe, type: 3}
m_Name: DeformSettings
m_EditorClassIdentifier:
solidHandleColor: {r: 1, g: 0.4, b: 0, a: 1}
lightHandleColor: {r: 1, g: 0.4, b: 0, a: 0.75}
recordingHandleColor: {r: 1, g: 0, b: 0, a: 0.9}
dottedLineSize: 5
screenspaceHandleCapSize: 0.0275
screenspaceAngleHandleSize: 1.25
screenspaceLatticeCapSize: 0.035
modelsReadableByDefault: 0

8
ColorlessWorld-2024-4-2/Assets/Deform/EditorResources/DeformSettings.asset.meta

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 6bc3ffa9a9b76044a87687a1a30ef4be
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:

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

@ -12,4 +12,12 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: d4cac7ba486f106409799af2bd4b4fc8, type: 3} m_Script: {fileID: 11500000, guid: d4cac7ba486f106409799af2bd4b4fc8, type: 3}
m_Name: cardDeckList m_Name: cardDeckList
m_EditorClassIdentifier: m_EditorClassIdentifier:
cardDeckList: e9030000e9030000e9030000ea030000ea030000ea030000eb030000ec030000ec030000eb030000 cardDeckList:
- 1001
- 1001
- 1002
- 1002
- 1003
- 1003
- 1004
- 1004

BIN
ColorlessWorld-2024-4-2/Assets/Resources/CardIcon/1blue.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 753 KiB

127
ColorlessWorld-2024-4-2/Assets/Resources/CardIcon/1blue.png.meta

@ -0,0 +1,127 @@
fileFormatVersion: 2
guid: 2f7c7e2877b292942973149249a39684
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 12
mipmaps:
mipMapMode: 0
enableMipMap: 0
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
flipGreenChannel: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMipmapLimit: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 1
mipBias: 0
wrapU: 1
wrapV: 1
wrapW: 0
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 1
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 8
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
swizzle: 50462976
cookieLightType: 0
platformSettings:
- serializedVersion: 3
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Server
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
bones: []
spriteID: 5e97eb03825dee720800000000000000
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
nameFileIdTable: {}
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:

BIN
ColorlessWorld-2024-4-2/Assets/Resources/CardIcon/1red.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 753 KiB

127
ColorlessWorld-2024-4-2/Assets/Resources/CardIcon/1red.png.meta

@ -0,0 +1,127 @@
fileFormatVersion: 2
guid: 123512f9faead4d4da8eb3aecef0b09e
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 12
mipmaps:
mipMapMode: 0
enableMipMap: 0
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
flipGreenChannel: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMipmapLimit: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 1
mipBias: 0
wrapU: 1
wrapV: 1
wrapW: 0
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 1
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 8
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
swizzle: 50462976
cookieLightType: 0
platformSettings:
- serializedVersion: 3
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Server
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
bones: []
spriteID: 5e97eb03825dee720800000000000000
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
nameFileIdTable: {}
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:

BIN
ColorlessWorld-2024-4-2/Assets/Resources/CardIcon/1white.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 753 KiB

127
ColorlessWorld-2024-4-2/Assets/Resources/CardIcon/1white.png.meta

@ -0,0 +1,127 @@
fileFormatVersion: 2
guid: 89ef6d1bd01c2da4cab21c0c2191f6d3
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 12
mipmaps:
mipMapMode: 0
enableMipMap: 0
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
flipGreenChannel: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMipmapLimit: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 1
mipBias: 0
wrapU: 1
wrapV: 1
wrapW: 0
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 1
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 8
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
swizzle: 50462976
cookieLightType: 0
platformSettings:
- serializedVersion: 3
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Server
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
bones: []
spriteID: 5e97eb03825dee720800000000000000
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
nameFileIdTable: {}
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:

6
ColorlessWorld-2024-4-2/Assets/Scripts/Card/CardDataForChooseUI.cs

@ -9,10 +9,10 @@ public class CardDataForChooseUI : MonoBehaviour
public CardOriginalData cardOriginalData; public CardOriginalData cardOriginalData;
public HashSet<MapUnity> influencePreviewPool = new HashSet<MapUnity>();//卡牌的影响范围 public HashSet<MapUnity> influencePreviewPool = new HashSet<MapUnity>();//卡牌的影响范围
public int cardId; public string cardId;
public Text cost; public Text cost;
public int CardId public string CardId
{ {
get { return cardId; } get { return cardId; }
set { cardId = value; } set { cardId = value; }
@ -74,7 +74,7 @@ public class CardDataForChooseUI : MonoBehaviour
} }
//创建卡牌 //创建卡牌
public void createCard(int cardId, int cardIndex) public void createCard(string cardId, int cardIndex)
{ {
this.cardId = cardId; this.cardId = cardId;
cardOriginalData = CardOriginalDataList.Instance.cardOriginalDataList[cardId]; cardOriginalData = CardOriginalDataList.Instance.cardOriginalDataList[cardId];

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

@ -8,7 +8,7 @@ public class CardDeck : MonoBehaviour
public GameObject cardPrefabPuTong;//普通卡的预制体 public GameObject cardPrefabPuTong;//普通卡的预制体
public GameObject rareCardPrefab;//普通卡的预制体 public GameObject rareCardPrefab;//普通卡的预制体
public List<int> cardList = new List<int>();//局内使用卡组 public List<string> cardList = new List<string>();//局内使用卡组
private void Awake() private void Awake()
{ {

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

@ -19,10 +19,10 @@ public class CardEntity : MonoBehaviour
//public CardOriginalData cardData; //public CardOriginalData cardData;
public HashSet<MapUnity> influencePreviewPool = new HashSet<MapUnity>();//¿¨ÅƵÄÓ°Ï췶Χ public HashSet<MapUnity> influencePreviewPool = new HashSet<MapUnity>();//¿¨ÅƵÄÓ°Ï췶Χ
public int cardId; public string cardId;
public Text cost; public Text cost;
public int CardId public string CardId
{ {
get { return cardId; } get { return cardId; }
set { cardId = value; } set { cardId = value; }
@ -114,11 +114,11 @@ public class CardEntity : MonoBehaviour
} }
public void createCard(int cardId, int cardIndex) public void createCard(string cardId, int cardIndex)
{ {
this.cardId = cardId; this.cardId = cardId;
//Debug.Log(cardId + "-" + CardOriginalDataList.Instance.cardOriginalDataList[cardId]); //Debug.Log(cardId + "-" + CardOriginalDataList.Instance.cardOriginalDataList[cardId]);
cardOriginalData = CardOriginalDataList.Instance.cardOriginalDataList[cardId]; cardOriginalData = CardOriginalDataList.Instance.existCardOriginalDataList[cardId];
settleForStart(SettlementManager.settleTurn); settleForStart(SettlementManager.settleTurn);
createCardUI(); createCardUI();
//createCardDescription(); //createCardDescription();
@ -457,10 +457,14 @@ public class CardEntity : MonoBehaviour
private void conditionCheck(int conditionCount,CardOriginalData cardOriginalData) private void conditionCheck(int conditionCount,CardOriginalData cardOriginalData)
{ {
bool isConditionMet=true;
for (int i = 0; i < conditionCount; i++) for (int i = 0; i < conditionCount; i++)
{ {
KeyValuePair<string, Tuple<string, string>> kvp = cardOriginalData.conditionAndFunctionVal.ElementAt(i); KeyValuePair<string, Tuple<string, string>> kvp = cardOriginalData.conditionAndFunctionVal.ElementAt(i);
if (kvp.Key.Equals(Name.Condition.None)) string[] keys=kvp.Key.Split('-');
for (int j = 0;j<keys.Length;j++)
{
if (keys[j].Equals(Name.Condition.None))
{ {
conditionList[i].transform.GetChild(0).gameObject.SetActive(false); conditionList[i].transform.GetChild(0).gameObject.SetActive(false);
} }
@ -469,6 +473,8 @@ public class CardEntity : MonoBehaviour
conditionCal(kvp, i); conditionCal(kvp, i);
} }
} }
}
} }
private void createTrueFun() private void createTrueFun()

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

@ -5,7 +5,7 @@ using UnityEngine;
public class CardOriginalData : System.Object public class CardOriginalData : System.Object
{ {
private int cardId; private string cardId;
private int cost; private int cost;
@ -47,7 +47,7 @@ public class CardOriginalData : System.Object
public Dictionary<string, string> originFunctionVal; public Dictionary<string, string> originFunctionVal;
public int CardId public string CardId
{ {
get { return cardId; } get { return cardId; }
set { cardId = value; } set { cardId = value; }

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

@ -8,27 +8,31 @@ using System.Linq;
public class CardOriginalDataList : Singleton<CardOriginalDataList> public class CardOriginalDataList : Singleton<CardOriginalDataList>
{ {
public Dictionary<int, CardOriginalData> cardOriginalDataList; public Dictionary<string, CardOriginalData> cardOriginalDataList;
public Dictionary<int, CardOriginalData> commCardOriginalDataList=new Dictionary<int, CardOriginalData>(); public Dictionary<string, CardOriginalData> existCardOriginalDataList = new Dictionary<string, CardOriginalData>();
public Dictionary<int, CardOriginalData> rareCardOriginalDataList = new Dictionary<int, CardOriginalData>(); public Dictionary<string, CardOriginalData> commCardOriginalDataList=new Dictionary<string, CardOriginalData>();
public Dictionary<int, CardOriginalData> legendaryCardOriginalDataList = new Dictionary<int, CardOriginalData>(); public Dictionary<string, CardOriginalData> rareCardOriginalDataList = new Dictionary<string, CardOriginalData>();
public Dictionary<string, CardOriginalData> legendaryCardOriginalDataList = new Dictionary<string, CardOriginalData>();
private void OnEnable() private void OnEnable()
{ {
cardOriginalDataList = ReadExcel("Assets/data/card_data_3.csv"); cardOriginalDataList = ReadExcel("Assets/data/card_data_3.csv");
categorizeCardsByRarity(); categorizeCardsByRarity();
existCardOriginalDataList = cardOriginalDataList;
} }
public HashSet<int> GetCardRewards(int count) public HashSet<string> GetCardRewards(int count)
{ {
double rareCardCount = 0; double rareCardCount = 0;
var random = new System.Random(); var random = new System.Random();
var selectedCards = new HashSet<int>(); var selectedCards = new HashSet<string>();
// 计算当前的概率 // 计算当前的概率
double commonProbability = 63.0 - GameManager.Instance.cardRewardsRarityAdjustment; double commonProbability = 63.0 - GameManager.Instance.cardRewardsRarityAdjustment;
@ -78,7 +82,7 @@ public class CardOriginalDataList : Singleton<CardOriginalDataList>
return selectedCards; return selectedCards;
} }
private int SelectRandomCard(Dictionary<int, CardOriginalData> cardSet, System.Random random) private string SelectRandomCard(Dictionary<string, CardOriginalData> cardSet, System.Random random)
{ {
return cardSet.Keys.ElementAt(random.Next(cardSet.Count)); return cardSet.Keys.ElementAt(random.Next(cardSet.Count));
} }
@ -103,9 +107,9 @@ public class CardOriginalDataList : Singleton<CardOriginalDataList>
} }
Dictionary<int, CardOriginalData> ReadExcel(string filePath) Dictionary<string, CardOriginalData> ReadExcel(string filePath)
{ {
Dictionary<int, CardOriginalData> cardOriginalDataList = new Dictionary<int, CardOriginalData>(); Dictionary<string, CardOriginalData> cardOriginalDataList = new Dictionary<string, CardOriginalData>();
string[] lines = File.ReadAllLines(filePath); string[] lines = File.ReadAllLines(filePath);
// 跳过标题行(如果CSV文件有标题行的话) // 跳过标题行(如果CSV文件有标题行的话)
@ -123,7 +127,7 @@ public class CardOriginalDataList : Singleton<CardOriginalDataList>
private CardOriginalData loadDatafromCsv(string[] values, CardOriginalData cardOriginalData) private CardOriginalData loadDatafromCsv(string[] values, CardOriginalData cardOriginalData)
{ {
//CardOriginalData cardOriginalData = CardOriginalData.Instance; //CardOriginalData cardOriginalData = CardOriginalData.Instance;
cardOriginalData.CardId = int.Parse(values[0]); cardOriginalData.CardId = values[0];
cardOriginalData.ChineseName = values[1]; cardOriginalData.ChineseName = values[1];
cardOriginalData.Cost = int.Parse(values[2]); cardOriginalData.Cost = int.Parse(values[2]);
cardOriginalData.Rarity = int.Parse(values[3]); cardOriginalData.Rarity = int.Parse(values[3]);

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

@ -32,7 +32,7 @@ public class CardSmall : MonoBehaviour
public float posCount = 20f; public float posCount = 20f;
[Header("¿¨ÅÆID")] [Header("¿¨ÅÆID")]
public int cardID; public string cardID;
IEnumerator moveCardFollowLineWithToUsedCard() IEnumerator moveCardFollowLineWithToUsedCard()
{ {
@ -116,7 +116,7 @@ public class CardSmall : MonoBehaviour
TurnMaster.Instance.continueTurn = true; TurnMaster.Instance.continueTurn = true;
Destroy(this.gameObject); Destroy(this.gameObject);
} }
public void SetDestination(GameObject gameObject,int ID ) public void SetDestination(GameObject gameObject, string ID )
{ {
cardID = ID; cardID = ID;

2
ColorlessWorld-2024-4-2/Assets/Scripts/Card/LookCard/InFightLookCardManager.cs

@ -4,7 +4,7 @@ using UnityEngine;
public class InFightLookCardManager : MonoBehaviour public class InFightLookCardManager : MonoBehaviour
{ {
public List<int> cardList = new List<int>(); public List<string> cardList = new List<string>();
public List<GameObject> cardGameObjectList = new List<GameObject>(); public List<GameObject> cardGameObjectList = new List<GameObject>();
public Vector3 cardScale = new Vector3 (1,1,1);//卡牌大小缩放 public Vector3 cardScale = new Vector3 (1,1,1);//卡牌大小缩放

2
ColorlessWorld-2024-4-2/Assets/Scripts/Card/LookCard/LookCardManager.cs

@ -5,7 +5,7 @@ using UnityEngine;
public class LookCardManager : MonoBehaviour public class LookCardManager : MonoBehaviour
{ {
public List<int> cardList = new List<int>(); public List<string> cardList = new List<string>();
public List<GameObject> cardGameObjectList = new List<GameObject>(); public List<GameObject> cardGameObjectList = new List<GameObject>();
public GameObject lookCardPrefab; public GameObject lookCardPrefab;

6
ColorlessWorld-2024-4-2/Assets/Scripts/Card/TurnMaster.cs

@ -275,7 +275,7 @@ public class TurnMaster : Singleton<TurnMaster>
else else
{ {
continueTurn = false; continueTurn = false;
List<int> cardIndex = new List<int>(); List<string> cardIndex = new List<string>();
foreach (var card in handCard.cardEntityList) foreach (var card in handCard.cardEntityList)
{ {
cardIndex.Add(card.cardId); cardIndex.Add(card.cardId);
@ -324,7 +324,7 @@ public class TurnMaster : Singleton<TurnMaster>
yield return null; yield return null;
} }
IEnumerator Discard(List <int> cardIndex) IEnumerator Discard(List <string> cardIndex)
{ {
for (int j = cardIndex.Count - 1; j > -1; j--) for (int j = cardIndex.Count - 1; j > -1; j--)
{ {
@ -462,7 +462,7 @@ public class TurnMaster : Singleton<TurnMaster>
} }
public GameObject CreateCardWithIDForLook(int id,Transform cardFrather) public GameObject CreateCardWithIDForLook(string id,Transform cardFrather)
{ {
GameObject cardPrefab; GameObject cardPrefab;
cardPrefab = new GameObject(); cardPrefab = new GameObject();

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

@ -6,7 +6,7 @@ public class UsedCard : MonoBehaviour
{ {
public GameObject cardPrefab; public GameObject cardPrefab;
[Header("贏華")] [Header("贏華")]
public List<int> usedCardList; public List<string> usedCardList;
[Header("种障")] [Header("种障")]
public List<int> deleteCardList; public List<string> deleteCardList;
} }

2
ColorlessWorld-2024-4-2/Assets/Scripts/PlayerManager/PlayerStatsManager.cs

@ -72,7 +72,7 @@ public class PlayerStatsManager : Singleton <PlayerStatsManager>
//战斗场景结束先销毁手卡 //战斗场景结束先销毁手卡
public void DeleteHandCard() public void DeleteHandCard()
{ {
List<int> cardIndex = new List<int>(); List<string> cardIndex = new List<string>();
foreach (var card in TurnMaster.Instance.handCard.cardEntityList) foreach (var card in TurnMaster.Instance.handCard.cardEntityList)
{ {
cardIndex.Add(card.cardId); cardIndex.Add(card.cardId);

2
ColorlessWorld-2024-4-2/Assets/Scripts/Tool/Data_SO/CardDeck_SO.cs

@ -6,5 +6,5 @@ using UnityEngine;
public class CardDeck_SO : ScriptableObject public class CardDeck_SO : ScriptableObject
{ {
public List<int> cardDeckList = new List<int>(); public List<string> cardDeckList = new List<string>();
} }

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

@ -0,0 +1,57 @@
using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Text.RegularExpressions;
using UnityEngine;
public class CardManager : Singleton<CardManager>
{
public string switchCardCondition(string orginalCardId, CardOriginalData cardOriginalData, string newColor, int conditionCount)
{
CardOriginalData newCardOriginalData=cardOriginalData;
string condition = newCardOriginalData.conditionAndFunctionVal.ElementAt(conditionCount).Key;
string pattern = @"(\w+)([><=])(\d+)";
newCardOriginalData.originFunctionVal.Clear();
Match match = Regex.Match(condition, pattern);
if (match.Success)
{
string beforecolor = match.Groups[1].Value; // 颜色部分
string op = match.Groups[2].Value; // 运算符部分
string number = match.Groups[3].Value; // 数值部分
Tuple<string, string> value = newCardOriginalData.conditionAndFunctionVal[beforecolor];
string newCondition=newColor+op+number;
newCardOriginalData.conditionAndFunctionVal.Remove(beforecolor);
newCardOriginalData.conditionAndFunctionVal.Add(newCondition, value);
}
string newCardId=AddElementToDictionary(CardOriginalDataList.Instance.existCardOriginalDataList, cardOriginalData.CardId, newCardOriginalData);
return newCardId;
}
public string switchCardColor(string orginalCardId, CardOriginalData cardOriginalData, string newColor)
{
CardOriginalData newCardOriginalData = cardOriginalData;
for (int i = 0; i < newCardOriginalData.nodesColor.Length; i++)
{
newCardOriginalData.nodesColor[i] = newColor;
}
string newCardImgPath = "CardIcon/" + cardOriginalData.EffectRange + newColor;
cardOriginalData.ImgPath = newCardImgPath;
string newCardId = AddElementToDictionary(CardOriginalDataList.Instance.existCardOriginalDataList, cardOriginalData.CardId, newCardOriginalData);
return newCardId;
}
public static string AddElementToDictionary(Dictionary<string, CardOriginalData> dictionary, string baseKey, CardOriginalData value)
{
string key = baseKey;
int counter = 1;
while (dictionary.ContainsKey(key))
{
key = baseKey + counter.ToString();
counter++;
}
dictionary.Add(key, value);
return key;
}
}

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

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

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

@ -26,7 +26,7 @@ public class RewardManager : Singleton<RewardManager>
public List<RewardTipData> rewardsList = new List<RewardTipData>();//奖励生成后实体表 public List<RewardTipData> rewardsList = new List<RewardTipData>();//奖励生成后实体表
[Header("卡牌奖励表")] [Header("卡牌奖励表")]
public List<int> cardRewardList = new List<int>(); public List<string> cardRewardList = new List<string>();
public GameObject cardPrefab; public GameObject cardPrefab;
public GameObject cardChoosePanleFather;//选卡界面生成父级 public GameObject cardChoosePanleFather;//选卡界面生成父级
@ -114,7 +114,7 @@ public class RewardManager : Singleton<RewardManager>
public void GeneratorRewardCard(Transform cardFather ,GameObject cardTip) public void GeneratorRewardCard(Transform cardFather ,GameObject cardTip)
{ {
List <int> cardList = CardOriginalDataList .Instance .GetCardRewards (3).ToList(); List <string> cardList = CardOriginalDataList .Instance .GetCardRewards (3).ToList();
for(int i =0;i<cardList .Count;i++) for(int i =0;i<cardList .Count;i++)
{ {

2
ColorlessWorld-2024-4-2/Assets/Scripts/manager/SettlementManager.cs

@ -221,7 +221,7 @@ public class SettlementManager : Singleton<SettlementManager>
{ {
targetCardNum = TurnMaster.Instance.handCard.cardEntityList.Count + 1; targetCardNum = TurnMaster.Instance.handCard.cardEntityList.Count + 1;
} }
List<int> attackCardOriginalDataList = new List<int>(); List<string> attackCardOriginalDataList = new List<string>();
foreach (var cardId in TurnMaster.Instance.cardDeck.cardList) foreach (var cardId in TurnMaster.Instance.cardDeck.cardList)
{ {
CardOriginalData cardOriginalData = new CardOriginalData(); CardOriginalData cardOriginalData = new CardOriginalData();

5
ColorlessWorld-2024-4-2/Assets/Scripts/manager/ShopManager.cs

@ -8,7 +8,7 @@ public class ShopManager : Singleton <ShopManager>
[Header("删卡界面")] [Header("删卡界面")]
bool candeleteCard = true ;//是否能删除 bool candeleteCard = true ;//是否能删除
public int selectedDeleteIndex; public int selectedDeleteIndex;
public List<int> cardDeck = new List<int>(); public List<string> cardDeck = new List<string>();
public GameObject cardPrefab; public GameObject cardPrefab;
public GameObject cardFatherPanle; public GameObject cardFatherPanle;
public GameObject deletePanle; public GameObject deletePanle;
@ -71,7 +71,8 @@ public class ShopManager : Singleton <ShopManager>
{ {
for(int i=0;i< saleCardList.Count;i++) for(int i=0;i< saleCardList.Count;i++)
{ {
saleCardList[i].createCard((int)Random .Range(10001,10005), i); int cardId = (int)Random.Range(10001, 10005);
saleCardList[i].createCard(cardId.ToString(), i);
saleCardList[i].price = i*10; saleCardList[i].price = i*10;
saleCardList[i].discount = 1; saleCardList[i].discount = 1;
saleCardList[i].SetUpSaleCard(); saleCardList[i].SetUpSaleCard();

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

Binary file not shown.
Loading…
Cancel
Save