示例#1
0
    // Token: 0x06001248 RID: 4680 RVA: 0x0009FB38 File Offset: 0x0009DD38
    private static OBS_OBJECT_WORK GmGmkCannonInit(AppMain.GMS_EVE_RECORD_EVENT eve_rec, int pos_x, int pos_y,
                                                   byte type)
    {
        AppMain.GMS_GMK_CANNON_WORK gms_GMK_CANNON_WORK =
            (AppMain.GMS_GMK_CANNON_WORK)AppMain.GMM_ENEMY_CREATE_WORK(eve_rec, pos_x, pos_y,
                                                                       () => new AppMain.GMS_GMK_CANNON_WORK(), "Gmk_Cannon");
        OBS_OBJECT_WORK obs_OBJECT_WORK = (OBS_OBJECT_WORK)gms_GMK_CANNON_WORK;

        AppMain.GMS_ENEMY_3D_WORK gms_ENEMY_3D_WORK = (AppMain.GMS_ENEMY_3D_WORK)gms_GMK_CANNON_WORK;
        AppMain.ObjObjectCopyAction3dNNModel(obs_OBJECT_WORK, AppMain.gm_gmk_cannon_obj_3d_list[0],
                                             gms_ENEMY_3D_WORK.obj_3d);
        obs_OBJECT_WORK.pos.z = 131072;
        OBS_OBJECT_WORK obs_OBJECT_WORK2 = obs_OBJECT_WORK;

        obs_OBJECT_WORK2.pos.y     = obs_OBJECT_WORK2.pos.y - 18432;
        obs_OBJECT_WORK.dir.y      = 32768;
        obs_OBJECT_WORK.move_flag |= 256U;
        if (eve_rec.width != 0)
        {
            gms_GMK_CANNON_WORK.cannon_power = (int)eve_rec.width;
        }
        else
        {
            gms_GMK_CANNON_WORK.cannon_power = 61440;
        }

        AppMain.gmGmkCannon_CreateParts(gms_GMK_CANNON_WORK);
        AppMain.gmGmkCannonStart(obs_OBJECT_WORK);
        return(obs_OBJECT_WORK);
    }
示例#2
0
 private static void gmGmkCannonStay(AppMain.OBS_OBJECT_WORK obj_work)
 {
     AppMain.GMS_GMK_CANNON_WORK gmsGmkCannonWork = (AppMain.GMS_GMK_CANNON_WORK)obj_work;
     AppMain.GMS_PLAYER_WORK     gmsPlayerWork    = AppMain.g_gm_main_system.ply_work[0];
     if (gmsGmkCannonWork.gmk_work.ene_com.col_work.obj_col.obj != null)
     {
         if (gmsPlayerWork.act_state == 31)
         {
             AppMain.gmGmkCannonFieldColOff(obj_work);
         }
     }
     else if (gmsPlayerWork.act_state != 31)
     {
         AppMain.gmGmkCannonFieldColOn(obj_work);
     }
     if (gmsGmkCannonWork.ply_work == null)
     {
         return;
     }
     gmsGmkCannonWork.gmk_work.ene_com.rect_work[2].flag &= 4294967291U;
     if (gmsPlayerWork.seq_state != 41)
     {
         AppMain.gmGmkCannonStart(obj_work);
     }
     else
     {
         if (obj_work.pos.y > gmsGmkCannonWork.ply_work.obj_work.pos.y)
         {
             return;
         }
         obj_work.ppFunc = new AppMain.MPP_VOID_OBS_OBJECT_WORK(AppMain.gmGmkCannonReady);
     }
 }
