Exemplo n.º 1
0
        private void addToDisplayList(List <IObject> displayList, IObject obj, IRoom room)
        {
            if (!obj.Visible)
            {
                IImageRenderer imageRenderer = getImageRenderer(obj);

                imageRenderer.Prepare(obj, obj, room.Viewport);
                return;
            }

            addToDisplayList(displayList, obj);
        }
Exemplo n.º 2
0
		public AGSRendererLoop (Resolver resolver, IGame game, IImageRenderer renderer, IInput input, AGSWalkBehindsMap walkBehinds,
			IAGSRoomTransitions roomTransitions, IGLUtils glUtils)
		{
            this._glUtils = glUtils;
			this._resolver = resolver;
			this._walkBehinds = walkBehinds;
            this._game = game;
			this._gameState = game.State;
			this._renderer = renderer;
			this._input = input;
			this._comparer = new RenderOrderSelector ();
			this._roomTransitions = roomTransitions;
			_roomTransitions.Transition = new RoomTransitionInstant ();
		}
Exemplo n.º 3
0
 public AGSRendererLoop(Resolver resolver, IGame game, IImageRenderer renderer, IInput input, AGSWalkBehindsMap walkBehinds,
                        IAGSRoomTransitions roomTransitions, IGLUtils glUtils)
 {
     this._glUtils               = glUtils;
     this._resolver              = resolver;
     this._walkBehinds           = walkBehinds;
     this._game                  = game;
     this._gameState             = game.State;
     this._renderer              = renderer;
     this._input                 = input;
     this._comparer              = new RenderOrderSelector();
     this._roomTransitions       = roomTransitions;
     _roomTransitions.Transition = new RoomTransitionInstant();
 }
Exemplo n.º 4
0
        private void renderObject(IViewport viewport, IObject obj)
        {
            _matrixUpdater.RefreshMatrix(obj);
            Size resolution = obj.RenderLayer == null || obj.RenderLayer.IndependentResolution == null ?
                              _game.Settings.VirtualResolution :
                              obj.RenderLayer.IndependentResolution.Value;

            _glUtils.AdjustResolution(resolution.Width, resolution.Height);

            IImageRenderer imageRenderer = getImageRenderer(obj);

            var shader = applyObjectShader(obj);

            imageRenderer.Render(obj, viewport);

            removeObjectShader(shader);
        }
Exemplo n.º 5
0
        private void renderObject(IRoom room, IObject obj)
        {
            Size resolution = obj.RenderLayer == null || obj.RenderLayer.IndependentResolution == null ?
                              _game.Settings.VirtualResolution :
                              obj.RenderLayer.IndependentResolution.Value;

            _glUtils.AdjustResolution(resolution.Width, resolution.Height);

            IImageRenderer imageRenderer = getImageRenderer(obj);

            imageRenderer.Prepare(obj, obj, room.Viewport);

            var shader = applyObjectShader(obj);

            imageRenderer.Render(obj, room.Viewport);

            removeObjectShader(shader);
        }
Exemplo n.º 6
0
        public AGSDisplayList(IGameState gameState, IInput input, AGSWalkBehindsMap walkBehinds,
                              IImageRenderer renderer, IGameEvents events, IAGSRoomTransitions roomTransitions)
        {
            _roomTransitions     = roomTransitions;
            _gameState           = gameState;
            _input               = input;
            _renderer            = renderer;
            _walkBehinds         = walkBehinds;
            _cache               = new ConcurrentDictionary <IViewport, List <IObject> >();
            _viewportSubscribers = new ConcurrentDictionary <IViewport, ViewportSubscriber>();
            _bindings            = new ConcurrentDictionary <string, List <API.IComponentBinding> >();
            _comparer            = new RenderOrderSelector();
            events.OnRepeatedlyExecute?.Subscribe(onRepeatedlyExecute);

            gameState.UI.OnListChanged.Subscribe(onUiChanged);
            subscribeObjects(gameState.UI);
            subscribeRoom();
            onSomethingChanged();
        }
Exemplo n.º 7
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();
 }
Exemplo n.º 8
0
 public TagsCloudVisualiser(IWordsPreparer preparer, IWordsLayouter layouter, IImageRenderer renderer)
 {
     this.preparer = preparer;
     this.layouter = layouter;
     this.renderer = renderer;
 }