Ejemplo n.º 1
0
 private static void gmGmkSpearWait_200(AppMain.OBS_OBJECT_WORK obj_work)
 {
     AppMain.GMS_GMK_SPEAR_WORK gmsGmkSpearWork = (AppMain.GMS_GMK_SPEAR_WORK)obj_work;
     obj_work.spd.x            = -(AppMain.mtMathCos((int)gmsGmkSpearWork.vect) * gmsGmkSpearWork.stroke_spd) >> 12;
     obj_work.spd.y            = -(AppMain.mtMathSin((int)gmsGmkSpearWork.vect) * gmsGmkSpearWork.stroke_spd) >> 12;
     gmsGmkSpearWork.timer_dec = gmsGmkSpearWork.timer_set_move;
     AppMain.gmGmkSpearShrink(obj_work);
 }
Ejemplo n.º 2
0
 // Token: 0x06000563 RID: 1379 RVA: 0x0002D984 File Offset: 0x0002BB84
 private static void gmGmkSpearWait_100(OBS_OBJECT_WORK obj_work)
 {
     AppMain.GMS_GMK_SPEAR_WORK gms_GMK_SPEAR_WORK = (AppMain.GMS_GMK_SPEAR_WORK)obj_work;
     gms_GMK_SPEAR_WORK.timer_dec--;
     if (gms_GMK_SPEAR_WORK.timer_dec <= 0)
     {
         obj_work.ppFunc = AppMain.gmGmkSpearWait_200;
     }
 }
 // Token: 0x0600055D RID: 1373 RVA: 0x0002D6D8 File Offset: 0x0002B8D8
 private static void gmGmkSpearStay_100(AppMain.OBS_OBJECT_WORK obj_work)
 {
     AppMain.GMS_GMK_SPEAR_WORK gms_GMK_SPEAR_WORK = (AppMain.GMS_GMK_SPEAR_WORK)obj_work;
     gms_GMK_SPEAR_WORK.timer_dec--;
     if (gms_GMK_SPEAR_WORK.timer_dec <= 0)
     {
         obj_work.ppFunc = new AppMain.MPP_VOID_OBS_OBJECT_WORK(AppMain.gmGmkSpearStay_200);
     }
 }
Ejemplo n.º 4
0
    private static void gmGmkSpearShrink_200(AppMain.OBS_OBJECT_WORK obj_work)
    {
        AppMain.GMS_GMK_SPEAR_WORK pwork = (AppMain.GMS_GMK_SPEAR_WORK)obj_work;
        obj_work.spd.x = 0;
        obj_work.spd.y = 0;
        uint num = AppMain.gmGmkSpearSyncTimeGet(pwork);

        pwork.timer_dec = num > (uint)pwork.timer_set_wait_lower ? 0 : (int)((long)pwork.timer_set_wait_lower - (long)(num - 1U));
        AppMain.gmGmkSpearStay(obj_work);
    }
Ejemplo n.º 5
0
    // Token: 0x0600055A RID: 1370 RVA: 0x0002D320 File Offset: 0x0002B520
    private static uint gmGmkSpearSyncTimeGet(AppMain.GMS_GMK_SPEAR_WORK pwork)
    {
        uint sync_time = AppMain.g_gm_main_system.sync_time;
        uint num       = (uint)((pwork.timer_set_move + (pwork.stroke_spd - 1)) / pwork.stroke_spd);
        uint num2      = num * 2U;

        num2 += ( uint )pwork.timer_set_wait_upper;
        num2 += ( uint )pwork.timer_set_wait_lower;
        return(sync_time % num2);
    }
Ejemplo n.º 6
0
 private static void gmGmkSpearWait_100(AppMain.OBS_OBJECT_WORK obj_work)
 {
     AppMain.GMS_GMK_SPEAR_WORK gmsGmkSpearWork = (AppMain.GMS_GMK_SPEAR_WORK)obj_work;
     --gmsGmkSpearWork.timer_dec;
     if (gmsGmkSpearWork.timer_dec > 0)
     {
         return;
     }
     obj_work.ppFunc = new AppMain.MPP_VOID_OBS_OBJECT_WORK(AppMain.gmGmkSpearWait_200);
 }
