Namespace TinyLife.World
Classes
- AnimatedDoor
An opening is some sort of extrusion in a WallLike, like a window or a door. Openings are created from their underlying OpeningType.
- AutoTile
An auto-tile is a Tile that visually connects to other tiles around it, while leaving a border around tiles that it doesn't connect to. Implementors can override ConnectsToTile(Map, Point, int, int, int, Func<Point, int, Tile>) to edit this behavior.
- ExportedHousehold
This class represents an exported version of a Household, storing all of the Map-independent data.
- ExportedLot
An exported lot is all of the relevant data of a Lot that should be exported to a file when clicking the "Export" button in the build menu. To create an exported lot from a lot, use Export()
- FurnitureMail
A Mail that contains a furniture item, and that can be opened using GetFurnitureMail.
- Household
A household is a set of PersonLike instances that live together on the same Lot
- LockableAnimatedDoor
An opening is some sort of extrusion in a WallLike, like a window or a door. Openings are created from their underlying OpeningType.
- Lot
A lot is a designated area in the world (created using the LotTool). In the way it works, it acts similarly to a small Map, allowing the retrieval of various object types only in its designated area. A lot has a LotType, which determines what things can be done on the lot.
- LotEmployment
A lot employment is a job that a Person executes somewhat perpetually. A person with a LotEmployment does not live on a Lot or in a Household, but instead either works at their lot employment or "leaves the city" through an BeAwayFromLotEmploymentAction. Lot employments can be added to lots using Employments or to a map using MapWideEmployments.
- LotEmployment.Instance
An instance of a LotEmployment. This is used by LotEmployment to store additional info about their employment.
- LotType
A lot type is data for a Lot that determines the required furniture on the lot as well as whether the lot is residential or not. Additionally, custom lot types can define different reasons and interactions for PersonLike objects to visit lots of the type.
A class used for sending and receiving mail. To add new mail to be sent to a Household, add it to MailToSend.
- Map
A map holds all of the data about a city, like its tiles, its objects and its roads. A map is split into MapSection objects which allows faster retrieval of objects in an area.
- MapAudioEmitter
An extension of the Microsoft.Xna.Framework.Audio.AudioEmitter class that also stores the emitter's WorldPosition
- MapSection
A map section is a small area in a Map that actually contains the area's objects. A map section is always SizexSize tiles large.
- Opening
An opening is some sort of extrusion in a WallLike, like a window or a door. Openings are created from their underlying OpeningType.
- OpeningType
An opening is some sort of extrusion in a WallLike, like a window or a door. An opening type stores data that can be used to construct a Opening instance.
- RoofType
A roof type stores settings and configurations for Roof instances. To register a new roof type, use Register(RoofType).
- Soundscape
A soundscape is a set of background/ambient sounds that play to enhance the atmosphere of the game. To create a new soundscape, it can be added to Soundscapes.
- Stairs
Stairs are objects on a Map that allow Tinies to switch between floors. Stair types can be registered using StairsType. For pathfinding purposes, stairs have a fixed length of 2 tiles.
- StairsType
A stairs type is a set of settings for a Stairs object that is unchanged between individual stairs objects. Stairs types can be registered using Register(StairsType).
- Tile
A tile is an object on a Map that represents the covering of the ground (or the ground itself). To register a tile, use Register(string, int, Dictionary<Point, TextureRegion>, Point, ColorScheme, float, bool, Category, TextureRegion, Func<Direction2, Point?>, int?, Func<Point, float>, Type).
- WalkableOpening
An opening is some sort of extrusion in a WallLike, like a window or a door. Openings are created from their underlying OpeningType.
- Wall
A wall is an element of a Map that stops traversal and that has a Wallpaper and optionally an Opening attached to it.
- WallMode
A wall mode is a way that a Wall's wallpaper can be displayed. Each wall mode represents a cutout that hides certain parts of a wall for an Opening or Roof to be displayed there.
- Wallpaper
A wallpaper is a single-instanced object that can be attached to a Wall, which makes the wall render a different texture. To register custom wallpapers, use Register(string, int, Dictionary<Point, TextureRegion>, Point, ColorScheme, TextureRegion, int?, Type). Note that registered wallpapers need to use a texture generated by ApplyMasks(Texture2D, int, int, RuntimeTexturePacker, Action<Dictionary<Point, TextureRegion>>).
- WaterTile
A water tile is a tile that draws with an animation, as well as a static part that represents the borders of the water.
Structs
- Household.RandomConstellation
A struct that is used for the RandomConstellations list and ultimately by Generate(Random).
- Household.RandomRelation
A random relation, which is a wrapper around Relation instances between two people of certain AgeGroup values, used by Household.RandomConstellation.
- Household.Relation
A relation is a set of information for a Household.RandomRelation and ultimately Household.RandomConstellation that stores the GenealogyType, RelationshipType, RomanceType and Dating status that should be applied between two randomly generated household members.
Enums
- LockType
A flags enumeration that determines which groups of people a LockableAnimatedDoor is locked for. Use IsLockedFor(LockType, PersonLike, Lot) to determine whether a combined lock type flag is locked for a given person.
- RoofStyle
A style for a RoofType to have. If Draw(GameTime, SpriteBatch, Map, Rectangle, int, Direction2, int[], Wallpaper, int, float, Color?, bool) has custom behavior for a custom roof type, Custom should be used.
- Tile.Category
A set of enumeration flags used by Tile to determine a set of settings for it.
Delegates
- DrawDelegate
A delegate used by events that are invoked when something is drawn. This event has no EventPhase attached to it, since drawing is done in a sorted fashion anyway.
- Household.WeeklyBillsDelegate
A delegate method used by OnGetWeeklyBills.
- LotType.CurrentVisitPriorityDelegate
A delegate method used for OnGetCurrentVisitPriority.
- Map.PathfindingNodeConstructDelegate
A delegate method used for OnPathfindingNodeConstruct.
- Map.VisitPriorityDelegate
A delegate method used for OnGetVisitPriority.
- ObjectUpdateDelegateNoPhase<T>
A delegate used by events that are invoked when something is updated.
- ObjectUpdateDelegate<T>
A delegate used by events that are invoked when something is updated.
- Soundscape.IntensityDelegate
A delegate method used by Soundscape to determine the volume that an ambient sound should have. The returned volume should be between 0 and 1, where 0 means the soundscape will not be played at all.
- UpdateDelegate
A delegate used by events that are invoked when something is updated.
- UpdateDelegateNoPhase
A delegate used by events that are invoked when something is updated.