/// <summary> /// Should be invoked by MonoGame during its intialization/gameloop. /// </summary> public override void Initialize() { var input = new Input(); _initializer.InitializeControls(input); var stages = new GameStageRegistry(); _initializer.RegisterStages(stages); if (!stages.Keys.Any()) { throw new InvalidOperationException("At least 1 GameStage must be registered when the RegisterStages method is invoked on the IColdsteelInitializer"); } base.Initialize(); _gameStageManager = new GameStageManager(input, stages); _gameStageManager.Initialize(new MonoGameResourceFactory(this.Game)); }
/// <summary> /// Construct a new GameStageManager /// </summary> /// <param name="input"></param> /// <param name="stages"></param> public GameStageManager(Input input, GameStageRegistry stages) { _input = input; GameStageRegistry = stages; }