/// <summary> /// 随从的导入 /// </summary> /// <param name="target"></param> /// <param name="workbook"></param> private void Minion(dynamic workbook) { if (Directory.Exists(ExportFolderPicker.SelectedPathOrFileName + "\\Minion\\")) { Directory.Delete(ExportFolderPicker.SelectedPathOrFileName + "\\Minion\\", true); } Directory.CreateDirectory(ExportFolderPicker.SelectedPathOrFileName + "\\Minion\\"); //随从的导入 dynamic worksheet = workbook.Sheets(1); int rowCount = 4; while (!string.IsNullOrEmpty(worksheet.Cells(rowCount, 2).Text)) { MinionCard Minion = new MinionCard(); Minion.序列号 = worksheet.Cells(rowCount, 2).Text; Minion.名称 = worksheet.Cells(rowCount, 3).Text; Minion.描述 = worksheet.Cells(rowCount, 4).Text; Minion.职业 = CSharpUtility.GetEnum<CardUtility.职业枚举>(worksheet.Cells(rowCount, 5).Text, CardUtility.职业枚举.中立); Minion.种族 = CSharpUtility.GetEnum<CardUtility.种族枚举>(worksheet.Cells(rowCount, 6).Text, CardUtility.种族枚举.无); Minion.使用成本 = CSharpUtility.GetInt(worksheet.Cells(rowCount, 7).Text); Minion.攻击力 = CSharpUtility.GetInt(worksheet.Cells(rowCount, 8).Text); Minion.生命值上限 = CSharpUtility.GetInt(worksheet.Cells(rowCount, 9).Text); Minion.稀有程度 = CSharpUtility.GetEnum<CardBasicInfo.稀有程度枚举>(worksheet.Cells(rowCount, 12).Text, CardBasicInfo.稀有程度枚举.白色); Minion.是否启用 = !string.IsNullOrEmpty(worksheet.Cells(rowCount, 13).Text); Minion.嘲讽特性 = !string.IsNullOrEmpty(worksheet.Cells(rowCount, 14).Text); Minion.冲锋特性 = !string.IsNullOrEmpty(worksheet.Cells(rowCount, 15).Text); Minion.风怒特性 = !string.IsNullOrEmpty(worksheet.Cells(rowCount, 17).Text); Minion.潜行特性 = !string.IsNullOrEmpty(worksheet.Cells(rowCount, 18).Text); Minion.圣盾特性 = !string.IsNullOrEmpty(worksheet.Cells(rowCount, 19).Text); bool HasBuff = false; for (int i = 22; i < 25; i++) { if (!string.IsNullOrEmpty(worksheet.Cells(rowCount, i).Text)) { HasBuff = true; break; } } if (HasBuff) { Minion.光环效果.来源 = Minion.名称; //Minion.光环效果.范围 = CSharpUtility.GetEnum<Buff.光环范围枚举>(worksheet.Cells(rowCount, 22).Text, Buff.光环范围枚举.随从全体); Minion.光环效果.类型 = CSharpUtility.GetEnum<Buff.光环类型枚举>(worksheet.Cells(rowCount, 23).Text, Buff.光环类型枚举.增加攻防); Minion.光环效果.信息 = worksheet.Cells(rowCount, 24).Text; } Minion.战吼效果 = worksheet.Cells(rowCount, 25).Text; Minion.亡语效果 = worksheet.Cells(rowCount, 27).Text; Minion.激怒效果 = worksheet.Cells(rowCount, 28).Text; Minion.连击效果 = worksheet.Cells(rowCount, 29).Text; Minion.回合开始效果 = worksheet.Cells(rowCount, 30).Text; Minion.回合结束效果 = worksheet.Cells(rowCount, 31).Text; Minion.过载 = CSharpUtility.GetInt(worksheet.Cells(rowCount, 32).Text); //Minion.自身事件效果.触发效果事件类型 = CSharpUtility.GetEnum<CardUtility.事件类型枚举>(worksheet.Cells(rowCount, 33).Text, CardUtility.事件类型枚举.无); Minion.自身事件效果.效果编号 = worksheet.Cells(rowCount, 34).Text; Minion.自身事件效果.触发效果事件方向 = CSharpUtility.GetEnum<CardUtility.目标选择方向枚举>(worksheet.Cells(rowCount, 35).Text, CardUtility.目标选择方向枚举.本方); Minion.自身事件效果.限制信息 = worksheet.Cells(rowCount, 36).Text; Minion.特殊效果 = CSharpUtility.GetEnum<MinionCard.特殊效果枚举>(worksheet.Cells(rowCount, 37).Text, MinionCard.特殊效果枚举.无效果); switch (exportType) { case SystemManager.ExportType.XML: XmlSerializer xml = new XmlSerializer(typeof(MinionCard)); string XmlFilename = ExportFolderPicker.SelectedPathOrFileName + "\\Minion\\" + Minion.序列号 + ".xml"; xml.Serialize(new StreamWriter(XmlFilename), Minion); break; case SystemManager.ExportType.JSON: string JSonFilename = ExportFolderPicker.SelectedPathOrFileName + "\\Minion\\" + Minion.序列号 + ".json"; StreamWriter json = new StreamWriter(JSonFilename); json.Write(Minion.ToJson()); json.Close(); break; default: break; } rowCount++; } }