|
|
@ -10,8 +10,16 @@ public class CardOriginalDataList : Singleton<CardOriginalDataList> |
|
|
{ |
|
|
{ |
|
|
public Dictionary<string, CardOriginalData> cardOriginalDataList; |
|
|
public Dictionary<string, CardOriginalData> cardOriginalDataList; |
|
|
|
|
|
|
|
|
|
|
|
public Dictionary<string, CardOriginalData> effectCardOriginalDataList; |
|
|
|
|
|
|
|
|
|
|
|
public Dictionary<string, CardOriginalData> itemCardOriginalDataList; |
|
|
|
|
|
|
|
|
public Dictionary<string, CardOriginalData> existCardOriginalDataList = new Dictionary<string, CardOriginalData>(); |
|
|
public Dictionary<string, CardOriginalData> existCardOriginalDataList = new Dictionary<string, CardOriginalData>(); |
|
|
|
|
|
|
|
|
|
|
|
public Dictionary<string, CardOriginalData> existEffectCardOriginalDataList = new Dictionary<string, CardOriginalData>(); |
|
|
|
|
|
|
|
|
|
|
|
public Dictionary<string, CardOriginalData> existItemCardOriginalDataList = new Dictionary<string, CardOriginalData>(); |
|
|
|
|
|
|
|
|
public Dictionary<string, CardOriginalData> commCardOriginalDataList=new Dictionary<string, CardOriginalData>(); |
|
|
public Dictionary<string, CardOriginalData> commCardOriginalDataList=new Dictionary<string, CardOriginalData>(); |
|
|
|
|
|
|
|
|
public Dictionary<string, CardOriginalData> rareCardOriginalDataList = new Dictionary<string, CardOriginalData>(); |
|
|
public Dictionary<string, CardOriginalData> rareCardOriginalDataList = new Dictionary<string, CardOriginalData>(); |
|
|
@ -20,9 +28,13 @@ public class CardOriginalDataList : Singleton<CardOriginalDataList> |
|
|
|
|
|
|
|
|
private void OnEnable() |
|
|
private void OnEnable() |
|
|
{ |
|
|
{ |
|
|
cardOriginalDataList = ReadExcel("card_data_4.csv"); |
|
|
cardOriginalDataList = ReadExcelForDyeingCard("card_data_4.csv"); |
|
|
//categorizeCardsByRarity();
|
|
|
effectCardOriginalDataList = ReadExcelForEffectCard("card_data_effect_4.csv"); |
|
|
|
|
|
itemCardOriginalDataList = ReadExcelForItemCard("card_data_item_4.csv"); |
|
|
|
|
|
//categorizeCardsByRarity();
|
|
|
existCardOriginalDataList = cardOriginalDataList; |
|
|
existCardOriginalDataList = cardOriginalDataList; |
|
|
|
|
|
existEffectCardOriginalDataList= effectCardOriginalDataList; |
|
|
|
|
|
existItemCardOriginalDataList= itemCardOriginalDataList; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
} |
|
|
@ -109,7 +121,61 @@ public class CardOriginalDataList : Singleton<CardOriginalDataList> |
|
|
|
|
|
|
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
Dictionary<string, CardOriginalData> ReadExcel(string fileName) |
|
|
Dictionary<string, CardOriginalData> ReadExcelForDyeingCard(string fileName) |
|
|
|
|
|
{ |
|
|
|
|
|
string filePath = Path.Combine(Application.streamingAssetsPath, fileName); |
|
|
|
|
|
Dictionary<string, CardOriginalData> cardOriginalDataList = new Dictionary<string, CardOriginalData>(); |
|
|
|
|
|
using (FileStream fs = new FileStream(filePath, FileMode.Open, FileAccess.Read, FileShare.ReadWrite)) |
|
|
|
|
|
using (StreamReader reader = new StreamReader(fs)) |
|
|
|
|
|
{ |
|
|
|
|
|
bool isFirstLine = true; |
|
|
|
|
|
while (!reader.EndOfStream) |
|
|
|
|
|
{ |
|
|
|
|
|
string line = reader.ReadLine(); |
|
|
|
|
|
if (isFirstLine) |
|
|
|
|
|
{ |
|
|
|
|
|
isFirstLine = false; |
|
|
|
|
|
continue; // 跳过标题行
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
// 用逗号分隔每行数据
|
|
|
|
|
|
string[] values = line.Split(','); |
|
|
|
|
|
CardOriginalData cardOriginalData = new CardOriginalData(); |
|
|
|
|
|
loadDatafromCsvForDyeingCard(values, cardOriginalData); |
|
|
|
|
|
cardOriginalDataList.Add(cardOriginalData.CardId, cardOriginalData); |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
return cardOriginalDataList; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
Dictionary<string, CardOriginalData> ReadExcelForEffectCard(string fileName) |
|
|
|
|
|
{ |
|
|
|
|
|
string filePath = Path.Combine(Application.streamingAssetsPath, fileName); |
|
|
|
|
|
Dictionary<string, CardOriginalData> cardOriginalDataList = new Dictionary<string, CardOriginalData>(); |
|
|
|
|
|
using (FileStream fs = new FileStream(filePath, FileMode.Open, FileAccess.Read, FileShare.ReadWrite)) |
|
|
|
|
|
using (StreamReader reader = new StreamReader(fs)) |
|
|
|
|
|
{ |
|
|
|
|
|
bool isFirstLine = true; |
|
|
|
|
|
while (!reader.EndOfStream) |
|
|
|
|
|
{ |
|
|
|
|
|
string line = reader.ReadLine(); |
|
|
|
|
|
if (isFirstLine) |
|
|
|
|
|
{ |
|
|
|
|
|
isFirstLine = false; |
|
|
|
|
|
continue; // 跳过标题行
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
// 用逗号分隔每行数据
|
|
|
|
|
|
string[] values = line.Split(','); |
|
|
|
|
|
CardOriginalData cardOriginalData = new CardOriginalData(); |
|
|
|
|
|
loadDatafromCsvForEffectCard(values, cardOriginalData); |
|
|
|
|
|
cardOriginalDataList.Add(cardOriginalData.CardId, cardOriginalData); |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
return cardOriginalDataList; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
Dictionary<string, CardOriginalData> ReadExcelForItemCard(string fileName) |
|
|
{ |
|
|
{ |
|
|
string filePath = Path.Combine(Application.streamingAssetsPath, fileName); |
|
|
string filePath = Path.Combine(Application.streamingAssetsPath, fileName); |
|
|
Dictionary<string, CardOriginalData> cardOriginalDataList = new Dictionary<string, CardOriginalData>(); |
|
|
Dictionary<string, CardOriginalData> cardOriginalDataList = new Dictionary<string, CardOriginalData>(); |
|
|
@ -129,31 +195,33 @@ public class CardOriginalDataList : Singleton<CardOriginalDataList> |
|
|
// 用逗号分隔每行数据
|
|
|
// 用逗号分隔每行数据
|
|
|
string[] values = line.Split(','); |
|
|
string[] values = line.Split(','); |
|
|
CardOriginalData cardOriginalData = new CardOriginalData(); |
|
|
CardOriginalData cardOriginalData = new CardOriginalData(); |
|
|
loadDatafromCsv(values, cardOriginalData); |
|
|
loadDatafromCsvForItemCard(values, cardOriginalData); |
|
|
cardOriginalDataList.Add(cardOriginalData.CardId, cardOriginalData); |
|
|
cardOriginalDataList.Add(cardOriginalData.CardId, cardOriginalData); |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
return cardOriginalDataList; |
|
|
return cardOriginalDataList; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
private CardOriginalData loadDatafromCsv(string[] values, CardOriginalData cardOriginalData) |
|
|
private CardOriginalData loadDatafromCsvForDyeingCard(string[] values, CardOriginalData cardOriginalData) |
|
|
{ |
|
|
{ |
|
|
cardOriginalData.cardImageMark = new HashSet<CoordinateColorPair>(); |
|
|
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];
|
|
|
cardOriginalData.Cost = int.Parse(values[1]); |
|
|
cardOriginalData.costType = values[1]; |
|
|
|
|
|
cardOriginalData.Cost = int.Parse(values[2]); |
|
|
//cardOriginalData.Rarity = int.Parse(values[3]);
|
|
|
//cardOriginalData.Rarity = int.Parse(values[3]);
|
|
|
cardOriginalData.CastingRange = int.Parse(values[2]); |
|
|
cardOriginalData.CastingRange = int.Parse(values[3]); |
|
|
cardOriginalData.EffectRange = values[3]; |
|
|
cardOriginalData.EffectRange = values[4]; |
|
|
//cardOriginalData.IsDisposable = int.Parse(values[6]) == 1;
|
|
|
//cardOriginalData.IsDisposable = int.Parse(values[6]) == 1;
|
|
|
cardOriginalData.nodesMark = values[7].Split(";"); |
|
|
cardOriginalData.nodesMark = values[8].Split(";"); |
|
|
cardOriginalData.nodesColor = values[8].Split(";"); |
|
|
cardOriginalData.nodesColor = values[9].Split(";"); |
|
|
cardOriginalData.conditionAndFunctionVal = new Dictionary<string, Tuple<string, string>>(); |
|
|
cardOriginalData.conditionAndFunctionVal = new Dictionary<string, Tuple<string, string>>(); |
|
|
cardOriginalData.TrueFunctionVal = new Dictionary<string, string>(); |
|
|
cardOriginalData.TrueFunctionVal = new Dictionary<string, string>(); |
|
|
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.CardType = Name.CardType.dyeing; |
|
|
|
|
|
cardOriginalData.ImgPath = values[10]; |
|
|
for (int i = 0; i < cardOriginalData.nodesMark.Length; i++) |
|
|
for (int i = 0; i < cardOriginalData.nodesMark.Length; i++) |
|
|
{ |
|
|
{ |
|
|
// 拆分坐标
|
|
|
// 拆分坐标
|
|
|
@ -173,11 +241,94 @@ public class CardOriginalDataList : Singleton<CardOriginalDataList> |
|
|
return cardOriginalData; |
|
|
return cardOriginalData; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
private CardOriginalData loadDatafromCsvForEffectCard(string[] values, CardOriginalData cardOriginalData) |
|
|
|
|
|
{ |
|
|
|
|
|
cardOriginalData.cardImageMark = new HashSet<CoordinateColorPair>(); |
|
|
|
|
|
//CardOriginalData cardOriginalData = CardOriginalData.Instance;
|
|
|
|
|
|
cardOriginalData.CardId = values[0]; |
|
|
|
|
|
//cardOriginalData.ChineseName = values[1];
|
|
|
|
|
|
cardOriginalData.costType = values[1]; |
|
|
|
|
|
cardOriginalData.Cost = int.Parse(values[2]); |
|
|
|
|
|
//cardOriginalData.Rarity = int.Parse(values[3]);
|
|
|
|
|
|
cardOriginalData.CastingRange = int.Parse(values[8]); |
|
|
|
|
|
//cardOriginalData.EffectRange = values[3];
|
|
|
|
|
|
//cardOriginalData.IsDisposable = int.Parse(values[6]) == 1;
|
|
|
|
|
|
cardOriginalData.nodesMark = values[6].Split(";"); |
|
|
|
|
|
//cardOriginalData.nodesColor = values[8].Split(";");
|
|
|
|
|
|
cardOriginalData.conditionAndFunctionVal = new Dictionary<string, Tuple<string, string>>(); |
|
|
|
|
|
cardOriginalData.TrueFunctionVal = new Dictionary<string, string>(); |
|
|
|
|
|
cardOriginalData.testTrueFunctionVal = new Dictionary<string, string>(); |
|
|
|
|
|
cardOriginalData.originFunctionVal = new HashSet<string>(); |
|
|
|
|
|
cardOriginalData.CardType = Name.CardType.effect; |
|
|
|
|
|
cardOriginalData.ImgPath = values[7]; |
|
|
|
|
|
cardOriginalData.CastingRange = int.Parse(values[8]); |
|
|
|
|
|
cardOriginalData.TrueFunctionVal = new Dictionary<string, string>(); |
|
|
|
|
|
cardOriginalData.originFunctionVal = new HashSet<string>(); |
|
|
|
|
|
//cardOriginalData.testTrueFunctionVal = new Dictionary<string, string>();
|
|
|
|
|
|
string[] condition = values[3].Split(";"); |
|
|
|
|
|
string[] function = values[4].Split(";"); |
|
|
|
|
|
string[] functionVal = values[5].Split(";"); |
|
|
|
|
|
/*string[] advantagefunction = values[9].Split(";"); |
|
|
|
|
|
string[] advantagefunctionVal = values[10].Split(";");*/ |
|
|
|
|
|
//cardOriginalData.FunctionVal = new Dictionary<string, string>();
|
|
|
|
|
|
//cardOriginalData.AdvantageFunctionVal = new Dictionary<string, string>();
|
|
|
|
|
|
for (int i = 0; i < function.Length; i++) |
|
|
|
|
|
{ |
|
|
|
|
|
cardOriginalData.conditionAndFunctionVal.Add(condition[i], new Tuple<string, string>(function[i], functionVal[i])); |
|
|
|
|
|
} |
|
|
|
|
|
//getDictionaryFromString(values, cardOriginalData);
|
|
|
|
|
|
/* for (int i = 0; i < function.Length; i++) |
|
|
|
|
|
{ |
|
|
|
|
|
cardOriginalData.originFunctionVal.Add(function[i]); |
|
|
|
|
|
cardOriginalData.TrueFunctionVal.Add(function[i], functionVal[i]); |
|
|
|
|
|
cardOriginalData.testTrueFunctionVal.Add(function[i], functionVal[i]); |
|
|
|
|
|
}*/ |
|
|
|
|
|
return cardOriginalData; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
private CardOriginalData loadDatafromCsvForItemCard(string[] values, CardOriginalData cardOriginalData) |
|
|
|
|
|
{ |
|
|
|
|
|
cardOriginalData.cardImageMark = new HashSet<CoordinateColorPair>(); |
|
|
|
|
|
//CardOriginalData cardOriginalData = CardOriginalData.Instance;
|
|
|
|
|
|
cardOriginalData.CardId = values[0]; |
|
|
|
|
|
//cardOriginalData.ChineseName = values[1];
|
|
|
|
|
|
cardOriginalData.costType = values[1]; |
|
|
|
|
|
cardOriginalData.Cost = int.Parse(values[2]); |
|
|
|
|
|
//cardOriginalData.Rarity = int.Parse(values[3]);
|
|
|
|
|
|
//cardOriginalData.CastingRange = int.Parse(values[2]);
|
|
|
|
|
|
//cardOriginalData.EffectRange = values[3];
|
|
|
|
|
|
//cardOriginalData.IsDisposable = int.Parse(values[6]) == 1;
|
|
|
|
|
|
cardOriginalData.nodesMark = values[5].Split(";"); |
|
|
|
|
|
//cardOriginalData.nodesColor = values[8].Split(";");
|
|
|
|
|
|
/*cardOriginalData.conditionAndFunctionVal = new Dictionary<string, Tuple<string, string>>(); |
|
|
|
|
|
cardOriginalData.TrueFunctionVal = new Dictionary<string, string>(); |
|
|
|
|
|
cardOriginalData.testTrueFunctionVal = new Dictionary<string, string>(); |
|
|
|
|
|
cardOriginalData.originFunctionVal = new HashSet<string>();*/ |
|
|
|
|
|
cardOriginalData.CardType = Name.CardType.effect; |
|
|
|
|
|
cardOriginalData.ImgPath = values[6]; |
|
|
|
|
|
cardOriginalData.CastingRange = int.Parse(values[7]); |
|
|
|
|
|
string[] function = values[3].Split(";"); |
|
|
|
|
|
string[] functionVal = values[4].Split(";"); |
|
|
|
|
|
cardOriginalData.TrueFunctionVal = new Dictionary<string, string>(); |
|
|
|
|
|
cardOriginalData.originFunctionVal = new HashSet<string>(); |
|
|
|
|
|
cardOriginalData.testTrueFunctionVal = new Dictionary<string, string>(); |
|
|
|
|
|
cardOriginalData.IsDisposable=true; |
|
|
|
|
|
|
|
|
|
|
|
//getDictionaryFromString(values, cardOriginalData);
|
|
|
|
|
|
for (int i = 0; i < function.Length; i++) |
|
|
|
|
|
{ |
|
|
|
|
|
cardOriginalData.originFunctionVal.Add(function[i]); |
|
|
|
|
|
cardOriginalData.TrueFunctionVal.Add(function[i], functionVal[i]); |
|
|
|
|
|
cardOriginalData.testTrueFunctionVal.Add(function[i], functionVal[i]); |
|
|
|
|
|
} |
|
|
|
|
|
return cardOriginalData; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
private void getDictionaryFromString(string[] values, CardOriginalData cardOriginalData) |
|
|
private void getDictionaryFromString(string[] values, CardOriginalData cardOriginalData) |
|
|
{ |
|
|
{ |
|
|
string[] condition = values[4].Split(";"); |
|
|
string[] condition = values[5].Split(";"); |
|
|
string[] function = values[5].Split(";"); |
|
|
string[] function = values[6].Split(";"); |
|
|
string[] functionVal = values[6].Split(";"); |
|
|
string[] functionVal = values[7].Split(";"); |
|
|
/*string[] advantagefunction = values[9].Split(";"); |
|
|
/*string[] advantagefunction = values[9].Split(";"); |
|
|
string[] advantagefunctionVal = values[10].Split(";");*/ |
|
|
string[] advantagefunctionVal = values[10].Split(";");*/ |
|
|
//cardOriginalData.FunctionVal = new Dictionary<string, string>();
|
|
|
//cardOriginalData.FunctionVal = new Dictionary<string, string>();
|
|
|
|