示例#3
0
    // Token: 0x0600124D RID: 4685 RVA: 0x0009FE98 File Offset: 0x0009E098
    private static void gmGmkCannonStay(OBS_OBJECT_WORK obj_work)
    {
        AppMain.GMS_GMK_CANNON_WORK gms_GMK_CANNON_WORK = (AppMain.GMS_GMK_CANNON_WORK)obj_work;
        GMS_PLAYER_WORK             gms_PLAYER_WORK     = AppMain.g_gm_main_system.ply_work[0];

        if (gms_GMK_CANNON_WORK.gmk_work.ene_com.col_work.obj_col.obj != null)
        {
            if (gms_PLAYER_WORK.act_state == 31)
            {
                AppMain.gmGmkCannonFieldColOff(obj_work);
            }
        }
        else if (gms_PLAYER_WORK.act_state != 31)
        {
            AppMain.gmGmkCannonFieldColOn(obj_work);
        }

        if (gms_GMK_CANNON_WORK.ply_work != null)
        {
            AppMain.OBS_RECT_WORK obs_RECT_WORK = gms_GMK_CANNON_WORK.gmk_work.ene_com.rect_work[2];
            obs_RECT_WORK.flag &= 4294967291U;
            if (gms_PLAYER_WORK.seq_state != 41)
            {
                AppMain.gmGmkCannonStart(obj_work);
                return;
            }

            if (obj_work.pos.y <= gms_GMK_CANNON_WORK.ply_work.obj_work.pos.y)
            {
                obj_work.ppFunc = AppMain.gmGmkCannonReady;
            }
        }
    }
示例#4
0
 // Token: 0x06001251 RID: 4689 RVA: 0x000A02F4 File Offset: 0x0009E4F4
 private static void gmGmkCannonShootEnd(OBS_OBJECT_WORK obj_work)
 {
     AppMain.GMS_GMK_CANNON_WORK gms_GMK_CANNON_WORK = (AppMain.GMS_GMK_CANNON_WORK)obj_work;
     AppMain.gmGmkCannon_CannonTurn(gms_GMK_CANNON_WORK);
     obj_work.dir.z = (ushort)gms_GMK_CANNON_WORK.angle_now;
     if (gms_GMK_CANNON_WORK.angle_now == gms_GMK_CANNON_WORK.angle_set)
     {
         AppMain.gmGmkCannonStart(obj_work);
     }
 }
示例#5
0
 private static void gmGmkCannonFieldColOn(AppMain.OBS_OBJECT_WORK obj_work)
 {
     AppMain.GMS_GMK_CANNON_WORK gmsGmkCannonWork = (AppMain.GMS_GMK_CANNON_WORK)obj_work;
     gmsGmkCannonWork.gmk_work.ene_com.col_work.obj_col.obj       = obj_work;
     gmsGmkCannonWork.gmk_work.ene_com.col_work.obj_col.diff_data = AppMain.g_gm_default_col;
     gmsGmkCannonWork.gmk_work.ene_com.col_work.obj_col.width     = (ushort)24;
     gmsGmkCannonWork.gmk_work.ene_com.col_work.obj_col.height    = (ushort)56;
     gmsGmkCannonWork.gmk_work.ene_com.col_work.obj_col.ofst_x    = (short)-12;
     gmsGmkCannonWork.gmk_work.ene_com.col_work.obj_col.ofst_y    = (short)-30;
     gmsGmkCannonWork.gmk_work.ene_com.col_work.obj_col.flag     |= 134217824U;
 }
示例#6
0
 private static void gmGmkCannonShootEnd(AppMain.OBS_OBJECT_WORK obj_work)
 {
     AppMain.GMS_GMK_CANNON_WORK pwork = (AppMain.GMS_GMK_CANNON_WORK)obj_work;
     AppMain.gmGmkCannon_CannonTurn(pwork);
     obj_work.dir.z = (ushort)pwork.angle_now;
     if ((int)pwork.angle_now != (int)pwork.angle_set)
     {
         return;
     }
     AppMain.gmGmkCannonStart(obj_work);
 }
