コード例 #1
0
 private static void gmGmkActNeedleFwMain(AppMain.OBS_OBJECT_WORK obj_work)
 {
     AppMain.GMS_ENEMY_3D_WORK   gmsEnemy3DWork   = (AppMain.GMS_ENEMY_3D_WORK)obj_work;
     AppMain.GMS_GMK_NEEDLE_WORK gmsGmkNeedleWork = (AppMain.GMS_GMK_NEEDLE_WORK)gmsEnemy3DWork;
     AppMain.OBS_RECT_WORK       obsRectWork      = gmsEnemy3DWork.ene_com.rect_work[1];
     if (gmsGmkNeedleWork.needle_type == (ushort)4)
     {
         AppMain.OBS_OBJECT_WORK riderObj = gmsEnemy3DWork.ene_com.col_work.obj_col.rider_obj;
         if (riderObj != null && riderObj.ride_obj == (AppMain.OBS_OBJECT_WORK)gmsEnemy3DWork)
         {
             if (riderObj.obj_type == (ushort)1)
             {
                 AppMain.amFlagOff(ref obj_work.flag, 2U);
             }
         }
         else
         {
             AppMain.amFlagOn(ref obj_work.flag, 2U);
         }
     }
     if (gmsGmkNeedleWork.timer >= 60)
     {
         gmsGmkNeedleWork.timer = 0;
         AppMain.gmGmkActNeedleScalingInit(obj_work);
     }
     else
     {
         ++gmsGmkNeedleWork.timer;
     }
     if (((int)gmsGmkNeedleWork.scale_flag & 1) == 0)
     {
         return;
     }
     AppMain.gmGmkActNeedleSetScaleColRect(obj_work);
 }
コード例 #2
0
 // Token: 0x060008C9 RID: 2249 RVA: 0x0004F83C File Offset: 0x0004DA3C
 private static void gmGmkActNeedleFwMain(AppMain.OBS_OBJECT_WORK obj_work)
 {
     AppMain.GMS_ENEMY_3D_WORK   gms_ENEMY_3D_WORK   = (AppMain.GMS_ENEMY_3D_WORK)obj_work;
     AppMain.GMS_GMK_NEEDLE_WORK gms_GMK_NEEDLE_WORK = (AppMain.GMS_GMK_NEEDLE_WORK)gms_ENEMY_3D_WORK;
     AppMain.OBS_RECT_WORK       obs_RECT_WORK       = gms_ENEMY_3D_WORK.ene_com.rect_work[1];
     if (gms_GMK_NEEDLE_WORK.needle_type == 4)
     {
         AppMain.OBS_OBJECT_WORK rider_obj = gms_ENEMY_3D_WORK.ene_com.col_work.obj_col.rider_obj;
         if (rider_obj != null && rider_obj.ride_obj == (AppMain.OBS_OBJECT_WORK)gms_ENEMY_3D_WORK)
         {
             if (rider_obj.obj_type == 1)
             {
                 AppMain.amFlagOff(ref obj_work.flag, 2U);
             }
         }
         else
         {
             AppMain.amFlagOn(ref obj_work.flag, 2U);
         }
     }
     if (gms_GMK_NEEDLE_WORK.timer >= 60)
     {
         gms_GMK_NEEDLE_WORK.timer = 0;
         AppMain.gmGmkActNeedleScalingInit(obj_work);
     }
     else
     {
         gms_GMK_NEEDLE_WORK.timer++;
     }
     if ((gms_GMK_NEEDLE_WORK.scale_flag & 1U) != 0U)
     {
         AppMain.gmGmkActNeedleSetScaleColRect(obj_work);
     }
 }
コード例 #3
0
 // Token: 0x060008CF RID: 2255 RVA: 0x0004FCD0 File Offset: 0x0004DED0
 private static void gmGmkActNeedleSetScaleColRect(AppMain.OBS_OBJECT_WORK obj_work)
 {
     AppMain.GMS_ENEMY_3D_WORK   gms_ENEMY_3D_WORK   = (AppMain.GMS_ENEMY_3D_WORK)obj_work;
     AppMain.GMS_GMK_NEEDLE_WORK gms_GMK_NEEDLE_WORK = (AppMain.GMS_GMK_NEEDLE_WORK)gms_ENEMY_3D_WORK;
     gms_GMK_NEEDLE_WORK.scale_timer++;
     if ((gms_GMK_NEEDLE_WORK.scale_flag & 4U) != 0U)
     {
         int num = (int)(gms_ENEMY_3D_WORK.ene_com.col_work.obj_col.height - 3);
         if (num < 0)
         {
             num = 0;
             gms_GMK_NEEDLE_WORK.scale_timer = 0;
             gms_GMK_NEEDLE_WORK.scale_flag &= 4294967294U;
             gms_GMK_NEEDLE_WORK.scale_flag &= 4294967291U;
         }
         gms_ENEMY_3D_WORK.ene_com.col_work.obj_col.height = ( ushort )num;
         gms_ENEMY_3D_WORK.ene_com.col_work.obj_col.ofst_y = ( short )(-1 * ( int )gms_ENEMY_3D_WORK.ene_com.col_work.obj_col.height);
         return;
     }
     if ((gms_GMK_NEEDLE_WORK.scale_flag & 2U) != 0U)
     {
         int num = (int)(gms_ENEMY_3D_WORK.ene_com.col_work.obj_col.height + 4);
         if (num > 32)
         {
             num = 32;
             gms_GMK_NEEDLE_WORK.scale_timer = 0;
             gms_GMK_NEEDLE_WORK.scale_flag &= 4294967294U;
             gms_GMK_NEEDLE_WORK.scale_flag &= 4294967293U;
         }
         gms_ENEMY_3D_WORK.ene_com.col_work.obj_col.height = ( ushort )num;
         gms_ENEMY_3D_WORK.ene_com.col_work.obj_col.ofst_y = ( short )(-1 * ( int )gms_ENEMY_3D_WORK.ene_com.col_work.obj_col.height);
     }
 }
