private List <byte> ParseMagicboRecords(HeaderRecord header, List <byte> fileData) { magicboRecords = new List <MagicboRecord>(); for (int i = 0; i < header.InitialSize; i++) { MagicboRecord magicboRecord = new MagicboRecord(fileData); magicboRecords.Add(magicboRecord); magicRecords.FirstOrDefault(i => i.ID == magicboRecord.ID).MagicboRecord = magicboRecord; fileData = fileData.Skip(magicboRecord.Size).ToList(); } header.RecordCount = magicboRecords.Count; return(fileData); }
public MagicStatusEffectsForm(MagicRecord magicRecord) { this.magicRecord = magicRecord; magicboRecord = magicRecord.MagicboRecord; List <RegStatusEffect> regStatusEffects = magicRecord.StatusEffects.Select(i => new RegStatusEffect(i.ToBytes())).ToList(); List <BraveOrderEffect> boStatusEffects = null; InitializeComponent(); List <StatusEffectGroupBoxContents> regCollection = new List <StatusEffectGroupBoxContents> { new StatusEffectGroupBoxContents(RegStatusEffect1GroupBox, RegStatusEffect1TextBox), new StatusEffectGroupBoxContents(RegStatusEffect2GroupBox, RegStatusEffect2TextBox), new StatusEffectGroupBoxContents(RegStatusEffect3GroupBox, RegStatusEffect3TextBox), new StatusEffectGroupBoxContents(RegStatusEffect4GroupBox, RegStatusEffect4TextBox), new StatusEffectGroupBoxContents(RegStatusEffect5GroupBox, RegStatusEffect5TextBox) }; StatusEffectModifySection regModifySection = new StatusEffectModifySection() { strBox = RegStatusEffectID_StrBox, numBox = RegStatusEffectID_NumBox, arg1Box = RegStatusEffectArg1Box, arg2Box = RegStatusEffectArg2Box, arg3Box = RegStatusEffectArg3Box }; RegStatusEffectType[] regStatusEffectTypesArray = (RegStatusEffectType[])Enum.GetValues(typeof(RegStatusEffectType)); Dictionary <short, string> statusEffectTypes = regStatusEffectTypesArray.OrderBy(i => i.ToString()).ToDictionary(i => (short)i, i => i.ToString()); regStatusEffectGroupBoxCollection = new StatusEffectGroupBoxCollection <RegStatusEffect>(regStatusEffects, StatusEffectTooltip, RegStatusEffectsNewBtn, regCollection, regModifySection, statusEffectTypes); if (magicboRecord != null) { boStatusEffects = magicboRecord.BraveOrderEffects.Select(i => new BraveOrderEffect(i.ToBytes())).ToList(); } if (boStatusEffects == null) { BOStatusEffectsGroupBox.Enabled = false; return; } List <StatusEffectGroupBoxContents> boCollection = new List <StatusEffectGroupBoxContents> { new StatusEffectGroupBoxContents(BOStatusEffect1GroupBox, BOStatusEffect1TextBox), new StatusEffectGroupBoxContents(BOStatusEffect2GroupBox, BOStatusEffect2TextBox), new StatusEffectGroupBoxContents(BOStatusEffect3GroupBox, BOStatusEffect3TextBox), new StatusEffectGroupBoxContents(BOStatusEffect4GroupBox, BOStatusEffect4TextBox), new StatusEffectGroupBoxContents(BOStatusEffect5GroupBox, BOStatusEffect5TextBox), }; StatusEffectModifySection boModifySection = new StatusEffectModifySection() { strBox = BOStatusEffectID_StrBox, numBox = BOStatusEffectID_NumBox, arg1Box = BOStatusEffectArg1Box, arg2Box = BOStatusEffectArg2Box, arg3Box = BOStatusEffectArg3Box }; BraveOrderEffectType[] boStatusEffectTypesArray = (BraveOrderEffectType[])Enum.GetValues(typeof(BraveOrderEffectType)); statusEffectTypes = boStatusEffectTypesArray.OrderBy(i => i.ToString()).ToDictionary(i => (short)i, i => i.ToString()); boStatusEffectGroupBoxCollection = new StatusEffectGroupBoxCollection <BraveOrderEffect>(boStatusEffects, StatusEffectTooltip, BOStatusEffectsNewBtn, boCollection, boModifySection, statusEffectTypes); }