コード例 #1
0
ファイル: PersonalInfoLAfb.cs プロジェクト: PMArkive/pkNX
    public static byte[] GetBin(PersonalTableLA table)
    {
        var all  = FromArceus(table);
        var data = all.SelectMany(z => z.Write()).ToArray();

        return(data);
    }
コード例 #2
0
ファイル: PersonalInfoLAfb.cs プロジェクト: PMArkive/pkNX
    public static PersonalInfoLA_Bin[] FromArceus(PersonalTableLA table)
    {
        var max       = table.Table.Max(z => z.Species);
        var baseForms = new PersonalInfoLA_Bin[max + 1];
        var formTable = new List <PersonalInfoLA_Bin>();

        for (int i = 0; i <= max; i++)
        {
            var forms = table.Table.Where(z => z.Species == (ushort)i).OrderBy(z => z.Form).ToList();

            var e = forms[0];
            baseForms[i] = GetObj(e, forms, max, formTable);
            for (int f = 1; f < forms.Count; f++)
            {
                formTable.Add(GetObj(forms[f], forms, max, formTable, f));
            }
        }

        return(baseForms.Concat(formTable).ToArray());
    }