Ejemplo n.º 1
0
    // Token: 0x06000698 RID: 1688 RVA: 0x0003B50C File Offset: 0x0003970C
    private static OBS_OBJECT_WORK GmGmkCamScrLimitInit(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_CAM_SCR_LIMIT_WORK(), "GMK_CAM_SCRLMT");

        AppMain.GMS_GMK_CAM_SCR_LIMIT_WORK gms_GMK_CAM_SCR_LIMIT_WORK = (AppMain.GMS_GMK_CAM_SCR_LIMIT_WORK)obs_OBJECT_WORK;
        AppMain.GMS_ENEMY_COM_WORK         gms_ENEMY_COM_WORK         = (AppMain.GMS_ENEMY_COM_WORK)obs_OBJECT_WORK;
        gms_ENEMY_COM_WORK.enemy_flag |= 65536U;
        obs_OBJECT_WORK.user_flag      = (uint)eve_rec.flag;
        obs_OBJECT_WORK.move_flag     |= 8480U;
        obs_OBJECT_WORK.flag          |= 16U;
        AppMain.GMS_GMK_CAM_SCR_LIMIT_SETTING limit_setting = gms_GMK_CAM_SCR_LIMIT_WORK.limit_setting;
        limit_setting.limit_rect[0] = (obs_OBJECT_WORK.pos.x >> 12) + (int)(eve_rec.left * 2);
        limit_setting.limit_rect[2] = (obs_OBJECT_WORK.pos.x >> 12) + (int)(eve_rec.left * 2) + (int)(eve_rec.width * 2);
        limit_setting.limit_rect[1] = (obs_OBJECT_WORK.pos.y >> 12) + (int)(eve_rec.top * 2);
        limit_setting.limit_rect[3] = (obs_OBJECT_WORK.pos.y >> 12) + (int)(eve_rec.top * 2) + (int)(eve_rec.height * 2);
        if (eve_rec.id == 302)
        {
            obs_OBJECT_WORK.ppFunc              = AppMain.gmGmkCamScrLimitSetting;
            AppMain.g_gm_main_system.game_flag |= 32768U;
        }
        else
        {
            obs_OBJECT_WORK.ppFunc = AppMain.gmGmkCamScrLimitMain;
        }
        return(obs_OBJECT_WORK);
    }
Ejemplo n.º 2
0
 private static AppMain.OBS_OBJECT_WORK GmGmkCamScrLimitInit(
     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_CAM_SCR_LIMIT_WORK()), "GMK_CAM_SCRLMT");
     AppMain.GMS_GMK_CAM_SCR_LIMIT_WORK gmkCamScrLimitWork = (AppMain.GMS_GMK_CAM_SCR_LIMIT_WORK)work;
     ((AppMain.GMS_ENEMY_COM_WORK)work).enemy_flag |= 65536U;
     work.user_flag  = (uint)eve_rec.flag;
     work.move_flag |= 8480U;
     work.flag      |= 16U;
     AppMain.GMS_GMK_CAM_SCR_LIMIT_SETTING limitSetting = gmkCamScrLimitWork.limit_setting;
     limitSetting.limit_rect[0] = (work.pos.x >> 12) + (int)eve_rec.left * 2;
     limitSetting.limit_rect[2] = (work.pos.x >> 12) + (int)eve_rec.left * 2 + (int)eve_rec.width * 2;
     limitSetting.limit_rect[1] = (work.pos.y >> 12) + (int)eve_rec.top * 2;
     limitSetting.limit_rect[3] = (work.pos.y >> 12) + (int)eve_rec.top * 2 + (int)eve_rec.height * 2;
     if (eve_rec.id == (ushort)302)
     {
         work.ppFunc = new AppMain.MPP_VOID_OBS_OBJECT_WORK(AppMain.gmGmkCamScrLimitSetting);
         AppMain.g_gm_main_system.game_flag |= 32768U;
     }
     else
     {
         work.ppFunc = new AppMain.MPP_VOID_OBS_OBJECT_WORK(AppMain.gmGmkCamScrLimitMain);
     }
     return(work);
 }
