// 769 40 0 10 3 -52 34 -1 0 2 11 0 -12345 private static string Print(SkillPch2 model) { string[] skillPch2Params = new string[] { model.Id.ToString(), model.CastRange.ToString(), model.HpConsume.ToString(), model.MpConsume2.ToString(), model.TargetTypeId.ToString(), model.EffectPoint.ToString(), model.AttributeId.ToString(), model.AbnormalTypeId.ToString(), model.AbnormalLevel.ToString(), model.HitTime.ToString(), model.ReuseCooldown.ToString(), model.IsMagic.ToString(), "-12345" }; return(String.Join(" ", skillPch2Params)); }
public ServiceResult Generate(string SkillDataDir, string SkillDataFile, IProgress <int> progress) { string inNpcdataFile = Path.Combine(SkillDataDir, SkillDataFile); string outPchFile = Path.Combine(SkillDataDir, SkillContants.SkillPchFileName); string outPch2File = Path.Combine(SkillDataDir, SkillContants.SkillPch2FileName); string outPch3File = Path.Combine(SkillDataDir, SkillContants.SkillPch3FileName); IEnumerable <string> rawNpcData = FileUtils.Read(inNpcdataFile); IEnumerable <string> collectedRecord = _skillDataService.Collect(rawNpcData); List <SkillDataDto> skillData = _skillDataService.Parse(collectedRecord).ToList(); StreamWriter sw2 = new StreamWriter(outPch2File, false, Encoding.Unicode); using (StreamWriter sw = new StreamWriter(outPchFile, false, Encoding.Unicode)) { for (var index = 0; index < skillData.Count; index++) { SkillDataDto npcDataDto = skillData[index]; SkillPch pch = Map(npcDataDto); SkillPch2 pch2 = MapPch2(npcDataDto); sw.WriteLine(Print(pch)); sw2.WriteLine(Print(pch2)); progress.Report((int)(index * 100 / skillData.Count)); } } sw2.Close(); sw2.Dispose(); File.Create(outPch3File).Close(); return(new ServiceResult { HasErrors = false }); }