Artemis.Engine.DisplayManager.SetResolution C# (CSharp) Метод

SetResolution() публичный Метод

public SetResolution ( Resolution resolution ) : void
resolution Resolution
Результат void
        public void SetResolution(Resolution resolution)
        {
            if (resolution != WindowResolution && GameConstants.StaticResolution)
            {
                throw new DisplayManagerException(
                    String.Format(
                        "Cannot change resolution. (Game Property '{0}' set to true)",
                        GameConstants.XmlElements.STATIC_RESOLUTION
                        )
                    );
            }
            if (GameConstants.OnlyLandscapeResolutions && !resolution.IsLandscape)
            {
                throw new DisplayManagerException(
                    String.Format(
                        "Cannot change resolution to '{0}'; resolutions must be landscape. " +
                        "(GameProperty '{1}' set to true)", resolution, GameConstants.XmlElements.ONLY_LANDSCAPE_RESOLUTIONS
                        )
                    );
            }
            else if (GameConstants.OnlyPortraitResolutions && !resolution.IsPortrait)
            {
                throw new DisplayManagerException(
                    String.Format(
                        "Cannot change resolution to '{0}'; resolutions must be portrait. " +
                        "(GameProperty '{1}' set to true)", resolution, GameConstants.XmlElements.ONLY_PORTRAIT_RESOLUTIONS
                        )
                    );
            }

            var prev = WindowResolution;
            WindowResolution = resolution;
            dirty = true;

            iteratingResolutionChangeListeners = true;
            foreach (var obj in registeredResolutionChangeListeners)
            {
                if (obj.OnResolutionChanged != null)
                    obj.OnResolutionChanged(prev, resolution, ResolutionScale);
            }
            iteratingResolutionChangeListeners = false;

            if (_toAdd.Count > 0)
            {
                foreach (var obj in _toAdd)
                    registeredResolutionChangeListeners.Add(obj);
                _toAdd.Clear();
            }
            if (_toRemove.Count > 0)
            {
                foreach (var obj in _toRemove)
                    registeredResolutionChangeListeners.Remove(obj);
                _toRemove.Clear();
            }
        }