示例#7
0
 private static void gmGmkCannonHit(
     AppMain.OBS_RECT_WORK mine_rect,
     AppMain.OBS_RECT_WORK match_rect)
 {
     AppMain.OBS_OBJECT_WORK     parentObj1       = mine_rect.parent_obj;
     AppMain.GMS_PLAYER_WORK     parentObj2       = (AppMain.GMS_PLAYER_WORK)match_rect.parent_obj;
     AppMain.GMS_GMK_CANNON_WORK gmsGmkCannonWork = (AppMain.GMS_GMK_CANNON_WORK)parentObj1;
     gmsGmkCannonWork.hitpass = false;
     if (parentObj2 == AppMain.g_gm_main_system.ply_work[0])
     {
         if (gmsGmkCannonWork.ply_work != parentObj2)
         {
             short num1 = (short)((parentObj1.pos.y >> 12) + (int)mine_rect.rect.top);
             if (parentObj2.obj_work.pos.y >> 12 < (int)num1 && parentObj2.obj_work.move.y >= 0 || parentObj2.act_state == 31)
             {
                 short num2 = 1;
                 short num3 = (short)(AppMain.MTM_MATH_ABS((int)mine_rect.rect.left - (int)match_rect.rect.left) + AppMain.MTM_MATH_ABS((int)mine_rect.rect.right - (int)match_rect.rect.right));
                 short num4 = (short)AppMain.MTM_MATH_ABS(parentObj2.obj_work.move.x >> 12);
                 if (num4 != (short)0)
                 {
                     num2 = (short)((int)num4 / (int)num3 + 1);
                 }
                 if (parentObj2.obj_work.move.x < 0)
                 {
                     num3 = (short)-num3;
                 }
                 short num5 = (short)((parentObj1.pos.x >> 12) + (int)mine_rect.rect.left - (int)match_rect.rect.left);
                 short num6 = (short)((parentObj1.pos.x >> 12) + (int)mine_rect.rect.right - (int)match_rect.rect.right);
                 short num7 = (short)(parentObj2.obj_work.pos.x >> 12);
                 for (; num2 != (short)0; --num2)
                 {
                     if ((int)num7 >= (int)num5 && (int)num7 <= (int)num6)
                     {
                         gmsGmkCannonWork.ply_work = parentObj2;
                         AppMain.GmPlySeqInitCannon(parentObj2, (AppMain.GMS_ENEMY_COM_WORK)parentObj1);
                         AppMain.GmSoundPlaySE("Cannon3");
                         break;
                     }
                     num7 += num3;
                 }
             }
         }
         gmsGmkCannonWork.hitpass = true;
     }
     mine_rect.flag &= 4294573823U;
 }