Ejemplo n.º 3
0
    private static void gmGmkCamScrLimitSetting(AppMain.OBS_OBJECT_WORK obj_work)
    {
        AppMain.GMS_ENEMY_COM_WORK         gmsEnemyComWork    = (AppMain.GMS_ENEMY_COM_WORK)obj_work;
        AppMain.GMS_GMK_CAM_SCR_LIMIT_WORK gmkCamScrLimitWork = (AppMain.GMS_GMK_CAM_SCR_LIMIT_WORK)obj_work;
        AppMain.OBS_CAMERA obsCamera = AppMain.ObjCameraGet(0);
        int  num1 = AppMain.FXM_FLOAT_TO_FX32(obsCamera.pos.x) >> 12;
        int  num2 = -AppMain.FXM_FLOAT_TO_FX32(obsCamera.pos.y) >> 12;
        int  num3 = 1;
        int  num4 = 1;
        int  num5 = AppMain.FXM_FLOAT_TO_FX32(AppMain.AMD_SCREEN_2D_WIDTH / 2f * obsCamera.scale) >> 12;
        int  num6 = AppMain.FXM_FLOAT_TO_FX32(AppMain.AMD_SCREEN_2D_HEIGHT / 2f * obsCamera.scale) >> 12;
        byte num7 = 1;

        if ((Convert.ToInt32(obj_work.user_flag) & 1) != 0 && AppMain.g_gm_main_system.map_fcol.left != gmkCamScrLimitWork.limit_setting.limit_rect[0])
        {
            int num8 = num1 - num5;
            if (num8 > gmkCamScrLimitWork.limit_setting.limit_rect[0])
            {
                AppMain.g_gm_main_system.map_fcol.left = gmkCamScrLimitWork.limit_setting.limit_rect[0];
            }
            else
            {
                if (num8 > AppMain.g_gm_main_system.map_fcol.left)
                {
                    AppMain.g_gm_main_system.map_fcol.left = num8 + num3;
                }
                else
                {
                    AppMain.g_gm_main_system.map_fcol.left += num3;
                }
                if (AppMain.g_gm_main_system.map_fcol.left > gmkCamScrLimitWork.limit_setting.limit_rect[0])
                {
                    AppMain.g_gm_main_system.map_fcol.left = gmkCamScrLimitWork.limit_setting.limit_rect[0];
                }
            }
            num7 = (byte)0;
        }
        if ((Convert.ToInt32(obj_work.user_flag) & 4) != 0 && AppMain.g_gm_main_system.map_fcol.right != gmkCamScrLimitWork.limit_setting.limit_rect[2])
        {
            int num8 = num1 + num5;
            if (num8 < gmkCamScrLimitWork.limit_setting.limit_rect[2])
            {
                AppMain.g_gm_main_system.map_fcol.right = gmkCamScrLimitWork.limit_setting.limit_rect[2];
            }
            else
            {
                if (num8 < AppMain.g_gm_main_system.map_fcol.right)
                {
                    AppMain.g_gm_main_system.map_fcol.right = num8 - num3;
                }
                else
                {
                    AppMain.g_gm_main_system.map_fcol.right -= num3;
                }
                if (AppMain.g_gm_main_system.map_fcol.right < gmkCamScrLimitWork.limit_setting.limit_rect[2])
                {
                    AppMain.g_gm_main_system.map_fcol.right = gmkCamScrLimitWork.limit_setting.limit_rect[2];
                }
            }
            num7 = (byte)0;
        }
        if ((Convert.ToInt32(obj_work.user_flag) & 2) != 0 && AppMain.g_gm_main_system.map_fcol.top != gmkCamScrLimitWork.limit_setting.limit_rect[1])
        {
            int num8 = num2 - num6;
            if (num8 > gmkCamScrLimitWork.limit_setting.limit_rect[1])
            {
                AppMain.g_gm_main_system.map_fcol.top = gmkCamScrLimitWork.limit_setting.limit_rect[1];
            }
            else
            {
                if (num8 > AppMain.g_gm_main_system.map_fcol.top)
                {
                    AppMain.g_gm_main_system.map_fcol.top = num8 + num4;
                }
                else
                {
                    AppMain.g_gm_main_system.map_fcol.top += num4;
                }
                if (AppMain.g_gm_main_system.map_fcol.top > gmkCamScrLimitWork.limit_setting.limit_rect[1])
                {
                    AppMain.g_gm_main_system.map_fcol.top = gmkCamScrLimitWork.limit_setting.limit_rect[1];
                }
            }
            num7 = (byte)0;
        }
        if ((Convert.ToInt32(obj_work.user_flag) & 8) != 0 && AppMain.g_gm_main_system.map_fcol.bottom != gmkCamScrLimitWork.limit_setting.limit_rect[3])
        {
            int num8 = num2 + num6;
            if (num8 < gmkCamScrLimitWork.limit_setting.limit_rect[3])
            {
                AppMain.g_gm_main_system.map_fcol.bottom = gmkCamScrLimitWork.limit_setting.limit_rect[3];
            }
            else
            {
                if (num8 < AppMain.g_gm_main_system.map_fcol.bottom)
                {
                    AppMain.g_gm_main_system.map_fcol.bottom = num8 - num4;
                }
                else
                {
                    AppMain.g_gm_main_system.map_fcol.bottom -= num4;
                }
                if (AppMain.g_gm_main_system.map_fcol.bottom < gmkCamScrLimitWork.limit_setting.limit_rect[3])
                {
                    AppMain.g_gm_main_system.map_fcol.bottom = gmkCamScrLimitWork.limit_setting.limit_rect[3];
                }
            }
            num7 = (byte)0;
        }
        if (num7 == (byte)0)
        {
            return;
        }
        obj_work.flag |= 8U;
        AppMain.g_gm_main_system.game_flag &= 4294934527U;
    }
