Example #1
0
        static InputFormRef Init(Form self)
        {
            return(new InputFormRef(self
                                    , ""
                                    , Program.ROM.RomInfo.unit_wait_icon_pointer()
                                    , 8
                                    , (int i, uint addr) =>
            {     //読込最大値検索
                if (i == 0)
                { //先頭データは確認しないことにする.
                    return true;
                }
                //4 がポインタであればデータがあると考える.
                uint a = Program.ROM.u32(addr + 4);
                if (U.isPointer(a))
                {
                    return true;
                }
                if (a == 0)
                {
                    uint flags = Program.ROM.u32(addr + 0);
                    if (flags == 0)
                    {    //両方のデータが 0なので、終端と判定する
                        return false;
                    }
                    return true;
                }
                //終端
                return false;
            }
                                    , (int i, uint addr) =>
            {
                uint icon_id = (uint)(i);
                String name = ClassForm.GetClassNameWhereWaitIconID(icon_id);

                return U.ToHexString(icon_id) + U.SA(name) + InputFormRef.GetCommentSA(addr);
            }
                                    ));
        }