コード例 #4
0
 private static AppMain.OBS_OBJECT_WORK GmGmkNeedleInit(
     AppMain.GMS_EVE_RECORD_EVENT eve_rec,
     int pos_x,
     int pos_y,
     byte type)
 {
     AppMain.OBS_OBJECT_WORK     work             = AppMain.GMM_ENEMY_CREATE_WORK(eve_rec, pos_x, pos_y, (AppMain.TaskWorkFactoryDelegate)(() => (object)new AppMain.GMS_GMK_NEEDLE_WORK()), "GMK_NEEDLE_MAIN");
     AppMain.GMS_ENEMY_3D_WORK   gmsEnemy3DWork   = (AppMain.GMS_ENEMY_3D_WORK)work;
     AppMain.GMS_GMK_NEEDLE_WORK gmsGmkNeedleWork = (AppMain.GMS_GMK_NEEDLE_WORK)gmsEnemy3DWork;
     gmsGmkNeedleWork.needle_type = AppMain.GmGmkNeedleGetType(eve_rec.id);
     AppMain.ObjObjectCopyAction3dNNModel(work, AppMain.gm_gmk_needle_obj_3d_list[0], gmsEnemy3DWork.obj_3d);
     work.ppOut = new AppMain.MPP_VOID_OBS_OBJECT_WORK(AppMain.gmGmkNeedleDrawFunc);
     gmsEnemy3DWork.ene_com.col_work.obj_col.obj    = work;
     gmsEnemy3DWork.ene_com.col_work.obj_col.width  = (ushort)AppMain.gm_gmk_col_rect_tbl[(int)gmsGmkNeedleWork.needle_type][0];
     gmsEnemy3DWork.ene_com.col_work.obj_col.height = (ushort)AppMain.gm_gmk_col_rect_tbl[(int)gmsGmkNeedleWork.needle_type][1];
     gmsEnemy3DWork.ene_com.col_work.obj_col.ofst_x = (short)AppMain.gm_gmk_col_rect_tbl[(int)gmsGmkNeedleWork.needle_type][2];
     gmsEnemy3DWork.ene_com.col_work.obj_col.ofst_y = (short)AppMain.gm_gmk_col_rect_tbl[(int)gmsGmkNeedleWork.needle_type][3];
     gmsEnemy3DWork.ene_com.col_work.obj_col.dir    = (ushort)(16384U * (uint)gmsGmkNeedleWork.needle_type);
     work.pos.z = -4096;
     AppMain.OBS_RECT_WORK pRec = gmsEnemy3DWork.ene_com.rect_work[1];
     AppMain.ObjRectWorkZSet(pRec, (short)AppMain.gm_gmk_atk_rect_tbl[(int)gmsGmkNeedleWork.needle_type][0], (short)AppMain.gm_gmk_atk_rect_tbl[(int)gmsGmkNeedleWork.needle_type][1], (short)-500, (short)AppMain.gm_gmk_atk_rect_tbl[(int)gmsGmkNeedleWork.needle_type][2], (short)AppMain.gm_gmk_atk_rect_tbl[(int)gmsGmkNeedleWork.needle_type][3], (short)500);
     if (AppMain.g_gs_main_sys_info.stage_id == (ushort)9)
     {
         if (gmsGmkNeedleWork.needle_type == (ushort)1)
         {
             pRec.rect.left -= (short)16;
         }
         else if (gmsGmkNeedleWork.needle_type == (ushort)3)
         {
             pRec.rect.right += (short)16;
         }
     }
     pRec.flag |= 4U;
     pRec.flag |= 1024U;
     if (AppMain.g_gs_main_sys_info.stage_id == (ushort)14)
     {
         AppMain.ObjDrawObjectActionSet(work, 0);
         work.obj_3d.use_light_flag &= 4294967294U;
         work.obj_3d.use_light_flag |= 4U;
     }
     work.move_flag        |= 8449U;
     work.disp_flag        |= 4194304U;
     gmsGmkNeedleWork.state = 0U;
     AppMain.gmGmkNeedleFwInit(work);
     work.flag |= 1073741824U;
     gmsGmkNeedleWork.color = uint.MaxValue;
     if (AppMain.g_gs_main_sys_info.stage_id == (ushort)2 || AppMain.g_gs_main_sys_info.stage_id == (ushort)3)
     {
         gmsGmkNeedleWork.color = 4288717055U;
     }
     else if (AppMain.g_gs_main_sys_info.stage_id == (ushort)14)
     {
         gmsGmkNeedleWork.color = 2694881535U;
     }
     return(work);
 }
