diff --git a/ColorlessWorld-2024-4-2/Assets/GameDate/Enemy/Twinbee.asset b/ColorlessWorld-2024-4-2/Assets/GameDate/Enemy/Twinbee.asset index 33c5245e..6ca09cc9 100644 --- a/ColorlessWorld-2024-4-2/Assets/GameDate/Enemy/Twinbee.asset +++ b/ColorlessWorld-2024-4-2/Assets/GameDate/Enemy/Twinbee.asset @@ -29,7 +29,7 @@ MonoBehaviour: currentSkillCoolDown: 3 damageMultiplier: 1 damage: 15 - attackRange: 0 + attackRange: 1 aoeRange: 0 maxNumberOfHits: 0 currentNumberOfHits: 0 diff --git a/ColorlessWorld-2024-4-2/Assets/GameDate/LevelDate/LevelState_1.asset b/ColorlessWorld-2024-4-2/Assets/GameDate/LevelDate/LevelState_1.asset index 356406c5..b8a256fd 100644 --- a/ColorlessWorld-2024-4-2/Assets/GameDate/LevelDate/LevelState_1.asset +++ b/ColorlessWorld-2024-4-2/Assets/GameDate/LevelDate/LevelState_1.asset @@ -12,9 +12,9 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 23280c7f867c4ca468ab73909d4f7707, type: 3} m_Name: LevelState_1 m_EditorClassIdentifier: - levelStep: 5 + levelStep: 3 mapLevel: 1 - currentPoint: {x: 4, y: 0} + currentPoint: {x: 2, y: 0} levelSaveMap: - levelDataList: - roomType: 13 @@ -79,9 +79,8 @@ MonoBehaviour: nextLevelNodes: [] fightEenemyPool: weak enemyList: - - 4003 - - 4003 - - 4004 + - 4007 + - 4008 extraEnemyList: [] mapIndex: 100001 extraMapIndex: @@ -104,6 +103,7 @@ MonoBehaviour: enemyList: - 4007 - 4008 + - 4008 extraEnemyList: [] mapIndex: 100001 extraMapIndex: @@ -120,22 +120,22 @@ MonoBehaviour: nextLevelNodes: [] fightEenemyPool: weak enemyList: - - 4003 - - 4003 - - 4004 + - 4007 + - 4008 + - 4008 extraEnemyList: [] mapIndex: 100001 extraMapIndex: isExtra: 0 - levelDataList: - - roomType: 11 - roomSprite: {fileID: 21300000, guid: 00234b60ba12993428c782adbed08140, type: 3} + - roomType: 12 + roomSprite: {fileID: 21300000, guid: 99d6cfcd8d628454989abc09534f0b64, type: 3} isUse: 1 passBy: 1 nodePos: {x: -3.7901325, y: 0.05972004, z: -7.539102} line: 2 column: 0 - roomDestinationIndex: 13 + roomDestinationIndex: 15 fatherLevelNodes: - {x: 1, y: 1} nextLevelNodes: @@ -146,14 +146,14 @@ MonoBehaviour: mapIndex: extraMapIndex: isExtra: 0 - - roomType: 4 - roomSprite: {fileID: 865446097, guid: ee9d3d2936bac1148abcec2385b98ec3, type: 3} + - roomType: 6 + roomSprite: {fileID: -687936468, guid: ee9d3d2936bac1148abcec2385b98ec3, type: 3} isUse: 1 passBy: 0 nodePos: {x: -3.7901382, y: 0.059721947, z: -6.4391065} line: 2 column: 1 - roomDestinationIndex: 4 + roomDestinationIndex: 3 fatherLevelNodes: - {x: 1, y: 1} nextLevelNodes: @@ -164,14 +164,14 @@ MonoBehaviour: mapIndex: extraMapIndex: isExtra: 0 - - roomType: 6 - roomSprite: {fileID: -687936468, guid: ee9d3d2936bac1148abcec2385b98ec3, type: 3} + - roomType: 4 + roomSprite: {fileID: 865446097, guid: ee9d3d2936bac1148abcec2385b98ec3, type: 3} isUse: 1 passBy: 0 nodePos: {x: -3.7901402, y: 0.059723854, z: -5.339107} line: 2 column: 2 - roomDestinationIndex: 3 + roomDestinationIndex: 4 fatherLevelNodes: - {x: 1, y: 1} nextLevelNodes: @@ -186,7 +186,7 @@ MonoBehaviour: - roomType: 0 roomSprite: {fileID: 1709634788, guid: ee9d3d2936bac1148abcec2385b98ec3, type: 3} isUse: 1 - passBy: 1 + passBy: 0 nodePos: {x: -1.5901484, y: 0.05972767, z: -7.539104} line: 3 column: 0 @@ -196,9 +196,8 @@ MonoBehaviour: - {x: 4, y: 0} fightEenemyPool: weak enemyList: - - 4003 - - 4003 - - 4004 + - 4007 + - 4008 extraEnemyList: [] mapIndex: 100001 extraMapIndex: @@ -244,14 +243,14 @@ MonoBehaviour: extraMapIndex: isExtra: 0 - levelDataList: - - roomType: 8 - roomSprite: {fileID: 21300000, guid: 8ef49f8fd07fb3c4a9605ea6310de0bf, type: 3} + - roomType: 9 + roomSprite: {fileID: 21300000, guid: 2b6cbc9fb953ffc4eb02968e26d8f0cb, type: 3} isUse: 1 - passBy: 1 + passBy: 0 nodePos: {x: 0.6098423, y: 0.0597353, z: -7.539102} line: 4 column: 0 - roomDestinationIndex: 9 + roomDestinationIndex: 12 fatherLevelNodes: - {x: 3, y: 0} nextLevelNodes: @@ -262,14 +261,14 @@ MonoBehaviour: mapIndex: extraMapIndex: isExtra: 0 - - roomType: 10 - roomSprite: {fileID: 21300000, guid: a8b50b2b4dd2d3b429b213be2a984e0b, type: 3} + - roomType: 11 + roomSprite: {fileID: 21300000, guid: 00234b60ba12993428c782adbed08140, type: 3} isUse: 1 passBy: 0 nodePos: {x: 0.6098404, y: 0.059737206, z: -6.4391055} line: 4 column: 1 - roomDestinationIndex: 11 + roomDestinationIndex: 13 fatherLevelNodes: - {x: 3, y: 1} nextLevelNodes: @@ -280,14 +279,14 @@ MonoBehaviour: mapIndex: extraMapIndex: isExtra: 0 - - roomType: 10 - roomSprite: {fileID: 21300000, guid: a8b50b2b4dd2d3b429b213be2a984e0b, type: 3} + - roomType: 11 + roomSprite: {fileID: 21300000, guid: 00234b60ba12993428c782adbed08140, type: 3} isUse: 1 passBy: 0 nodePos: {x: 0.60983753, y: 0.059739113, z: -5.339106} line: 4 column: 2 - roomDestinationIndex: 11 + roomDestinationIndex: 13 fatherLevelNodes: - {x: 3, y: 2} nextLevelNodes: @@ -392,8 +391,8 @@ MonoBehaviour: mapIndex: 100001 extraMapIndex: isExtra: 0 - - roomType: 2 - roomSprite: {fileID: 21300000, guid: 182c3c1bcddd9bd4a86cdaaf70e3d6b0, type: 3} + - roomType: 0 + roomSprite: {fileID: 1709634788, guid: ee9d3d2936bac1148abcec2385b98ec3, type: 3} isUse: 0 passBy: 0 nodePos: {x: 5.0098357, y: 0.05975437, z: -5.339107} @@ -402,26 +401,23 @@ MonoBehaviour: roomDestinationIndex: 2 fatherLevelNodes: [] nextLevelNodes: [] - fightEenemyPool: eliteAndMonster + fightEenemyPool: strong enemyList: - - 4005 - - 4006 - extraEnemyList: - - 4007 - - 4008 - - 4008 + - 4017 + - 4018 + extraEnemyList: [] mapIndex: 100001 - extraMapIndex: 100001 + extraMapIndex: isExtra: 0 - levelDataList: - - roomType: 12 - roomSprite: {fileID: 21300000, guid: 99d6cfcd8d628454989abc09534f0b64, type: 3} + - roomType: 10 + roomSprite: {fileID: 21300000, guid: a8b50b2b4dd2d3b429b213be2a984e0b, type: 3} isUse: 1 passBy: 0 nodePos: {x: 7.2098393, y: 0.059758186, z: -7.539102} line: 7 column: 0 - roomDestinationIndex: 15 + roomDestinationIndex: 11 fatherLevelNodes: - {x: 6, y: 1} nextLevelNodes: @@ -432,14 +428,14 @@ MonoBehaviour: mapIndex: extraMapIndex: isExtra: 0 - - roomType: 4 - roomSprite: {fileID: 865446097, guid: ee9d3d2936bac1148abcec2385b98ec3, type: 3} + - roomType: 8 + roomSprite: {fileID: 21300000, guid: 8ef49f8fd07fb3c4a9605ea6310de0bf, type: 3} isUse: 1 passBy: 0 nodePos: {x: 7.20984, y: 0.059760094, z: -6.4391065} line: 7 column: 1 - roomDestinationIndex: 4 + roomDestinationIndex: 9 fatherLevelNodes: - {x: 6, y: 1} nextLevelNodes: @@ -450,14 +446,14 @@ MonoBehaviour: mapIndex: extraMapIndex: isExtra: 0 - - roomType: 9 - roomSprite: {fileID: 21300000, guid: 2b6cbc9fb953ffc4eb02968e26d8f0cb, type: 3} + - roomType: 4 + roomSprite: {fileID: 865446097, guid: ee9d3d2936bac1148abcec2385b98ec3, type: 3} isUse: 1 passBy: 0 nodePos: {x: 7.2098417, y: 0.059762, z: -5.339107} line: 7 column: 2 - roomDestinationIndex: 12 + roomDestinationIndex: 4 fatherLevelNodes: - {x: 6, y: 1} nextLevelNodes: @@ -527,14 +523,14 @@ MonoBehaviour: extraMapIndex: isExtra: 0 - levelDataList: - - roomType: 9 - roomSprite: {fileID: 21300000, guid: 2b6cbc9fb953ffc4eb02968e26d8f0cb, type: 3} + - roomType: 12 + roomSprite: {fileID: 21300000, guid: 99d6cfcd8d628454989abc09534f0b64, type: 3} isUse: 1 passBy: 0 nodePos: {x: 11.609858, y: 0.059773445, z: -7.539102} line: 9 column: 0 - roomDestinationIndex: 12 + roomDestinationIndex: 15 fatherLevelNodes: - {x: 8, y: 0} nextLevelNodes: @@ -545,14 +541,14 @@ MonoBehaviour: mapIndex: extraMapIndex: isExtra: 0 - - roomType: 11 - roomSprite: {fileID: 21300000, guid: 00234b60ba12993428c782adbed08140, type: 3} + - roomType: 6 + roomSprite: {fileID: -687936468, guid: ee9d3d2936bac1148abcec2385b98ec3, type: 3} isUse: 1 passBy: 0 nodePos: {x: 11.609861, y: 0.059775352, z: -6.4391055} line: 9 column: 1 - roomDestinationIndex: 13 + roomDestinationIndex: 3 fatherLevelNodes: - {x: 8, y: 1} nextLevelNodes: @@ -563,14 +559,14 @@ MonoBehaviour: mapIndex: extraMapIndex: isExtra: 0 - - roomType: 12 - roomSprite: {fileID: 21300000, guid: 99d6cfcd8d628454989abc09534f0b64, type: 3} + - roomType: 9 + roomSprite: {fileID: 21300000, guid: 2b6cbc9fb953ffc4eb02968e26d8f0cb, type: 3} isUse: 1 passBy: 0 nodePos: {x: 11.609866, y: 0.05977726, z: -5.339106} line: 9 column: 2 - roomDestinationIndex: 15 + roomDestinationIndex: 12 fatherLevelNodes: - {x: 8, y: 2} nextLevelNodes: @@ -582,8 +578,8 @@ MonoBehaviour: extraMapIndex: isExtra: 0 - levelDataList: - - roomType: 0 - roomSprite: {fileID: 1709634788, guid: ee9d3d2936bac1148abcec2385b98ec3, type: 3} + - roomType: 2 + roomSprite: {fileID: 21300000, guid: 182c3c1bcddd9bd4a86cdaaf70e3d6b0, type: 3} isUse: 0 passBy: 0 nodePos: {x: 13.809872, y: 0.059781075, z: -7.539102} @@ -592,13 +588,15 @@ MonoBehaviour: roomDestinationIndex: 2 fatherLevelNodes: [] nextLevelNodes: [] - fightEenemyPool: strong + fightEenemyPool: eliteAndMonster enemyList: - - 4017 - - 4018 - extraEnemyList: [] + - 4005 + - 4006 + extraEnemyList: + - 4007 + - 4008 mapIndex: 100001 - extraMapIndex: + extraMapIndex: 100001 isExtra: 0 - roomType: 0 roomSprite: {fileID: 1709634788, guid: ee9d3d2936bac1148abcec2385b98ec3, type: 3} diff --git a/ColorlessWorld-2024-4-2/Assets/Scenes/Shop.unity b/ColorlessWorld-2024-4-2/Assets/Scenes/Shop.unity index 5ee53d58..633c28a6 100644 --- a/ColorlessWorld-2024-4-2/Assets/Scenes/Shop.unity +++ b/ColorlessWorld-2024-4-2/Assets/Scenes/Shop.unity @@ -30392,6 +30392,50 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1886454027} m_CullTransparentMesh: 1 +--- !u!1 &1890290349 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1890290351} + - component: {fileID: 1890290350} + m_Layer: 0 + m_Name: CardManager + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1890290350 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1890290349} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ca1e05724f689024392e0ea50533f6ad, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!4 &1890290351 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1890290349} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &1890800572 GameObject: m_ObjectHideFlags: 0 @@ -38084,3 +38128,4 @@ SceneRoots: - {fileID: 2102594628} - {fileID: 1740960822} - {fileID: 307263762} + - {fileID: 1890290351} diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/Card/CardOriginalDataList.cs b/ColorlessWorld-2024-4-2/Assets/Scripts/Card/CardOriginalDataList.cs index ba7d12c7..111d8277 100644 --- a/ColorlessWorld-2024-4-2/Assets/Scripts/Card/CardOriginalDataList.cs +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/Card/CardOriginalDataList.cs @@ -5,6 +5,7 @@ using UnityEngine; using System.IO; using System.Linq; using SQLite4Unity3d; +using Unity.VisualScripting; public class CardOriginalDataList : Singleton @@ -15,6 +16,8 @@ public class CardOriginalDataList : Singleton public Dictionary abilityCardOriginalDataList; + public Dictionary allCardOriginalDataList = new Dictionary(); + public Dictionary existCardOriginalDataList = new Dictionary(); public Dictionary existEffectCardOriginalDataList = new Dictionary(); @@ -34,6 +37,9 @@ public class CardOriginalDataList : Singleton cardOriginalDataList = ReadExcelForDyeingCard("card_data_5.csv"); effectCardOriginalDataList = ReadExcelForEffectCard("card_data_effect_4.csv"); abilityCardOriginalDataList = ReadExcelForAbilityCard("card_data_ab_1.csv"); + allCardOriginalDataList.AddRange(cardOriginalDataList); + allCardOriginalDataList.AddRange(effectCardOriginalDataList); + allCardOriginalDataList.AddRange(abilityCardOriginalDataList); //categorizeCardsByRarity(); existCardOriginalDataList = cardOriginalDataList; existEffectCardOriginalDataList= effectCardOriginalDataList; diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/FightReward/RewardManager.cs b/ColorlessWorld-2024-4-2/Assets/Scripts/FightReward/RewardManager.cs index b61750c8..4da676e9 100644 --- a/ColorlessWorld-2024-4-2/Assets/Scripts/FightReward/RewardManager.cs +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/FightReward/RewardManager.cs @@ -1,7 +1,9 @@ +using Newtonsoft.Json; using System; using System.Collections; using System.Collections.Generic; using System.Linq; +using System.Runtime.InteropServices; using Unity.Mathematics; using UnityEngine; using UnityEngine.UI; @@ -156,16 +158,24 @@ public class RewardManager : Singleton public void GeneratorRewardCard(Transform cardFather ,GameObject cardTip ,int cardCount) { - List cardAllList = CardOriginalDataList .Instance .cardOriginalDataList .Keys .ToList(); + HashSet dyeingCardSet = MathTool.GetRandomElements(CardManager.Instance.withoutBasicCard(CardOriginalDataList.Instance.cardOriginalDataList).Keys.ToHashSet(), 1); + HashSet effectCardSet = MathTool.GetRandomElements(CardManager.Instance.withoutBasicCard(CardOriginalDataList.Instance.effectCardOriginalDataList).Keys.ToHashSet(), 1); + HashSet allCardSet= JsonConvert.DeserializeObject>(JsonConvert.SerializeObject(CardOriginalDataList.Instance.allCardOriginalDataList.Keys.ToHashSet())); + allCardSet.Remove(dyeingCardSet.ElementAt(0)); + allCardSet.Remove(effectCardSet.ElementAt(0)); + HashSet thirdCard= MathTool.GetRandomElements(CardManager.Instance.withoutBasicCard(allCardSet), 1); + List dyeingCardAList = CardOriginalDataList .Instance .cardOriginalDataList .Keys .ToList(); List cardList = new List (); - for (int i=0;i effectCardAllList = CardOriginalDataList.Instance.effectCardOriginalDataList.Keys.ToList(); - cardList.Add(effectCardAllList[UnityEngine.Random.Range(0, effectCardAllList.Count)]); - + //List effectCardAllList = CardOriginalDataList.Instance.effectCardOriginalDataList.Keys.ToList(); + //cardList.Add(effectCardAllList[UnityEngine.Random.Range(0, effectCardAllList.Count)]); + cardList.Add(dyeingCardSet.ElementAt(0)); + cardList.Add(effectCardSet.ElementAt(0)); + cardList.Add(thirdCard.ElementAt(0)); for (int i =0;i //组装售卡列表 public void SaleCardSetUP() { + int saleNum = 6; if(saleCardList .Count >0) { foreach (var card in saleCardList ) @@ -131,7 +132,17 @@ public class ShopManager : Singleton } saleCardList.Clear(); } - for(int i=0;i< 6;i++) + HashSet cardSetForSale = MathTool.GetRandomElements(CardManager.Instance.withoutBasicCard(CardOriginalDataList.Instance.allCardOriginalDataList).Keys.ToHashSet(), saleNum); + foreach (string cardId in cardSetForSale) + { + var currentSaleCardNode = Instantiate(saleCardNode, cardFather); + var card = PlayerStatsManager.Instance.CreateCardWithIDForLook(cardId, currentSaleCardNode.transform); + card.transform.localPosition = new Vector3(0, 0, 0); + card.transform.SetAsFirstSibling(); + currentSaleCardNode.GetComponent().cardID = cardId; + saleCardList.Add(currentSaleCardNode); + } + /*for(int i=0;i< 6;i++) { List colorCard = CardOriginalDataList.Instance.cardOriginalDataList.Keys.ToList(); List allCards = CardOriginalDataList.Instance.effectCardOriginalDataList.Keys.ToList(); @@ -143,7 +154,9 @@ public class ShopManager : Singleton card.transform.SetAsFirstSibling(); currentSaleCardNode.GetComponent().cardID = cardId; saleCardList.Add(currentSaleCardNode); - } + }*/ + + } //刷新售卡列表 public void ReflashSaleCard(int costMoney) diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/Tool/Name.cs b/ColorlessWorld-2024-4-2/Assets/Scripts/Tool/Name.cs index 0726fac7..4a8e2224 100644 --- a/ColorlessWorld-2024-4-2/Assets/Scripts/Tool/Name.cs +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/Tool/Name.cs @@ -600,6 +600,11 @@ public static class Name public const string Throw = "Throw"; } + + public static readonly List BasicCardId = new() { "1001","1002","1003" }; + + + public static class CardRarity { public const int Common = 1; diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/manager/BuffDataManager.cs b/ColorlessWorld-2024-4-2/Assets/Scripts/manager/BuffDataManager.cs index d7185d0e..5964b729 100644 --- a/ColorlessWorld-2024-4-2/Assets/Scripts/manager/BuffDataManager.cs +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/manager/BuffDataManager.cs @@ -206,6 +206,8 @@ public class BuffDataManager : Singleton return "下张涂色牌施法距离+2"; case AbnormalCondition.nextRoundCostMinusOne: return "下回合能量回复-1"; + case AbnormalCondition.armor: + return "被铠甲附身,增加了最大生命值"; } return " "; diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/manager/CardManager.cs b/ColorlessWorld-2024-4-2/Assets/Scripts/manager/CardManager.cs index 4cbf14e3..1b018608 100644 --- a/ColorlessWorld-2024-4-2/Assets/Scripts/manager/CardManager.cs +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/manager/CardManager.cs @@ -84,6 +84,60 @@ public class CardManager : Singleton return newCardId; } + public string switchCardFunAndValForDyeingCard(CardOriginalData cardOriginalData, KeyValuePair newFunAndVal, string originFun) + { + //CardOriginalData newCardOriginalData=cardOriginalData; + CardOriginalData newCardOriginalData = JsonConvert.DeserializeObject(JsonConvert.SerializeObject(cardOriginalData)); + foreach (KeyValuePair kvp in newCardOriginalData.commonFunctionVal.ToList()) + { + if (kvp.Key.Equals(originFun)) + { + newCardOriginalData.commonFunctionVal.Remove(kvp.Key); + } + } + newCardOriginalData.commonFunctionVal.Add(newFunAndVal.Key, newFunAndVal.Value); + string newCardId = ""; + newCardId = AddElementToDictionary(CardOriginalDataList.Instance.existCardOriginalDataList, cardOriginalData.CardId, newCardOriginalData); + + + return newCardId; + } + + public Dictionary getDyeingCardWithoutBasicCard() + { + //CardOriginalData newCardOriginalData=cardOriginalData; + + return withoutBasicCard(CardOriginalDataList.Instance.cardOriginalDataList); + } + + public Dictionary withoutBasicCard(Dictionary cardSet) + { + //CardOriginalData newCardOriginalData=cardOriginalData; + Dictionary newSet = JsonConvert.DeserializeObject>(JsonConvert.SerializeObject(cardSet)); + foreach (string id in Name.BasicCardId) + { + if (newSet.ContainsKey(id)) + { + newSet.Remove(id); + } + } + return newSet; + } + + public HashSet withoutBasicCard(HashSet cardSet) + { + //CardOriginalData newCardOriginalData=cardOriginalData; + HashSet newSet = JsonConvert.DeserializeObject>(JsonConvert.SerializeObject(cardSet)); + foreach (string id in Name.BasicCardId) + { + if (newSet.Contains(id)) + { + newSet.Remove(id); + } + } + return newSet; + } + public string createNewCard(CardOriginalData newCardOriginalData) { string newCardId = AddElementToDictionary(CardOriginalDataList.Instance.existCardOriginalDataList, newCardOriginalData.CardId, newCardOriginalData);