public void Attach(Model.Dungeon model)
        {
            dungeon = model;

            // Load terrain sprites
            tiles.Clear();
            for (int j = 0; j < dungeon.Height; j++) {
                for (int i = 0; i < dungeon.Width; i++) {
                    Point point = new Point(i, j);
                    Model.Dungeon.Cell cell = dungeon.GetCell(point);

                    Tile tile = new Tile();
                    tile.Position = FieldToViewCoordinates(point);

                    if (cell.Terrain == Model.Terrain.Floor) {
                        tile.Origin = new Vector2(64.0F, 32.0F);
                        tile.Texture = grassTile;
                    } else if (cell.Terrain == Model.Terrain.Wall) {
                        tile.Origin = new Vector2(64.0F, 80.0F);
                        tile.Texture = treeTile;
                    }

                    tiles.Add(tile);
                }
            }
            tiles.Sort(CompareTiles);
        }
        public void Attach(Model.Dungeon model)
        {
            dungeon = model;

            // Load terrain sprites
            tiles.Clear();
            for (int j = 0; j < dungeon.Height; j++)
            {
                for (int i = 0; i < dungeon.Width; i++)
                {
                    Point point             = new Point(i, j);
                    Model.Dungeon.Cell cell = dungeon.GetCell(point);

                    Tile tile = new Tile();
                    tile.Position = FieldToViewCoordinates(point);

                    if (cell.Terrain == Model.Terrain.Floor)
                    {
                        tile.Origin  = new Vector2(64.0F, 32.0F);
                        tile.Texture = grassTile;
                    }
                    else if (cell.Terrain == Model.Terrain.Wall)
                    {
                        tile.Origin  = new Vector2(64.0F, 80.0F);
                        tile.Texture = treeTile;
                    }

                    tiles.Add(tile);
                }
            }
            tiles.Sort(CompareTiles);
        }
        public DungeonViewOld(Game game)
        {
            this.game = game;
            dungeon = null;
            tiles = new List<Tile>();
            grassTile = game.Content.Load<Texture2D>("Sprites\\Terrain\\sprGrass01Temp");
            treeTile = game.Content.Load<Texture2D>("Sprites\\Terrain\\sprBushTemp");

            right = new Vector2(0.894427F, -0.447214F);
            down = new Vector2(0.894427F, 0.447214F);
        }
        public DungeonViewOld(Game game)
        {
            this.game = game;
            dungeon   = null;
            tiles     = new List <Tile>();
            grassTile = game.Content.Load <Texture2D>("Sprites\\Terrain\\sprGrass01Temp");
            treeTile  = game.Content.Load <Texture2D>("Sprites\\Terrain\\sprBushTemp");

            right = new Vector2(0.894427F, -0.447214F);
            down  = new Vector2(0.894427F, 0.447214F);
        }
예제 #5
0
        public TextView()
        {
            dungeon = new Model.Dungeon();

            int[,] grid = new int[, ] {
                { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
                { 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0 },
                { 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 },
                { 0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0, 0, 1, 1, 1, 0, 0, 0 },
                { 0, 1, 1, 1, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 1, 1, 0, 0, 0 },
                { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0 },
                { 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 0, 1, 0, 0, 1, 1, 1, 0, 0, 0 },
                { 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 0 },
                { 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 },
                { 0, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 },
                { 0, 0, 1, 0, 1, 0, 1, 1, 1, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0 },
                { 0, 0, 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 },
                { 0, 1, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0 },
                { 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0 },
                { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1 }
            };

            Model.Terrain[,] data = new Model.Terrain[20, 15];
            for (int j = 0; j < data.GetLength(1); j++)
            {
                for (int i = 0; i < data.GetLength(0); i++)
                {
                    switch (grid[i, j])
                    {
                    case 0:
                        data[i, j] = Model.Terrain.Wall;
                        break;

                    case 1:
                        data[i, j] = Model.Terrain.Floor;
                        break;
                    }
                }
            }

            dungeon.SetGrid(data);
        }
예제 #6
0
        public TextView()
        {
            dungeon = new Model.Dungeon();

            int[,] grid = new int[,] {
                { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
                { 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0 },
                { 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 },
                { 0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0, 0, 1, 1, 1, 0, 0, 0 },
                { 0, 1, 1, 1, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 1, 1, 0, 0, 0 },
                { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0 },
                { 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 0, 1, 0, 0, 1, 1, 1, 0, 0, 0 },
                { 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 0 },
                { 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 },
                { 0, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 },
                { 0, 0, 1, 0, 1, 0, 1, 1, 1, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0 },
                { 0, 0, 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 },
                { 0, 1, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0 },
                { 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0 },
                { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1 }
            };

            Model.Terrain[,] data = new Model.Terrain[20, 15];
            for (int j = 0; j < data.GetLength(1); j++) {
                for (int i = 0; i < data.GetLength(0); i++) {
                    switch (grid[i, j]) {
                        case 0:
                            data[i, j] = Model.Terrain.Wall;
                            break;
                        case 1:
                            data[i, j] = Model.Terrain.Floor;
                            break;
                    }
                }
            }

            dungeon.SetGrid(data);
        }