public BuildView(ContentManager contentManager, SpriteBatch spriteBatch, BuildingListModel buildingListModel, PlayerModel playerModel, PlayerResourcesModel playerResourcesModel) : base(contentManager, spriteBatch)
        {
            var buildingTextures = contentManager.Load <Texture2D>("buildings");
            var barTexture       = contentManager.Load <Texture2D>("resbarbackground");

            _buildings = new SpriteSheet(spriteBatch, buildingTextures, 128, 128);
            _bar       = new SpriteSheet(spriteBatch, barTexture, 256, 256);

            _buildingListModel    = buildingListModel;
            _playerModel          = playerModel;
            _playerResourcesModel = playerResourcesModel;

            _spriteBatch   = spriteBatch;
            _gameFont      = contentManager.Load <SpriteFont>("FontFile");
            _gameFontSmall = contentManager.Load <SpriteFont>("font_small");
        }
        public override void Enter(params object[] args)
        {
            _screen      = new RenderTarget2D(StateMachine.Game.GraphicsDevice, VirtualScreenSize.Width * VirtualScreenSize.ScreenSizeMultiplier, VirtualScreenSize.Height * VirtualScreenSize.ScreenSizeMultiplier);
            _spriteBatch = new SpriteBatch(StateMachine.Game.GraphicsDevice);

            bool resetForNewGame = true;

            if (args.Length > 0 && args[0] is bool)
            {
                resetForNewGame = (bool)args[0];
            }
            // Generate map
            TerrainFactory.GenerateGrid();
            TerrainFactory.GenerateResourceGrid();

            // Generate available buildings
            var buildings = BuildingFactory.GenerateAvailableBuildings();

            // Create models
            _playerModel          = new PlayerModel();
            _playerResourcesModel = new PlayerResourcesModel();
            _terrainTileListModel = new TerrainTileListModel(TerrainFactory.Tiles, TerrainFactory.Resources);
            _buildingListModel    = new BuildingListModel(buildings);


            // Create and add controllers
            var playerController     = new PlayerController(_playerModel, _terrainTileListModel);
            var backgroundController = new BackgroundController(_playerModel, _terrainTileListModel, _playerResourcesModel);
            var buildController      = new BuildController(_buildingListModel, _playerModel, _playerResourcesModel);

            _controllers.Add(playerController);
            _controllers.Add(backgroundController);
            _controllers.Add(buildController);

            // Create and add views
            _views.Add(new BackgroundView(StateMachine.Game.Content, _spriteBatch, _terrainTileListModel, _playerModel));
            _views.Add(new PlayerResourcesView(StateMachine.Game.Content, _spriteBatch, _playerResourcesModel, _playerModel));
            _views.Add(new PlayerView(StateMachine.Game.Content, _spriteBatch, _playerModel));
            _views.Add(new BuildView(StateMachine.Game.Content, _spriteBatch, _buildingListModel, _playerModel, _playerResourcesModel));
        }
 public void Initialize(ShopAssets shopAsset, BuildingListModel data)
 {
     this.shopAsset = shopAsset;
     this.data      = data;
 }
Exemple #4
0
 public void Initialize(BuildingListModel data, ShopAssets shopAssets)
 {
     buildingsLayout.Initialize(shopAssets, data);
 }
 public BuildController(BuildingListModel buildingListModel, PlayerModel playerModel, PlayerResourcesModel playerResourcesModel)
 {
     _buildingListModel   = buildingListModel;
     _playerModel         = playerModel;
     _playerResourceModel = playerResourcesModel;
 }
Exemple #6
0
 public void UpdateBuildings(BuildingListModel buildings)
 {
     Buildings.Value = buildings;
 }