Beispiel #1
0
 // 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++;
 }
Beispiel #2
0
 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);
 }
Beispiel #3
0
    // 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);
    }
Beispiel #4
0
    // 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;
            }
        }
    }
Beispiel #5
0
    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);
    }
Beispiel #6
0
 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;
     }
 }