示例#1
0
    // Token: 0x060003D9 RID: 985 RVA: 0x0001EF58 File Offset: 0x0001D158
    private static OBS_OBJECT_WORK GmEneMotoraInit(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_ENE_MOTORA_WORK(), "ENE_MOTORA");

        AppMain.GMS_ENEMY_3D_WORK   gms_ENEMY_3D_WORK   = (AppMain.GMS_ENEMY_3D_WORK)obs_OBJECT_WORK;
        AppMain.GMS_ENE_MOTORA_WORK gms_ENE_MOTORA_WORK = (AppMain.GMS_ENE_MOTORA_WORK)obs_OBJECT_WORK;
        AppMain.ObjObjectCopyAction3dNNModel(obs_OBJECT_WORK, AppMain.gm_ene_motora_obj_3d_list[0], gms_ENEMY_3D_WORK.obj_3d);
        AppMain.ObjObjectAction3dNNMotionLoad(obs_OBJECT_WORK, 0, true, AppMain.ObjDataGet(663), null, 0, null);
        AppMain.ObjDrawObjectSetToon(obs_OBJECT_WORK);
        obs_OBJECT_WORK.pos.z = 0;
        AppMain.OBS_RECT_WORK obs_RECT_WORK = gms_ENEMY_3D_WORK.ene_com.rect_work[1];
        AppMain.ObjRectWorkSet(obs_RECT_WORK, -11, -24, 11, 0);
        obs_RECT_WORK.flag |= 4U;
        obs_RECT_WORK       = gms_ENEMY_3D_WORK.ene_com.rect_work[0];
        AppMain.ObjRectWorkSet(obs_RECT_WORK, -19, -32, 19, 0);
        obs_RECT_WORK.flag |= 4U;
        gms_ENEMY_3D_WORK.ene_com.rect_work[2].flag &= 4294967291U;
        obs_RECT_WORK = gms_ENEMY_3D_WORK.ene_com.rect_work[2];
        AppMain.ObjRectWorkSet(obs_RECT_WORK, -19, -32, 19, 0);
        obs_RECT_WORK.flag &= 4294967291U;
        AppMain.ObjObjectFieldRectSet(obs_OBJECT_WORK, -4, -8, 4, -2);
        obs_OBJECT_WORK.move_flag |= 128U;
        if ((eve_rec.flag & 1) == 0)
        {
            obs_OBJECT_WORK.disp_flag |= 1U;
        }
        obs_OBJECT_WORK.user_work        = ( uint )(obs_OBJECT_WORK.pos.x + (( int )eve_rec.left << 12));
        obs_OBJECT_WORK.user_flag        = ( uint )(obs_OBJECT_WORK.pos.x + (( int )(eve_rec.left + ( sbyte )eve_rec.width) << 12));
        gms_ENE_MOTORA_WORK.spd_dec      = 102;
        gms_ENE_MOTORA_WORK.spd_dec_dist = 20480;
        AppMain.gmEneMotoraWalkInit(obs_OBJECT_WORK);
        obs_OBJECT_WORK.obj_3d.use_light_flag &= 4294967294U;
        obs_OBJECT_WORK.obj_3d.use_light_flag |= 64U;
        return(obs_OBJECT_WORK);
    }
示例#2
0
    // Token: 0x060003DD RID: 989 RVA: 0x0001F1FC File Offset: 0x0001D3FC
    private static void gmEneMotoraWalkMain(OBS_OBJECT_WORK obj_work)
    {
        AppMain.GMS_ENE_MOTORA_WORK motora_work = (AppMain.GMS_ENE_MOTORA_WORK)obj_work;
        bool flag = AppMain.gmEneMotoraSetWalkSpeed(motora_work);

        if (flag)
        {
            AppMain.gmEneMotoraFlipInit(obj_work);
        }
    }
