public static AppMain.MTS_TASK_TCB mtTaskMake( AppMain.GSF_TASK_PROCEDURE proc, AppMain.GSF_TASK_PROCEDURE dest, uint flag, ushort pause_level, uint prio, int group, AppMain.TaskWorkFactoryDelegate work_size, string name) { if (((int)flag & int.MinValue) == 0 && (uint)group >= 15U) { group = 14; } AppMain.AMS_TCB amsTcb = AppMain.amTaskMake(AppMain._mtTaskProcedure, AppMain._mtTaskDestructor, prio, (uint)(1 << group), 2U, name); amsTcb.work = (object)new AppMain.MTS_TASK_TCB(); AppMain.MTS_TASK_TCB work = (AppMain.MTS_TASK_TCB)AppMain.amTaskGetWork(amsTcb); work.am_tcb = amsTcb; work.proc = proc; work.dest = dest; work.pause_level = pause_level; if (((int)flag & 1) != 0) { work.pause_level = ushort.MaxValue; } work.work = (object)null; if (work_size != null) { work.work = work_size(); } AppMain.amTaskStart(amsTcb); return(work); }
// Token: 0x060016D7 RID: 5847 RVA: 0x000C741C File Offset: 0x000C561C public static AppMain.MTS_TASK_TCB mtTaskMake(AppMain.GSF_TASK_PROCEDURE proc, AppMain.GSF_TASK_PROCEDURE dest, uint flag, ushort pause_level, uint prio, int group, AppMain.TaskWorkFactoryDelegate work_size, string name) { if ((flag & 2147483648U) == 0U && group >= 15) { group = 14; } AppMain.AMS_TCB ams_TCB = AppMain.amTaskMake(AppMain._mtTaskProcedure, AppMain._mtTaskDestructor, prio, 1U << group, 2U, name); ams_TCB.work = new AppMain.MTS_TASK_TCB(); AppMain.MTS_TASK_TCB mts_TASK_TCB = (AppMain.MTS_TASK_TCB)AppMain.amTaskGetWork(ams_TCB); mts_TASK_TCB.am_tcb = ams_TCB; mts_TASK_TCB.proc = proc; mts_TASK_TCB.dest = dest; mts_TASK_TCB.pause_level = pause_level; if ((flag & 1U) != 0U) { mts_TASK_TCB.pause_level = ushort.MaxValue; } mts_TASK_TCB.work = null; if (work_size != null) { mts_TASK_TCB.work = work_size(); } AppMain.amTaskStart(ams_TCB); return(mts_TASK_TCB); }
private static void gmMainObjectReleaseFinalClearObjWait(AppMain.MTS_TASK_TCB tcb) { if (!AppMain.ObjObjectCheckClearAllObject()) { return; } AppMain.GSF_TASK_PROCEDURE proc; if (AppMain.GmMainDatLoadBossBattleLoadCheck()) { proc = new AppMain.GSF_TASK_PROCEDURE(AppMain.gmMainObjectReleaseFinalWait); AppMain.GmGameDatLoadBossBattleExit(); AppMain.GmGameDatReleaseBossBattleStart(AppMain.g_gm_main_system.boss_load_no); } else if (AppMain.GmMainDatLoadBossBattleLoadNowCheck()) { proc = new AppMain.GSF_TASK_PROCEDURE(AppMain.gmMainObjectReleaseFinalLoadWait); } else if (AppMain.GmMainDatReleaseBossBattleReleaseNowCheck()) { proc = new AppMain.GSF_TASK_PROCEDURE(AppMain.gmMainObjectReleaseFinalWait); AppMain.GmGameDatLoadBossBattleExit(); } else { proc = new AppMain.GSF_TASK_PROCEDURE(AppMain.gmMainObjectReleaseWait); AppMain.GmGameDatReleaseBossBattleExit(); AppMain.g_obj.flag |= 1073741824U; AppMain.ObjExit(); } AppMain.mtTaskChangeTcbProcedure(tcb, proc); }
private static void gmMainDataFlushExitFinalClearObjWait(AppMain.MTS_TASK_TCB tcb) { AppMain._bossFinishThread = true; if (!AppMain.ObjObjectCheckClearAllObject()) { return; } AppMain.GsSoundReset(); AppMain.GSF_TASK_PROCEDURE proc; if (AppMain.GmMainDatLoadBossBattleLoadCheck()) { proc = new AppMain.GSF_TASK_PROCEDURE(AppMain.gmMainDataFlushExitFinalWait); AppMain.GmGameDatLoadBossBattleExit(); AppMain.GmGameDatReleaseBossBattleStart(AppMain.g_gm_main_system.boss_load_no); } else if (AppMain.GmMainDatLoadBossBattleLoadNowCheck()) { proc = new AppMain.GSF_TASK_PROCEDURE(AppMain.gmMainDataFlushExitFinalLoadWait); } else if (AppMain.GmMainDatReleaseBossBattleReleaseNowCheck()) { proc = new AppMain.GSF_TASK_PROCEDURE(AppMain.gmMainDataFlushExitFinalWait); AppMain.GmGameDatLoadBossBattleExit(); } else { proc = new AppMain.GSF_TASK_PROCEDURE(AppMain.gmMainDataFlushExitWait); AppMain.GmGameDatReleaseBossBattleExit(); } AppMain.mtTaskChangeTcbProcedure(tcb, proc); }
public void Clear() { this.am_tcb = (AppMain.AMS_TCB)null; this.proc = (AppMain.GSF_TASK_PROCEDURE)null; this.dest = (AppMain.GSF_TASK_PROCEDURE)null; this.pause_level = (ushort)0; this.work = (object)null; }
public static AppMain.MTS_TASK_TCB MTM_TASK_MAKE_TCB( AppMain.GSF_TASK_PROCEDURE proc, AppMain.GSF_TASK_PROCEDURE dest, uint flag, ushort pause_level, uint prio, int group, AppMain.TaskWorkFactoryDelegate work_size, string name) { return(AppMain.mtTaskMake(proc, dest, flag, pause_level, prio, group, work_size, name)); }
// Token: 0x060016D7 RID: 5847 RVA: 0x000C741C File Offset: 0x000C561C public static MTS_TASK_TCB mtTaskMake(AppMain.GSF_TASK_PROCEDURE proc, AppMain.GSF_TASK_PROCEDURE dest, uint flag, ushort pause_level, uint prio, int group, AppMain.TaskWorkFactoryDelegate work_size, string name) { if ((flag & 2147483648U) == 0U && group >= 15) { group = 14; } if (string.IsNullOrEmpty(name)) { throw new ArgumentNullException(nameof(name)); } Debug.WriteLine($"Creating task {name}, group {group}, priority {prio}."); AppMain.AMS_TCB ams_TCB = AppMain.amTaskMake(AppMain._mtTaskProcedure, AppMain._mtTaskDestructor, prio, 1U << group, 2U, name); ams_TCB.work = new MTS_TASK_TCB(); MTS_TASK_TCB mts_TASK_TCB = (MTS_TASK_TCB)AppMain.amTaskGetWork(ams_TCB); mts_TASK_TCB.am_tcb = ams_TCB; mts_TASK_TCB.proc = proc; mts_TASK_TCB.dest = dest; mts_TASK_TCB.pause_level = pause_level; if ((flag & 1U) != 0U) { mts_TASK_TCB.pause_level = ushort.MaxValue; } mts_TASK_TCB.work = null; if (work_size != null) { mts_TASK_TCB.work = work_size(); } AppMain.amTaskStart(ams_TCB); return(mts_TASK_TCB); }
// Token: 0x060016DA RID: 5850 RVA: 0x000C74EE File Offset: 0x000C56EE public static void mtTaskChangeTcbProcedure(MTS_TASK_TCB tcb, AppMain.GSF_TASK_PROCEDURE proc) { tcb.proc = proc; }
// Token: 0x060016DB RID: 5851 RVA: 0x000C74F7 File Offset: 0x000C56F7 public static void mtTaskChangeTcbDestructor(MTS_TASK_TCB tcb, AppMain.GSF_TASK_PROCEDURE dest) { tcb.dest = dest; }