예제 #1
0
    // Token: 0x06000A9B RID: 2715 RVA: 0x0005D504 File Offset: 0x0005B704
    public static void GmStartMsgInit()
    {
        int num = AppMain.GsEnvGetLanguage();

        AppMain.GSS_MAIN_SYS_INFO gss_MAIN_SYS_INFO = AppMain.GsGetMainSysInfo();
        AppMain.g_gm_main_system.game_flag |= 16777216U;
        AppMain.gm_start_msg_end_state      = false;
        AppMain.gm_start_msg_tcb            = AppMain.MTM_TASK_MAKE_TCB(AppMain.gmStartMsgMain, AppMain.gmStartMsgDest, 0U, 3, 18502U, 5, () => new AppMain.GMS_SMSG_MGR_WORK(), "GM_S_MSG_MGR");
        AppMain.GMS_SMSG_MGR_WORK gms_SMSG_MGR_WORK = (AppMain.GMS_SMSG_MGR_WORK)AppMain.gm_start_msg_tcb.work;
        gms_SMSG_MGR_WORK.Clear();
        AppMain.ObjDrawSetNNCommandStateTbl(16U, 13U, true);
        AppMain.ObjDrawSetNNCommandStateTbl(17U, 14U, true);
        AppMain.g_obj.ppPost = AppMain.gmStartMsgObjPost;
        ushort stage_id = AppMain.g_gs_main_sys_info.stage_id;

        if (stage_id != 5)
        {
            if (stage_id == 9)
            {
                gms_SMSG_MGR_WORK.msg_type = 1;
                goto IL_10B;
            }
            switch (stage_id)
            {
            case 21:
            case 22:
            case 23:
            case 24:
            case 25:
            case 26:
            case 27:
                gms_SMSG_MGR_WORK.msg_type = 2;
                goto IL_10B;
            }
        }
        gms_SMSG_MGR_WORK.msg_type = 0;
IL_10B:
        AMS_AMB_HEADER ams_AMB_HEADER = AppMain.GmGameDatGetGimmickData(991);

        AppMain.NNS_TEXLIST texlist = AppMain.AoTexGetTexList(AppMain.gm_start_msg_aos_tex[0]);
        for (int i = 0; i < ( int )AppMain.gm_start_msg_ama_act_num_tbl[gms_SMSG_MGR_WORK.msg_type]; i++)
        {
            gms_SMSG_MGR_WORK.ama_2d_work[i] = (AppMain.GMS_SMSG_2D_OBJ_WORK)AppMain.OBM_OBJECT_TASK_DETAIL_INIT(18512, 5, 0, 3, () => new AppMain.GMS_SMSG_2D_OBJ_WORK(), "GM_SMSG");
            uint num2 = (uint)i;
            if ((512U & gss_MAIN_SYS_INFO.game_flag) != 0U)
            {
                switch (gms_SMSG_MGR_WORK.msg_type)
                {
                case 1:
                    if (num2 == 0U)
                    {
                        num2 = 2U;
                    }
                    break;

                case 2:
                    if (num2 == 0U)
                    {
                        num2 = 2U;
                    }
                    break;
                }
            }
            AppMain.ObjObjectAction2dAMALoadSetTexlist(gms_SMSG_MGR_WORK.ama_2d_work[i].obj_work, gms_SMSG_MGR_WORK.ama_2d_work[i].obj_2d, null, null, num * 2, ams_AMB_HEADER, texlist, num2, 0);
            gms_SMSG_MGR_WORK.ama_2d_work[i].obj_work.ppOut      = null;
            gms_SMSG_MGR_WORK.ama_2d_work[i].obj_work.ppFunc     = AppMain.gmStartMsgObjMain;
            gms_SMSG_MGR_WORK.ama_2d_work[i].obj_work.disp_flag |= 32U;
            gms_SMSG_MGR_WORK.ama_2d_work[i].obj_work.flag      |= 18U;
            gms_SMSG_MGR_WORK.ama_2d_work[i].obj_work.move_flag |= 8448U;
            gms_SMSG_MGR_WORK.ama_2d_work[i].obj_work.disp_flag |= 1048960U;
            gms_SMSG_MGR_WORK.ama_2d_work[i].obj_work.pos.x      = AppMain.gm_start_msg_ama_act_pos_tbl[gms_SMSG_MGR_WORK.msg_type][num][i][0];
            gms_SMSG_MGR_WORK.ama_2d_work[i].obj_work.pos.y      = AppMain.gm_start_msg_ama_act_pos_tbl[gms_SMSG_MGR_WORK.msg_type][num][i][1];
            if (i == 0)
            {
                gms_SMSG_MGR_WORK.ama_2d_work[i].obj_work.scale.x = AppMain.GMD_SMSG_ACT_SCALE;
                gms_SMSG_MGR_WORK.ama_2d_work[i].obj_work.scale.y = AppMain.GMD_SMSG_ACT_SCALE;
            }
        }
        for (int i = 0; i < AppMain.GMD_SMSG_AMA_ACT_ACTION_MAX; i++)
        {
            int num3 = AppMain.gm_start_msg_body_act_id_table[gms_SMSG_MGR_WORK.msg_type][i];
            if ((512U & gss_MAIN_SYS_INFO.game_flag) == 0U)
            {
                int num4 = num3;
                if (num4 != -1)
                {
                    switch (num4)
                    {
                    case 4:
                    case 5:
                        goto IL_366;

                    case 7:
                        num3 = 0;
                        goto IL_366;
                    }
                    num3 = -1;
                }
            }
IL_366:
            if (num3 < 0)
            {
                gms_SMSG_MGR_WORK.ama_2d_work_act[i] = null;
            }
            else
            {
                gms_SMSG_MGR_WORK.ama_2d_work_act[i] = (AppMain.GMS_SMSG_2D_OBJ_WORK)AppMain.OBM_OBJECT_TASK_DETAIL_INIT(18512, 5, 0, 3, () => new AppMain.GMS_SMSG_2D_OBJ_WORK(), "GM_SMSG");
                texlist = AppMain.AoTexGetTexList(AppMain.gm_start_msg_aos_tex[2]);
                AppMain.ObjObjectAction2dAMALoadSetTexlist(gms_SMSG_MGR_WORK.ama_2d_work_act[i].obj_work, gms_SMSG_MGR_WORK.ama_2d_work_act[i].obj_2d, null, null, ams_AMB_HEADER.file_num - 2, ams_AMB_HEADER, texlist, ( uint )num3, 0);
                gms_SMSG_MGR_WORK.ama_2d_work_act[i].obj_work.ppOut      = null;
                gms_SMSG_MGR_WORK.ama_2d_work_act[i].obj_work.ppFunc     = AppMain.gmStartMsgObjMain;
                gms_SMSG_MGR_WORK.ama_2d_work_act[i].obj_work.disp_flag |= 32U;
                gms_SMSG_MGR_WORK.ama_2d_work_act[i].obj_work.flag      |= 18U;
                gms_SMSG_MGR_WORK.ama_2d_work_act[i].obj_work.move_flag |= 8448U;
                gms_SMSG_MGR_WORK.ama_2d_work_act[i].obj_work.disp_flag |= 1048960U;
            }
        }
        gms_SMSG_MGR_WORK.func = AppMain.gmStartMsgMain_StartWait;
        AppMain.gmStartMsgMain_StartWait(gms_SMSG_MGR_WORK);
    }
