public MouseCursorRenderer(INativeGraphicsManager nativeGraphicsManager,
                                   ICharacterProvider characterProvider,
                                   IRenderOffsetCalculator renderOffsetCalculator,
                                   IMapCellStateProvider mapCellStateProvider,
                                   IItemStringService itemStringService,
                                   IEIFFileProvider eifFileProvider,
                                   ICurrentMapProvider currentMapProvider,
                                   IGraphicsDeviceProvider graphicsDeviceProvider,
                                   IMapInteractionController mapInteractionController)
        {
            _mouseCursorTexture       = nativeGraphicsManager.TextureFromResource(GFXTypes.PostLoginUI, 24, true);
            _characterProvider        = characterProvider;
            _renderOffsetCalculator   = renderOffsetCalculator;
            _mapCellStateProvider     = mapCellStateProvider;
            _itemStringService        = itemStringService;
            _eifFileProvider          = eifFileProvider;
            _currentMapProvider       = currentMapProvider;
            _mapInteractionController = mapInteractionController;

            SingleCursorFrameArea = new Rectangle(0, 0,
                                                  _mouseCursorTexture.Width / (int)CursorIndex.NumberOfFramesInSheet,
                                                  _mouseCursorTexture.Height);
            _drawArea = SingleCursorFrameArea;

            _mapItemText = new XNALabel(Constants.FontSize08pt75)
            {
                Visible   = false,
                Text      = string.Empty,
                ForeColor = Color.White,
                AutoSize  = false,
                DrawOrder = 10 //todo: make a better provider for draw orders (see also HudControlsFactory)
            };

            _spriteBatch = new SpriteBatch(graphicsDeviceProvider.GraphicsDevice);
        }
Exemplo n.º 2
0
 public MapRendererFactory(IEndlessGameProvider endlessGameProvider,
                           IRenderTargetFactory renderTargetFactory,
                           IMapEntityRendererProvider mapEntityRendererProvider,
                           ICharacterProvider characterProvider,
                           ICurrentMapProvider currentMapProvider,
                           IMapRenderDistanceCalculator mapRenderDistanceCalculator,
                           ICharacterRendererUpdater characterRendererUpdater,
                           INPCRendererUpdater npcRendererUpdater,
                           IDoorStateUpdater doorStateUpdater,
                           IChatBubbleUpdater chatBubbleUpdater,
                           IConfigurationProvider configurationProvider,
                           IMouseCursorRendererFactory mouseCursorRendererFactory)
 {
     _endlessGameProvider         = endlessGameProvider;
     _renderTargetFactory         = renderTargetFactory;
     _mapEntityRendererProvider   = mapEntityRendererProvider;
     _characterProvider           = characterProvider;
     _currentMapProvider          = currentMapProvider;
     _mapRenderDistanceCalculator = mapRenderDistanceCalculator;
     _characterRendererUpdater    = characterRendererUpdater;
     _npcRendererUpdater          = npcRendererUpdater;
     _doorStateUpdater            = doorStateUpdater;
     _chatBubbleUpdater           = chatBubbleUpdater;
     _configurationProvider       = configurationProvider;
     _mouseCursorRendererFactory  = mouseCursorRendererFactory;
 }
 public OverlayLayerRenderer(INativeGraphicsManager nativeGraphicsManager,
                             ICurrentMapProvider currentMapProvider,
                             ICharacterProvider characterProvider,
                             IRenderOffsetCalculator renderOffsetCalculator)
     : base(characterProvider, renderOffsetCalculator)
 {
     _nativeGraphicsManager = nativeGraphicsManager;
     _currentMapProvider    = currentMapProvider;
 }
Exemplo n.º 4
0
 public ShadowLayerRenderer(INativeGraphicsManager nativeGraphicsManager,
                            ICurrentMapProvider currentMapProvider,
                            ICharacterProvider characterProvider,
                            IRenderOffsetCalculator renderOffsetCalculator,
                            IConfigurationProvider configurationProvider)
     : base(characterProvider, renderOffsetCalculator)
 {
     _nativeGraphicsManager = nativeGraphicsManager;
     _currentMapProvider    = currentMapProvider;
     _configurationProvider = configurationProvider;
 }
Exemplo n.º 5
0
 public EndPlayerWarpHandler(IPlayerInfoProvider playerInfoProvider,
                             IPacketTranslator <IWarpAgreePacketData> warpAgreePacketTranslator,
                             ICharacterRepository characterRepository,
                             ICurrentMapStateRepository currentMapStateRepository,
                             ICurrentMapProvider currentMapProvider,
                             IEnumerable <IMapChangedNotifier> mapChangedNotifiers)
     : base(playerInfoProvider)
 {
     _warpAgreePacketTranslator = warpAgreePacketTranslator;
     _characterRepository       = characterRepository;
     _currentMapStateRepository = currentMapStateRepository;
     _currentMapProvider        = currentMapProvider;
     _mapChangedNotifiers       = mapChangedNotifiers;
 }