コード例 #5
0
    // Token: 0x060008C0 RID: 2240 RVA: 0x0004F090 File Offset: 0x0004D290
    private static OBS_OBJECT_WORK GmGmkNeedleInit(AppMain.GMS_EVE_RECORD_EVENT eve_rec, int pos_x, int pos_y, byte type)
    {
        OBS_OBJECT_WORK obs_OBJECT_WORK = AppMain.GMM_ENEMY_CREATE_WORK(eve_rec, pos_x, pos_y, () => new AppMain.GMS_GMK_NEEDLE_WORK(), "GMK_NEEDLE_MAIN");

        AppMain.GMS_ENEMY_3D_WORK   gms_ENEMY_3D_WORK   = (AppMain.GMS_ENEMY_3D_WORK)obs_OBJECT_WORK;
        AppMain.GMS_GMK_NEEDLE_WORK gms_GMK_NEEDLE_WORK = (AppMain.GMS_GMK_NEEDLE_WORK)gms_ENEMY_3D_WORK;
        gms_GMK_NEEDLE_WORK.needle_type = AppMain.GmGmkNeedleGetType(eve_rec.id);
        AppMain.ObjObjectCopyAction3dNNModel(obs_OBJECT_WORK, AppMain.gm_gmk_needle_obj_3d_list[0], gms_ENEMY_3D_WORK.obj_3d);
        obs_OBJECT_WORK.ppOut = AppMain.gmGmkNeedleDrawFunc;
        gms_ENEMY_3D_WORK.ene_com.col_work.obj_col.obj    = obs_OBJECT_WORK;
        gms_ENEMY_3D_WORK.ene_com.col_work.obj_col.width  = ( ushort )AppMain.gm_gmk_col_rect_tbl[( int )gms_GMK_NEEDLE_WORK.needle_type][0];
        gms_ENEMY_3D_WORK.ene_com.col_work.obj_col.height = ( ushort )AppMain.gm_gmk_col_rect_tbl[( int )gms_GMK_NEEDLE_WORK.needle_type][1];
        gms_ENEMY_3D_WORK.ene_com.col_work.obj_col.ofst_x = ( short )AppMain.gm_gmk_col_rect_tbl[( int )gms_GMK_NEEDLE_WORK.needle_type][2];
        gms_ENEMY_3D_WORK.ene_com.col_work.obj_col.ofst_y = ( short )AppMain.gm_gmk_col_rect_tbl[( int )gms_GMK_NEEDLE_WORK.needle_type][3];
        gms_ENEMY_3D_WORK.ene_com.col_work.obj_col.dir    = ( ushort )(16384 * gms_GMK_NEEDLE_WORK.needle_type);
        obs_OBJECT_WORK.pos.z = -4096;
        AppMain.OBS_RECT_WORK obs_RECT_WORK = gms_ENEMY_3D_WORK.ene_com.rect_work[1];
        AppMain.ObjRectWorkZSet(obs_RECT_WORK, ( short )AppMain.gm_gmk_atk_rect_tbl[( int )gms_GMK_NEEDLE_WORK.needle_type][0], ( short )AppMain.gm_gmk_atk_rect_tbl[( int )gms_GMK_NEEDLE_WORK.needle_type][1], -500, ( short )AppMain.gm_gmk_atk_rect_tbl[( int )gms_GMK_NEEDLE_WORK.needle_type][2], ( short )AppMain.gm_gmk_atk_rect_tbl[( int )gms_GMK_NEEDLE_WORK.needle_type][3], 500);
        if (AppMain.g_gs_main_sys_info.stage_id == 9)
        {
            if (gms_GMK_NEEDLE_WORK.needle_type == 1)
            {
                AppMain.OBS_RECT rect = obs_RECT_WORK.rect;
                rect.left -= 16;
            }
            else if (gms_GMK_NEEDLE_WORK.needle_type == 3)
            {
                AppMain.OBS_RECT rect2 = obs_RECT_WORK.rect;
                rect2.right += 16;
            }
        }
        obs_RECT_WORK.flag |= 4U;
        obs_RECT_WORK.flag |= 1024U;
        if (AppMain.g_gs_main_sys_info.stage_id == 14)
        {
            AppMain.ObjDrawObjectActionSet(obs_OBJECT_WORK, 0);
            obs_OBJECT_WORK.obj_3d.use_light_flag &= 4294967294U;
            obs_OBJECT_WORK.obj_3d.use_light_flag |= 4U;
        }
        obs_OBJECT_WORK.move_flag |= 8449U;
        obs_OBJECT_WORK.disp_flag |= 4194304U;
        gms_GMK_NEEDLE_WORK.state  = 0U;
        AppMain.gmGmkNeedleFwInit(obs_OBJECT_WORK);
        obs_OBJECT_WORK.flag     |= 1073741824U;
        gms_GMK_NEEDLE_WORK.color = uint.MaxValue;
        if (AppMain.g_gs_main_sys_info.stage_id == 2 || AppMain.g_gs_main_sys_info.stage_id == 3)
        {
            gms_GMK_NEEDLE_WORK.color = 4288717055U;
        }
        else if (AppMain.g_gs_main_sys_info.stage_id == 14)
        {
            gms_GMK_NEEDLE_WORK.color = 2694881535U;
        }
        return(obs_OBJECT_WORK);
    }
