Exemple #1
0
        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));
 }
Exemple #3
0
 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);
 }
Exemple #7
0
        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);
 }