Ejemplo n.º 7
0
    private static void gmGmkSpearStroke_200(AppMain.OBS_OBJECT_WORK obj_work)
    {
        AppMain.GMS_GMK_SPEAR_WORK pwork = (AppMain.GMS_GMK_SPEAR_WORK)obj_work;
        obj_work.spd.x = 0;
        obj_work.spd.y = 0;
        uint num1 = (uint)((pwork.timer_set_move + (pwork.stroke_spd - 1)) / pwork.stroke_spd);
        uint num2 = AppMain.gmGmkSpearSyncTimeGet(pwork) - (uint)pwork.timer_set_wait_lower - num1;

        pwork.timer_dec = num2 > (uint)pwork.timer_set_wait_upper ? 0 : (int)((long)pwork.timer_set_wait_upper - (long)(num2 - 1U));
        AppMain.gmGmkSpearWait(obj_work);
    }
Ejemplo n.º 8
0
 private static void gmGmkSpearStay_200(AppMain.OBS_OBJECT_WORK obj_work)
 {
     AppMain.GMS_GMK_SPEAR_WORK gmsGmkSpearWork = (AppMain.GMS_GMK_SPEAR_WORK)obj_work;
     obj_work.spd.x            = AppMain.mtMathCos((int)gmsGmkSpearWork.vect);
     obj_work.spd.y            = AppMain.mtMathSin((int)gmsGmkSpearWork.vect);
     obj_work.spd.x            = obj_work.spd.x * gmsGmkSpearWork.stroke_spd >> 12;
     obj_work.spd.y            = obj_work.spd.y * gmsGmkSpearWork.stroke_spd >> 12;
     gmsGmkSpearWork.timer_dec = gmsGmkSpearWork.timer_set_move;
     AppMain.GmSoundPlaySE("Spear");
     AppMain.gmGmkSpearStroke(obj_work);
 }
Ejemplo n.º 9
0
    // Token: 0x06000567 RID: 1383 RVA: 0x0002DB64 File Offset: 0x0002BD64
    private static void gmGmkSpearShrink_200(OBS_OBJECT_WORK obj_work)
    {
        AppMain.GMS_GMK_SPEAR_WORK gms_GMK_SPEAR_WORK = (AppMain.GMS_GMK_SPEAR_WORK)obj_work;
        obj_work.spd.x = 0;
        obj_work.spd.y = 0;
        uint num = AppMain.gmGmkSpearSyncTimeGet(gms_GMK_SPEAR_WORK);

        if (num <= ( uint )gms_GMK_SPEAR_WORK.timer_set_wait_lower)
        {
            gms_GMK_SPEAR_WORK.timer_dec = ( int )(( long )gms_GMK_SPEAR_WORK.timer_set_wait_lower - ( long )(( ulong )(num - 1U)));
        }
        else
        {
            gms_GMK_SPEAR_WORK.timer_dec = 0;
        }
        AppMain.gmGmkSpearStay(obj_work);
    }
Ejemplo n.º 10
0
    // Token: 0x06000561 RID: 1377 RVA: 0x0002D8E8 File Offset: 0x0002BAE8
    private static void gmGmkSpearStroke_200(OBS_OBJECT_WORK obj_work)
    {
        AppMain.GMS_GMK_SPEAR_WORK gms_GMK_SPEAR_WORK = (AppMain.GMS_GMK_SPEAR_WORK)obj_work;
        obj_work.spd.x = 0;
        obj_work.spd.y = 0;
        uint num  = (uint)((gms_GMK_SPEAR_WORK.timer_set_move + (gms_GMK_SPEAR_WORK.stroke_spd - 1)) / gms_GMK_SPEAR_WORK.stroke_spd);
        uint num2 = AppMain.gmGmkSpearSyncTimeGet(gms_GMK_SPEAR_WORK);

        num2 -= ( uint )gms_GMK_SPEAR_WORK.timer_set_wait_lower;
        num2 -= num;
        if (num2 <= ( uint )gms_GMK_SPEAR_WORK.timer_set_wait_upper)
        {
            gms_GMK_SPEAR_WORK.timer_dec = ( int )(( long )gms_GMK_SPEAR_WORK.timer_set_wait_upper - ( long )(( ulong )(num2 - 1U)));
        }
        else
        {
            gms_GMK_SPEAR_WORK.timer_dec = 0;
        }
        AppMain.gmGmkSpearWait(obj_work);
    }