示例#8
0
 private static void gmGmkCannon_CreateParts(AppMain.GMS_GMK_CANNON_WORK pwork)
 {
     AppMain.OBS_OBJECT_WORK          obsObjectWork      = (AppMain.OBS_OBJECT_WORK)pwork;
     AppMain.OBS_OBJECT_WORK          work               = AppMain.GMM_EFFECT_CREATE_WORK((AppMain.TaskWorkFactoryDelegate)(() => (object)new AppMain.GMS_GMK_CANNONPARTS_WORK()), (AppMain.OBS_OBJECT_WORK)null, (ushort)0, "Gmk_CannonBase");
     AppMain.GMS_GMK_CANNONPARTS_WORK gmkCannonpartsWork = (AppMain.GMS_GMK_CANNONPARTS_WORK)work;
     AppMain.ObjObjectCopyAction3dNNModel(work, AppMain.gm_gmk_cannon_obj_3d_list[1], gmkCannonpartsWork.eff_work.obj_3d);
     work.parent_obj = obsObjectWork;
     work.flag      &= 4294966271U;
     work.pos.x      = obsObjectWork.pos.x;
     work.pos.y      = obsObjectWork.pos.y + 122880;
     work.pos.z      = obsObjectWork.pos.z + 122880;
     work.dir.y      = obsObjectWork.dir.y;
     work.move_flag |= 256U;
     work.disp_flag &= 4294967039U;
     work.flag      |= 2U;
     work.ppFunc     = (AppMain.MPP_VOID_OBS_OBJECT_WORK)null;
 }
 // Token: 0x06001253 RID: 4691 RVA: 0x000A051C File Offset: 0x0009E71C
 private static void gmGmkCannon_CreateParts(AppMain.GMS_GMK_CANNON_WORK pwork)
 {
     AppMain.OBS_OBJECT_WORK          obs_OBJECT_WORK          = (AppMain.OBS_OBJECT_WORK)pwork;
     AppMain.OBS_OBJECT_WORK          obs_OBJECT_WORK2         = AppMain.GMM_EFFECT_CREATE_WORK(() => new AppMain.GMS_GMK_CANNONPARTS_WORK(), null, 0, "Gmk_CannonBase");
     AppMain.GMS_GMK_CANNONPARTS_WORK gms_GMK_CANNONPARTS_WORK = (AppMain.GMS_GMK_CANNONPARTS_WORK)obs_OBJECT_WORK2;
     AppMain.ObjObjectCopyAction3dNNModel(obs_OBJECT_WORK2, AppMain.gm_gmk_cannon_obj_3d_list[1], gms_GMK_CANNONPARTS_WORK.eff_work.obj_3d);
     obs_OBJECT_WORK2.parent_obj = obs_OBJECT_WORK;
     obs_OBJECT_WORK2.flag      &= 4294966271U;
     obs_OBJECT_WORK2.pos.x      = obs_OBJECT_WORK.pos.x;
     obs_OBJECT_WORK2.pos.y      = obs_OBJECT_WORK.pos.y + 122880;
     obs_OBJECT_WORK2.pos.z      = obs_OBJECT_WORK.pos.z + 122880;
     obs_OBJECT_WORK2.dir.y      = obs_OBJECT_WORK.dir.y;
     obs_OBJECT_WORK2.move_flag |= 256U;
     obs_OBJECT_WORK2.disp_flag &= 4294967039U;
     obs_OBJECT_WORK2.flag      |= 2U;
     obs_OBJECT_WORK2.ppFunc     = null;
 }
 // Token: 0x06001252 RID: 4690 RVA: 0x000A0334 File Offset: 0x0009E534
 private static void gmGmkCannonHit(AppMain.OBS_RECT_WORK mine_rect, AppMain.OBS_RECT_WORK match_rect)
 {
     AppMain.OBS_OBJECT_WORK     parent_obj          = mine_rect.parent_obj;
     AppMain.GMS_PLAYER_WORK     gms_PLAYER_WORK     = (AppMain.GMS_PLAYER_WORK)match_rect.parent_obj;
     AppMain.GMS_GMK_CANNON_WORK gms_GMK_CANNON_WORK = (AppMain.GMS_GMK_CANNON_WORK)parent_obj;
     gms_GMK_CANNON_WORK.hitpass = false;
     if (gms_PLAYER_WORK == AppMain.g_gm_main_system.ply_work[( int )(( UIntPtr )0)])
     {
         if (gms_GMK_CANNON_WORK.ply_work != gms_PLAYER_WORK)
         {
             short num = (short)((parent_obj.pos.y >> 12) + (int)mine_rect.rect.top);
             if ((gms_PLAYER_WORK.obj_work.pos.y >> 12 < ( int )num && gms_PLAYER_WORK.obj_work.move.y >= 0) || gms_PLAYER_WORK.act_state == 31)
             {
                 short num2 = 1;
                 short num3 = (short)(AppMain.MTM_MATH_ABS((int)(mine_rect.rect.left - match_rect.rect.left)) + AppMain.MTM_MATH_ABS((int)(mine_rect.rect.right - match_rect.rect.right)));
                 short num4 = (short)AppMain.MTM_MATH_ABS(gms_PLAYER_WORK.obj_work.move.x >> 12);
                 if (num4 != 0)
                 {
                     num2 = ( short )(num4 / num3 + 1);
                 }
                 if (gms_PLAYER_WORK.obj_work.move.x < 0)
                 {
                     num3 = ( short )-num3;
                 }
                 short num5 = (short)((parent_obj.pos.x >> 12) + (int)mine_rect.rect.left - (int)match_rect.rect.left);
                 short num6 = (short)((parent_obj.pos.x >> 12) + (int)mine_rect.rect.right - (int)match_rect.rect.right);
                 short num7 = (short)(gms_PLAYER_WORK.obj_work.pos.x >> 12);
                 while (num2 != 0)
                 {
                     if (num7 >= num5 && num7 <= num6)
                     {
                         gms_GMK_CANNON_WORK.ply_work = gms_PLAYER_WORK;
                         AppMain.GmPlySeqInitCannon(gms_PLAYER_WORK, (AppMain.GMS_ENEMY_COM_WORK)parent_obj);
                         AppMain.GmSoundPlaySE("Cannon3");
                         break;
                     }
                     num7 += num3;
                     num2 -= 1;
                 }
             }
         }
         gms_GMK_CANNON_WORK.hitpass = true;
     }
     mine_rect.flag &= 4294573823U;
 }
