示例#1
0
 // Token: 0x060004E7 RID: 1255 RVA: 0x00029FC0 File Offset: 0x000281C0
 public static OBS_OBJECT_WORK GmGmkUpBumperLInit(AppMain.GMS_EVE_RECORD_EVENT eve_rec, int pos_x, int pos_y, byte type)
 {
     AppMain.GMS_GMK_UPBUMPER_WORK gms_GMK_UPBUMPER_WORK = (AppMain.GMS_GMK_UPBUMPER_WORK)AppMain.gmGmkUpBumperInit(eve_rec, pos_x, pos_y, type);
     gms_GMK_UPBUMPER_WORK.obj_type = 0;
     AppMain.gmGmkUpBumperStart(gms_GMK_UPBUMPER_WORK.gmk_work.ene_com.obj_work);
     return(gms_GMK_UPBUMPER_WORK.gmk_work.ene_com.obj_work);
 }
示例#2
0
    // Token: 0x060004ED RID: 1261 RVA: 0x0002A224 File Offset: 0x00028424
    private static void gmGmkUpBumperHit(AppMain.OBS_RECT_WORK mine_rect, AppMain.OBS_RECT_WORK match_rect)
    {
        AppMain.GMS_GMK_UPBUMPER_WORK gms_GMK_UPBUMPER_WORK = (AppMain.GMS_GMK_UPBUMPER_WORK)mine_rect.parent_obj;
        GMS_PLAYER_WORK gms_PLAYER_WORK = (GMS_PLAYER_WORK)match_rect.parent_obj;

        if (gms_PLAYER_WORK == AppMain.g_gm_main_system.ply_work[( int )(( UIntPtr )0)])
        {
            int spd_y = 0;
            int num;
            if (AppMain.player_spd_keep_timer <= 0)
            {
                num = 0;
                uint num2 = 0U;
                while (( ulong )num2 < ( ulong )(( long )AppMain.GMD_GMK_UPBUMPER_REBOUND_DATA_NUM))
                {
                    if (gms_PLAYER_WORK.act_state == AppMain.tbl_upbmper_rebound_data[( int )(( UIntPtr )num2)].act_state)
                    {
                        num   = AppMain.tbl_upbmper_rebound_data[( int )(( UIntPtr )num2)].spd_x;
                        spd_y = AppMain.tbl_upbmper_rebound_data[( int )(( UIntPtr )num2)].spd_y;
                        AppMain.player_spd_x          = num;
                        AppMain.player_spd_y          = spd_y;
                        AppMain.player_spd_keep_timer = 60;
                        gms_GMK_UPBUMPER_WORK.player_spd_keep_timer_mine = ( short )(AppMain.player_spd_keep_timer + 1);
                        break;
                    }
                    num2 += 1U;
                }
                if (num == 0)
                {
                    num  = AppMain.MTM_MATH_ABS(gms_PLAYER_WORK.obj_work.spd.x);
                    num += num >> 3;
                    if (num > 32768)
                    {
                        num = 32768;
                    }
                    if (num < 16384)
                    {
                        num = 16384;
                    }
                    spd_y = -16384;
                }
            }
            else
            {
                num   = AppMain.player_spd_x;
                spd_y = AppMain.player_spd_y;
                AppMain.player_spd_keep_timer = 60;
                gms_GMK_UPBUMPER_WORK.player_spd_keep_timer_mine = ( short )(AppMain.player_spd_keep_timer + 1);
            }
            if (gms_GMK_UPBUMPER_WORK.obj_type == 1)
            {
                num = -num;
            }
            AppMain.GmPlySeqGmkInitUpBumper(gms_PLAYER_WORK, num, spd_y);
            AppMain.GMM_PAD_VIB_SMALL();
        }
        mine_rect.flag &= 4294573823U;
    }
