Namespace TinyLife.Goals
Classes
- Achievement
A class that contains a AchievementType and represents an achievement that can be gained by the player, either through a GoalSet or through CompleteAchievement(AchievementType). The game's default achievements are also available on Steam and other platforms, and get completed automatically when their in-game counterparts are completed.
- AchievementType
An achievement type is a set of data for an Achievement instance to contain. To register new achievement types, use Register(AchievementType).
- AmountGoal
An amount goal is an auto-triggered goal, intended to be used with AutoGoalInfo, that keeps track of an amount of things that have been completed. To trigger all amount goals in a goal set, use Trigger(IGoalTriggerable, object, GoalTrigger, params object[]).
- AutoGoalInfo
A GoalInfo for an auto-triggered goal, specifically a AmountGoal, ConditionedGoal or DistinctGoal. To construct a new auto goal info, use the provided static methods in this class.
- AutoTriggerGoal
An auto-triggered goal is intended to be used with AutoGoalInfo. This is the base class for all auto-triggered goals. Auto-triggered goals do not need to be called, triggered or referenced manually, since they get triggered automatically based on a GoalTrigger.
- AutoTriggerGoal<T>
An auto-triggered goal is intended to be used with AutoGoalInfo. This is the base class for all auto-triggered goals. Auto-triggered goals do not need to be called, triggered or referenced manually, since they get triggered automatically based on a GoalTrigger.
- ConditionedGoal
A conditioned goal is an auto-triggered goal, intended to be used with AutoGoalInfo, that gets completed when a specified condition is met a single time. To trigger all conditioned goals in a goal set, use Trigger(bool).
- DistinctGoal<T>
A distinct goal is an auto-triggered goal, intended to be used with AutoGoalInfo, that keeps track of a distinct set of objects to be completed or obtained. To trigger all distinct goals in a goal set, use Trigger(IGoalTriggerable, object, GoalTrigger, params object[]).
- Goal
A goal is a component of a GoalSet which can be completed. A goal has an underlying GoalInfo that it is constructed from.
- GoalInfo
A goal info is the underlying goal information for a Goal that constructs an instance when a new GoalSet is constructed. For auto-triggered goals, AutoGoalInfo should be used.
- GoalSet
A goal set is a set of Goal instances that manages them. Goal sets are used by a Job's DailyTasks as well as by the LifeGoal system.
- GoalSetInfo
A goal set info is the information required to construct a GoalSet instance
- GoalTrigger
A goal trigger is used by AutoTriggerGoal instances to determine whether they should be triggered. Goal triggers are compared only by their Name, so mods can add goal triggers that work for other mods without explicit compatibility. If there is only one ValidObjects entry, it is preferred to use one of the generic types GoalTrigger<TObject, TValue>, GoalTrigger<TObject, TValue1, TValue2>, or GoalTrigger<TObject, TValue1, TValue2, TValue3> for compile-time type safety.
- GoalTrigger<TObject, TValue>
A goal trigger is used by AutoTriggerGoal instances to determine whether they should be triggered. Goal triggers are compared only by their Name, so mods can add goal triggers that work for other mods without explicit compatibility. If there is only one ValidObjects entry, it is preferred to use one of the generic types GoalTrigger<TObject, TValue>, GoalTrigger<TObject, TValue1, TValue2>, or GoalTrigger<TObject, TValue1, TValue2, TValue3> for compile-time type safety.
- GoalTrigger<TObject, TValue1, TValue2>
A goal trigger is used by AutoTriggerGoal instances to determine whether they should be triggered. Goal triggers are compared only by their Name, so mods can add goal triggers that work for other mods without explicit compatibility. If there is only one ValidObjects entry, it is preferred to use one of the generic types GoalTrigger<TObject, TValue>, GoalTrigger<TObject, TValue1, TValue2>, or GoalTrigger<TObject, TValue1, TValue2, TValue3> for compile-time type safety.
- GoalTrigger<TObject, TValue1, TValue2, TValue3>
A goal trigger is used by AutoTriggerGoal instances to determine whether they should be triggered. Goal triggers are compared only by their Name, so mods can add goal triggers that work for other mods without explicit compatibility. If there is only one ValidObjects entry, it is preferred to use one of the generic types GoalTrigger<TObject, TValue>, GoalTrigger<TObject, TValue1, TValue2>, or GoalTrigger<TObject, TValue1, TValue2, TValue3> for compile-time type safety.
- Goal<TInfo>
A goal is a component of a GoalSet which can be completed. A goal has an underlying GoalInfo that it is constructed from.
- Job
A job is a kind of work that a Person can have. The person's current jobs are accessible using Jobs. A job instance is constructed from its underlying JobType.
- JobType
A job type is a singleton containing various kinds of data for a Job instance. New jobs can be registered using Register(JobType).
- LifeGoal
A life goal is a set of GoalSet instances that, when completed, result in a special PersonalityType to be unlocked. When a life goal is applied to a person, the LifeGoal.Instance class is used.
- LifeGoal.Instance
A class used to represent a currently active/ongoing LifeGoal instance
- ManualProgressGoal
A manual progress goal is a Goal that is not automatically triggered. Its progress goes between 0 and 1, and can be advanced using MakeProgress(PersonLike, float, float, ActionInfo, SkillType, float).
- Memory
A memory is a set of information that a PersonLike can store, related to an activity or event that has happened at a given type. A memory is constructed from an underlying MemoryType. When a subclass extends the IUpdatingMemory interface, its Update(GameTime, TimeSpan, float) method will automatically be called for the Person that has the memory.
- MemoryType
A memory type is a set of information for a Memory to have. Please note that all collections of specific memories, like ActionDone, are only initialized in the finalization stage (see FinalizeGameContent(GameImpl, ModInfo)).
- Project
A project is a thing that can be done, saved, completed and monetized by a Person. A project should be used for actions like writing and programming, where there isn't a physical, MapObject-based representation of the projecgt in the world (like with paintings).
- StudentJobType
A JobType for school students
- TimedGoal
A timed goal is an auto-triggered goal, intended to be used with AutoGoalInfo, that gets completed when a specified amount of time is reached. To trigger all timed goals in a goal set, use Trigger(TimeSpan).
Structs
- Project.ActionSettings
A struct that represents a set of settings for CreateActions(ActionSettings)
Interfaces
- IGoalTriggerable
An interface that classes like GoalSet implement to allow for them or their AutoTriggerGoal instances to be triggered by a GoalTrigger that is associated with an object and a value.
- IUpdatingMemory
An interface that can be applied to a class that extends Memory if the memory should be updated over time in UpdateMemories(GameTime, TimeSpan, float).
Delegates
- Job.JobPerformanceDelegate
A delegate method used for OnGetWorkingPerformance.