diff --git a/ColorlessWorld-2024-4-2/Assets/Deform.meta b/ColorlessWorld-2024-4-2/Assets/Deform.meta new file mode 100644 index 00000000..ad4cb5d0 --- /dev/null +++ b/ColorlessWorld-2024-4-2/Assets/Deform.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 6084914329ce1a942983a04197d65939 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/ColorlessWorld-2024-4-2/Assets/Deform/EditorResources.meta b/ColorlessWorld-2024-4-2/Assets/Deform/EditorResources.meta new file mode 100644 index 00000000..ce0669ae --- /dev/null +++ b/ColorlessWorld-2024-4-2/Assets/Deform/EditorResources.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: a7e11b54a2cdf1d4ea4a034c00094bdf +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/ColorlessWorld-2024-4-2/Assets/Deform/EditorResources/DeformSettings.asset b/ColorlessWorld-2024-4-2/Assets/Deform/EditorResources/DeformSettings.asset new file mode 100644 index 00000000..01b7e50c --- /dev/null +++ b/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 diff --git a/ColorlessWorld-2024-4-2/Assets/Deform/EditorResources/DeformSettings.asset.meta b/ColorlessWorld-2024-4-2/Assets/Deform/EditorResources/DeformSettings.asset.meta new file mode 100644 index 00000000..21710834 --- /dev/null +++ b/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: diff --git a/ColorlessWorld-2024-4-2/Assets/GameDate/cardDeckList.asset b/ColorlessWorld-2024-4-2/Assets/GameDate/cardDeckList.asset index a18141c5..355275c1 100644 --- a/ColorlessWorld-2024-4-2/Assets/GameDate/cardDeckList.asset +++ b/ColorlessWorld-2024-4-2/Assets/GameDate/cardDeckList.asset @@ -12,4 +12,12 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: d4cac7ba486f106409799af2bd4b4fc8, type: 3} m_Name: cardDeckList m_EditorClassIdentifier: - cardDeckList: e9030000e9030000e9030000ea030000ea030000ea030000eb030000ec030000ec030000eb030000 + cardDeckList: + - 1001 + - 1001 + - 1002 + - 1002 + - 1003 + - 1003 + - 1004 + - 1004 diff --git a/ColorlessWorld-2024-4-2/Assets/Resources/CardIcon/1blue.png b/ColorlessWorld-2024-4-2/Assets/Resources/CardIcon/1blue.png new file mode 100644 index 00000000..8861afe5 Binary files /dev/null and b/ColorlessWorld-2024-4-2/Assets/Resources/CardIcon/1blue.png differ diff --git a/ColorlessWorld-2024-4-2/Assets/Resources/CardIcon/1blue.png.meta b/ColorlessWorld-2024-4-2/Assets/Resources/CardIcon/1blue.png.meta new file mode 100644 index 00000000..66fba3ed --- /dev/null +++ b/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: diff --git a/ColorlessWorld-2024-4-2/Assets/Resources/CardIcon/1red.png b/ColorlessWorld-2024-4-2/Assets/Resources/CardIcon/1red.png new file mode 100644 index 00000000..8861afe5 Binary files /dev/null and b/ColorlessWorld-2024-4-2/Assets/Resources/CardIcon/1red.png differ diff --git a/ColorlessWorld-2024-4-2/Assets/Resources/CardIcon/1red.png.meta b/ColorlessWorld-2024-4-2/Assets/Resources/CardIcon/1red.png.meta new file mode 100644 index 00000000..29c5b897 --- /dev/null +++ b/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: diff --git a/ColorlessWorld-2024-4-2/Assets/Resources/CardIcon/1white.png b/ColorlessWorld-2024-4-2/Assets/Resources/CardIcon/1white.png new file mode 100644 index 00000000..8861afe5 Binary files /dev/null and b/ColorlessWorld-2024-4-2/Assets/Resources/CardIcon/1white.png differ diff --git a/ColorlessWorld-2024-4-2/Assets/Resources/CardIcon/1white.png.meta b/ColorlessWorld-2024-4-2/Assets/Resources/CardIcon/1white.png.meta new file mode 100644 index 00000000..1c8d542b --- /dev/null +++ b/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: diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/Card/CardDataForChooseUI.cs b/ColorlessWorld-2024-4-2/Assets/Scripts/Card/CardDataForChooseUI.cs index 408a0427..6ebc3660 100644 --- a/ColorlessWorld-2024-4-2/Assets/Scripts/Card/CardDataForChooseUI.cs +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/Card/CardDataForChooseUI.cs @@ -9,10 +9,10 @@ public class CardDataForChooseUI : MonoBehaviour public CardOriginalData cardOriginalData; public HashSet influencePreviewPool = new HashSet();//卡牌的影响范围 - public int cardId; + public string cardId; public Text cost; - public int CardId + public string CardId { get { return cardId; } 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; cardOriginalData = CardOriginalDataList.Instance.cardOriginalDataList[cardId]; diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/Card/CardDeck.cs b/ColorlessWorld-2024-4-2/Assets/Scripts/Card/CardDeck.cs index 853828a2..4e56d6bf 100644 --- a/ColorlessWorld-2024-4-2/Assets/Scripts/Card/CardDeck.cs +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/Card/CardDeck.cs @@ -8,7 +8,7 @@ public class CardDeck : MonoBehaviour public GameObject cardPrefabPuTong;//普通卡的预制体 public GameObject rareCardPrefab;//普通卡的预制体 - public List cardList = new List();//局内使用卡组 + public List cardList = new List();//局内使用卡组 private void Awake() { diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/Card/CardEntity.cs b/ColorlessWorld-2024-4-2/Assets/Scripts/Card/CardEntity.cs index c341dc41..9fb0acfc 100644 --- a/ColorlessWorld-2024-4-2/Assets/Scripts/Card/CardEntity.cs +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/Card/CardEntity.cs @@ -19,10 +19,10 @@ public class CardEntity : MonoBehaviour //public CardOriginalData cardData; public HashSet influencePreviewPool = new HashSet();//卡牌的影响范围 - public int cardId; + public string cardId; public Text cost; - public int CardId + public string CardId { get { return cardId; } 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; //Debug.Log(cardId + "-" + CardOriginalDataList.Instance.cardOriginalDataList[cardId]); - cardOriginalData = CardOriginalDataList.Instance.cardOriginalDataList[cardId]; + cardOriginalData = CardOriginalDataList.Instance.existCardOriginalDataList[cardId]; settleForStart(SettlementManager.settleTurn); createCardUI(); //createCardDescription(); @@ -457,17 +457,23 @@ public class CardEntity : MonoBehaviour private void conditionCheck(int conditionCount,CardOriginalData cardOriginalData) { - for(int i = 0; i < conditionCount; i++) + bool isConditionMet=true; + for (int i = 0; i < conditionCount; i++) { KeyValuePair> kvp = cardOriginalData.conditionAndFunctionVal.ElementAt(i); - if (kvp.Key.Equals(Name.Condition.None)) + string[] keys=kvp.Key.Split('-'); + for (int j = 0;j originFunctionVal; - public int CardId + public string CardId { get { return cardId; } set { cardId = value; } diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/Card/CardOriginalDataList.cs b/ColorlessWorld-2024-4-2/Assets/Scripts/Card/CardOriginalDataList.cs index 0482a28d..7e55d457 100644 --- a/ColorlessWorld-2024-4-2/Assets/Scripts/Card/CardOriginalDataList.cs +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/Card/CardOriginalDataList.cs @@ -8,27 +8,31 @@ using System.Linq; public class CardOriginalDataList : Singleton { - public Dictionary cardOriginalDataList; + public Dictionary cardOriginalDataList; - public Dictionary commCardOriginalDataList=new Dictionary(); + public Dictionary existCardOriginalDataList = new Dictionary(); - public Dictionary rareCardOriginalDataList = new Dictionary(); + public Dictionary commCardOriginalDataList=new Dictionary(); - public Dictionary legendaryCardOriginalDataList = new Dictionary(); + public Dictionary rareCardOriginalDataList = new Dictionary(); + + public Dictionary legendaryCardOriginalDataList = new Dictionary(); private void OnEnable() { cardOriginalDataList = ReadExcel("Assets/data/card_data_3.csv"); categorizeCardsByRarity(); - + existCardOriginalDataList = cardOriginalDataList; + + } - public HashSet GetCardRewards(int count) + public HashSet GetCardRewards(int count) { double rareCardCount = 0; var random = new System.Random(); - var selectedCards = new HashSet(); + var selectedCards = new HashSet(); // 计算当前的概率 double commonProbability = 63.0 - GameManager.Instance.cardRewardsRarityAdjustment; @@ -78,7 +82,7 @@ public class CardOriginalDataList : Singleton return selectedCards; } - private int SelectRandomCard(Dictionary cardSet, System.Random random) + private string SelectRandomCard(Dictionary cardSet, System.Random random) { return cardSet.Keys.ElementAt(random.Next(cardSet.Count)); } @@ -103,9 +107,9 @@ public class CardOriginalDataList : Singleton } - Dictionary ReadExcel(string filePath) + Dictionary ReadExcel(string filePath) { - Dictionary cardOriginalDataList = new Dictionary(); + Dictionary cardOriginalDataList = new Dictionary(); string[] lines = File.ReadAllLines(filePath); // 跳过标题行(如果CSV文件有标题行的话) @@ -123,7 +127,7 @@ public class CardOriginalDataList : Singleton private CardOriginalData loadDatafromCsv(string[] values, CardOriginalData cardOriginalData) { //CardOriginalData cardOriginalData = CardOriginalData.Instance; - cardOriginalData.CardId = int.Parse(values[0]); + cardOriginalData.CardId = values[0]; cardOriginalData.ChineseName = values[1]; cardOriginalData.Cost = int.Parse(values[2]); cardOriginalData.Rarity = int.Parse(values[3]); diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/Card/CardSmall/CardSmall.cs b/ColorlessWorld-2024-4-2/Assets/Scripts/Card/CardSmall/CardSmall.cs index b1d4d577..e7e75e41 100644 --- a/ColorlessWorld-2024-4-2/Assets/Scripts/Card/CardSmall/CardSmall.cs +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/Card/CardSmall/CardSmall.cs @@ -32,7 +32,7 @@ public class CardSmall : MonoBehaviour public float posCount = 20f; [Header("卡牌ID")] - public int cardID; + public string cardID; IEnumerator moveCardFollowLineWithToUsedCard() { @@ -116,7 +116,7 @@ public class CardSmall : MonoBehaviour TurnMaster.Instance.continueTurn = true; Destroy(this.gameObject); } - public void SetDestination(GameObject gameObject,int ID ) + public void SetDestination(GameObject gameObject, string ID ) { cardID = ID; diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/Card/LookCard/InFightLookCardManager.cs b/ColorlessWorld-2024-4-2/Assets/Scripts/Card/LookCard/InFightLookCardManager.cs index b647b55b..8f06c5dc 100644 --- a/ColorlessWorld-2024-4-2/Assets/Scripts/Card/LookCard/InFightLookCardManager.cs +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/Card/LookCard/InFightLookCardManager.cs @@ -4,7 +4,7 @@ using UnityEngine; public class InFightLookCardManager : MonoBehaviour { - public List cardList = new List(); + public List cardList = new List(); public List cardGameObjectList = new List(); public Vector3 cardScale = new Vector3 (1,1,1);//卡牌大小缩放 diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/Card/LookCard/LookCardManager.cs b/ColorlessWorld-2024-4-2/Assets/Scripts/Card/LookCard/LookCardManager.cs index 9d99af1c..5b77aefc 100644 --- a/ColorlessWorld-2024-4-2/Assets/Scripts/Card/LookCard/LookCardManager.cs +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/Card/LookCard/LookCardManager.cs @@ -5,7 +5,7 @@ using UnityEngine; public class LookCardManager : MonoBehaviour { - public List cardList = new List(); + public List cardList = new List(); public List cardGameObjectList = new List(); public GameObject lookCardPrefab; diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/Card/TurnMaster.cs b/ColorlessWorld-2024-4-2/Assets/Scripts/Card/TurnMaster.cs index 351e5ad5..303ae1c0 100644 --- a/ColorlessWorld-2024-4-2/Assets/Scripts/Card/TurnMaster.cs +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/Card/TurnMaster.cs @@ -275,7 +275,7 @@ public class TurnMaster : Singleton else { continueTurn = false; - List cardIndex = new List(); + List cardIndex = new List(); foreach (var card in handCard.cardEntityList) { cardIndex.Add(card.cardId); @@ -324,7 +324,7 @@ public class TurnMaster : Singleton yield return null; } - IEnumerator Discard(List cardIndex) + IEnumerator Discard(List cardIndex) { for (int j = cardIndex.Count - 1; j > -1; j--) { @@ -462,7 +462,7 @@ public class TurnMaster : Singleton } - public GameObject CreateCardWithIDForLook(int id,Transform cardFrather) + public GameObject CreateCardWithIDForLook(string id,Transform cardFrather) { GameObject cardPrefab; cardPrefab = new GameObject(); diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/Card/UsedCard.cs b/ColorlessWorld-2024-4-2/Assets/Scripts/Card/UsedCard.cs index 4c0098cc..3644164a 100644 --- a/ColorlessWorld-2024-4-2/Assets/Scripts/Card/UsedCard.cs +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/Card/UsedCard.cs @@ -6,7 +6,7 @@ public class UsedCard : MonoBehaviour { public GameObject cardPrefab; [Header("墓地")] - public List usedCardList; + public List usedCardList; [Header("销毁")] - public List deleteCardList; + public List deleteCardList; } diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/PlayerManager/PlayerStatsManager.cs b/ColorlessWorld-2024-4-2/Assets/Scripts/PlayerManager/PlayerStatsManager.cs index 7013eeb8..b7a47f2c 100644 --- a/ColorlessWorld-2024-4-2/Assets/Scripts/PlayerManager/PlayerStatsManager.cs +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/PlayerManager/PlayerStatsManager.cs @@ -72,7 +72,7 @@ public class PlayerStatsManager : Singleton //战斗场景结束先销毁手卡 public void DeleteHandCard() { - List cardIndex = new List(); + List cardIndex = new List(); foreach (var card in TurnMaster.Instance.handCard.cardEntityList) { cardIndex.Add(card.cardId); diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/Tool/Data_SO/CardDeck_SO.cs b/ColorlessWorld-2024-4-2/Assets/Scripts/Tool/Data_SO/CardDeck_SO.cs index 3b816265..58cdcc30 100644 --- a/ColorlessWorld-2024-4-2/Assets/Scripts/Tool/Data_SO/CardDeck_SO.cs +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/Tool/Data_SO/CardDeck_SO.cs @@ -6,5 +6,5 @@ using UnityEngine; public class CardDeck_SO : ScriptableObject { - public List cardDeckList = new List(); + public List cardDeckList = new List(); } diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/manager/CardManager.cs b/ColorlessWorld-2024-4-2/Assets/Scripts/manager/CardManager.cs new file mode 100644 index 00000000..1fee0ca7 --- /dev/null +++ b/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 +{ + 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 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 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; + } +} diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/manager/CardManager.cs.meta b/ColorlessWorld-2024-4-2/Assets/Scripts/manager/CardManager.cs.meta new file mode 100644 index 00000000..258b732f --- /dev/null +++ b/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: diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/manager/RewardManager.cs b/ColorlessWorld-2024-4-2/Assets/Scripts/manager/RewardManager.cs index b76bc72d..aaf8c84c 100644 --- a/ColorlessWorld-2024-4-2/Assets/Scripts/manager/RewardManager.cs +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/manager/RewardManager.cs @@ -26,7 +26,7 @@ public class RewardManager : Singleton public List rewardsList = new List();//奖励生成后实体表 [Header("卡牌奖励表")] - public List cardRewardList = new List(); + public List cardRewardList = new List(); public GameObject cardPrefab; public GameObject cardChoosePanleFather;//选卡界面生成父级 @@ -114,7 +114,7 @@ public class RewardManager : Singleton public void GeneratorRewardCard(Transform cardFather ,GameObject cardTip) { - List cardList = CardOriginalDataList .Instance .GetCardRewards (3).ToList(); + List cardList = CardOriginalDataList .Instance .GetCardRewards (3).ToList(); for(int i =0;i { targetCardNum = TurnMaster.Instance.handCard.cardEntityList.Count + 1; } - List attackCardOriginalDataList = new List(); + List attackCardOriginalDataList = new List(); foreach (var cardId in TurnMaster.Instance.cardDeck.cardList) { CardOriginalData cardOriginalData = new CardOriginalData(); diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/manager/ShopManager.cs b/ColorlessWorld-2024-4-2/Assets/Scripts/manager/ShopManager.cs index 5de69871..f4b4749d 100644 --- a/ColorlessWorld-2024-4-2/Assets/Scripts/manager/ShopManager.cs +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/manager/ShopManager.cs @@ -8,7 +8,7 @@ public class ShopManager : Singleton [Header("删卡界面")] bool candeleteCard = true ;//是否能删除 public int selectedDeleteIndex; - public List cardDeck = new List(); + public List cardDeck = new List(); public GameObject cardPrefab; public GameObject cardFatherPanle; public GameObject deletePanle; @@ -71,7 +71,8 @@ public class ShopManager : Singleton { 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].discount = 1; saleCardList[i].SetUpSaleCard(); diff --git a/ColorlessWorld-2024-4-2/obj/Debug/Assembly-CSharp-Editor.csproj.AssemblyReference.cache b/ColorlessWorld-2024-4-2/obj/Debug/Assembly-CSharp-Editor.csproj.AssemblyReference.cache index c8200df2..4d3fb8af 100644 Binary files a/ColorlessWorld-2024-4-2/obj/Debug/Assembly-CSharp-Editor.csproj.AssemblyReference.cache and b/ColorlessWorld-2024-4-2/obj/Debug/Assembly-CSharp-Editor.csproj.AssemblyReference.cache differ