// Token: 0x06001262 RID: 4706 RVA: 0x000A0B34 File Offset: 0x0009ED34 private static void gmEndingCtrl(MTS_TASK_TCB tcb) { AppMain.GMS_ENDING_WORK gms_ENDING_WORK = (AppMain.GMS_ENDING_WORK)tcb.work; GMS_PLAYER_WORK gms_PLAYER_WORK = AppMain.g_gm_main_system.ply_work[(int)((UIntPtr)0)]; switch (gms_ENDING_WORK.step) { case 0: if (gms_ENDING_WORK.timer != 0U) { gms_ENDING_WORK.timer -= 1U; return; } AppMain.g_gm_main_system.game_flag |= 1024U; AppMain.IzFadeInitEasy(1U, 2U, 60f); gms_ENDING_WORK.step = 1; gms_ENDING_WORK.flag = 2U; GmSound.PlayStageBGM(0); return; case 1: break; case 2: gms_ENDING_WORK.flag |= 1U; gms_PLAYER_WORK.spd_jump_add = gms_PLAYER_WORK.spd_add; return; case 3: gms_PLAYER_WORK.obj_work.disp_flag |= 1U; if ((gms_PLAYER_WORK.obj_work.move_flag & 1U) != 0U && gms_PLAYER_WORK.obj_work.spd_m > -4096) { if (AppMain.amTpIsTouchOn(0)) { gms_PLAYER_WORK.ring_num = ( short )AppMain.GmEventMgrGetRingNum(); if (AppMain.amTpIsTouchOn(1)) { AppMain.g_gs_main_sys_info.game_flag |= 32U; } else { AppMain.g_gs_main_sys_info.game_flag &= 4294967263U; } } gms_ENDING_WORK.get_ring = ( uint )gms_PLAYER_WORK.ring_num; if (gms_ENDING_WORK.get_ring < AppMain.GmEventMgrGetRingNum()) { gms_ENDING_WORK.step = 4; gms_ENDING_WORK.type = 0; } else if ((AppMain.g_gs_main_sys_info.game_flag & 32U) != 0U) { gms_ENDING_WORK.step = 5; gms_ENDING_WORK.type = 2; } else { gms_ENDING_WORK.step = 4; gms_ENDING_WORK.type = 1; } gms_ENDING_WORK.flag &= 4294967291U; AppMain.gmEndingLastPicInit(); return; } gms_ENDING_WORK.flag &= 4294967293U; gms_ENDING_WORK.flag |= 4U; return; case 4: if (AppMain.g_gm_main_system.game_time > 720U && gms_PLAYER_WORK.seq_state != 62) { AppMain.GmPlySeqGmkInitEndingDemo1(gms_PLAYER_WORK); gms_ENDING_WORK.step = 6; return; } break; case 5: if (AppMain.g_gm_main_system.game_time > 720U && gms_PLAYER_WORK.seq_state != 24) { AppMain.GmPlySeqChangeTransformSuper(gms_PLAYER_WORK); gms_ENDING_WORK.step = 6; return; } break; case 6: if (AppMain.g_gm_main_system.game_time > 900U && gms_PLAYER_WORK.seq_state != 63) { bool type = false; if (gms_ENDING_WORK.type == 1) { type = true; } AppMain.GmPlySeqGmkInitEndingDemo2(gms_PLAYER_WORK, type); gms_ENDING_WORK.step = 7; return; } break; case 7: if (AppMain.g_gm_main_system.game_time > 1140U) { AppMain.IzFadeInitEasy(0U, 1U, 32f); gms_ENDING_WORK.step = 8; return; } break; case 8: if (AppMain.IzFadeIsEnd()) { AppMain.GmMainEnd(); AppMain.SyDecideEvtCase(0); AppMain.SyChangeNextEvt(); } break; default: return; } }