コード例 #6
0
 private static void gmGmkActNeedleScalingMain(AppMain.OBS_OBJECT_WORK obj_work)
 {
     AppMain.GMS_ENEMY_3D_WORK   gmsEnemy3DWork   = (AppMain.GMS_ENEMY_3D_WORK)obj_work;
     AppMain.GMS_GMK_NEEDLE_WORK gmsGmkNeedleWork = (AppMain.GMS_GMK_NEEDLE_WORK)gmsEnemy3DWork;
     if (gmsGmkNeedleWork.timer >= 6)
     {
         gmsGmkNeedleWork.timer = 0;
         AppMain.gmGmkActNeedleRectWaitInit(obj_work);
     }
     else
     {
         AppMain.amFlagOn(ref obj_work.flag, 2U);
         if (gmsGmkNeedleWork.state == 0U)
         {
             obj_work.scale.y += 682;
         }
         else
         {
             obj_work.scale.y -= 682;
         }
         if (obj_work.scale.y > 4096)
         {
             obj_work.scale.y = 4096;
         }
         else if (obj_work.scale.y <= 0)
         {
             obj_work.scale.y = 0;
         }
         AppMain.amFlagOff(ref gmsEnemy3DWork.ene_com.col_work.obj_col.flag, 256U);
         obj_work.scale.y = AppMain.MTM_MATH_CLIP(obj_work.scale.y, 0, 4096);
         if (((int)gmsGmkNeedleWork.scale_flag & 1) != 0)
         {
             AppMain.gmGmkActNeedleSetScaleColRect(obj_work);
         }
         if (gmsGmkNeedleWork.needle_type == (ushort)4)
         {
             AppMain.OBS_OBJECT_WORK riderObj = gmsEnemy3DWork.ene_com.col_work.obj_col.rider_obj;
             if (riderObj != null && riderObj.ride_obj == (AppMain.OBS_OBJECT_WORK)gmsEnemy3DWork)
             {
                 if (riderObj.obj_type == (ushort)1)
                 {
                     AppMain.amFlagOff(ref obj_work.flag, 2U);
                 }
             }
             else
             {
                 AppMain.amFlagOn(ref obj_work.flag, 2U);
             }
         }
         ++gmsGmkNeedleWork.timer;
     }
 }
コード例 #7
0
 // Token: 0x060008CB RID: 2251 RVA: 0x0004FA74 File Offset: 0x0004DC74
 private static void gmGmkActNeedleScalingMain(AppMain.OBS_OBJECT_WORK obj_work)
 {
     AppMain.GMS_ENEMY_3D_WORK   gms_ENEMY_3D_WORK   = (AppMain.GMS_ENEMY_3D_WORK)obj_work;
     AppMain.GMS_GMK_NEEDLE_WORK gms_GMK_NEEDLE_WORK = (AppMain.GMS_GMK_NEEDLE_WORK)gms_ENEMY_3D_WORK;
     if (gms_GMK_NEEDLE_WORK.timer >= 6)
     {
         gms_GMK_NEEDLE_WORK.timer = 0;
         AppMain.gmGmkActNeedleRectWaitInit(obj_work);
         return;
     }
     AppMain.amFlagOn(ref obj_work.flag, 2U);
     if (gms_GMK_NEEDLE_WORK.state == 0U)
     {
         obj_work.scale.y = obj_work.scale.y + 682;
     }
     else
     {
         obj_work.scale.y = obj_work.scale.y - 682;
     }
     if (obj_work.scale.y > 4096)
     {
         obj_work.scale.y = 4096;
     }
     else if (obj_work.scale.y <= 0)
     {
         obj_work.scale.y = 0;
     }
     AppMain.amFlagOff(ref gms_ENEMY_3D_WORK.ene_com.col_work.obj_col.flag, 256U);
     obj_work.scale.y = AppMain.MTM_MATH_CLIP(obj_work.scale.y, 0, 4096);
     if ((gms_GMK_NEEDLE_WORK.scale_flag & 1U) != 0U)
     {
         AppMain.gmGmkActNeedleSetScaleColRect(obj_work);
     }
     if (gms_GMK_NEEDLE_WORK.needle_type == 4)
     {
         AppMain.OBS_OBJECT_WORK rider_obj = gms_ENEMY_3D_WORK.ene_com.col_work.obj_col.rider_obj;
         if (rider_obj != null && rider_obj.ride_obj == (AppMain.OBS_OBJECT_WORK)gms_ENEMY_3D_WORK)
         {
             if (rider_obj.obj_type == 1)
             {
                 AppMain.amFlagOff(ref obj_work.flag, 2U);
             }
         }
         else
         {
             AppMain.amFlagOn(ref obj_work.flag, 2U);
         }
     }
     gms_GMK_NEEDLE_WORK.timer++;
 }
コード例 #8
0
 // Token: 0x060008C8 RID: 2248 RVA: 0x0004F7D8 File Offset: 0x0004D9D8
 private static void gmGmkActNeedleFwInit(AppMain.OBS_OBJECT_WORK obj_work)
 {
     AppMain.GMS_ENEMY_3D_WORK   gms_ENEMY_3D_WORK   = (AppMain.GMS_ENEMY_3D_WORK)obj_work;
     AppMain.GMS_GMK_NEEDLE_WORK gms_GMK_NEEDLE_WORK = (AppMain.GMS_GMK_NEEDLE_WORK)gms_ENEMY_3D_WORK;
     if (gms_GMK_NEEDLE_WORK.state == 0U)
     {
         AppMain.amFlagOff(ref gms_ENEMY_3D_WORK.ene_com.col_work.obj_col.flag, 256U);
     }
     else
     {
         AppMain.amFlagOn(ref obj_work.flag, 2U);
     }
     obj_work.ppFunc = new AppMain.MPP_VOID_OBS_OBJECT_WORK(AppMain.gmGmkActNeedleFwMain);
 }