Ejemplo n.º 11
0
 // Token: 0x06000566 RID: 1382 RVA: 0x0002DA8C File Offset: 0x0002BC8C
 private static void gmGmkSpearShrink_100(OBS_OBJECT_WORK obj_work)
 {
     AppMain.GMS_GMK_SPEAR_WORK gms_GMK_SPEAR_WORK = (AppMain.GMS_GMK_SPEAR_WORK)obj_work;
     gms_GMK_SPEAR_WORK.timer_dec -= gms_GMK_SPEAR_WORK.stroke_spd;
     if (gms_GMK_SPEAR_WORK.timer_dec <= 0)
     {
         if (gms_GMK_SPEAR_WORK.timer_dec < 0)
         {
             obj_work.spd.x = AppMain.mtMathCos(( int )gms_GMK_SPEAR_WORK.vect);
             obj_work.spd.y = AppMain.mtMathSin(( int )gms_GMK_SPEAR_WORK.vect);
             obj_work.spd.x = -(obj_work.spd.x * gms_GMK_SPEAR_WORK.timer_dec >> 12);
             obj_work.spd.y = -(obj_work.spd.y * gms_GMK_SPEAR_WORK.timer_dec >> 12);
         }
         else
         {
             obj_work.spd.x = 0;
             obj_work.spd.y = 0;
         }
         obj_work.ppFunc = AppMain.gmGmkSpearShrink_200;
     }
 }
Ejemplo n.º 12
0
 private static void gmGmkSpearShrink_100(AppMain.OBS_OBJECT_WORK obj_work)
 {
     AppMain.GMS_GMK_SPEAR_WORK gmsGmkSpearWork = (AppMain.GMS_GMK_SPEAR_WORK)obj_work;
     gmsGmkSpearWork.timer_dec -= gmsGmkSpearWork.stroke_spd;
     if (gmsGmkSpearWork.timer_dec > 0)
     {
         return;
     }
     if (gmsGmkSpearWork.timer_dec < 0)
     {
         obj_work.spd.x = AppMain.mtMathCos((int)gmsGmkSpearWork.vect);
         obj_work.spd.y = AppMain.mtMathSin((int)gmsGmkSpearWork.vect);
         obj_work.spd.x = -(obj_work.spd.x * gmsGmkSpearWork.timer_dec >> 12);
         obj_work.spd.y = -(obj_work.spd.y * gmsGmkSpearWork.timer_dec >> 12);
     }
     else
     {
         obj_work.spd.x = 0;
         obj_work.spd.y = 0;
     }
     obj_work.ppFunc = new AppMain.MPP_VOID_OBS_OBJECT_WORK(AppMain.gmGmkSpearShrink_200);
 }
Ejemplo n.º 13
0
 // Token: 0x06000557 RID: 1367 RVA: 0x0002D200 File Offset: 0x0002B400
 private static OBS_OBJECT_WORK GmGmkSpearRInit(AppMain.GMS_EVE_RECORD_EVENT eve_rec, int pos_x, int pos_y, byte type)
 {
     AppMain.GMS_GMK_SPEAR_WORK gms_GMK_SPEAR_WORK = (AppMain.GMS_GMK_SPEAR_WORK)AppMain.gmGmkSpearInit(eve_rec, pos_x, pos_y, type);
     gms_GMK_SPEAR_WORK.obj_type = 3U;
     gms_GMK_SPEAR_WORK.gmk_work.ene_com.obj_work.dir.z = 16384;
     gms_GMK_SPEAR_WORK.vect = 0;
     if (eve_rec.top > 0)
     {
         gms_GMK_SPEAR_WORK.timer_set_wait_upper = ( short )eve_rec.top;
     }
     if (eve_rec.width > 0)
     {
         gms_GMK_SPEAR_WORK.timer_set_wait_lower = ( short )eve_rec.width;
     }
     if (eve_rec.left > 0)
     {
         gms_GMK_SPEAR_WORK.timer_set_move = ( int )eve_rec.left << 12;
     }
     AppMain.gmGmkSpear_CreateParts(gms_GMK_SPEAR_WORK);
     gms_GMK_SPEAR_WORK.gmk_work.ene_com.obj_work.ppFunc = AppMain.gmGmkSpearStart;
     return(gms_GMK_SPEAR_WORK.gmk_work.ene_com.obj_work);
 }
 // Token: 0x06000556 RID: 1366 RVA: 0x0002D138 File Offset: 0x0002B338
 private static AppMain.OBS_OBJECT_WORK GmGmkSpearLInit(AppMain.GMS_EVE_RECORD_EVENT eve_rec, int pos_x, int pos_y, byte type)
 {
     AppMain.GMS_GMK_SPEAR_WORK gms_GMK_SPEAR_WORK = (AppMain.GMS_GMK_SPEAR_WORK)AppMain.gmGmkSpearInit(eve_rec, pos_x, pos_y, type);
     gms_GMK_SPEAR_WORK.obj_type = 2U;
     gms_GMK_SPEAR_WORK.gmk_work.ene_com.obj_work.dir.z = 49152;
     gms_GMK_SPEAR_WORK.vect = 32768;
     if (eve_rec.top > 0)
     {
         gms_GMK_SPEAR_WORK.timer_set_wait_upper = ( short )eve_rec.top;
     }
     if (eve_rec.width > 0)
     {
         gms_GMK_SPEAR_WORK.timer_set_wait_lower = ( short )eve_rec.width;
     }
     if (eve_rec.left < 0)
     {
         gms_GMK_SPEAR_WORK.timer_set_move = -(( int )eve_rec.left << 12);
     }
     AppMain.gmGmkSpear_CreateParts(gms_GMK_SPEAR_WORK);
     gms_GMK_SPEAR_WORK.gmk_work.ene_com.obj_work.ppFunc = new AppMain.MPP_VOID_OBS_OBJECT_WORK(AppMain.gmGmkSpearStart);
     return(gms_GMK_SPEAR_WORK.gmk_work.ene_com.obj_work);
 }
