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; }
public CityBarRenderingFactory(GameRenderingConfig renderingConfig, StrategyGameData gameData, IntDimension tileSize, Group widgetParent) : base(renderingConfig, gameData, tileSize) { this.widgetParent = widgetParent; }
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); }
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); }
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 }; }
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)); }