示例#3
0
 private static void gmGmkUpBumperHit(
     AppMain.OBS_RECT_WORK mine_rect,
     AppMain.OBS_RECT_WORK match_rect)
 {
     AppMain.GMS_GMK_UPBUMPER_WORK parentObj1 = (AppMain.GMS_GMK_UPBUMPER_WORK)mine_rect.parent_obj;
     AppMain.GMS_PLAYER_WORK       parentObj2 = (AppMain.GMS_PLAYER_WORK)match_rect.parent_obj;
     if (parentObj2 == AppMain.g_gm_main_system.ply_work[0])
     {
         int spd_y = 0;
         int spd_x;
         if (AppMain.player_spd_keep_timer <= (short)0)
         {
             spd_x = 0;
             for (uint index = 0; (long)index < (long)AppMain.GMD_GMK_UPBUMPER_REBOUND_DATA_NUM; ++index)
             {
                 if (parentObj2.act_state == AppMain.tbl_upbmper_rebound_data[(int)index].act_state)
                 {
                     spd_x = AppMain.tbl_upbmper_rebound_data[(int)index].spd_x;
                     spd_y = AppMain.tbl_upbmper_rebound_data[(int)index].spd_y;
                     AppMain.player_spd_x                  = spd_x;
                     AppMain.player_spd_y                  = spd_y;
                     AppMain.player_spd_keep_timer         = (short)60;
                     parentObj1.player_spd_keep_timer_mine = (short)((int)AppMain.player_spd_keep_timer + 1);
                     break;
                 }
             }
             if (spd_x == 0)
             {
                 int num = AppMain.MTM_MATH_ABS(parentObj2.obj_work.spd.x);
                 spd_x = num + (num >> 3);
                 if (spd_x > 32768)
                 {
                     spd_x = 32768;
                 }
                 if (spd_x < 16384)
                 {
                     spd_x = 16384;
                 }
                 spd_y = -16384;
             }
         }
         else
         {
             spd_x = AppMain.player_spd_x;
             spd_y = AppMain.player_spd_y;
             AppMain.player_spd_keep_timer         = (short)60;
             parentObj1.player_spd_keep_timer_mine = (short)((int)AppMain.player_spd_keep_timer + 1);
         }
         if (parentObj1.obj_type == 1)
         {
             spd_x = -spd_x;
         }
         AppMain.GmPlySeqGmkInitUpBumper(parentObj2, spd_x, spd_y);
         AppMain.GMM_PAD_VIB_SMALL();
     }
     mine_rect.flag &= 4294573823U;
 }
 // Token: 0x060004EE RID: 1262 RVA: 0x0002A370 File Offset: 0x00028570
 private static AppMain.OBS_OBJECT_WORK gmGmkUpBumperInit(AppMain.GMS_EVE_RECORD_EVENT eve_rec, int pos_x, int pos_y, byte type)
 {
     AppMain.GMS_GMK_UPBUMPER_WORK gms_GMK_UPBUMPER_WORK = (AppMain.GMS_GMK_UPBUMPER_WORK)AppMain.GMM_ENEMY_CREATE_WORK(eve_rec, pos_x, pos_y, () => new AppMain.GMS_GMK_UPBUMPER_WORK(), "Gmk_UpBumper");
     AppMain.OBS_OBJECT_WORK       obs_OBJECT_WORK       = (AppMain.OBS_OBJECT_WORK)gms_GMK_UPBUMPER_WORK;
     AppMain.GMS_ENEMY_3D_WORK     gms_ENEMY_3D_WORK     = (AppMain.GMS_ENEMY_3D_WORK)gms_GMK_UPBUMPER_WORK;
     AppMain.ObjObjectCopyAction3dNNModel(obs_OBJECT_WORK, AppMain.gm_gmk_upbumper_obj_3d_list[0], gms_ENEMY_3D_WORK.obj_3d);
     obs_OBJECT_WORK.pos.z      = -4096;
     obs_OBJECT_WORK.move_flag |= 256U;
     obs_OBJECT_WORK.disp_flag |= 4194304U;
     return(obs_OBJECT_WORK);
 }
 // Token: 0x060004E8 RID: 1256 RVA: 0x0002A008 File Offset: 0x00028208
 public static AppMain.OBS_OBJECT_WORK GmGmkUpBumperRInit(AppMain.GMS_EVE_RECORD_EVENT eve_rec, int pos_x, int pos_y, byte type)
 {
     AppMain.OBS_OBJECT_WORK       obs_OBJECT_WORK       = AppMain.gmGmkUpBumperInit(eve_rec, pos_x, pos_y, type);
     AppMain.GMS_GMK_UPBUMPER_WORK gms_GMK_UPBUMPER_WORK = (AppMain.GMS_GMK_UPBUMPER_WORK)obs_OBJECT_WORK;
     obs_OBJECT_WORK.disp_flag       &= 4290772991U;
     obs_OBJECT_WORK.obj_3d.drawflag |= 32U;
     obs_OBJECT_WORK.dir.y            = 16384;
     gms_GMK_UPBUMPER_WORK.obj_type   = 1;
     AppMain.gmGmkUpBumperStart(gms_GMK_UPBUMPER_WORK.gmk_work.ene_com.obj_work);
     return(obs_OBJECT_WORK);
 }