Ejemplo n.º 15
0
 private static AppMain.OBS_OBJECT_WORK gmGmkSpearInit(
     AppMain.GMS_EVE_RECORD_EVENT eve_rec,
     int pos_x,
     int pos_y,
     byte type)
 {
     AppMain.GMS_GMK_SPEAR_WORK work    = (AppMain.GMS_GMK_SPEAR_WORK)AppMain.GMM_ENEMY_CREATE_WORK(eve_rec, pos_x, pos_y, (AppMain.TaskWorkFactoryDelegate)(() => (object)new AppMain.GMS_GMK_SPEAR_WORK()), "Gmk_Spear");
     AppMain.OBS_OBJECT_WORK    objWork = work.gmk_work.ene_com.obj_work;
     AppMain.GMS_ENEMY_3D_WORK  gmkWork = work.gmk_work;
     AppMain.ObjObjectCopyAction3dNNModel(objWork, AppMain.gm_gmk_spear_obj_3d_list[0], gmkWork.obj_3d);
     objWork.pos.z             = 0;
     objWork.move_flag        |= 256U;
     work.timer_set_move       = 196608;
     work.stroke_spd           = 32768;
     work.timer_set_wait_upper = (short)120;
     work.timer_set_wait_lower = (short)120;
     work.timer_dec            = (int)eve_rec.height;
     if (((int)eve_rec.flag & 31) != 0)
     {
         int num;
         if (((int)eve_rec.flag & 16) == 0)
         {
             num = ((int)eve_rec.flag & 15) << 10;
         }
         else
         {
             num = -((int)eve_rec.flag & 15) << 10;
             if (num == 0)
             {
                 num = -16384;
             }
         }
         work.stroke_spd += num;
     }
     return(objWork);
 }
Ejemplo n.º 16
0
 private static uint gmGmkSpearSyncTimeGet(AppMain.GMS_GMK_SPEAR_WORK pwork)
 {
     return(AppMain.g_gm_main_system.sync_time % ((uint)((pwork.timer_set_move + (pwork.stroke_spd - 1)) / pwork.stroke_spd) * 2U + (uint)pwork.timer_set_wait_upper + (uint)pwork.timer_set_wait_lower));
 }