示例#3
0
    private static bool gmEneMotoraSetWalkSpeed(AppMain.GMS_ENE_MOTORA_WORK motora_work)
    {
        bool flag = false;

        AppMain.OBS_OBJECT_WORK obsObjectWork = (AppMain.OBS_OBJECT_WORK)motora_work;
        if (((int)obsObjectWork.disp_flag & 1) != 0)
        {
            if (obsObjectWork.obj_3d.act_id[0] == 4 && (double)obsObjectWork.obj_3d.frame[0] >= 20.0)
            {
                obsObjectWork.spd.x = AppMain.ObjSpdUpSet(obsObjectWork.spd.x, motora_work.spd_dec, 2048);
            }
            else if (obsObjectWork.pos.x <= Convert.ToInt32(obsObjectWork.user_work) + motora_work.spd_dec_dist)
            {
                obsObjectWork.spd.x = AppMain.ObjSpdDownSet(obsObjectWork.spd.x, motora_work.spd_dec);
                flag = true;
                if (obsObjectWork.spd.x == 0 && obsObjectWork.pos.x > Convert.ToInt32(obsObjectWork.user_work))
                {
                    obsObjectWork.spd.x = Convert.ToInt32(obsObjectWork.user_work) - obsObjectWork.pos.x;
                    if (obsObjectWork.spd.x < -motora_work.spd_dec)
                    {
                        obsObjectWork.spd.x = -motora_work.spd_dec;
                    }
                }
            }
            else if (obsObjectWork.spd.x > -2048)
            {
                obsObjectWork.spd.x = AppMain.ObjSpdUpSet(obsObjectWork.spd.x, -motora_work.spd_dec, 2048);
            }
        }
        else if (obsObjectWork.obj_3d.act_id[0] == 3 && (double)obsObjectWork.obj_3d.frame[0] >= 20.0)
        {
            obsObjectWork.spd.x = AppMain.ObjSpdUpSet(obsObjectWork.spd.x, -motora_work.spd_dec, 2048);
        }
        else if (obsObjectWork.pos.x >= Convert.ToInt32(obsObjectWork.user_flag) - motora_work.spd_dec_dist)
        {
            obsObjectWork.spd.x = AppMain.ObjSpdDownSet(obsObjectWork.spd.x, motora_work.spd_dec);
            flag = true;
            if (obsObjectWork.spd.x == 0 && obsObjectWork.pos.x < Convert.ToInt32(obsObjectWork.user_flag))
            {
                obsObjectWork.spd.x = Convert.ToInt32(obsObjectWork.user_flag) - obsObjectWork.pos.x;
                if (obsObjectWork.spd.x > motora_work.spd_dec)
                {
                    obsObjectWork.spd.x = motora_work.spd_dec;
                }
            }
        }
        else if (obsObjectWork.spd.x < 2048)
        {
            obsObjectWork.spd.x = AppMain.ObjSpdUpSet(obsObjectWork.spd.x, motora_work.spd_dec, 2048);
        }
        return(flag);
    }
示例#4
0
    // Token: 0x060003DE RID: 990 RVA: 0x0001F220 File Offset: 0x0001D420
    private static bool gmEneMotoraSetWalkSpeed(AppMain.GMS_ENE_MOTORA_WORK motora_work)
    {
        bool            result          = false;
        OBS_OBJECT_WORK obs_OBJECT_WORK = (OBS_OBJECT_WORK)motora_work;

        if ((obs_OBJECT_WORK.disp_flag & 1U) != 0U)
        {
            if (obs_OBJECT_WORK.obj_3d.act_id[0] == 4 && obs_OBJECT_WORK.obj_3d.frame[0] >= 20f)
            {
                obs_OBJECT_WORK.spd.x = AppMain.ObjSpdUpSet(obs_OBJECT_WORK.spd.x, motora_work.spd_dec, 2048);
            }
            else if (obs_OBJECT_WORK.pos.x <= Convert.ToInt32(obs_OBJECT_WORK.user_work) + motora_work.spd_dec_dist)
            {
                obs_OBJECT_WORK.spd.x = AppMain.ObjSpdDownSet(obs_OBJECT_WORK.spd.x, motora_work.spd_dec);
                result = true;
                if (obs_OBJECT_WORK.spd.x == 0 && obs_OBJECT_WORK.pos.x > Convert.ToInt32(obs_OBJECT_WORK.user_work))
                {
                    obs_OBJECT_WORK.spd.x = Convert.ToInt32(obs_OBJECT_WORK.user_work) - obs_OBJECT_WORK.pos.x;
                    if (obs_OBJECT_WORK.spd.x < -motora_work.spd_dec)
                    {
                        obs_OBJECT_WORK.spd.x = -motora_work.spd_dec;
                    }
                }
            }
            else if (obs_OBJECT_WORK.spd.x > -2048)
            {
                obs_OBJECT_WORK.spd.x = AppMain.ObjSpdUpSet(obs_OBJECT_WORK.spd.x, -motora_work.spd_dec, 2048);
            }
        }
        else if (obs_OBJECT_WORK.obj_3d.act_id[0] == 3 && obs_OBJECT_WORK.obj_3d.frame[0] >= 20f)
        {
            obs_OBJECT_WORK.spd.x = AppMain.ObjSpdUpSet(obs_OBJECT_WORK.spd.x, -motora_work.spd_dec, 2048);
        }
        else if (obs_OBJECT_WORK.pos.x >= Convert.ToInt32(obs_OBJECT_WORK.user_flag) - motora_work.spd_dec_dist)
        {
            obs_OBJECT_WORK.spd.x = AppMain.ObjSpdDownSet(obs_OBJECT_WORK.spd.x, motora_work.spd_dec);
            result = true;
            if (obs_OBJECT_WORK.spd.x == 0 && obs_OBJECT_WORK.pos.x < Convert.ToInt32(obs_OBJECT_WORK.user_flag))
            {
                obs_OBJECT_WORK.spd.x = Convert.ToInt32(obs_OBJECT_WORK.user_flag) - obs_OBJECT_WORK.pos.x;
                if (obs_OBJECT_WORK.spd.x > motora_work.spd_dec)
                {
                    obs_OBJECT_WORK.spd.x = motora_work.spd_dec;
                }
            }
        }
        else if (obs_OBJECT_WORK.spd.x < 2048)
        {
            obs_OBJECT_WORK.spd.x = AppMain.ObjSpdUpSet(obs_OBJECT_WORK.spd.x, motora_work.spd_dec, 2048);
        }
        return(result);
    }