示例#11
0
 // Token: 0x0600124C RID: 4684 RVA: 0x0009FD9C File Offset: 0x0009DF9C
 private static void gmGmkCannonStart(OBS_OBJECT_WORK obj_work)
 {
     AppMain.GMS_GMK_CANNON_WORK gms_GMK_CANNON_WORK = (AppMain.GMS_GMK_CANNON_WORK)obj_work;
     AppMain.gmGmkCannonFieldColOn(obj_work);
     gms_GMK_CANNON_WORK.gmk_work.ene_com.rect_work[0].flag &= 4294967291U;
     gms_GMK_CANNON_WORK.gmk_work.ene_com.rect_work[1].flag &= 4294967291U;
     AppMain.OBS_RECT_WORK obs_RECT_WORK = gms_GMK_CANNON_WORK.gmk_work.ene_com.rect_work[2];
     obs_RECT_WORK.ppDef = AppMain.gmGmkCannonHit;
     obs_RECT_WORK.ppHit = null;
     AppMain.ObjRectAtkSet(obs_RECT_WORK, 0, 0);
     AppMain.ObjRectDefSet(obs_RECT_WORK, 65534, 0);
     AppMain.ObjRectWorkSet(obs_RECT_WORK, -12, -38, 12, -6);
     obj_work.flag &= 4294967293U;
     gms_GMK_CANNON_WORK.ply_work  = null;
     gms_GMK_CANNON_WORK.angle_set = 0;
     gms_GMK_CANNON_WORK.angle_now = 0;
     gms_GMK_CANNON_WORK.gmk_work.ene_com.enemy_flag &= 4294934527U;
     obj_work.ppFunc = AppMain.gmGmkCannonStay;
 }
示例#12
0
 private static AppMain.OBS_OBJECT_WORK GmGmkCannonInit(
     AppMain.GMS_EVE_RECORD_EVENT eve_rec,
     int pos_x,
     int pos_y,
     byte type)
 {
     AppMain.GMS_GMK_CANNON_WORK work           = (AppMain.GMS_GMK_CANNON_WORK)AppMain.GMM_ENEMY_CREATE_WORK(eve_rec, pos_x, pos_y, (AppMain.TaskWorkFactoryDelegate)(() => (object)new AppMain.GMS_GMK_CANNON_WORK()), "Gmk_Cannon");
     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_cannon_obj_3d_list[0], gmsEnemy3DWork.obj_3d);
     obj_work.pos.z      = 131072;
     obj_work.pos.y     -= 18432;
     obj_work.dir.y      = (ushort)32768;
     obj_work.move_flag |= 256U;
     work.cannon_power   = eve_rec.width == (byte)0 ? 61440 : (int)eve_rec.width;
     AppMain.gmGmkCannon_CreateParts(work);
     AppMain.gmGmkCannonStart(obj_work);
     return(obj_work);
 }
示例#13
0
 private static void gmGmkCannonStart(AppMain.OBS_OBJECT_WORK obj_work)
 {
     AppMain.GMS_GMK_CANNON_WORK gmsGmkCannonWork = (AppMain.GMS_GMK_CANNON_WORK)obj_work;
     AppMain.gmGmkCannonFieldColOn(obj_work);
     gmsGmkCannonWork.gmk_work.ene_com.rect_work[0].flag &= 4294967291U;
     gmsGmkCannonWork.gmk_work.ene_com.rect_work[1].flag &= 4294967291U;
     AppMain.OBS_RECT_WORK pRec = gmsGmkCannonWork.gmk_work.ene_com.rect_work[2];
     pRec.ppDef = new AppMain.OBS_RECT_WORK_Delegate1(AppMain.gmGmkCannonHit);
     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, (short)-12, (short)-38, (short)12, (short)-6);
     obj_work.flag             &= 4294967293U;
     gmsGmkCannonWork.ply_work  = (AppMain.GMS_PLAYER_WORK)null;
     gmsGmkCannonWork.angle_set = (short)0;
     gmsGmkCannonWork.angle_now = (short)0;
     gmsGmkCannonWork.gmk_work.ene_com.enemy_flag &= 4294934527U;
     obj_work.ppFunc = new AppMain.MPP_VOID_OBS_OBJECT_WORK(AppMain.gmGmkCannonStay);
 }
示例#14
0
 // Token: 0x0600124B RID: 4683 RVA: 0x0009FD24 File Offset: 0x0009DF24
 private static void gmGmkCannon_CannonTurn(AppMain.GMS_GMK_CANNON_WORK pwork)
 {
     if (pwork.angle_set > pwork.angle_now)
     {
         pwork.angle_now += 342;
         if (pwork.angle_now > pwork.angle_set)
         {
             pwork.angle_now = pwork.angle_set;
             return;
         }
     }
     else
     {
         pwork.angle_now -= 342;
         if (pwork.angle_now < pwork.angle_set)
         {
             pwork.angle_now = pwork.angle_set;
         }
     }
 }