Ejemplo n.º 17
0
    private static void gmGmkSpear_CreateParts(AppMain.GMS_GMK_SPEAR_WORK pwork)
    {
        AppMain.OBS_OBJECT_WORK         objWork            = pwork.gmk_work.ene_com.obj_work;
        AppMain.OBS_OBJECT_WORK         work1              = AppMain.GMM_EFFECT_CREATE_WORK((AppMain.TaskWorkFactoryDelegate)(() => (object)new AppMain.GMS_GMK_SPEARPARTS_WORK()), (AppMain.OBS_OBJECT_WORK)null, (ushort)0, "Gmk_SpearBase");
        AppMain.GMS_GMK_SPEARPARTS_WORK gmkSpearpartsWork1 = (AppMain.GMS_GMK_SPEARPARTS_WORK)work1;
        AppMain.ObjObjectCopyAction3dNNModel(work1, AppMain.gm_gmk_spear_obj_3d_list[2], gmkSpearpartsWork1.eff_work.obj_3d);
        work1.parent_obj = objWork;
        work1.pos.x      = objWork.pos.x;
        work1.pos.y      = objWork.pos.y;
        work1.pos.z      = objWork.pos.z;
        switch (pwork.obj_type)
        {
        case 0:
            work1.pos.y += 16384;
            break;

        case 1:
            work1.pos.y -= 16384;
            break;

        case 2:
            work1.pos.x += 16384;
            break;

        case 3:
            work1.pos.x -= 16384;
            break;
        }
        work1.dir.z      = objWork.dir.z;
        work1.flag      &= 4294966271U;
        work1.move_flag |= 256U;
        work1.disp_flag &= 4294967039U;
        work1.flag      |= 2U;
        work1.ppFunc     = (AppMain.MPP_VOID_OBS_OBJECT_WORK)null;
        AppMain.OBS_OBJECT_WORK         work2 = AppMain.GMM_EFFECT_CREATE_WORK((AppMain.TaskWorkFactoryDelegate)(() => (object)new AppMain.GMS_GMK_SPEARPARTS_WORK()), (AppMain.OBS_OBJECT_WORK)null, (ushort)0, "Gmk_SpearRod");
        AppMain.GMS_GMK_SPEARPARTS_WORK gmkSpearpartsWork2 = (AppMain.GMS_GMK_SPEARPARTS_WORK)work2;
        AppMain.ObjObjectCopyAction3dNNModel(work2, AppMain.gm_gmk_spear_obj_3d_list[1], gmkSpearpartsWork2.eff_work.obj_3d);
        work2.parent_obj    = objWork;
        work2.parent_ofst.x = 0;
        work2.parent_ofst.y = 0;
        work2.parent_ofst.z = -1;
        work2.dir.z         = objWork.dir.z;
        work2.flag         |= 1024U;
        work2.move_flag    |= 256U;
        work2.disp_flag    &= 4294967039U;
        work2.flag         |= 2U;
        switch (pwork.obj_type)
        {
        case 0:
            gmkSpearpartsWork2.connect = objWork.pos.y;
            break;

        case 1:
            gmkSpearpartsWork2.connect = objWork.pos.y;
            break;

        case 2:
            gmkSpearpartsWork2.connect = objWork.pos.x;
            break;

        case 3:
            gmkSpearpartsWork2.connect = objWork.pos.x;
            break;
        }
        gmkSpearpartsWork2.connect_type   = pwork.obj_type;
        gmkSpearpartsWork2.parent_connect = objWork;
        gmkSpearpartsWork2.obj_type       = pwork.obj_type;
        gmkSpearpartsWork2.fulcrum        = gmkSpearpartsWork2.connect;
        work2.ppFunc = new AppMain.MPP_VOID_OBS_OBJECT_WORK(AppMain.gmGmkSpearRod);
    }
