示例#1
0
 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);
 }
示例#2
0
        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);
        }