Table of Contents

Struct PersonLike.TypeSettings

Namespace
TinyLife.Objects
Assembly
TinyLife.dll

A set of information for types that extend PersonLike which are registered into the Types collection.

public struct PersonLike.TypeSettings
Inherited Members
Extension Methods

Fields

CreateCharacterCreator

A function that is invoked when a person of this type is created in the character creator. If this is null, this person type cannot be created in the character creator.

public Func<Map, Random, PersonLike> CreateCharacterCreator

Field Value

Func<Map, Random, PersonLike>

CreateCharacterCreatorIcon

A function that optionally returns a texture region which is used in the character creator's bottom tabs to allow adding a new person of this type. This is ignored if CreateCharacterCreator is null.

public Func<TextureRegion> CreateCharacterCreatorIcon

Field Value

Func<TextureRegion>

CreateHouseholdPopulation

A function that is invoked when a person is randomly generated through the Household population system. This function is only used when a person of this type is included in the RandomConstellations collection. This function is additionally passed the age that was chosen for the person, as well as a set of other people, who act as the genetic influence for the person.

public Func<Map, Random, AgeGroup, PersonLike[], PersonLike> CreateHouseholdPopulation

Field Value

Func<Map, Random, AgeGroup, PersonLike[], PersonLike>

CreateRegularVisitor

A function that is invoked when no exported people of this type exist in the GetExportedHouseholds() collection, and a new person of this type is needed. This only has an effect if RegularVisitorWeight is greater than 0. Note that IsValidRegularVisitor is not invoked for the created person.

public Func<Map, Random, PersonLike> CreateRegularVisitor

Field Value

Func<Map, Random, PersonLike>

GetValidBedsForPopulation

A function that is invoked as part of random person generation through the Household population system to determine which objects are required for a person of this type, and with the given age group, to have a furniture item to sleep in. Combined flags are supported.

public Func<AgeGroup, ObjectCategory> GetValidBedsForPopulation

Field Value

Func<AgeGroup, ObjectCategory>

IsTabSelectable

public Func<AgeGroup, PlayModeTool.Tab, bool> IsTabSelectable

Field Value

Func<AgeGroup, PlayModeTool.Tab, bool>

IsValidRegularVisitor

A function that returns whether the given person is valid for being chosen as a regular visitor for this type, out of GetExportedHouseholds(). This only has an effect if RegularVisitorWeight is greater than 0.

public Func<PersonLike, bool> IsValidRegularVisitor

Field Value

Func<PersonLike, bool>

MaxMajorPersonalities

A function that returns the maximum amount of MajorPersonalityType values that a custom person type with the given AgeGroup can have at any one time.

public required Func<AgeGroup, int> MaxMajorPersonalities

Field Value

Func<AgeGroup, int>

Name

The name of this person type, which is used for localization. While not explicitly checked at the moment, modded person types are expected to start with their mod's id.

public required string Name

Field Value

string

PersonalitiesRemovableAgingUp

A function that returns the amount of existing PersonalityType values that can be removed from a custom person type when aging up to the next AgeGroup.

public Func<AgeGroup, int> PersonalitiesRemovableAgingUp

Field Value

Func<AgeGroup, int>

PlayModeSelectable

Whether this person type is selectable in play mode if part of the current household.

public required bool PlayModeSelectable

Field Value

bool

RegularVisitorWeight

A number that determines how likely it is for a person of this type to be chosen as a regular visitor in UpdateExternalPeople(ICollection<Map>, Action<string>, Action<float>). The regular visitor weight of the Person type is 10.

public float RegularVisitorWeight

Field Value

float

SupportedAges

The set of AgeGroup values that this person type supports.

public required AgeGroup[] SupportedAges

Field Value

AgeGroup[]