Ejemplo n.º 18
0
    // Token: 0x06000569 RID: 1385 RVA: 0x0002DC8C File Offset: 0x0002BE8C
    private static void gmGmkSpear_CreateParts(AppMain.GMS_GMK_SPEAR_WORK pwork)
    {
        OBS_OBJECT_WORK obj_work        = pwork.gmk_work.ene_com.obj_work;
        OBS_OBJECT_WORK obs_OBJECT_WORK = AppMain.GMM_EFFECT_CREATE_WORK(() => new AppMain.GMS_GMK_SPEARPARTS_WORK(), null, 0, "Gmk_SpearBase");

        AppMain.GMS_GMK_SPEARPARTS_WORK gms_GMK_SPEARPARTS_WORK = (AppMain.GMS_GMK_SPEARPARTS_WORK)obs_OBJECT_WORK;
        AppMain.ObjObjectCopyAction3dNNModel(obs_OBJECT_WORK, AppMain.gm_gmk_spear_obj_3d_list[2], gms_GMK_SPEARPARTS_WORK.eff_work.obj_3d);
        obs_OBJECT_WORK.parent_obj = obj_work;
        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;
        switch (pwork.obj_type)
        {
        case 0U:
        {
            OBS_OBJECT_WORK obs_OBJECT_WORK2 = obs_OBJECT_WORK;
            obs_OBJECT_WORK2.pos.y = obs_OBJECT_WORK2.pos.y + 16384;
            break;
        }

        case 1U:
        {
            OBS_OBJECT_WORK obs_OBJECT_WORK3 = obs_OBJECT_WORK;
            obs_OBJECT_WORK3.pos.y = obs_OBJECT_WORK3.pos.y - 16384;
            break;
        }

        case 2U:
        {
            OBS_OBJECT_WORK obs_OBJECT_WORK4 = obs_OBJECT_WORK;
            obs_OBJECT_WORK4.pos.x = obs_OBJECT_WORK4.pos.x + 16384;
            break;
        }

        case 3U:
        {
            OBS_OBJECT_WORK obs_OBJECT_WORK5 = obs_OBJECT_WORK;
            obs_OBJECT_WORK5.pos.x = obs_OBJECT_WORK5.pos.x - 16384;
            break;
        }
        }
        obs_OBJECT_WORK.dir.z      = obj_work.dir.z;
        obs_OBJECT_WORK.flag      &= 4294966271U;
        obs_OBJECT_WORK.move_flag |= 256U;
        obs_OBJECT_WORK.disp_flag &= 4294967039U;
        obs_OBJECT_WORK.flag      |= 2U;
        obs_OBJECT_WORK.ppFunc     = null;
        obs_OBJECT_WORK            = AppMain.GMM_EFFECT_CREATE_WORK(() => new AppMain.GMS_GMK_SPEARPARTS_WORK(), null, 0, "Gmk_SpearRod");
        gms_GMK_SPEARPARTS_WORK    = (AppMain.GMS_GMK_SPEARPARTS_WORK)obs_OBJECT_WORK;
        AppMain.ObjObjectCopyAction3dNNModel(obs_OBJECT_WORK, AppMain.gm_gmk_spear_obj_3d_list[1], gms_GMK_SPEARPARTS_WORK.eff_work.obj_3d);
        obs_OBJECT_WORK.parent_obj    = obj_work;
        obs_OBJECT_WORK.parent_ofst.x = 0;
        obs_OBJECT_WORK.parent_ofst.y = 0;
        obs_OBJECT_WORK.parent_ofst.z = -1;
        obs_OBJECT_WORK.dir.z         = obj_work.dir.z;
        obs_OBJECT_WORK.flag         |= 1024U;
        obs_OBJECT_WORK.move_flag    |= 256U;
        obs_OBJECT_WORK.disp_flag    &= 4294967039U;
        obs_OBJECT_WORK.flag         |= 2U;
        switch (pwork.obj_type)
        {
        case 0U:
            gms_GMK_SPEARPARTS_WORK.connect = obj_work.pos.y;
            break;

        case 1U:
            gms_GMK_SPEARPARTS_WORK.connect = obj_work.pos.y;
            break;

        case 2U:
            gms_GMK_SPEARPARTS_WORK.connect = obj_work.pos.x;
            break;

        case 3U:
            gms_GMK_SPEARPARTS_WORK.connect = obj_work.pos.x;
            break;
        }
        gms_GMK_SPEARPARTS_WORK.connect_type   = pwork.obj_type;
        gms_GMK_SPEARPARTS_WORK.parent_connect = obj_work;
        gms_GMK_SPEARPARTS_WORK.obj_type       = pwork.obj_type;
        gms_GMK_SPEARPARTS_WORK.fulcrum        = gms_GMK_SPEARPARTS_WORK.connect;
        obs_OBJECT_WORK.ppFunc = AppMain.gmGmkSpearRod;
    }