示例#15
0
 private static void gmGmkCannon_CannonTurn(AppMain.GMS_GMK_CANNON_WORK pwork)
 {
     if ((int)pwork.angle_set > (int)pwork.angle_now)
     {
         pwork.angle_now += (short)342;
         if ((int)pwork.angle_now <= (int)pwork.angle_set)
         {
             return;
         }
         pwork.angle_now = pwork.angle_set;
     }
     else
     {
         pwork.angle_now -= (short)342;
         if ((int)pwork.angle_now >= (int)pwork.angle_set)
         {
             return;
         }
         pwork.angle_now = pwork.angle_set;
     }
 }
 // Token: 0x06001250 RID: 4688 RVA: 0x000A0280 File Offset: 0x0009E480
 private static void gmGmkCannonShoot(AppMain.OBS_OBJECT_WORK obj_work)
 {
     AppMain.GMS_GMK_CANNON_WORK gms_GMK_CANNON_WORK  = (AppMain.GMS_GMK_CANNON_WORK)obj_work;
     AppMain.GMS_GMK_CANNON_WORK gms_GMK_CANNON_WORK2 = gms_GMK_CANNON_WORK;
     gms_GMK_CANNON_WORK2.shoot_after += 1;
     if (gms_GMK_CANNON_WORK.shoot_after == 16)
     {
         AppMain.gmGmkCannonFieldColOn(obj_work);
         if (gms_GMK_CANNON_WORK.angle_now == 0)
         {
             gms_GMK_CANNON_WORK.ply_work = null;
             AppMain.gmGmkCannonStart(obj_work);
             return;
         }
     }
     if (gms_GMK_CANNON_WORK.shoot_after > 32)
     {
         gms_GMK_CANNON_WORK.ply_work  = null;
         gms_GMK_CANNON_WORK.angle_set = 0;
         obj_work.ppFunc = new AppMain.MPP_VOID_OBS_OBJECT_WORK(AppMain.gmGmkCannonShootEnd);
     }
 }
示例#17
0
 private static void gmGmkCannonShoot(AppMain.OBS_OBJECT_WORK obj_work)
 {
     AppMain.GMS_GMK_CANNON_WORK gmsGmkCannonWork = (AppMain.GMS_GMK_CANNON_WORK)obj_work;
     ++gmsGmkCannonWork.shoot_after;
     if (gmsGmkCannonWork.shoot_after == (short)16)
     {
         AppMain.gmGmkCannonFieldColOn(obj_work);
         if (gmsGmkCannonWork.angle_now == (short)0)
         {
             gmsGmkCannonWork.ply_work = (AppMain.GMS_PLAYER_WORK)null;
             AppMain.gmGmkCannonStart(obj_work);
             return;
         }
     }
     if (gmsGmkCannonWork.shoot_after <= (short)32)
     {
         return;
     }
     gmsGmkCannonWork.ply_work  = (AppMain.GMS_PLAYER_WORK)null;
     gmsGmkCannonWork.angle_set = (short)0;
     obj_work.ppFunc            = new AppMain.MPP_VOID_OBS_OBJECT_WORK(AppMain.gmGmkCannonShootEnd);
 }
示例#18
0
 // Token: 0x0600124A RID: 4682 RVA: 0x0009FCF4 File Offset: 0x0009DEF4
 private static void gmGmkCannonFieldColOff(OBS_OBJECT_WORK obj_work)
 {
     AppMain.GMS_GMK_CANNON_WORK gms_GMK_CANNON_WORK = (AppMain.GMS_GMK_CANNON_WORK)obj_work;
     gms_GMK_CANNON_WORK.gmk_work.ene_com.col_work.obj_col.obj = null;
 }