コード例 #9
0
 // Token: 0x060008CA RID: 2250 RVA: 0x0004F8F0 File Offset: 0x0004DAF0
 private static void gmGmkActNeedleScalingInit(AppMain.OBS_OBJECT_WORK obj_work)
 {
     AppMain.GMS_ENEMY_3D_WORK   gms_ENEMY_3D_WORK   = (AppMain.GMS_ENEMY_3D_WORK)obj_work;
     AppMain.GMS_GMK_NEEDLE_WORK gms_GMK_NEEDLE_WORK = (AppMain.GMS_GMK_NEEDLE_WORK)gms_ENEMY_3D_WORK;
     if (gms_GMK_NEEDLE_WORK.state == 1U)
     {
         AppMain.amFlagOn(ref obj_work.flag, 2U);
         AppMain.amFlagOn(ref gms_ENEMY_3D_WORK.ene_com.col_work.obj_col.flag, 256U);
         gms_GMK_NEEDLE_WORK.scale_flag |= 1U;
         gms_GMK_NEEDLE_WORK.scale_flag |= 4U;
     }
     else if (gms_GMK_NEEDLE_WORK.is_first_disp == 0)
     {
         obj_work.scale.y = 256;
         gms_GMK_NEEDLE_WORK.scale_flag |= 1U;
         gms_GMK_NEEDLE_WORK.scale_flag |= 2U;
     }
     else
     {
         gms_GMK_NEEDLE_WORK.scale_flag |= 1U;
         gms_GMK_NEEDLE_WORK.scale_flag |= 4U;
     }
     if (gms_GMK_NEEDLE_WORK.is_first_disp != 0)
     {
         AppMain.amFlagOn(ref obj_work.flag, 2U);
         AppMain.amFlagOn(ref gms_ENEMY_3D_WORK.ene_com.col_work.obj_col.flag, 256U);
         gms_GMK_NEEDLE_WORK.state         = 1U;
         gms_GMK_NEEDLE_WORK.is_first_disp = 0;
     }
     AppMain.amFlagOff(ref gms_ENEMY_3D_WORK.ene_com.col_work.obj_col.flag, 256U);
     if (gms_GMK_NEEDLE_WORK.needle_type == 4)
     {
         AppMain.OBS_OBJECT_WORK rider_obj = gms_ENEMY_3D_WORK.ene_com.col_work.obj_col.rider_obj;
         if (rider_obj != null && rider_obj.ride_obj == (AppMain.OBS_OBJECT_WORK)gms_ENEMY_3D_WORK)
         {
             if (rider_obj.obj_type == 1)
             {
                 AppMain.amFlagOff(ref obj_work.flag, 2U);
             }
         }
         else
         {
             AppMain.amFlagOn(ref obj_work.flag, 2U);
         }
     }
     obj_work.ppFunc = new AppMain.MPP_VOID_OBS_OBJECT_WORK(AppMain.gmGmkActNeedleScalingMain);
 }
コード例 #10
0
    // Token: 0x060008C1 RID: 2241 RVA: 0x0004F37C File Offset: 0x0004D57C
    private static OBS_OBJECT_WORK GmGmkActNeedleInit(AppMain.GMS_EVE_RECORD_EVENT eve_rec, int pos_x, int pos_y, byte type)
    {
        OBS_OBJECT_WORK obs_OBJECT_WORK = AppMain.GMM_ENEMY_CREATE_WORK(eve_rec, pos_x, pos_y, () => new AppMain.GMS_GMK_NEEDLE_WORK(), "GMK_NEEDLE_ACT_MAIN");

        AppMain.GMS_ENEMY_3D_WORK   gms_ENEMY_3D_WORK   = (AppMain.GMS_ENEMY_3D_WORK)obs_OBJECT_WORK;
        AppMain.GMS_GMK_NEEDLE_WORK gms_GMK_NEEDLE_WORK = (AppMain.GMS_GMK_NEEDLE_WORK)gms_ENEMY_3D_WORK;
        gms_GMK_NEEDLE_WORK.needle_type = AppMain.GmGmkNeedleGetType(eve_rec.id);
        AppMain.ObjObjectCopyAction3dNNModel(obs_OBJECT_WORK, AppMain.gm_gmk_needle_obj_3d_list[0], gms_ENEMY_3D_WORK.obj_3d);
        obs_OBJECT_WORK.ppOut = AppMain.gmGmkNeedleDrawFunc;
        gms_ENEMY_3D_WORK.ene_com.col_work.obj_col.obj    = obs_OBJECT_WORK;
        gms_ENEMY_3D_WORK.ene_com.col_work.obj_col.width  = ( ushort )AppMain.gm_gmk_col_rect_tbl[( int )gms_GMK_NEEDLE_WORK.needle_type][0];
        gms_ENEMY_3D_WORK.ene_com.col_work.obj_col.height = ( ushort )AppMain.gm_gmk_col_rect_tbl[( int )gms_GMK_NEEDLE_WORK.needle_type][1];
        gms_ENEMY_3D_WORK.ene_com.col_work.obj_col.ofst_x = ( short )AppMain.gm_gmk_col_rect_tbl[( int )gms_GMK_NEEDLE_WORK.needle_type][2];
        gms_ENEMY_3D_WORK.ene_com.col_work.obj_col.ofst_y = ( short )AppMain.gm_gmk_col_rect_tbl[( int )gms_GMK_NEEDLE_WORK.needle_type][3];
        gms_ENEMY_3D_WORK.ene_com.col_work.obj_col.dir    = ( ushort )(32768 * (gms_GMK_NEEDLE_WORK.needle_type - 4));
        obs_OBJECT_WORK.pos.z = -4096;
        AppMain.OBS_RECT_WORK obs_RECT_WORK = gms_ENEMY_3D_WORK.ene_com.rect_work[1];
        AppMain.ObjRectWorkZSet(obs_RECT_WORK, ( short )AppMain.gm_gmk_atk_rect_tbl[( int )gms_GMK_NEEDLE_WORK.needle_type][0], ( short )AppMain.gm_gmk_atk_rect_tbl[( int )gms_GMK_NEEDLE_WORK.needle_type][1], -500, ( short )AppMain.gm_gmk_atk_rect_tbl[( int )gms_GMK_NEEDLE_WORK.needle_type][2], ( short )AppMain.gm_gmk_atk_rect_tbl[( int )gms_GMK_NEEDLE_WORK.needle_type][3], 500);
        obs_RECT_WORK.flag                   |= 4U;
        obs_RECT_WORK.flag                   |= 1024U;
        obs_OBJECT_WORK.move_flag            |= 8449U;
        obs_OBJECT_WORK.disp_flag            |= 4194304U;
        gms_ENEMY_3D_WORK.ene_com.enemy_flag |= 16384U;
        obs_OBJECT_WORK.scale.y               = 4096;
        AppMain.amFlagOn(ref obs_OBJECT_WORK.flag, 2U);
        AppMain.amFlagOff(ref gms_ENEMY_3D_WORK.ene_com.col_work.obj_col.flag, 256U);
        gms_GMK_NEEDLE_WORK.state         = 0U;
        gms_GMK_NEEDLE_WORK.is_first_disp = 1;
        gms_GMK_NEEDLE_WORK.timer         = -30;
        obs_OBJECT_WORK.ppFunc            = AppMain.gmGmkActNeedleFwMain;
        if (AppMain.g_gs_main_sys_info.stage_id == 14)
        {
            AppMain.ObjDrawObjectActionSet(obs_OBJECT_WORK, 0);
            obs_OBJECT_WORK.obj_3d.use_light_flag &= 4294967294U;
            obs_OBJECT_WORK.obj_3d.use_light_flag |= 4U;
        }
        gms_GMK_NEEDLE_WORK.color = uint.MaxValue;
        if (AppMain.g_gs_main_sys_info.stage_id == 2 || AppMain.g_gs_main_sys_info.stage_id == 3)
        {
            gms_GMK_NEEDLE_WORK.color = 4288717055U;
        }
        else if (AppMain.g_gs_main_sys_info.stage_id == 14)
        {
            gms_GMK_NEEDLE_WORK.color = 2694881535U;
        }
        return(obs_OBJECT_WORK);
    }