示例#6
0
 // Token: 0x060004EB RID: 1259 RVA: 0x0002A0C4 File Offset: 0x000282C4
 private static void gmGmkUpBumperStart(OBS_OBJECT_WORK obj_work)
 {
     AppMain.GMS_GMK_UPBUMPER_WORK gms_GMK_UPBUMPER_WORK = (AppMain.GMS_GMK_UPBUMPER_WORK)obj_work;
     gms_GMK_UPBUMPER_WORK.gmk_work.ene_com.rect_work[0].flag &= 4294967291U;
     gms_GMK_UPBUMPER_WORK.gmk_work.ene_com.rect_work[1].flag &= 4294967291U;
     AppMain.OBS_RECT_WORK obs_RECT_WORK = gms_GMK_UPBUMPER_WORK.gmk_work.ene_com.rect_work[2];
     obs_RECT_WORK.ppDef = AppMain.gmGmkUpBumperHit;
     obs_RECT_WORK.ppHit = null;
     AppMain.ObjRectAtkSet(obs_RECT_WORK, 0, 0);
     AppMain.ObjRectDefSet(obs_RECT_WORK, 65534, 0);
     AppMain.ObjRectWorkSet(obs_RECT_WORK, AppMain.GmkUpBumperData.tbl_gm_gmk_upbumper_rect[gms_GMK_UPBUMPER_WORK.obj_type][0], AppMain.GmkUpBumperData.tbl_gm_gmk_upbumper_rect[gms_GMK_UPBUMPER_WORK.obj_type][1], AppMain.GmkUpBumperData.tbl_gm_gmk_upbumper_rect[gms_GMK_UPBUMPER_WORK.obj_type][2], AppMain.GmkUpBumperData.tbl_gm_gmk_upbumper_rect[gms_GMK_UPBUMPER_WORK.obj_type][3]);
     obj_work.flag  &= 4294967293U;
     obj_work.ppFunc = AppMain.gmGmkUpBumperStay;
 }
示例#7
0
 private static void gmGmkUpBumperStart(AppMain.OBS_OBJECT_WORK obj_work)
 {
     AppMain.GMS_GMK_UPBUMPER_WORK gmsGmkUpbumperWork = (AppMain.GMS_GMK_UPBUMPER_WORK)obj_work;
     gmsGmkUpbumperWork.gmk_work.ene_com.rect_work[0].flag &= 4294967291U;
     gmsGmkUpbumperWork.gmk_work.ene_com.rect_work[1].flag &= 4294967291U;
     AppMain.OBS_RECT_WORK pRec = gmsGmkUpbumperWork.gmk_work.ene_com.rect_work[2];
     pRec.ppDef = new AppMain.OBS_RECT_WORK_Delegate1(AppMain.gmGmkUpBumperHit);
     pRec.ppHit = (AppMain.OBS_RECT_WORK_Delegate1)null;
     AppMain.ObjRectAtkSet(pRec, (ushort)0, (short)0);
     AppMain.ObjRectDefSet(pRec, (ushort)65534, (short)0);
     AppMain.ObjRectWorkSet(pRec, AppMain.GmkUpBumperData.tbl_gm_gmk_upbumper_rect[gmsGmkUpbumperWork.obj_type][0], AppMain.GmkUpBumperData.tbl_gm_gmk_upbumper_rect[gmsGmkUpbumperWork.obj_type][1], AppMain.GmkUpBumperData.tbl_gm_gmk_upbumper_rect[gmsGmkUpbumperWork.obj_type][2], AppMain.GmkUpBumperData.tbl_gm_gmk_upbumper_rect[gmsGmkUpbumperWork.obj_type][3]);
     obj_work.flag  &= 4294967293U;
     obj_work.ppFunc = new AppMain.MPP_VOID_OBS_OBJECT_WORK(AppMain.gmGmkUpBumperStay);
 }