示例#19
0
    // Token: 0x0600124F RID: 4687 RVA: 0x0009FF80 File Offset: 0x0009E180
    private static void gmGmkCannonReady(OBS_OBJECT_WORK obj_work)
    {
        AppMain.GMS_GMK_CANNON_WORK gms_GMK_CANNON_WORK = (AppMain.GMS_GMK_CANNON_WORK)obj_work;
        short angle_set = gms_GMK_CANNON_WORK.angle_set;
        short angle_now = gms_GMK_CANNON_WORK.angle_now;

        if (gms_GMK_CANNON_WORK.angle_set == gms_GMK_CANNON_WORK.angle_now)
        {
            if ((AppMain.g_gs_main_sys_info.game_flag & 1U) == 0U)
            {
                int num = (int)(AppMain._am_iphone_accel_data.sensor.x * 16384f) * 3;
                if (num > 32768)
                {
                    num = 32768;
                }
                else if (num < -32768)
                {
                    num = -32768;
                }

                num /= 2;
                if (num >= (int)(gms_GMK_CANNON_WORK.angle_now + 2730))
                {
                    num = (int)(gms_GMK_CANNON_WORK.angle_now + 2730);
                }
                else if (gms_GMK_CANNON_WORK.angle_now == 13650 && num >= 16380)
                {
                    num = 16380;
                }
                else if (num <= (int)(gms_GMK_CANNON_WORK.angle_now - 2730))
                {
                    num = (int)(gms_GMK_CANNON_WORK.angle_now - 2730);
                }
                else if (gms_GMK_CANNON_WORK.angle_now == -13650 && num <= -16380)
                {
                    num = -16380;
                }
                else
                {
                    num = (int)gms_GMK_CANNON_WORK.angle_now;
                }

                gms_GMK_CANNON_WORK.angle_set = (short)num;
            }
            else
            {
                AppMain.GMS_GMK_CANNON_WORK gms_GMK_CANNON_WORK2 = gms_GMK_CANNON_WORK;
                gms_GMK_CANNON_WORK2.angle_set += AppMain.gmGmkCannon_GetAngle(gms_GMK_CANNON_WORK.ply_work.key_on);
                if (gms_GMK_CANNON_WORK.angle_set > 16380 && (ushort)gms_GMK_CANNON_WORK.angle_set < 49156)
                {
                    gms_GMK_CANNON_WORK.angle_set = 16380;
                }

                if (gms_GMK_CANNON_WORK.angle_set < -16380 && (ushort)gms_GMK_CANNON_WORK.angle_set > 16380)
                {
                    gms_GMK_CANNON_WORK.angle_set = -16380;
                }
            }

            if (angle_set != gms_GMK_CANNON_WORK.angle_set)
            {
                GmSound.PlaySE("Cannon1");
            }
        }

        if (gms_GMK_CANNON_WORK.angle_set != gms_GMK_CANNON_WORK.angle_now)
        {
            AppMain.gmGmkCannon_CannonTurn(gms_GMK_CANNON_WORK);
            obj_work.dir.z = (ushort)gms_GMK_CANNON_WORK.angle_now;
        }

        if (gms_GMK_CANNON_WORK.angle_set == gms_GMK_CANNON_WORK.angle_now &&
            angle_now == gms_GMK_CANNON_WORK.angle_now &&
            GmPlayer.KeyCheckJumpKeyPush(gms_GMK_CANNON_WORK.ply_work))
        {
            AppMain.GMS_EFFECT_3DES_WORK gms_EFFECT_3DES_WORK =
                AppMain.GmEfctCmnEsCreate(gms_GMK_CANNON_WORK.ply_work.obj_work, 20);
            gms_EFFECT_3DES_WORK.efct_com.obj_work.dir.z = obj_work.dir.z;
            OBS_OBJECT_WORK obj_work2 = gms_EFFECT_3DES_WORK.efct_com.obj_work;
            obj_work2.pos.x = obj_work2.pos.x + AppMain.mtMathSin((int)obj_work.dir.z) * 32;
            OBS_OBJECT_WORK obj_work3 = gms_EFFECT_3DES_WORK.efct_com.obj_work;
            obj_work3.pos.y = obj_work3.pos.y - AppMain.mtMathCos((int)obj_work.dir.z) * 32;
            AppMain.GmPlySeqInitCannonShoot(gms_GMK_CANNON_WORK.ply_work,
                                            AppMain.mtMathCos((int)(obj_work.dir.z - 16384)) * gms_GMK_CANNON_WORK.cannon_power,
                                            AppMain.mtMathSin((int)(obj_work.dir.z - 16384)) * gms_GMK_CANNON_WORK.cannon_power);
            AppMain.gmGmkCannonFieldColOff(obj_work);
            gms_GMK_CANNON_WORK.gmk_work.ene_com.enemy_flag |= 32768U;
            gms_GMK_CANNON_WORK.shoot_after = 0;
            obj_work.ppFunc = AppMain.gmGmkCannonShoot;
            AppMain.gmGmkCannonShoot(obj_work);
            GmSound.PlaySE("Cannon2");
            AppMain.GMM_PAD_VIB_SMALL();
        }
    }
