// Token: 0x060008E6 RID: 2278 RVA: 0x00051728 File Offset: 0x0004F928 public static void gmGmkBreakObj_CreateParts(OBS_OBJECT_WORK parent_obj, int type, ushort vect) { int num = 0; for (int i = 0; i < ( int )AppMain.GMS_GMK_BOBJ_PARTS_PARAM_TABLE[type].num; i++) { ushort[] array = AppMain.GMS_GMK_BOBJ_PARTS_PARAM_TABLE[type].Params[num]; AppMain.GMS_GMK_BOBJ_PARTS gms_GMK_BOBJ_PARTS = (AppMain.GMS_GMK_BOBJ_PARTS)AppMain.GMM_EFFECT_CREATE_WORK(() => new AppMain.GMS_GMK_BOBJ_PARTS(), null, 0, "BreakObj_Parts"); OBS_OBJECT_WORK obs_OBJECT_WORK = (OBS_OBJECT_WORK)gms_GMK_BOBJ_PARTS; AppMain.ObjObjectCopyAction3dNNModel(obs_OBJECT_WORK, AppMain.gm_gmk_breakobj_obj_3d_list[( int )array[0]], gms_GMK_BOBJ_PARTS.eff_work.obj_3d); ((AppMain.NNS_MATERIAL_GLES11_DESC)obs_OBJECT_WORK.obj_3d._object.pMatPtrList[0].pMaterial).fFlag = 2U; obs_OBJECT_WORK.pos.x = parent_obj.pos.x + ( int )(( short )array[1] * 4096); obs_OBJECT_WORK.pos.y = parent_obj.pos.y - ( int )(( short )array[2] * 4096); obs_OBJECT_WORK.pos.z = parent_obj.pos.z + 1; vect = array[3]; int num2 = (int)(-(int)array[4]); obs_OBJECT_WORK.spd.x = AppMain.mtMathCos(( int )vect) * num2 >> 12; obs_OBJECT_WORK.spd.y = -(AppMain.mtMathSin(( int )vect) * num2 >> 12); obs_OBJECT_WORK.spd_add.y = 1024; obs_OBJECT_WORK.dir.x = 0; obs_OBJECT_WORK.dir.y = 0; obs_OBJECT_WORK.dir.z = vect; obs_OBJECT_WORK.move_flag |= 256U; obs_OBJECT_WORK.disp_flag |= 4194304U; obs_OBJECT_WORK.disp_flag &= 4294967039U; obs_OBJECT_WORK.flag |= 2U; gms_GMK_BOBJ_PARTS.falltimer = 60; num++; obs_OBJECT_WORK.ppFunc = AppMain.gmGmkBreakObjParts_Main; } }
public static void gmGmkBreakObj_CreateParts( AppMain.OBS_OBJECT_WORK parent_obj, int type, ushort vect) { int index1 = 0; for (int index2 = 0; index2 < (int)AppMain.GMS_GMK_BOBJ_PARTS_PARAM_TABLE[type].num; ++index2) { ushort[] numArray = AppMain.GMS_GMK_BOBJ_PARTS_PARAM_TABLE[type].Params[index1]; AppMain.GMS_GMK_BOBJ_PARTS work = (AppMain.GMS_GMK_BOBJ_PARTS)AppMain.GMM_EFFECT_CREATE_WORK((AppMain.TaskWorkFactoryDelegate)(() => (object)new AppMain.GMS_GMK_BOBJ_PARTS()), (AppMain.OBS_OBJECT_WORK)null, (ushort)0, "BreakObj_Parts"); AppMain.OBS_OBJECT_WORK obj_work = (AppMain.OBS_OBJECT_WORK)work; AppMain.ObjObjectCopyAction3dNNModel(obj_work, AppMain.gm_gmk_breakobj_obj_3d_list[(int)numArray[0]], work.eff_work.obj_3d); ((AppMain.NNS_MATERIAL_GLES11_DESC)obj_work.obj_3d._object.pMatPtrList[0].pMaterial).fFlag = 2U; obj_work.pos.x = parent_obj.pos.x + (int)(short)numArray[1] * 4096; obj_work.pos.y = parent_obj.pos.y - (int)(short)numArray[2] * 4096; obj_work.pos.z = parent_obj.pos.z + 1; vect = numArray[3]; int num = (int)-numArray[4]; obj_work.spd.x = AppMain.mtMathCos((int)vect) * num >> 12; obj_work.spd.y = -(AppMain.mtMathSin((int)vect) * num >> 12); obj_work.spd_add.y = 1024; obj_work.dir.x = (ushort)0; obj_work.dir.y = (ushort)0; obj_work.dir.z = vect; obj_work.move_flag |= 256U; obj_work.disp_flag |= 4194304U; obj_work.disp_flag &= 4294967039U; obj_work.flag |= 2U; work.falltimer = (short)60; ++index1; obj_work.ppFunc = new AppMain.MPP_VOID_OBS_OBJECT_WORK(AppMain.gmGmkBreakObjParts_Main); } }
// Token: 0x060008E7 RID: 2279 RVA: 0x00051918 File Offset: 0x0004FB18 public static void gmGmkBreakObjParts_Main(OBS_OBJECT_WORK obj_work) { AppMain.GMS_GMK_BOBJ_PARTS gms_GMK_BOBJ_PARTS = (AppMain.GMS_GMK_BOBJ_PARTS)obj_work; obj_work.dir.z = ( ushort )(obj_work.dir.z + 512); AppMain.GMS_GMK_BOBJ_PARTS gms_GMK_BOBJ_PARTS2 = gms_GMK_BOBJ_PARTS; gms_GMK_BOBJ_PARTS2.falltimer -= 1; if (gms_GMK_BOBJ_PARTS.falltimer <= 0) { obj_work.flag |= 8U; } }
public static void gmGmkBreakObjParts_Main(AppMain.OBS_OBJECT_WORK obj_work) { AppMain.GMS_GMK_BOBJ_PARTS gmsGmkBobjParts = (AppMain.GMS_GMK_BOBJ_PARTS)obj_work; obj_work.dir.z += (ushort)512; --gmsGmkBobjParts.falltimer; if (gmsGmkBobjParts.falltimer > (short)0) { return; } obj_work.flag |= 8U; }