Exemple #1
0
        public void AddLocations(ref Map map, int x, int y)
        {
            for (int i = 0; i < this.width; i++)
            {
                for (int j = 0; j < this.height; j++)
                {
                    Blockade[] blockades = new Blockade[4];
                    // North Wall
                    if (this.blockades[i, j, 0] != null)
                    {
                        blockades[0] = this.blockades[i, j, 0];
                    }
                    else if (j == 0 && isEnclosed)
                    {
                        blockades[0] = new Wall("wall", true, 0);
                    }
                    else
                    {
                        blockades[0] = new None("none", false, 0);
                    }

                    // East Wall
                    if (this.blockades[i, j, 1] != null)
                    {
                        blockades[1] = this.blockades[i, j, 1];
                    }
                    else if (i == width - 1 && isEnclosed)
                    {
                        blockades[1] = new Wall("wall", true, 1);
                    }
                    else
                    {
                        blockades[1] = new None("none", false, 1);
                    }

                    // South
                    if (this.blockades[i, j, 2] != null)
                    {
                        blockades[2] = this.blockades[i, j, 2];
                    }
                    else if (j == this.height - 1 && isEnclosed)
                    {
                        blockades[2] = new Wall("wall", true, 2);
                    }
                    else
                    {
                        blockades[2] = new None("none", false, 2);
                    }

                    // West
                    if (this.blockades[i, j, 3] != null)
                    {
                        blockades[3] = this.blockades[i, j, 3];
                    }
                    else if (i == 0 && isEnclosed)
                    {
                        blockades[3] = new Wall("wall", true, 3);
                    }
                    else
                    {
                        blockades[3] = new None("none", false, 3);
                    }

                    Location location = new TempleRoom(this.name, blockades, discription);
                    if (this.items[i, j] != null)
                    {
                        location.GetItems().Add(this.items[i, j].GetName(), this.items[i, j]);
                    }

                    if (this.actors[i, j] != null)
                    {
                        location.SetEnemy(actors[i, j]);
                    }
                    map.AddLocation(location, i + x, j + y);
                }
            }
        }
 public void SetLastRoomVisited(TempleRoom room)
 {
     this.room = room;
 }