Пример #1
0
    // 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;
        }
    }
Пример #2
0
    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);
        }
    }
Пример #3
0
 // 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;
     }
 }
Пример #4
0
 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;
 }