Class Room
public class Room
- Inheritance
-
Room
- Inherited Members
- Extension Methods
Fields
Center
The position that is considered to be the center of this room. This is the average of all of its covered Tiles, and the MapSection that this room is on is determined by this value.
public readonly Point Center
Field Value
- Point
CoveredSections
A set of MapSection instances that are covered by this room
public readonly HashSet<MapSection> CoveredSections
Field Value
Floor
The floor that this room is on.
public readonly int Floor
Field Value
Map
The map that this room is on
public readonly Map Map
Field Value
Tiles
A set of Microsoft.Xna.Framework.Point positions on the Map that are contained in this room
public readonly HashSet<Point> Tiles
Field Value
- HashSet<Point>
Properties
FullyRoofed
A property that stores whether this room is fully roofed, that is, whether all of its Tiles are covered by a Roof or Tile or another room that is fully roofed. This property is evaluated automatically in Validate().
public bool FullyRoofed { get; }
Property Value
LightPourPercentage
A property that determines the amount of light that should pour in from the outside, based on the area around this room's outside walls as well as the LightPour values of the openings in them. If this value is 0, this room will not be rendered at all if the lot that it is on is hidden, and this room is FullyRoofed. This property is evaluated automatically in Validate().
public float LightPourPercentage { get; }
Property Value
Methods
GetConnectedRooms(PersonLike)
Returns a set of Room objects which are connected to this room. A connected room is a room that is directly adjacent, and that a PersonLike can walk into through an Opening.
public IEnumerable<Room> GetConnectedRooms(PersonLike person)
Parameters
person
PersonLike
Returns
- IEnumerable<Room>
A set of connected rooms
GetDecorativeRating()
Returns the combined decorative rating of all of the Furniture in this room. This method uses the DecorativeRating function.
public int GetDecorativeRating()
Returns
- int
The combined decorative rating
GetLights()
Returns all of the Light instances that are contained in this room
public IEnumerable<Light> GetLights()
Returns
- IEnumerable<Light>
All of the lights in this room
GetObjects<T>()
Returns all of the MapObject instances that are contained in this room
public IEnumerable<T> GetObjects<T>() where T : MapObject
Returns
- IEnumerable<T>
All of the objects in this room
Type Parameters
T
GetStairs()
Returns all of the stairs that are present in this room. This includes only stairs whose bottom positions are part of the room.
public IEnumerable<Stairs> GetStairs()
Returns
- IEnumerable<Stairs>
The stairs in this room.
GetWalls(bool)
Returns all of the Wall instances that are border walls or internal walls of this room. An internal wall is a wall for which both sides are contained in the room, rather than just one.
public IEnumerable<(Wall Wall, int Side)> GetWalls(bool borderOnly)
Parameters
borderOnly
boolWhether to return border walls only, or include internal walls
Returns
- IEnumerable<(Wall Wall, int Side)>
A set of walls and their included sides of this room
IsSameRoom(ICollection<Point>, int)
Returns whether this room has the same covered Tiles as the given collection
public bool IsSameRoom(ICollection<Point> tiles, int floor)
Parameters
tiles
ICollection<Point>The tiles to query.
floor
intThe floor to query.
Returns
- bool
true if the covered tiles are the same, false otherwise
Validate()
This method is called in ValidateRooms(Point, int) to ensure that this room is still valid
public bool Validate()
Returns
- bool
false if the object is not valid, true otherwise