Esempio n. 1
0
 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;
 }
Esempio n. 2
0
        public AGSDisplayList(IGameState gameState, IMatrixUpdater matrixUpdater)
        {
            _matrixUpdater       = matrixUpdater;
            _gameState           = gameState;
            _cache               = new ConcurrentDictionary <IViewport, ViewportDisplayList>();
            _viewportSubscribers = new ConcurrentDictionary <IViewport, ViewportSubscriber>();
            _entitySubscribers   = new ConcurrentDictionary <string, EntitySubscriber>();
            _comparer            = new RenderOrderSelector();

            gameState.UI.OnListChanged.Subscribe(onUiChanged);
            subscribeObjects(gameState.UI);
            subscribeRoom();
            onSomethingChanged();
        }
Esempio n. 3
0
 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();
 }
Esempio n. 4
0
 public AGSRendererLoop(Resolver resolver, IGame game, IImageRenderer renderer,
                        IAGSRoomTransitions roomTransitions, IGLUtils glUtils, IGameWindow gameWindow,
                        IBlockingEvent <DisplayListEventArgs> onBeforeRenderingDisplayList, IDisplayList displayList,
                        IInput input, IMatrixUpdater matrixUpdater)
 {
     _input                       = input;
     _displayList                 = displayList;
     _glUtils                     = glUtils;
     _gameWindow                  = gameWindow;
     _resolver                    = resolver;
     _game                        = game;
     _gameState                   = game.State;
     _renderer                    = renderer;
     _roomTransitions             = roomTransitions;
     _displayListEventArgs        = new DisplayListEventArgs(null);
     _matrixUpdater               = matrixUpdater;
     OnBeforeRenderingDisplayList = onBeforeRenderingDisplayList;
     _roomTransitions.Transition  = new RoomTransitionInstant();
 }