private void onGameWindowLoaded(TypedParameter settingsParameter, IGameSettings settings) { TypedParameter gameWindowParameter = new TypedParameter(typeof(IGameWindow), GameWindow); Settings = _resolver.Container.Resolve <IRuntimeSettings>(settingsParameter, gameWindowParameter); _graphics.ClearColor(0f, 0f, 0f, 1f); _graphics.Init(); _glUtils.GenBuffers(); Factory = _resolver.Container.Resolve <IGameFactory>(); IAGSInput input = _resolver.Container.Resolve <IAGSInput>(); input.Init(settings.VirtualResolution); Input = input; TypedParameter inputParamater = new TypedParameter(typeof(IInput), Input); TypedParameter gameParameter = new TypedParameter(typeof(IGame), this); _pipeline = _resolver.Container.Resolve <IAGSRenderPipeline>(gameParameter); TypedParameter pipelineParameter = new TypedParameter(typeof(IAGSRenderPipeline), _pipeline); RenderLoop = _resolver.Container.Resolve <IRendererLoop>(inputParamater, gameParameter, gameWindowParameter, pipelineParameter); updateResolver(); HitTest = _resolver.Container.Resolve <IHitTest>(); AudioSettings = _resolver.Container.Resolve <IAudioSettings>(); SaveLoad = _resolver.Container.Resolve <ISaveLoad>(); _glUtils.AdjustResolution(settings.VirtualResolution.Width, settings.VirtualResolution.Height); Events.OnLoad.Invoke(); }
private IRendererLoop getLoop(IDisplayList displayList = null, IAGSRenderPipeline pipeline = null) { displayList = displayList ?? getDisplayList(); pipeline = pipeline ?? getPipeline(displayList); return(new AGSRendererLoop(_resolver, _mocks.Game().Object, _transitions.Object, new Mock <IGLUtils>().Object, new Mock <IGameWindow>().Object, pipeline, displayList, new Mock <IInput>().Object, new Mock <IMatrixUpdater>().Object)); }
private IRendererLoop getLoop(IDisplayList displayList = null, IAGSRenderPipeline pipeline = null) { displayList = displayList ?? getDisplayList(); pipeline = pipeline ?? getPipeline(displayList); return(new AGSRendererLoop(_mocks.Settings().Object, _mocks.GameState().Object, new Mock <IGLUtils>().Object, new Mock <IWindowInfo>().Object, pipeline, new Mock <IMatrixUpdater>().Object)); }
public AGSRendererLoop(IGameSettings settings, IGameState state, IGLUtils glUtils, IWindowInfo window, IAGSRenderPipeline pipeline, IMatrixUpdater matrixUpdater) { _pipeline = pipeline; _glUtils = glUtils; _window = window; _settings = settings; _gameState = state; _matrixUpdater = matrixUpdater; }
public AGSRendererLoop(Resolver resolver, IGame game, IAGSRoomTransitions roomTransitions, IGLUtils glUtils, IGameWindow gameWindow, IAGSRenderPipeline pipeline, IDisplayList displayList, IInput input, IMatrixUpdater matrixUpdater) { _pipeline = pipeline; _input = input; _displayList = displayList; _glUtils = glUtils; _gameWindow = gameWindow; _resolver = resolver; _game = game; _gameState = game.State; _noAspectRatioSettings = new AGSGameSettings(game.Settings.Title, game.Settings.VirtualResolution, preserveAspectRatio: false); _roomTransitions = roomTransitions; _matrixUpdater = matrixUpdater; _roomTransitions.Transition = new RoomTransitionInstant(); }
public RoomTransitionWorkflow(IRoomTransitions transitions, IWindowInfo window, IRendererLoop rendererLoop, Resolver resolver, IGameEvents events, IGameLoop loop, IAGSRenderPipeline pipeline, IGameSettings settings, IAGSGameState state, IDisplayList displayList, IGLUtils glUtils) { _glUtils = glUtils; _dummyWindow = new DummyWindow(); _transitions = transitions; _transitions.Transition = new RoomTransitionInstant(); _window = window; _rendererLoop = rendererLoop; _resolver = resolver; _events = events; _loop = loop; _pipeline = pipeline; _state = state; _displayList = displayList; _settings = settings; _noAspectRatioSettings = new AGSGameSettings(settings.Title, settings.VirtualResolution, preserveAspectRatio: false); state.OnRoomChangeRequired.SubscribeToAsync(onRoomChangeRequired); }
private void onGameWindowLoaded(TypedParameter settingsParameter, IGameSettings settings) { TypedParameter gameWindowParameter = new TypedParameter(typeof(IGameWindow), GameWindow); Settings = _resolver.Container.Resolve <IRuntimeSettings>(settingsParameter, gameWindowParameter); _graphics.ClearColor(0f, 0f, 0f, 1f); _graphics.Init(); _glUtils.GenBuffers(); Factory = _resolver.Container.Resolve <IGameFactory>(); TypedParameter gameParameter = new TypedParameter(typeof(IGame), this); Settings.Defaults.MessageBox = _resolver.Container.Resolve <IMessageBoxSettings>(gameParameter); var input = _resolver.Container.Resolve <IInput>(); Input = input; TypedParameter inputParamater = new TypedParameter(typeof(IInput), Input); _pipeline = _resolver.Container.Resolve <IAGSRenderPipeline>(gameParameter); TypedParameter pipelineParameter = new TypedParameter(typeof(IAGSRenderPipeline), _pipeline); RenderLoop = _resolver.Container.Resolve <IRendererLoop>(inputParamater, gameParameter, gameWindowParameter, pipelineParameter); updateResolver(); HitTest = _resolver.Container.Resolve <IHitTest>(); Audio = _resolver.Container.Resolve <IAudioSystem>(); SaveLoad = _resolver.Container.Resolve <ISaveLoad>(); Coordinates = _resolver.Container.Resolve <ICoordinates>(); _roomTransitionWorkflow = _resolver.Container.Resolve <IRoomTransitionWorkflow>(); _glUtils.AdjustResolution(settings.VirtualResolution.Width, settings.VirtualResolution.Height); _updateMessagePump.Post(_ => Events.OnLoad.Invoke(), null); }
public PivotRendererComponent(IGLUtils utils, IAGSRenderPipeline pipeline) { _pipeline = pipeline; _pool = new ObjectPool <Instruction>(pool => new Instruction(pool, utils), 2); }