recrownedathenaeum/RecrownedAthenaeum/Configuration.cs

33 lines
1.6 KiB
C#

using Microsoft.Xna.Framework;
using RecrownedAthenaeum.Camera;
using RecrownedAthenaeum.Render;
using System;
namespace RecrownedAthenaeum
{
/// <summary>
/// All variables here should be for RecrownedAthenaeum to use when needed and thus eliminates unessecary passing.
/// </summary>
public static class Configuration
{
private static GraphicsDeviceManager graphicsDeviceManager;
/// <summary>
/// The graphics device that will be used by default.
/// </summary>
public static GraphicsDeviceManager GraphicsDeviceManager { set { graphicsDeviceManager = value; } get { if (graphicsDeviceManager == null) throw new InvalidOperationException("Graphics device manager property requested as substitute but configuration does not have one."); return graphicsDeviceManager; } }
private static Camera2D camera2D;
/// <summary>
/// 2D camera to be used by default.
/// </summary>
public static Camera2D Camera2D { set { camera2D = value; } get { if (camera2D == null) throw new InvalidOperationException("2D camera property requested as substitute but configuration does not have one."); return camera2D; } }
private static SpriteBatchSettings? spriteBatchSettings;
/// <summary>
/// The begin sprite batch to use for custom begins and consistency.
/// </summary>
public static SpriteBatchSettings? SpriteBatchSettings { set { spriteBatchSettings = value.Value; } get { if (!spriteBatchSettings.HasValue) throw new InvalidOperationException("No default begin batch has been set yet has been requested."); return spriteBatchSettings; } }
}
}