Exemple #1
0
        public void ActivateTile(Tile selectedBoardTile, TileType newTileType)
        {
            if (newTileType != TileType.Background)
            {
                //Remove any existing tiles
                Tile tileToRemove = null;
                foreach (Tile tile in ActiveTiles)
                {
                    if (tile.BoardPosition == selectedBoardTile.BoardPosition)
                    {
                        tileToRemove = tile;
                    }
                }
                if (tileToRemove != null)
                {
                    ActiveTiles.Remove(tileToRemove);
                }

                //Add a new active tile
                Tile tileToAdd = new Tile();
                if (LudimusGame.TileTypeLookup.ContainsKey(newTileType))
                {
                    tileToAdd.Type = newTileType;
                }
                tileToAdd.Initialize(selectedBoardTile.CurrentGlobalPosition, selectedBoardTile.Size, Graphics, LudimusGame.TileTypeLookup[newTileType]);
                tileToAdd.BoardPosition = selectedBoardTile.BoardPosition;
                ActiveTiles.Add(tileToAdd);
            }
            else if(newTileType == TileType.Background)
            {
                //Remove any current active tile at this position
                Tile tileToRemove = null;
                foreach(Tile tile in ActiveTiles)
                {
                    if (tile.BoardPosition == selectedBoardTile.BoardPosition)
                    {
                        tileToRemove = tile;
                    }
                }
                if (tileToRemove != null)
                    ActiveTiles.Remove(tileToRemove);
            }
        }
Exemple #2
0
        public void Initialize(int boardWidth, int boardHeight, int tileWidth, int tileHeight, Point startlocation, GraphicsDeviceManager graphics)
        {
            StartLocation = startlocation;
            BoardTiles = new List<Tile>();
            BoardWidth = boardWidth;
            BoardHeight = boardHeight;
            TileWidth = tileWidth;
            TileHeight = tileHeight;
            Graphics = graphics;

            for (int x = 0; x < BoardWidth; x++)
            {
                for (int y = 0; y < BoardHeight; y++)
                {
                    Tile tileToAdd = new Tile();
                    tileToAdd.Initialize(new Point(StartLocation.X + TileWidth * x, StartLocation.Y + TileHeight * y), new Point(TileWidth, TileHeight), graphics);
                    BoardTiles.Add(tileToAdd);
                }
            }
        }