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);
        }
예제 #2
0
        //todo: usage of this should eventually be refactored out if possible
        protected void CenterAndFixDrawOrder(IGraphicsDeviceProvider graphicsDeviceProvider,
                                             IGameStateProvider gameStateProvider,
                                             bool shouldCenter = true)
        {
            if (shouldCenter)
            {
                Center(graphicsDeviceProvider.GraphicsDevice);

                if (gameStateProvider.CurrentState == GameStates.PlayingTheGame)
                {
                    DrawLocation = new Vector2(DrawLocation.X, (330 - DrawArea.Height) / 2f);
                }
            }

            _fixDrawOrder();
            DrawOrder += 100;

            Dialogs.Push(this);
            Game.Components.Add(this);
        }
 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;
 }
예제 #4
0
 public HudControlsFactory(IHudButtonController hudButtonController,
                           IHudPanelFactory hudPanelFactory,
                           IMapRendererFactory mapRendererFactory,
                           IUserInputHandlerFactory userInputHandlerFactory,
                           INativeGraphicsManager nativeGraphicsManager,
                           IGraphicsDeviceProvider graphicsDeviceProvider,
                           IClientWindowSizeProvider clientWindowSizeProvider,
                           IEndlessGameProvider endlessGameProvider,
                           ICharacterRepository characterRepository,
                           ICurrentMapStateRepository currentMapStateRepository,
                           IKeyStateRepository keyStateRepository,
                           IStatusLabelSetter statusLabelSetter,
                           IStatusLabelTextProvider statusLabelTextProvider,
                           IContentManagerProvider contentManagerProvider,
                           IHudControlProvider hudControlProvider,
                           IChatModeCalculator chatModeCalculator,
                           IExperienceTableProvider experienceTableProvider)
 {
     _hudButtonController       = hudButtonController;
     _hudPanelFactory           = hudPanelFactory;
     _mapRendererFactory        = mapRendererFactory;
     _userInputHandlerFactory   = userInputHandlerFactory;
     _nativeGraphicsManager     = nativeGraphicsManager;
     _graphicsDeviceProvider    = graphicsDeviceProvider;
     _clientWindowSizeProvider  = clientWindowSizeProvider;
     _endlessGameProvider       = endlessGameProvider;
     _characterRepository       = characterRepository;
     _currentMapStateRepository = currentMapStateRepository;
     _keyStateRepository        = keyStateRepository;
     _statusLabelSetter         = statusLabelSetter;
     _statusLabelTextProvider   = statusLabelTextProvider;
     _contentManagerProvider    = contentManagerProvider;
     _hudControlProvider        = hudControlProvider;
     _chatModeCalculator        = chatModeCalculator;
     _experienceTableProvider   = experienceTableProvider;
 }
예제 #5
0
 public RenderTargetFactory(IGraphicsDeviceProvider graphicsDeviceProvider,
                            IClientWindowSizeProvider clientWindowSizeProvider)
 {
     _graphicsDeviceProvider   = graphicsDeviceProvider;
     _clientWindowSizeProvider = clientWindowSizeProvider;
 }
 public NativeGraphicsManager(INativeGraphicsLoader gfxLoader, IGraphicsDeviceProvider graphicsDeviceProvider)
 {
     _cache     = new Dictionary <LibraryGraphicPair, Texture2D>();
     _gfxLoader = gfxLoader;
     _graphicsDeviceProvider = graphicsDeviceProvider;
 }
예제 #7
0
 public HudBackgroundFrame(INativeGraphicsManager nativeGraphicsManager,
                           IGraphicsDeviceProvider graphicsDeviceProvider)
 {
     _nativeGraphicsManager  = nativeGraphicsManager;
     _graphicsDeviceProvider = graphicsDeviceProvider;
 }