示例#8
0
 private static AppMain.OBS_OBJECT_WORK gmGmkUpBumperInit(
     AppMain.GMS_EVE_RECORD_EVENT eve_rec,
     int pos_x,
     int pos_y,
     byte type)
 {
     AppMain.GMS_GMK_UPBUMPER_WORK work           = (AppMain.GMS_GMK_UPBUMPER_WORK)AppMain.GMM_ENEMY_CREATE_WORK(eve_rec, pos_x, pos_y, (AppMain.TaskWorkFactoryDelegate)(() => (object)new AppMain.GMS_GMK_UPBUMPER_WORK()), "Gmk_UpBumper");
     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_upbumper_obj_3d_list[0], gmsEnemy3DWork.obj_3d);
     obj_work.pos.z      = -4096;
     obj_work.move_flag |= 256U;
     obj_work.disp_flag |= 4194304U;
     return(obj_work);
 }
示例#9
0
 // Token: 0x060004EC RID: 1260 RVA: 0x0002A1B8 File Offset: 0x000283B8
 private static void gmGmkUpBumperStay(OBS_OBJECT_WORK obj_work)
 {
     AppMain.GMS_GMK_UPBUMPER_WORK gms_GMK_UPBUMPER_WORK = (AppMain.GMS_GMK_UPBUMPER_WORK)obj_work;
     if (gms_GMK_UPBUMPER_WORK.player_spd_keep_timer_mine > 0)
     {
         if (gms_GMK_UPBUMPER_WORK.player_spd_keep_timer_mine > AppMain.player_spd_keep_timer)
         {
             gms_GMK_UPBUMPER_WORK.player_spd_keep_timer_mine = AppMain.player_spd_keep_timer;
             AppMain.player_spd_keep_timer -= 1;
             if (AppMain.player_spd_keep_timer <= 0)
             {
                 gms_GMK_UPBUMPER_WORK.player_spd_keep_timer_mine = 0;
                 AppMain.player_spd_keep_timer = 0;
                 AppMain.player_spd_x          = (AppMain.player_spd_y = 0);
                 return;
             }
         }
         else
         {
             gms_GMK_UPBUMPER_WORK.player_spd_keep_timer_mine = 0;
         }
     }
 }
示例#10
0
 private static void gmGmkUpBumperStay(AppMain.OBS_OBJECT_WORK obj_work)
 {
     AppMain.GMS_GMK_UPBUMPER_WORK gmsGmkUpbumperWork = (AppMain.GMS_GMK_UPBUMPER_WORK)obj_work;
     if (gmsGmkUpbumperWork.player_spd_keep_timer_mine <= (short)0)
     {
         return;
     }
     if ((int)gmsGmkUpbumperWork.player_spd_keep_timer_mine > (int)AppMain.player_spd_keep_timer)
     {
         gmsGmkUpbumperWork.player_spd_keep_timer_mine = AppMain.player_spd_keep_timer;
         --AppMain.player_spd_keep_timer;
         if (AppMain.player_spd_keep_timer > (short)0)
         {
             return;
         }
         gmsGmkUpbumperWork.player_spd_keep_timer_mine = (short)0;
         AppMain.player_spd_keep_timer = (short)0;
         AppMain.player_spd_x          = AppMain.player_spd_y = 0;
     }
     else
     {
         gmsGmkUpbumperWork.player_spd_keep_timer_mine = (short)0;
     }
 }