Ejemplo n.º 4
0
    // Token: 0x0600069E RID: 1694 RVA: 0x0003BC10 File Offset: 0x00039E10
    private static void gmGmkCamScrLimitSetting(OBS_OBJECT_WORK obj_work)
    {
        AppMain.GMS_GMK_CAM_SCR_LIMIT_WORK gms_GMK_CAM_SCR_LIMIT_WORK = (AppMain.GMS_GMK_CAM_SCR_LIMIT_WORK)obj_work;
        OBS_CAMERA obs_CAMERA = ObjCamera.Get(0);
        int        num        = AppMain.FXM_FLOAT_TO_FX32(obs_CAMERA.pos.x) >> 12;
        int        num2       = -AppMain.FXM_FLOAT_TO_FX32(obs_CAMERA.pos.y) >> 12;
        int        num3       = 1;
        int        num4       = 1;
        int        num5       = AppMain.FXM_FLOAT_TO_FX32(AppMain.AMD_SCREEN_2D_WIDTH / 2f * obs_CAMERA.scale) >> 12;
        int        num6       = AppMain.FXM_FLOAT_TO_FX32(AppMain.AMD_SCREEN_2D_HEIGHT / 2f * obs_CAMERA.scale) >> 12;
        byte       b          = 1;

        if ((Convert.ToInt32(obj_work.user_flag) & 1) != 0 && AppMain.g_gm_main_system.map_fcol.left != gms_GMK_CAM_SCR_LIMIT_WORK.limit_setting.limit_rect[0])
        {
            int num7 = num - num5;
            if (num7 > gms_GMK_CAM_SCR_LIMIT_WORK.limit_setting.limit_rect[0])
            {
                AppMain.g_gm_main_system.map_fcol.left = gms_GMK_CAM_SCR_LIMIT_WORK.limit_setting.limit_rect[0];
            }
            else
            {
                if (num7 > AppMain.g_gm_main_system.map_fcol.left)
                {
                    AppMain.g_gm_main_system.map_fcol.left = num7 + num3;
                }
                else
                {
                    AppMain.g_gm_main_system.map_fcol.left += num3;
                }
                if (AppMain.g_gm_main_system.map_fcol.left > gms_GMK_CAM_SCR_LIMIT_WORK.limit_setting.limit_rect[0])
                {
                    AppMain.g_gm_main_system.map_fcol.left = gms_GMK_CAM_SCR_LIMIT_WORK.limit_setting.limit_rect[0];
                }
            }
            b = 0;
        }
        if ((Convert.ToInt32(obj_work.user_flag) & 4) != 0 && AppMain.g_gm_main_system.map_fcol.right != gms_GMK_CAM_SCR_LIMIT_WORK.limit_setting.limit_rect[2])
        {
            int num8 = num + num5;
            if (num8 < gms_GMK_CAM_SCR_LIMIT_WORK.limit_setting.limit_rect[2])
            {
                AppMain.g_gm_main_system.map_fcol.right = gms_GMK_CAM_SCR_LIMIT_WORK.limit_setting.limit_rect[2];
            }
            else
            {
                if (num8 < AppMain.g_gm_main_system.map_fcol.right)
                {
                    AppMain.g_gm_main_system.map_fcol.right = num8 - num3;
                }
                else
                {
                    AppMain.g_gm_main_system.map_fcol.right -= num3;
                }
                if (AppMain.g_gm_main_system.map_fcol.right < gms_GMK_CAM_SCR_LIMIT_WORK.limit_setting.limit_rect[2])
                {
                    AppMain.g_gm_main_system.map_fcol.right = gms_GMK_CAM_SCR_LIMIT_WORK.limit_setting.limit_rect[2];
                }
            }
            b = 0;
        }
        if ((Convert.ToInt32(obj_work.user_flag) & 2) != 0 && AppMain.g_gm_main_system.map_fcol.top != gms_GMK_CAM_SCR_LIMIT_WORK.limit_setting.limit_rect[1])
        {
            int num9 = num2 - num6;
            if (num9 > gms_GMK_CAM_SCR_LIMIT_WORK.limit_setting.limit_rect[1])
            {
                AppMain.g_gm_main_system.map_fcol.top = gms_GMK_CAM_SCR_LIMIT_WORK.limit_setting.limit_rect[1];
            }
            else
            {
                if (num9 > AppMain.g_gm_main_system.map_fcol.top)
                {
                    AppMain.g_gm_main_system.map_fcol.top = num9 + num4;
                }
                else
                {
                    AppMain.g_gm_main_system.map_fcol.top += num4;
                }
                if (AppMain.g_gm_main_system.map_fcol.top > gms_GMK_CAM_SCR_LIMIT_WORK.limit_setting.limit_rect[1])
                {
                    AppMain.g_gm_main_system.map_fcol.top = gms_GMK_CAM_SCR_LIMIT_WORK.limit_setting.limit_rect[1];
                }
            }
            b = 0;
        }
        if ((Convert.ToInt32(obj_work.user_flag) & 8) != 0 && AppMain.g_gm_main_system.map_fcol.bottom != gms_GMK_CAM_SCR_LIMIT_WORK.limit_setting.limit_rect[3])
        {
            int num10 = num2 + num6;
            if (num10 < gms_GMK_CAM_SCR_LIMIT_WORK.limit_setting.limit_rect[3])
            {
                AppMain.g_gm_main_system.map_fcol.bottom = gms_GMK_CAM_SCR_LIMIT_WORK.limit_setting.limit_rect[3];
            }
            else
            {
                if (num10 < AppMain.g_gm_main_system.map_fcol.bottom)
                {
                    AppMain.g_gm_main_system.map_fcol.bottom = num10 - num4;
                }
                else
                {
                    AppMain.g_gm_main_system.map_fcol.bottom -= num4;
                }
                if (AppMain.g_gm_main_system.map_fcol.bottom < gms_GMK_CAM_SCR_LIMIT_WORK.limit_setting.limit_rect[3])
                {
                    AppMain.g_gm_main_system.map_fcol.bottom = gms_GMK_CAM_SCR_LIMIT_WORK.limit_setting.limit_rect[3];
                }
            }
            b = 0;
        }
        if (b != 0)
        {
            obj_work.flag |= 8U;
            AppMain.g_gm_main_system.game_flag &= 4294934527U;
        }
    }