Ejemplo n.º 19
0
    // Token: 0x0600055B RID: 1371 RVA: 0x0002D36C File Offset: 0x0002B56C
    private static void gmGmkSpearStart(OBS_OBJECT_WORK obj_work)
    {
        AppMain.GMS_GMK_SPEAR_WORK gms_GMK_SPEAR_WORK = (AppMain.GMS_GMK_SPEAR_WORK)obj_work;
        gms_GMK_SPEAR_WORK.gmk_work.ene_com.rect_work[2].flag &= 4294967291U;
        gms_GMK_SPEAR_WORK.gmk_work.ene_com.rect_work[0].flag &= 4294967291U;
        gms_GMK_SPEAR_WORK.gmk_work.ene_com.rect_work[1].flag |= 4U;
        AppMain.OBS_RECT_WORK obs_RECT_WORK = gms_GMK_SPEAR_WORK.gmk_work.ene_com.rect_work[1];
        AppMain.ObjRectWorkZSet(obs_RECT_WORK, AppMain.tbl_gm_gmk_spear_rect[( int )(( UIntPtr )gms_GMK_SPEAR_WORK.obj_type)][0], AppMain.tbl_gm_gmk_spear_rect[( int )(( UIntPtr )gms_GMK_SPEAR_WORK.obj_type)][1], -500, AppMain.tbl_gm_gmk_spear_rect[( int )(( UIntPtr )gms_GMK_SPEAR_WORK.obj_type)][2], AppMain.tbl_gm_gmk_spear_rect[( int )(( UIntPtr )gms_GMK_SPEAR_WORK.obj_type)][3], 500);
        obs_RECT_WORK.flag |= 4U;
        obs_RECT_WORK.flag |= 1024U;
        obj_work.flag      &= 4294967293U;
        uint num  = AppMain.g_gm_main_system.sync_time;
        uint num2 = (uint)((gms_GMK_SPEAR_WORK.timer_set_move + (gms_GMK_SPEAR_WORK.stroke_spd - 1)) / gms_GMK_SPEAR_WORK.stroke_spd);
        uint num3 = num2 * 2U;

        num3 += ( uint )gms_GMK_SPEAR_WORK.timer_set_wait_upper;
        num3 += ( uint )gms_GMK_SPEAR_WORK.timer_set_wait_lower;
        if (num <= ( uint )gms_GMK_SPEAR_WORK.timer_dec)
        {
            gms_GMK_SPEAR_WORK.timer_dec -= ( int )(num - 1U);
            gms_GMK_SPEAR_WORK.timer_dec += ( int )gms_GMK_SPEAR_WORK.timer_set_wait_lower;
            AppMain.gmGmkSpearStay(obj_work);
            return;
        }
        num -= ( uint )gms_GMK_SPEAR_WORK.timer_dec;
        num %= num3;
        if (num <= ( uint )gms_GMK_SPEAR_WORK.timer_set_wait_lower)
        {
            gms_GMK_SPEAR_WORK.timer_dec = ( int )(( long )gms_GMK_SPEAR_WORK.timer_set_wait_lower - ( long )(( ulong )(num - 1U)));
            AppMain.gmGmkSpearStay(obj_work);
            return;
        }
        num -= ( uint )gms_GMK_SPEAR_WORK.timer_set_wait_lower;
        int num4 = AppMain.mtMathCos((int)gms_GMK_SPEAR_WORK.vect);
        int num5 = AppMain.mtMathSin((int)gms_GMK_SPEAR_WORK.vect);

        num4 = num4 * gms_GMK_SPEAR_WORK.stroke_spd >> 12;
        num5 = num5 * gms_GMK_SPEAR_WORK.stroke_spd >> 12;
        if (num < num2)
        {
            gms_GMK_SPEAR_WORK.timer_dec = gms_GMK_SPEAR_WORK.timer_set_move;
            while (num > 1U)
            {
                gms_GMK_SPEAR_WORK.timer_dec -= gms_GMK_SPEAR_WORK.stroke_spd;
                obj_work.pos.x = obj_work.pos.x + num4;
                obj_work.pos.y = obj_work.pos.y + num5;
                num           -= 1U;
            }
            obj_work.spd.x = num4;
            obj_work.spd.y = num5;
            AppMain.gmGmkSpearStroke(obj_work);
            return;
        }
        num -= num2;
        int num6 = AppMain.mtMathCos((int)gms_GMK_SPEAR_WORK.vect) * gms_GMK_SPEAR_WORK.timer_set_move >> 12;
        int num7 = AppMain.mtMathSin((int)gms_GMK_SPEAR_WORK.vect) * gms_GMK_SPEAR_WORK.timer_set_move >> 12;

        obj_work.pos.x = obj_work.pos.x + num6;
        obj_work.pos.y = obj_work.pos.y + num7;
        if (num <= ( uint )gms_GMK_SPEAR_WORK.timer_set_wait_upper)
        {
            gms_GMK_SPEAR_WORK.timer_dec = ( int )(( long )gms_GMK_SPEAR_WORK.timer_set_wait_upper - ( long )(( ulong )(num - 1U)));
            AppMain.gmGmkSpearWait(obj_work);
            return;
        }
        num -= ( uint )gms_GMK_SPEAR_WORK.timer_set_wait_upper;
        gms_GMK_SPEAR_WORK.timer_dec = gms_GMK_SPEAR_WORK.timer_set_move;
        while (num > 1U)
        {
            gms_GMK_SPEAR_WORK.timer_dec -= gms_GMK_SPEAR_WORK.stroke_spd;
            obj_work.pos.x = obj_work.pos.x - num4;
            obj_work.pos.y = obj_work.pos.y - num5;
            num           -= 1U;
        }
        obj_work.spd.x = -num4;
        obj_work.spd.y = -num5;
        AppMain.gmGmkSpearShrink(obj_work);
    }