コード例 #11
0
 // Token: 0x060008CD RID: 2253 RVA: 0x0004FC14 File Offset: 0x0004DE14
 private static void gmGmkActNeedleRectWaitMain(AppMain.OBS_OBJECT_WORK obj_work)
 {
     AppMain.GMS_ENEMY_3D_WORK   gms_ENEMY_3D_WORK   = (AppMain.GMS_ENEMY_3D_WORK)obj_work;
     AppMain.GMS_GMK_NEEDLE_WORK gms_GMK_NEEDLE_WORK = (AppMain.GMS_GMK_NEEDLE_WORK)gms_ENEMY_3D_WORK;
     AppMain.OBS_RECT_WORK       obs_RECT_WORK       = gms_ENEMY_3D_WORK.ene_com.rect_work[1];
     AppMain.amFlagOff(ref gms_ENEMY_3D_WORK.ene_com.col_work.obj_col.flag, 256U);
     AppMain.gmGmkActNeedleFwInit(obj_work);
     gms_GMK_NEEDLE_WORK.state ^= 1U;
     if (gms_GMK_NEEDLE_WORK.state == 1U)
     {
         AppMain.GmSoundPlaySE("Spine");
     }
     if ((gms_GMK_NEEDLE_WORK.scale_flag & 1U) != 0U)
     {
         AppMain.gmGmkActNeedleSetScaleColRect(obj_work);
     }
 }
コード例 #12
0
 private static void gmGmkActNeedleRectWaitMain(AppMain.OBS_OBJECT_WORK obj_work)
 {
     AppMain.GMS_ENEMY_3D_WORK   gmsEnemy3DWork   = (AppMain.GMS_ENEMY_3D_WORK)obj_work;
     AppMain.GMS_GMK_NEEDLE_WORK gmsGmkNeedleWork = (AppMain.GMS_GMK_NEEDLE_WORK)gmsEnemy3DWork;
     AppMain.OBS_RECT_WORK       obsRectWork      = gmsEnemy3DWork.ene_com.rect_work[1];
     AppMain.amFlagOff(ref gmsEnemy3DWork.ene_com.col_work.obj_col.flag, 256U);
     AppMain.gmGmkActNeedleFwInit(obj_work);
     gmsGmkNeedleWork.state ^= 1U;
     if (gmsGmkNeedleWork.state == 1U)
     {
         AppMain.GmSoundPlaySE("Spine");
     }
     if (((int)gmsGmkNeedleWork.scale_flag & 1) == 0)
     {
         return;
     }
     AppMain.gmGmkActNeedleSetScaleColRect(obj_work);
 }
コード例 #13
0
 // Token: 0x060008C7 RID: 2247 RVA: 0x0004F758 File Offset: 0x0004D958
 private static void gmGmkNeedleFwMain(AppMain.OBS_OBJECT_WORK obj_work)
 {
     AppMain.GMS_ENEMY_3D_WORK   gms_ENEMY_3D_WORK   = (AppMain.GMS_ENEMY_3D_WORK)obj_work;
     AppMain.GMS_GMK_NEEDLE_WORK gms_GMK_NEEDLE_WORK = (AppMain.GMS_GMK_NEEDLE_WORK)gms_ENEMY_3D_WORK;
     AppMain.OBS_RECT_WORK       obs_RECT_WORK       = gms_ENEMY_3D_WORK.ene_com.rect_work[1];
     if (gms_GMK_NEEDLE_WORK.needle_type == 0)
     {
         AppMain.OBS_OBJECT_WORK rider_obj = gms_ENEMY_3D_WORK.ene_com.col_work.obj_col.rider_obj;
         if (rider_obj != null && rider_obj.ride_obj == (AppMain.OBS_OBJECT_WORK)gms_ENEMY_3D_WORK)
         {
             if (rider_obj.obj_type == 1)
             {
                 obs_RECT_WORK.flag |= 4U;
                 return;
             }
         }
         else
         {
             obs_RECT_WORK.flag &= 4294967291U;
         }
     }
 }