示例#5
0
 private static AppMain.OBS_OBJECT_WORK GmEneMotoraInit(
     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_ENE_MOTORA_WORK()), "ENE_MOTORA");
     AppMain.GMS_ENEMY_3D_WORK   gmsEnemy3DWork   = (AppMain.GMS_ENEMY_3D_WORK)work;
     AppMain.GMS_ENE_MOTORA_WORK gmsEneMotoraWork = (AppMain.GMS_ENE_MOTORA_WORK)work;
     AppMain.ObjObjectCopyAction3dNNModel(work, AppMain.gm_ene_motora_obj_3d_list[0], gmsEnemy3DWork.obj_3d);
     AppMain.ObjObjectAction3dNNMotionLoad(work, 0, true, AppMain.ObjDataGet(663), (string)null, 0, (AppMain.AMS_AMB_HEADER)null);
     AppMain.ObjDrawObjectSetToon(work);
     work.pos.z = 0;
     AppMain.OBS_RECT_WORK pRec1 = gmsEnemy3DWork.ene_com.rect_work[1];
     AppMain.ObjRectWorkSet(pRec1, (short)-11, (short)-24, (short)11, (short)0);
     pRec1.flag |= 4U;
     AppMain.OBS_RECT_WORK pRec2 = gmsEnemy3DWork.ene_com.rect_work[0];
     AppMain.ObjRectWorkSet(pRec2, (short)-19, (short)-32, (short)19, (short)0);
     pRec2.flag |= 4U;
     gmsEnemy3DWork.ene_com.rect_work[2].flag &= 4294967291U;
     AppMain.OBS_RECT_WORK pRec3 = gmsEnemy3DWork.ene_com.rect_work[2];
     AppMain.ObjRectWorkSet(pRec3, (short)-19, (short)-32, (short)19, (short)0);
     pRec3.flag &= 4294967291U;
     AppMain.ObjObjectFieldRectSet(work, (short)-4, (short)-8, (short)4, (short)-2);
     work.move_flag |= 128U;
     if (((int)eve_rec.flag & 1) == 0)
     {
         work.disp_flag |= 1U;
     }
     work.user_work                = (uint)(work.pos.x + ((int)eve_rec.left << 12));
     work.user_flag                = (uint)(work.pos.x + ((int)eve_rec.left + (int)eve_rec.width << 12));
     gmsEneMotoraWork.spd_dec      = 102;
     gmsEneMotoraWork.spd_dec_dist = 20480;
     AppMain.gmEneMotoraWalkInit(work);
     work.obj_3d.use_light_flag &= 4294967294U;
     work.obj_3d.use_light_flag |= 64U;
     return(work);
 }