示例#20
0
    private static void gmGmkCannonReady(AppMain.OBS_OBJECT_WORK obj_work)
    {
        AppMain.GMS_GMK_CANNON_WORK pwork = (AppMain.GMS_GMK_CANNON_WORK)obj_work;
        short angleSet = pwork.angle_set;
        short angleNow = pwork.angle_now;

        if ((int)pwork.angle_set == (int)pwork.angle_now)
        {
            if (((int)AppMain.g_gs_main_sys_info.game_flag & 1) == 0)
            {
                int num1 = (int)((double)AppMain._am_iphone_accel_data.sensor.x * 16384.0) * 3;
                if (num1 > 32768)
                {
                    num1 = 32768;
                }
                else if (num1 < (int)short.MinValue)
                {
                    num1 = (int)short.MinValue;
                }
                int num2 = num1 / 2;
                int num3 = num2 < (int)pwork.angle_now + 2730 ? (pwork.angle_now != (short)13650 || num2 < 16380 ? (num2 > (int)pwork.angle_now - 2730 ? (pwork.angle_now != (short)-13650 || num2 > -16380 ? (int)pwork.angle_now : -16380) : (int)pwork.angle_now - 2730) : 16380) : (int)pwork.angle_now + 2730;
                pwork.angle_set = (short)num3;
            }
            else
            {
                pwork.angle_set += AppMain.gmGmkCannon_GetAngle(pwork.ply_work.key_on);
                if (pwork.angle_set > (short)16380 && (ushort)pwork.angle_set < (ushort)49156)
                {
                    pwork.angle_set = (short)16380;
                }
                if (pwork.angle_set < (short)-16380 && (ushort)pwork.angle_set > (ushort)16380)
                {
                    pwork.angle_set = (short)-16380;
                }
            }
            if ((int)angleSet != (int)pwork.angle_set)
            {
                AppMain.GmSoundPlaySE("Cannon1");
            }
        }
        if ((int)pwork.angle_set != (int)pwork.angle_now)
        {
            AppMain.gmGmkCannon_CannonTurn(pwork);
            obj_work.dir.z = (ushort)pwork.angle_now;
        }
        if ((int)pwork.angle_set != (int)pwork.angle_now || (int)angleNow != (int)pwork.angle_now || !AppMain.GmPlayerKeyCheckJumpKeyPush(pwork.ply_work))
        {
            return;
        }
        AppMain.GMS_EFFECT_3DES_WORK gmsEffect3DesWork = AppMain.GmEfctCmnEsCreate(pwork.ply_work.obj_work, 20);
        gmsEffect3DesWork.efct_com.obj_work.dir.z  = obj_work.dir.z;
        gmsEffect3DesWork.efct_com.obj_work.pos.x += AppMain.mtMathSin((int)obj_work.dir.z) * 32;
        gmsEffect3DesWork.efct_com.obj_work.pos.y -= AppMain.mtMathCos((int)obj_work.dir.z) * 32;
        AppMain.GmPlySeqInitCannonShoot(pwork.ply_work, AppMain.mtMathCos((int)obj_work.dir.z - 16384) * pwork.cannon_power, AppMain.mtMathSin((int)obj_work.dir.z - 16384) * pwork.cannon_power);
        AppMain.gmGmkCannonFieldColOff(obj_work);
        pwork.gmk_work.ene_com.enemy_flag |= 32768U;
        pwork.shoot_after = (short)0;
        obj_work.ppFunc   = new AppMain.MPP_VOID_OBS_OBJECT_WORK(AppMain.gmGmkCannonShoot);
        AppMain.gmGmkCannonShoot(obj_work);
        AppMain.GmSoundPlaySE("Cannon2");
        AppMain.GMM_PAD_VIB_SMALL();
    }