コード例 #14
0
 private static void gmGmkNeedleFwMain(AppMain.OBS_OBJECT_WORK obj_work)
 {
     AppMain.GMS_ENEMY_3D_WORK   gmsEnemy3DWork   = (AppMain.GMS_ENEMY_3D_WORK)obj_work;
     AppMain.GMS_GMK_NEEDLE_WORK gmsGmkNeedleWork = (AppMain.GMS_GMK_NEEDLE_WORK)gmsEnemy3DWork;
     AppMain.OBS_RECT_WORK       obsRectWork      = gmsEnemy3DWork.ene_com.rect_work[1];
     if (gmsGmkNeedleWork.needle_type != (ushort)0)
     {
         return;
     }
     AppMain.OBS_OBJECT_WORK riderObj = gmsEnemy3DWork.ene_com.col_work.obj_col.rider_obj;
     if (riderObj != null && riderObj.ride_obj == (AppMain.OBS_OBJECT_WORK)gmsEnemy3DWork)
     {
         if (riderObj.obj_type != (ushort)1)
         {
             return;
         }
         obsRectWork.flag |= 4U;
     }
     else
     {
         obsRectWork.flag &= 4294967291U;
     }
 }
コード例 #15
0
 private static void gmGmkActNeedleSetScaleColRect(AppMain.OBS_OBJECT_WORK obj_work)
 {
     AppMain.GMS_ENEMY_3D_WORK   gmsEnemy3DWork   = (AppMain.GMS_ENEMY_3D_WORK)obj_work;
     AppMain.GMS_GMK_NEEDLE_WORK gmsGmkNeedleWork = (AppMain.GMS_GMK_NEEDLE_WORK)gmsEnemy3DWork;
     ++gmsGmkNeedleWork.scale_timer;
     if (((int)gmsGmkNeedleWork.scale_flag & 4) != 0)
     {
         int num = (int)gmsEnemy3DWork.ene_com.col_work.obj_col.height - 3;
         if (num < 0)
         {
             num = 0;
             gmsGmkNeedleWork.scale_timer = 0;
             gmsGmkNeedleWork.scale_flag &= 4294967294U;
             gmsGmkNeedleWork.scale_flag &= 4294967291U;
         }
         gmsEnemy3DWork.ene_com.col_work.obj_col.height = (ushort)num;
         gmsEnemy3DWork.ene_com.col_work.obj_col.ofst_y = (short)(-1 * (int)gmsEnemy3DWork.ene_com.col_work.obj_col.height);
     }
     else
     {
         if (((int)gmsGmkNeedleWork.scale_flag & 2) == 0)
         {
             return;
         }
         int num = (int)gmsEnemy3DWork.ene_com.col_work.obj_col.height + 4;
         if (num > 32)
         {
             num = 32;
             gmsGmkNeedleWork.scale_timer = 0;
             gmsGmkNeedleWork.scale_flag &= 4294967294U;
             gmsGmkNeedleWork.scale_flag &= 4294967293U;
         }
         gmsEnemy3DWork.ene_com.col_work.obj_col.height = (ushort)num;
         gmsEnemy3DWork.ene_com.col_work.obj_col.ofst_y = (short)(-1 * (int)gmsEnemy3DWork.ene_com.col_work.obj_col.height);
     }
 }
コード例 #16
0
 private static void gmGmkActNeedleRectWaitInit(AppMain.OBS_OBJECT_WORK obj_work)
 {
     AppMain.GMS_GMK_NEEDLE_WORK gmsGmkNeedleWork = (AppMain.GMS_GMK_NEEDLE_WORK)(AppMain.GMS_ENEMY_3D_WORK) obj_work;
     obj_work.ppFunc = new AppMain.MPP_VOID_OBS_OBJECT_WORK(AppMain.gmGmkActNeedleRectWaitMain);
 }