Ejemplo n.º 20
0
    private static void gmGmkSpearStart(AppMain.OBS_OBJECT_WORK obj_work)
    {
        AppMain.GMS_GMK_SPEAR_WORK gmsGmkSpearWork = (AppMain.GMS_GMK_SPEAR_WORK)obj_work;
        gmsGmkSpearWork.gmk_work.ene_com.rect_work[2].flag &= 4294967291U;
        gmsGmkSpearWork.gmk_work.ene_com.rect_work[0].flag &= 4294967291U;
        gmsGmkSpearWork.gmk_work.ene_com.rect_work[1].flag |= 4U;
        AppMain.OBS_RECT_WORK pRec = gmsGmkSpearWork.gmk_work.ene_com.rect_work[1];
        AppMain.ObjRectWorkZSet(pRec, AppMain.tbl_gm_gmk_spear_rect[(int)gmsGmkSpearWork.obj_type][0], AppMain.tbl_gm_gmk_spear_rect[(int)gmsGmkSpearWork.obj_type][1], (short)-500, AppMain.tbl_gm_gmk_spear_rect[(int)gmsGmkSpearWork.obj_type][2], AppMain.tbl_gm_gmk_spear_rect[(int)gmsGmkSpearWork.obj_type][3], (short)500);
        pRec.flag     |= 4U;
        pRec.flag     |= 1024U;
        obj_work.flag &= 4294967293U;
        uint syncTime = AppMain.g_gm_main_system.sync_time;
        uint num1     = (uint)((gmsGmkSpearWork.timer_set_move + (gmsGmkSpearWork.stroke_spd - 1)) / gmsGmkSpearWork.stroke_spd);
        uint num2     = num1 * 2U + (uint)gmsGmkSpearWork.timer_set_wait_upper + (uint)gmsGmkSpearWork.timer_set_wait_lower;

        if (syncTime <= (uint)gmsGmkSpearWork.timer_dec)
        {
            gmsGmkSpearWork.timer_dec -= (int)syncTime - 1;
            gmsGmkSpearWork.timer_dec += (int)gmsGmkSpearWork.timer_set_wait_lower;
            AppMain.gmGmkSpearStay(obj_work);
        }
        else
        {
            uint num3 = (syncTime - (uint)gmsGmkSpearWork.timer_dec) % num2;
            if (num3 <= (uint)gmsGmkSpearWork.timer_set_wait_lower)
            {
                gmsGmkSpearWork.timer_dec = (int)((long)gmsGmkSpearWork.timer_set_wait_lower - (long)(num3 - 1U));
                AppMain.gmGmkSpearStay(obj_work);
            }
            else
            {
                uint num4 = num3 - (uint)gmsGmkSpearWork.timer_set_wait_lower;
                int  num5 = AppMain.mtMathCos((int)gmsGmkSpearWork.vect);
                int  num6 = AppMain.mtMathSin((int)gmsGmkSpearWork.vect);
                int  num7 = num5 * gmsGmkSpearWork.stroke_spd >> 12;
                int  num8 = num6 * gmsGmkSpearWork.stroke_spd >> 12;
                if (num4 < num1)
                {
                    gmsGmkSpearWork.timer_dec = gmsGmkSpearWork.timer_set_move;
                    for (; num4 > 1U; --num4)
                    {
                        gmsGmkSpearWork.timer_dec -= gmsGmkSpearWork.stroke_spd;
                        obj_work.pos.x            += num7;
                        obj_work.pos.y            += num8;
                    }
                    obj_work.spd.x = num7;
                    obj_work.spd.y = num8;
                    AppMain.gmGmkSpearStroke(obj_work);
                }
                else
                {
                    uint num9  = num4 - num1;
                    int  num10 = AppMain.mtMathCos((int)gmsGmkSpearWork.vect) * gmsGmkSpearWork.timer_set_move >> 12;
                    int  num11 = AppMain.mtMathSin((int)gmsGmkSpearWork.vect) * gmsGmkSpearWork.timer_set_move >> 12;
                    obj_work.pos.x += num10;
                    obj_work.pos.y += num11;
                    if (num9 <= (uint)gmsGmkSpearWork.timer_set_wait_upper)
                    {
                        gmsGmkSpearWork.timer_dec = (int)((long)gmsGmkSpearWork.timer_set_wait_upper - (long)(num9 - 1U));
                        AppMain.gmGmkSpearWait(obj_work);
                    }
                    else
                    {
                        uint num12 = num9 - (uint)gmsGmkSpearWork.timer_set_wait_upper;
                        gmsGmkSpearWork.timer_dec = gmsGmkSpearWork.timer_set_move;
                        for (; num12 > 1U; --num12)
                        {
                            gmsGmkSpearWork.timer_dec -= gmsGmkSpearWork.stroke_spd;
                            obj_work.pos.x            -= num7;
                            obj_work.pos.y            -= num8;
                        }
                        obj_work.spd.x = -num7;
                        obj_work.spd.y = -num8;
                        AppMain.gmGmkSpearShrink(obj_work);
                    }
                }
            }
        }
    }