Exemple #1
0
        public StrategyGameRenderingFactory(GameRenderingConfig renderingConfig,
                                            StrategyGameData gameData,
                                            StrategyGameTileSet <TTile> tileSet,
                                            IDerivedTileProducer <TTile, TTexture> tileProducer,
                                            ITextureOperations <TTexture, TColor> textureOperations)
        {
            this.tileProducer      = tileProducer;
            this.textureOperations = textureOperations;
            RenderingConfig        = renderingConfig ?? throw new ArgumentNullException(nameof(RenderingConfig));
            GameData = gameData ?? throw new ArgumentNullException(nameof(GameData));
            TileSet  = tileSet ?? throw new ArgumentNullException(nameof(TileSet));

            var r = new BasicTileRegistry <TTile>();

            foreach (var t in tileSet.Textures.Tiles)
            {
                r.Add(t.Tag, t);
            }

            Tiles = r;

            cellRendering = new TagSetRenderingFactory(this);
            boolRendering = new BoolRenderingFactory(this);
            RenderControl = new RendererControl(tileSet.TileSize, renderingConfig.RenderType);
            EnableCache   = true;
        }
Exemple #2
0
 public CityBarRenderingFactory(GameRenderingConfig renderingConfig,
                                StrategyGameData gameData,
                                IntDimension tileSize,
                                Group widgetParent) : base(renderingConfig, gameData, tileSize)
 {
     this.widgetParent = widgetParent;
 }
Exemple #3
0
        protected CityBarRenderingFactoryBase(GameRenderingConfig renderingConfig,
                                              StrategyGameData gameData,
                                              IntDimension tileSize)
        {
            RenderingConfig = renderingConfig ?? throw new ArgumentNullException(nameof(RenderingConfig));
            GameData        = gameData ?? throw new ArgumentNullException(nameof(GameData));

            RenderControl = new RendererControl(tileSize, renderingConfig.RenderType);
        }
Exemple #4
0
 public StrategyGameBlendLayerBuilder(GameRenderingConfig renderingConfig,
                                      IDerivedTileProducer <TTile, TTexture> tileProducer,
                                      ITextureOperations <TTexture, TColor> textureOperations,
                                      StrategyGameData gameData,
                                      IStrategyGameTileSet tileSet,
                                      ITileRegistry <TTile> tileRegistry)
 {
     this.renderingConfig   = renderingConfig;
     this.tileProducer      = tileProducer;
     this.textureOperations = textureOperations;
     this.tileSet           = tileSet;
     this.tileRegistry      = tileRegistry;
     GameData      = gameData;
     mappingHelper = new TerrainToGraphicTagMapping(gameData.Rules.TerrainTypes, tileSet);
 }
Exemple #5
0
        public GameStateStrategyGame(Game game,
                                     IUIManager ui) : base(new BatchedDrawingService(game))
        {
            this.ui = ui;
            gd      = new StrategyGameData();

            var textureOperations = new MonoGameTextureOperations(game.GraphicsDevice);
            var tileProducer      = new MonoGameTileProducer(textureOperations);

            var tileSet = CreateTileSet(game, tileProducer);
            var grf     = CreateRenderingFactory(gd, tileSet, tileProducer, textureOperations);

            var mapComponent = new Group(ui.UIStyle)
            {
                Anchor = AnchoredRect.Full
            };

            gameRendering = new GameRendering(game, grf.RenderingConfig, grf.RenderControl);
            gameRendering.AddLayers(grf.Create(new DefaultGameRenderCallbackFactory <Nothing>(game)));
            gameRendering.AddLayer(new CityBarRenderingFactory(grf.RenderingConfig, gd, tileSet.TileSize, mapComponent).CreateCityBarRenderer());
            gameRendering.TrackScreenSize(new Insets(10, 10, 10, 10));
            gameRendering.CenterPointInMapCoordinates = gd.Settlements[1].Location;
            gameRendering.DrawOrder = -10;

            overlay = new DebugOverlayRenderer(game)
            {
                DrawOrder = -5
            };

            var navigationUI = CreateNavigationUi(ui);

            rootContent = new Group(ui.UIStyle)
            {
                mapComponent,
                navigationUI.RootComponent
            };
        }
Exemple #6
0
        StrategyGameRenderingFactory <MonoGameTile, XnaTexture, Color> CreateRenderingFactory(StrategyGameData gameData,
                                                                                              StrategyGameTileSet <MonoGameTile> tileSet,
                                                                                              MonoGameTileProducer tileProducer,
                                                                                              MonoGameTextureOperations textureOperations)
        {
            var config = new GameRenderingConfig(tileSet.RenderType,
                                                 new Range(0, gameData.TerrainWidth),
                                                 new Range(0, gameData.TerrainHeight));

            return(new StrategyGameRenderingFactory <MonoGameTile, XnaTexture, Color>(config, gameData, tileSet, tileProducer, textureOperations));
        }