Exemplo n.º 6
0
 public MapChangedActions(ICharacterStateCache characterStateCache,
                          INPCStateCache npcStateCache,
                          ICharacterRendererRepository characterRendererRepository,
                          INPCRendererRepository npcRendererRepository,
                          IHudControlProvider hudControlProvider,
                          IChatRepository chatRepository,
                          ILocalizedStringFinder localizedStringFinder,
                          ICurrentMapProvider currentMapProvider)
 {
     _characterStateCache         = characterStateCache;
     _npcStateCache               = npcStateCache;
     _characterRendererRepository = characterRendererRepository;
     _npcRendererRepository       = npcRendererRepository;
     _hudControlProvider          = hudControlProvider;
     _chatRepository              = chatRepository;
     _localizedStringFinder       = localizedStringFinder;
     _currentMapProvider          = currentMapProvider;
 }
 public MouseCursorRendererFactory(INativeGraphicsManager nativeGraphicsManager,
                                   ICharacterProvider characterProvider,
                                   IRenderOffsetCalculator renderOffsetCalculator,
                                   IMapCellStateProvider mapCellStateProvider,
                                   IItemStringService itemStringService,
                                   IEIFFileProvider eifFileProvider,
                                   ICurrentMapProvider currentMapProvider,
                                   IGraphicsDeviceProvider graphicsDeviceProvider,
                                   IMapInteractionController mapInteractionController)
 {
     _nativeGraphicsManager    = nativeGraphicsManager;
     _characterProvider        = characterProvider;
     _renderOffsetCalculator   = renderOffsetCalculator;
     _mapCellStateProvider     = mapCellStateProvider;
     _itemStringService        = itemStringService;
     _eifFileProvider          = eifFileProvider;
     _currentMapProvider       = currentMapProvider;
     _graphicsDeviceProvider   = graphicsDeviceProvider;
     _mapInteractionController = mapInteractionController;
 }
Exemplo n.º 8
0
 public MapRenderer(IEndlessGame endlessGame,
                    IRenderTargetFactory renderTargetFactory,
                    IMapEntityRendererProvider mapEntityRendererProvider,
                    ICharacterProvider characterProvider,
                    ICurrentMapProvider currentMapProvider,
                    IMapRenderDistanceCalculator mapRenderDistanceCalculator,
                    ICharacterRendererUpdater characterRendererUpdater,
                    INPCRendererUpdater npcRendererUpdater,
                    IDoorStateUpdater doorStateUpdater,
                    IChatBubbleUpdater chatBubbleUpdater,
                    IConfigurationProvider configurationProvider)
     : base((Game)endlessGame)
 {
     _renderTargetFactory         = renderTargetFactory;
     _mapEntityRendererProvider   = mapEntityRendererProvider;
     _characterProvider           = characterProvider;
     _currentMapProvider          = currentMapProvider;
     _mapRenderDistanceCalculator = mapRenderDistanceCalculator;
     _characterRendererUpdater    = characterRendererUpdater;
     _npcRendererUpdater          = npcRendererUpdater;
     _doorStateUpdater            = doorStateUpdater;
     _chatBubbleUpdater           = chatBubbleUpdater;
     _configurationProvider       = configurationProvider;
 }
        public MapEntityRendererProvider(INativeGraphicsManager nativeGraphicsManager,
                                         ICurrentMapProvider currentMapProvider,
                                         ICharacterProvider characterProvider,
                                         ICurrentMapStateProvider currentMapStateProvider,
                                         IMapItemGraphicProvider mapItemGraphicProvider,
                                         IRenderOffsetCalculator renderOffsetCalculator,
                                         IConfigurationProvider configurationProvider,
                                         ICharacterRendererProvider characterRendererProvider,
                                         INPCRendererProvider npcRendererProvider,
                                         IChatBubbleProvider chatBubbleProvider,
                                         ICharacterStateCache characterStateCache)
        {
            MapBaseRenderers = new List <IMapEntityRenderer>
            {
                new GroundLayerRenderer(nativeGraphicsManager,
                                        currentMapProvider,
                                        characterProvider,
                                        renderOffsetCalculator),
                new MapItemLayerRenderer(characterProvider,
                                         renderOffsetCalculator,
                                         currentMapStateProvider,
                                         mapItemGraphicProvider)
            };

            MapEntityRenderers = new List <IMapEntityRenderer>
            {
                new OverlayLayerRenderer(nativeGraphicsManager,
                                         currentMapProvider,
                                         characterProvider,
                                         renderOffsetCalculator),
                new ShadowLayerRenderer(nativeGraphicsManager,
                                        currentMapProvider,
                                        characterProvider,
                                        renderOffsetCalculator,
                                        configurationProvider),
                new WallLayerRenderer(nativeGraphicsManager,
                                      currentMapProvider,
                                      characterProvider,
                                      renderOffsetCalculator,
                                      currentMapStateProvider),
                new MapObjectLayerRenderer(nativeGraphicsManager,
                                           currentMapProvider,
                                           characterProvider,
                                           renderOffsetCalculator),
                new OtherCharacterEntityRenderer(characterProvider,
                                                 characterRendererProvider,
                                                 chatBubbleProvider,
                                                 characterStateCache,
                                                 renderOffsetCalculator),
                new NPCEntityRenderer(characterProvider,
                                      renderOffsetCalculator,
                                      npcRendererProvider,
                                      chatBubbleProvider),
                new RoofLayerRenderer(nativeGraphicsManager,
                                      currentMapProvider,
                                      characterProvider,
                                      renderOffsetCalculator),
                new UnknownLayerRenderer(nativeGraphicsManager,
                                         currentMapProvider,
                                         characterProvider,
                                         renderOffsetCalculator),
                new OnTopLayerRenderer(nativeGraphicsManager,
                                       currentMapProvider,
                                       characterProvider,
                                       renderOffsetCalculator),
                new MainCharacterEntityRenderer(characterProvider,
                                                characterRendererProvider,
                                                chatBubbleProvider,
                                                renderOffsetCalculator)
            };
        }