// Token: 0x060018A7 RID: 6311 RVA: 0x000E0E28 File Offset: 0x000DF028 private static void gmGmkBreakLandStay_100(AppMain.OBS_OBJECT_WORK obj_work) { AppMain.GMS_GMK_BLAND_WORK gms_GMK_BLAND_WORK = (AppMain.GMS_GMK_BLAND_WORK)obj_work; gms_GMK_BLAND_WORK.broken_timer--; if (gms_GMK_BLAND_WORK.broken_timer <= 0) { AppMain.ObjObjectAction3dNNModelReleaseCopy(obj_work); AppMain.ObjObjectCopyAction3dNNModel(obj_work, AppMain.gm_gmk_breakland_obj_3d_list[(gms_GMK_BLAND_WORK.vect == 0) ? 2 : 3], gms_GMK_BLAND_WORK.gmk_work.obj_3d); AppMain.ObjObjectAction3dNNMotionLoad(obj_work, 0, false, AppMain.ObjDataGet(796), null, 0, null); if (gms_GMK_BLAND_WORK.vect == 32768) { AppMain.ObjDrawObjectActionSet(obj_work, 0); obj_work.obj_3d.use_light_flag &= 4294967294U; obj_work.obj_3d.use_light_flag |= 4U; obj_work.obj_3d.use_light_flag |= 65536U; } else { AppMain.ObjDrawObjectActionSet(obj_work, 1); obj_work.obj_3d.use_light_flag &= 4294967294U; obj_work.obj_3d.use_light_flag |= 2U; obj_work.obj_3d.use_light_flag |= 65536U; } obj_work.disp_flag &= 4294967279U; obj_work.disp_flag &= 4294967291U; gms_GMK_BLAND_WORK.gmk_work.ene_com.col_work.obj_col.obj = null; AppMain.GmSoundPlaySE("BreakGround"); obj_work.ppFunc = new AppMain.MPP_VOID_OBS_OBJECT_WORK(AppMain.gmGmkBreakLandBroken); return; } gms_GMK_BLAND_WORK.quake_timer &= 3; obj_work.pos.y = obj_work.pos.y + ( int )AppMain.tbl_breaklandquake[gms_GMK_BLAND_WORK.quake_timer] * 4096; gms_GMK_BLAND_WORK.quake_timer++; }
private static AppMain.OBS_OBJECT_WORK gmGmkBreakLandInit( AppMain.GMS_EVE_RECORD_EVENT eve_rec, int pos_x, int pos_y, byte type, ushort vect) { AppMain.GMS_GMK_BLAND_WORK work = (AppMain.GMS_GMK_BLAND_WORK)AppMain.GMM_ENEMY_CREATE_WORK(eve_rec, pos_x, pos_y, (AppMain.TaskWorkFactoryDelegate)(() => (object)new AppMain.GMS_GMK_BLAND_WORK()), "GMK_BREAK_LAND_MAIN"); AppMain.OBS_OBJECT_WORK obj_work = (AppMain.OBS_OBJECT_WORK)work; AppMain.GMS_ENEMY_3D_WORK gmsEnemy3DWork = (AppMain.GMS_ENEMY_3D_WORK)work; AppMain.ObjObjectCopyAction3dNNModel(obj_work, AppMain.gm_gmk_breakland_obj_3d_list[vect == (ushort)0 ? 0 : 1], gmsEnemy3DWork.obj_3d); if (AppMain.g_gs_main_sys_info.stage_id == (ushort)2 || AppMain.g_gs_main_sys_info.stage_id == (ushort)3) { obj_work.obj_3d.use_light_flag &= 4294967294U; obj_work.obj_3d.use_light_flag |= 32U; obj_work.obj_3d.use_light_flag |= 65536U; } gmsEnemy3DWork.ene_com.col_work.obj_col.obj = obj_work; gmsEnemy3DWork.ene_com.col_work.obj_col.diff_data = AppMain.g_gm_breakland_col; gmsEnemy3DWork.ene_com.col_work.obj_col.width = (ushort)AppMain.gm_gmk_breakland_col_rect_tbl[0]; gmsEnemy3DWork.ene_com.col_work.obj_col.height = (ushort)AppMain.gm_gmk_breakland_col_rect_tbl[1]; gmsEnemy3DWork.ene_com.col_work.obj_col.ofst_x = AppMain.gm_gmk_breakland_col_rect_tbl[2]; gmsEnemy3DWork.ene_com.col_work.obj_col.ofst_y = AppMain.gm_gmk_breakland_col_rect_tbl[3]; work.colrect_left = 278528; work.colrect_right = 524288; if (vect == (ushort)32768) { gmsEnemy3DWork.ene_com.col_work.obj_col.ofst_x = (short)((int)-gmsEnemy3DWork.ene_com.col_work.obj_col.ofst_x - (int)gmsEnemy3DWork.ene_com.col_work.obj_col.width); work.colrect_right = -278528; work.colrect_left = -524288; } gmsEnemy3DWork.ene_com.col_work.obj_col.flag |= 134217728U; gmsEnemy3DWork.ene_com.col_work.obj_col.flag |= 268435456U; gmsEnemy3DWork.ene_com.col_work.obj_col.dir = (ushort)0; if (((int)eve_rec.flag & 128) == 0) { gmsEnemy3DWork.ene_com.col_work.obj_col.attr = (ushort)1; } obj_work.pos.z = -4096; obj_work.move_flag |= 8448U; obj_work.disp_flag |= 272629760U; obj_work.flag |= 2U; obj_work.ppFunc = new AppMain.MPP_VOID_OBS_OBJECT_WORK(AppMain.gmGmkBreakLandStay); work.vect = vect; return(obj_work); }
// Token: 0x060018A9 RID: 6313 RVA: 0x000E0FE4 File Offset: 0x000DF1E4 private static OBS_OBJECT_WORK gmGmkBreakLandInit(AppMain.GMS_EVE_RECORD_EVENT eve_rec, int pos_x, int pos_y, byte type, ushort vect) { AppMain.GMS_GMK_BLAND_WORK gms_GMK_BLAND_WORK = (AppMain.GMS_GMK_BLAND_WORK)AppMain.GMM_ENEMY_CREATE_WORK(eve_rec, pos_x, pos_y, () => new AppMain.GMS_GMK_BLAND_WORK(), "GMK_BREAK_LAND_MAIN"); OBS_OBJECT_WORK obs_OBJECT_WORK = (OBS_OBJECT_WORK)gms_GMK_BLAND_WORK; AppMain.GMS_ENEMY_3D_WORK gms_ENEMY_3D_WORK = (AppMain.GMS_ENEMY_3D_WORK)gms_GMK_BLAND_WORK; AppMain.ObjObjectCopyAction3dNNModel(obs_OBJECT_WORK, AppMain.gm_gmk_breakland_obj_3d_list[(vect == 0) ? 0 : 1], gms_ENEMY_3D_WORK.obj_3d); if (AppMain.g_gs_main_sys_info.stage_id == 2 || AppMain.g_gs_main_sys_info.stage_id == 3) { obs_OBJECT_WORK.obj_3d.use_light_flag &= 4294967294U; obs_OBJECT_WORK.obj_3d.use_light_flag |= 32U; obs_OBJECT_WORK.obj_3d.use_light_flag |= 65536U; } gms_ENEMY_3D_WORK.ene_com.col_work.obj_col.obj = obs_OBJECT_WORK; gms_ENEMY_3D_WORK.ene_com.col_work.obj_col.diff_data = AppMain.g_gm_breakland_col; gms_ENEMY_3D_WORK.ene_com.col_work.obj_col.width = ( ushort )AppMain.gm_gmk_breakland_col_rect_tbl[0]; gms_ENEMY_3D_WORK.ene_com.col_work.obj_col.height = ( ushort )AppMain.gm_gmk_breakland_col_rect_tbl[1]; gms_ENEMY_3D_WORK.ene_com.col_work.obj_col.ofst_x = AppMain.gm_gmk_breakland_col_rect_tbl[2]; gms_ENEMY_3D_WORK.ene_com.col_work.obj_col.ofst_y = AppMain.gm_gmk_breakland_col_rect_tbl[3]; gms_GMK_BLAND_WORK.colrect_left = 278528; gms_GMK_BLAND_WORK.colrect_right = 524288; if (vect == 32768) { gms_ENEMY_3D_WORK.ene_com.col_work.obj_col.ofst_x = ( short )(-gms_ENEMY_3D_WORK.ene_com.col_work.obj_col.ofst_x - ( short )gms_ENEMY_3D_WORK.ene_com.col_work.obj_col.width); gms_GMK_BLAND_WORK.colrect_right = -278528; gms_GMK_BLAND_WORK.colrect_left = -524288; } gms_ENEMY_3D_WORK.ene_com.col_work.obj_col.flag |= 134217728U; gms_ENEMY_3D_WORK.ene_com.col_work.obj_col.flag |= 268435456U; gms_ENEMY_3D_WORK.ene_com.col_work.obj_col.dir = 0; if ((eve_rec.flag & 128) == 0) { gms_ENEMY_3D_WORK.ene_com.col_work.obj_col.attr = 1; } obs_OBJECT_WORK.pos.z = -4096; obs_OBJECT_WORK.move_flag |= 8448U; obs_OBJECT_WORK.disp_flag |= 272629760U; obs_OBJECT_WORK.flag |= 2U; obs_OBJECT_WORK.ppFunc = AppMain.gmGmkBreakLandStay; gms_GMK_BLAND_WORK.vect = vect; return(obs_OBJECT_WORK); }
// Token: 0x060018A6 RID: 6310 RVA: 0x000E0C74 File Offset: 0x000DEE74 private static void gmGmkBreakLandStay(OBS_OBJECT_WORK obj_work) { AppMain.GMS_GMK_BLAND_WORK gms_GMK_BLAND_WORK = (AppMain.GMS_GMK_BLAND_WORK)obj_work; OBS_OBJECT_WORK obj_work2 = AppMain.g_gm_main_system.ply_work[(int)((UIntPtr)0)].obj_work; if (obj_work2.ride_obj == obj_work) { int num = obj_work.pos.x + gms_GMK_BLAND_WORK.colrect_left; int num2 = obj_work.pos.x + gms_GMK_BLAND_WORK.colrect_right; num -= ( int )obj_work2.field_rect[0] << 12; num2 -= ( int )obj_work2.field_rect[2] << 12; if (num <= obj_work2.pos.x && obj_work2.pos.x <= num2) { int num3 = obj_work2.pos.x - obj_work.pos.x; if (num3 <= ( int )(gms_GMK_BLAND_WORK.gmk_work.ene_com.col_work.obj_col.width * 4096 / 2)) { ushort num4 = (ushort)-(gms_GMK_BLAND_WORK.gmk_work.ene_com.col_work.obj_col.width * 4096 / 2); } OBS_OBJECT_WORK obs_OBJECT_WORK = (OBS_OBJECT_WORK)AppMain.GmEfctZoneEsCreate(null, 0, 0); obs_OBJECT_WORK.pos.x = obj_work.pos.x; obs_OBJECT_WORK.pos.y = obj_work.pos.y; obs_OBJECT_WORK.pos.z = obj_work.pos.z + 131072; if (gms_GMK_BLAND_WORK.vect == 0) { OBS_OBJECT_WORK obs_OBJECT_WORK2 = obs_OBJECT_WORK; obs_OBJECT_WORK2.pos.x = obs_OBJECT_WORK2.pos.x + 262144; } else { OBS_OBJECT_WORK obs_OBJECT_WORK3 = obs_OBJECT_WORK; obs_OBJECT_WORK3.pos.x = obs_OBJECT_WORK3.pos.x - 262144; } gms_GMK_BLAND_WORK.broken_timer = 45; gms_GMK_BLAND_WORK.quake_timer = 0; obj_work.ppFunc = AppMain.gmGmkBreakLandStay_100; } } }
private static void gmGmkBreakLandStay(AppMain.OBS_OBJECT_WORK obj_work) { AppMain.GMS_GMK_BLAND_WORK gmsGmkBlandWork = (AppMain.GMS_GMK_BLAND_WORK)obj_work; AppMain.OBS_OBJECT_WORK objWork = AppMain.g_gm_main_system.ply_work[0].obj_work; if (objWork.ride_obj != obj_work) { return; } int num1 = obj_work.pos.x + gmsGmkBlandWork.colrect_left; int num2 = obj_work.pos.x + gmsGmkBlandWork.colrect_right; int num3 = num1 - ((int)objWork.field_rect[0] << 12); int num4 = num2 - ((int)objWork.field_rect[2] << 12); if (num3 > objWork.pos.x || objWork.pos.x > num4) { return; } if (objWork.pos.x - obj_work.pos.x <= (int)gmsGmkBlandWork.gmk_work.ene_com.col_work.obj_col.width * 4096 / 2) { int num5 = -((int)gmsGmkBlandWork.gmk_work.ene_com.col_work.obj_col.width * 4096 / 2); } AppMain.OBS_OBJECT_WORK obsObjectWork = (AppMain.OBS_OBJECT_WORK)AppMain.GmEfctZoneEsCreate((AppMain.OBS_OBJECT_WORK)null, 0, 0); obsObjectWork.pos.x = obj_work.pos.x; obsObjectWork.pos.y = obj_work.pos.y; obsObjectWork.pos.z = obj_work.pos.z + 131072; if (gmsGmkBlandWork.vect == (ushort)0) { obsObjectWork.pos.x += 262144; } else { obsObjectWork.pos.x -= 262144; } gmsGmkBlandWork.broken_timer = 45; gmsGmkBlandWork.quake_timer = 0; obj_work.ppFunc = new AppMain.MPP_VOID_OBS_OBJECT_WORK(AppMain.gmGmkBreakLandStay_100); }
private static void gmGmkBreakLandStay_100(AppMain.OBS_OBJECT_WORK obj_work) { AppMain.GMS_GMK_BLAND_WORK gmsGmkBlandWork = (AppMain.GMS_GMK_BLAND_WORK)obj_work; --gmsGmkBlandWork.broken_timer; if (gmsGmkBlandWork.broken_timer <= 0) { AppMain.ObjObjectAction3dNNModelReleaseCopy(obj_work); AppMain.ObjObjectCopyAction3dNNModel(obj_work, AppMain.gm_gmk_breakland_obj_3d_list[gmsGmkBlandWork.vect == (ushort)0 ? 2 : 3], gmsGmkBlandWork.gmk_work.obj_3d); AppMain.ObjObjectAction3dNNMotionLoad(obj_work, 0, false, AppMain.ObjDataGet(796), (string)null, 0, (AppMain.AMS_AMB_HEADER)null); if (gmsGmkBlandWork.vect == (ushort)32768) { AppMain.ObjDrawObjectActionSet(obj_work, 0); obj_work.obj_3d.use_light_flag &= 4294967294U; obj_work.obj_3d.use_light_flag |= 4U; obj_work.obj_3d.use_light_flag |= 65536U; } else { AppMain.ObjDrawObjectActionSet(obj_work, 1); obj_work.obj_3d.use_light_flag &= 4294967294U; obj_work.obj_3d.use_light_flag |= 2U; obj_work.obj_3d.use_light_flag |= 65536U; } obj_work.disp_flag &= 4294967279U; obj_work.disp_flag &= 4294967291U; gmsGmkBlandWork.gmk_work.ene_com.col_work.obj_col.obj = (AppMain.OBS_OBJECT_WORK)null; AppMain.GmSoundPlaySE("BreakGround"); obj_work.ppFunc = new AppMain.MPP_VOID_OBS_OBJECT_WORK(AppMain.gmGmkBreakLandBroken); } else { gmsGmkBlandWork.quake_timer &= 3; obj_work.pos.y += (int)AppMain.tbl_breaklandquake[gmsGmkBlandWork.quake_timer] * 4096; ++gmsGmkBlandWork.quake_timer; } }