예제 #2
0
    public static void GmStartMsgInit()
    {
        int language = AppMain.GsEnvGetLanguage();

        AppMain.GSS_MAIN_SYS_INFO mainSysInfo = AppMain.GsGetMainSysInfo();
        AppMain.g_gm_main_system.game_flag |= 16777216U;
        AppMain.gm_start_msg_end_state      = false;
        AppMain.gm_start_msg_tcb            = AppMain.MTM_TASK_MAKE_TCB(new AppMain.GSF_TASK_PROCEDURE(AppMain.gmStartMsgMain), new AppMain.GSF_TASK_PROCEDURE(AppMain.gmStartMsgDest), 0U, (ushort)3, 18502U, 5, (AppMain.TaskWorkFactoryDelegate)(() => (object)new AppMain.GMS_SMSG_MGR_WORK()), "GM_S_MSG_MGR");
        AppMain.GMS_SMSG_MGR_WORK work = (AppMain.GMS_SMSG_MGR_WORK)AppMain.gm_start_msg_tcb.work;
        work.Clear();
        AppMain.ObjDrawSetNNCommandStateTbl(16U, 13U, true);
        AppMain.ObjDrawSetNNCommandStateTbl(17U, 14U, true);
        AppMain.g_obj.ppPost = new AppMain.OBJECT_Delegate(AppMain.gmStartMsgObjPost);
        switch (AppMain.g_gs_main_sys_info.stage_id)
        {
        case 9:
            work.msg_type = 1;
            break;

        case 21:
        case 22:
        case 23:
        case 24:
        case 25:
        case 26:
        case 27:
            work.msg_type = 2;
            break;

        default:
            work.msg_type = 0;
            break;
        }
        AppMain.AMS_AMB_HEADER gimmickData = AppMain.GmGameDatGetGimmickData(991);
        AppMain.NNS_TEXLIST    texList1    = AppMain.AoTexGetTexList(AppMain.gm_start_msg_aos_tex[0]);
        for (int index = 0; index < (int)AppMain.gm_start_msg_ama_act_num_tbl[work.msg_type]; ++index)
        {
            work.ama_2d_work[index] = (AppMain.GMS_SMSG_2D_OBJ_WORK)AppMain.OBM_OBJECT_TASK_DETAIL_INIT((ushort)18512, (byte)5, (byte)0, (byte)3, (AppMain.TaskWorkFactoryDelegate)(() => (object)new AppMain.GMS_SMSG_2D_OBJ_WORK()), "GM_SMSG");
            uint id = (uint)index;
            if ((512 & (int)mainSysInfo.game_flag) != 0)
            {
                switch (work.msg_type)
                {
                case 1:
                    if (id == 0U)
                    {
                        id = 2U;
                        break;
                    }
                    break;

                case 2:
                    if (id == 0U)
                    {
                        id = 2U;
                        break;
                    }
                    break;
                }
            }
            AppMain.ObjObjectAction2dAMALoadSetTexlist(work.ama_2d_work[index].obj_work, work.ama_2d_work[index].obj_2d, (AppMain.OBS_DATA_WORK)null, (string)null, language * 2, gimmickData, texList1, id, 0);
            work.ama_2d_work[index].obj_work.ppOut      = (AppMain.MPP_VOID_OBS_OBJECT_WORK)null;
            work.ama_2d_work[index].obj_work.ppFunc     = new AppMain.MPP_VOID_OBS_OBJECT_WORK(AppMain.gmStartMsgObjMain);
            work.ama_2d_work[index].obj_work.disp_flag |= 32U;
            work.ama_2d_work[index].obj_work.flag      |= 18U;
            work.ama_2d_work[index].obj_work.move_flag |= 8448U;
            work.ama_2d_work[index].obj_work.disp_flag |= 1048960U;
            work.ama_2d_work[index].obj_work.pos.x      = AppMain.gm_start_msg_ama_act_pos_tbl[work.msg_type][language][index][0];
            work.ama_2d_work[index].obj_work.pos.y      = AppMain.gm_start_msg_ama_act_pos_tbl[work.msg_type][language][index][1];
            if (index == 0)
            {
                work.ama_2d_work[index].obj_work.scale.x = AppMain.GMD_SMSG_ACT_SCALE;
                work.ama_2d_work[index].obj_work.scale.y = AppMain.GMD_SMSG_ACT_SCALE;
            }
        }
        for (int index = 0; index < AppMain.GMD_SMSG_AMA_ACT_ACTION_MAX; ++index)
        {
            int num = AppMain.gm_start_msg_body_act_id_table[work.msg_type][index];
            if ((512 & (int)mainSysInfo.game_flag) == 0)
            {
                switch (num)
                {
                case -1:
                case 4:
                case 5:
                    break;

                case 7:
                    num = 0;
                    break;

                default:
                    num = -1;
                    break;
                }
            }
            if (num < 0)
            {
                work.ama_2d_work_act[index] = (AppMain.GMS_SMSG_2D_OBJ_WORK)null;
            }
            else
            {
                work.ama_2d_work_act[index] = (AppMain.GMS_SMSG_2D_OBJ_WORK)AppMain.OBM_OBJECT_TASK_DETAIL_INIT((ushort)18512, (byte)5, (byte)0, (byte)3, (AppMain.TaskWorkFactoryDelegate)(() => (object)new AppMain.GMS_SMSG_2D_OBJ_WORK()), "GM_SMSG");
                AppMain.NNS_TEXLIST texList2 = AppMain.AoTexGetTexList(AppMain.gm_start_msg_aos_tex[2]);
                AppMain.ObjObjectAction2dAMALoadSetTexlist(work.ama_2d_work_act[index].obj_work, work.ama_2d_work_act[index].obj_2d, (AppMain.OBS_DATA_WORK)null, (string)null, gimmickData.file_num - 2, gimmickData, texList2, (uint)num, 0);
                work.ama_2d_work_act[index].obj_work.ppOut      = (AppMain.MPP_VOID_OBS_OBJECT_WORK)null;
                work.ama_2d_work_act[index].obj_work.ppFunc     = new AppMain.MPP_VOID_OBS_OBJECT_WORK(AppMain.gmStartMsgObjMain);
                work.ama_2d_work_act[index].obj_work.disp_flag |= 32U;
                work.ama_2d_work_act[index].obj_work.flag      |= 18U;
                work.ama_2d_work_act[index].obj_work.move_flag |= 8448U;
                work.ama_2d_work_act[index].obj_work.disp_flag |= 1048960U;
            }
        }
        work.func = new AppMain.pfnGMS_SMSG_MGR_WORK(AppMain.gmStartMsgMain_StartWait);
        AppMain.gmStartMsgMain_StartWait(work);
    }