コード例 #17
0
    // Token: 0x060008D0 RID: 2256 RVA: 0x0004FE28 File Offset: 0x0004E028
    private static void gmGmkNeedleDrawFunc(AppMain.OBS_OBJECT_WORK obj_work)
    {
        if (!AppMain.GmMainIsDrawEnable())
        {
            return;
        }
        AppMain.GMS_ENEMY_3D_WORK   work = (AppMain.GMS_ENEMY_3D_WORK)obj_work;
        AppMain.GMS_GMK_NEEDLE_WORK gms_GMK_NEEDLE_WORK = (AppMain.GMS_GMK_NEEDLE_WORK)work;
        if ((obj_work.disp_flag & 32U) != 0U)
        {
            return;
        }
        AppMain.VecFx32         vecFx           = default(AppMain.VecFx32);
        AppMain.VecFx32         vecFx2          = new AppMain.VecFx32(4096, 4096, 4096);
        AppMain.NNS_TEXLIST     texlist         = obj_work.obj_3d.texlist;
        AppMain.GMS_TVX_EX_WORK gms_TVX_EX_WORK = default(AppMain.GMS_TVX_EX_WORK);
        short num = (short)(-49152 * (int)gms_GMK_NEEDLE_WORK.needle_type);

        if (gms_GMK_NEEDLE_WORK.needle_type == 5)
        {
            num = short.MinValue;
        }
        obj_work.dir.z          = ( ushort )(-( ushort )num);
        gms_TVX_EX_WORK.u_wrap  = 1;
        gms_TVX_EX_WORK.v_wrap  = 1;
        gms_TVX_EX_WORK.coord.u = 0f;
        gms_TVX_EX_WORK.coord.v = 0f;
        gms_TVX_EX_WORK.color   = gms_GMK_NEEDLE_WORK.color;
        for (int i = 0; i < 5; i++)
        {
            vecFx.z = obj_work.pos.z;
            if (i >= 3)
            {
                vecFx.z -= 8192;
            }
            switch (gms_GMK_NEEDLE_WORK.needle_type)
            {
            case 0:
            case 4:
                vecFx.x = obj_work.pos.x + AppMain.gm_gmk_disp_ofst_tbl_u[i][0];
                vecFx.y = obj_work.pos.y + AppMain.gm_gmk_disp_ofst_tbl_u[i][1];
                break;

            case 1:
            case 5:
                vecFx.x = obj_work.pos.x + AppMain.gm_gmk_disp_ofst_tbl_l[i][0];
                vecFx.y = obj_work.pos.y + AppMain.gm_gmk_disp_ofst_tbl_l[i][1];
                break;

            case 2:
                vecFx.x = obj_work.pos.x + AppMain.gm_gmk_disp_ofst_tbl_d[i][0];
                vecFx.y = obj_work.pos.y + AppMain.gm_gmk_disp_ofst_tbl_d[i][1];
                break;

            case 3:
                vecFx.x = obj_work.pos.x + AppMain.gm_gmk_disp_ofst_tbl_r[i][0];
                vecFx.y = obj_work.pos.y + AppMain.gm_gmk_disp_ofst_tbl_r[i][1];
                break;
            }
            AppMain.GmTvxSetModelEx(AppMain.tvx_needle, texlist, ref vecFx, ref obj_work.scale, AppMain.GMD_TVX_DISP_ROTATE | AppMain.GMD_TVX_DISP_SCALE | AppMain.GMD_TVX_DISP_LIGHT_DISABLE, num, ref gms_TVX_EX_WORK);
            AppMain.GmTvxSetModel(AppMain.tvx_stand, texlist, ref vecFx, ref vecFx2, AppMain.GMD_TVX_DISP_ROTATE | AppMain.GMD_TVX_DISP_SCALE, num);
        }
    }
コード例 #18
0
    private static void gmGmkNeedleDrawFunc(AppMain.OBS_OBJECT_WORK obj_work)
    {
        if (!AppMain.GmMainIsDrawEnable())
        {
            return;
        }
        AppMain.GMS_GMK_NEEDLE_WORK gmsGmkNeedleWork = (AppMain.GMS_GMK_NEEDLE_WORK)(AppMain.GMS_ENEMY_3D_WORK) obj_work;
        if (((int)obj_work.disp_flag & 32) != 0)
        {
            return;
        }
        AppMain.VecFx32         pos     = new AppMain.VecFx32();
        AppMain.VecFx32         scale   = new AppMain.VecFx32(4096, 4096, 4096);
        AppMain.NNS_TEXLIST     texlist = obj_work.obj_3d.texlist;
        AppMain.GMS_TVX_EX_WORK ex_work = new AppMain.GMS_TVX_EX_WORK();
        short rotate_z = (short)(-49152 * (int)gmsGmkNeedleWork.needle_type);

        if (gmsGmkNeedleWork.needle_type == (ushort)5)
        {
            rotate_z = short.MinValue;
        }
        obj_work.dir.z  = (ushort)-rotate_z;
        ex_work.u_wrap  = 1;
        ex_work.v_wrap  = 1;
        ex_work.coord.u = 0.0f;
        ex_work.coord.v = 0.0f;
        ex_work.color   = gmsGmkNeedleWork.color;
        for (int index = 0; index < 5; ++index)
        {
            pos.z = obj_work.pos.z;
            if (index >= 3)
            {
                pos.z -= 8192;
            }
            switch (gmsGmkNeedleWork.needle_type)
            {
            case 0:
            case 4:
                pos.x = obj_work.pos.x + AppMain.gm_gmk_disp_ofst_tbl_u[index][0];
                pos.y = obj_work.pos.y + AppMain.gm_gmk_disp_ofst_tbl_u[index][1];
                break;

            case 1:
            case 5:
                pos.x = obj_work.pos.x + AppMain.gm_gmk_disp_ofst_tbl_l[index][0];
                pos.y = obj_work.pos.y + AppMain.gm_gmk_disp_ofst_tbl_l[index][1];
                break;

            case 2:
                pos.x = obj_work.pos.x + AppMain.gm_gmk_disp_ofst_tbl_d[index][0];
                pos.y = obj_work.pos.y + AppMain.gm_gmk_disp_ofst_tbl_d[index][1];
                break;

            case 3:
                pos.x = obj_work.pos.x + AppMain.gm_gmk_disp_ofst_tbl_r[index][0];
                pos.y = obj_work.pos.y + AppMain.gm_gmk_disp_ofst_tbl_r[index][1];
                break;
            }
            AppMain.GmTvxSetModelEx(AppMain.tvx_needle, texlist, ref pos, ref obj_work.scale, AppMain.GMD_TVX_DISP_ROTATE | AppMain.GMD_TVX_DISP_SCALE | AppMain.GMD_TVX_DISP_LIGHT_DISABLE, rotate_z, ref ex_work);
            AppMain.GmTvxSetModel(AppMain.tvx_stand, texlist, ref pos, ref scale, AppMain.GMD_TVX_DISP_ROTATE | AppMain.GMD_TVX_DISP_SCALE, rotate_z);
        }
    }