Namespace IdleKit.Framework
Classes
GeneratorStateType
The String associated with a particular IGeneratorState. This is done so it would be faster to check the GeneratorStateType instead of the type of the IGeneratorState at runtime. This should only be used in UI code.
GoalDataSequence
A GoalDataSequence contains a list of IGoal and only one goal from the sequence will be active at a time. IStage.goals[i] would give the active goal at IStageData.goalDataSequences[i]. In IdleKit, one can have multiple number of IGoal active for a IStage based on the number of GoalDataSequence.
GuidReferenceableAttribute
Attribute that associates EntityData with its respective EntityDataAsset. For example: between ICurrencyData and its counter part CurrencyDataAsset below. In addition, this also helps to locate the EntityData from another EntityDataAsset.
GuidReferenceAttribute
Attribute that links a type to an identifier. It is used by the GuidReferenceHelper to link data together without using a hard reference. It should be used on string fields that represent the datas id. Ultimately, this id is later used by the IDataLoaderService to look up the data.
ListenerPriority
Predefined constants to set as priority in IActionService and ITimerService.
The higher the priority the earlier the listener will be called when an IAction from the IActionService or an ITimerListener update from the ITimerService is dispatched.
MilestoneCompletionInfo
A MilestoneCompletionInfo contains the instanceId for a IMilestone and the timestamp it is complete. The timestamp can be in the future if it has been estimated or the actual timestamp when the IMilestone was achieved".
MilestoneRewardPair
This data pairs IMilestones with IRewards. The IEventService uses this data to reward the correct data when in the IContent that rewards are claimed.
PlotPointDataNotFoundException
Exception thrown by the IPlotPointDataProvider when a given piece of IPlotPointData can't be found
UpgradeableCurrencyRequirement
UpgradeableCurrencyRequirement is used in IGeneratorBalanceData to specify the IUpgradeableCurrency and its level required for IGeneratorEntity purchase and automation.
Structs
AscensionRewardGroup
A reward group contains a list of rewardIds and a certain ascensionScoreRequired is required before the IReward can be granted.
CurrencyAmount
A wrapper class that contains a ICurrency and its amount.
Interfaces
IAction
An IAction in IdleKit contains the following properties:
- an IAction does not alter saved data, use an IStateAction if saved data is going to be altered
- an IAction perform no direct operations
- an IAction can contain optional parameters such as the caller
- an IAction is only dispatched once, and is fire and forget
Any object can fire and receive any IAction as long as they Subscribe<T>(Action<T>, Int32) to it.
Any IActions that affect the player's persistent data directly should instead be an IStateAction. This is to allow for the possibility of sending the calls to a remote server for validation.
IActionResolver
A specialized abstracted version of ITypedResolver<T> that only allows resolving of IAction granting limited accesses to the IContainer.
IActionService
An IService that defines either an implementation for (un)subscribing listeners, and dispatching of IActions.
IActivatable
An IActivatable is an IEntity that can be activated, deactivated and reset, such as an ITrack.
IActivatableData
Contains the IEntityData associated with a certain IActivatable.
IAdvanceStageLoadPhase
This ILoadPhase is responsible for moving the player to the next available IStage in the IContent.
IAscensionReward
An IReward that is used during ascension. The ascensionScore can be used to determine what IRewards the user should receive.
IAscensionRewardData
The data associated with an IAscensionReward
IAsyncLoadable
This interface is meant to help make asynchronous loading more streamlined and easy to implement. The progress and completion actions help when tying a load operation into a UI. IAsyncLoader to see how it can be used to load a collection asynchronously.
IAsyncLoader
This class should be used to load a group of objects that implement IAsyncLoadable. It implements IAsyncLoadable itself, so it could load other loaders as well.
IAutoCollectState
While in this IGeneratorState the associated IGeneratorEntity will collect generated ICurrency without any player input
IBaseCollectorBalanceData
Contains the balance data shared between IGeneratorBalanceData and ICollectorBalanceData. See IGeneratorEntity. See ICollectorEntity.
IBaseCollectorBalanceDataAsset<TData>
The asset that contains the IBaseCollectorBalanceData.
IBaseCollectorData
Contains the data shared between IGeneratorData and ICollectorData. See IGeneratorEntity. See ICollectorEntity.
IBaseCollectorDataAsset<TData>
The asset that contains the IBaseCollectorData.
IBaseCollectorEntity
The primary purpose of any IBaseCollectorEntity is to produce an amount payoutAmount of IPayoutEntity at a set interval, both defined inside the IBaseCollectorBalanceData.
IStages can have 0 or more IBaseCollectorEntitys. IBaseCollectorEntitys must be Buy() before they begin generating IPayoutEntity.
Once they are purchased (see Buy()) they will slowly progress over time based on their speed until they are ready to Collect(Int64).
IBaseCollectorEntityData
Contains the identifying data for an IGeneratorEntity or ICollectorEntity. These fields are used to define which IBaseCollectorData and IBaseCollectorBalanceData should be used.
IBaseCollectorEntityDataAsset<TData>
The asset that contains the IBaseCollectorEntityData
IBaseCollectorEntitySavedData
The ISavedData associated with a given IBaseCollectorEntity.
IBoost
A class that provides IModifier functionality that doesn't need to be tied to a specific entity and is, instead, its own entity.
IBoostData
Contains the data associated with a certain IBoost, which includes the data associated with the extended IModifier
IBoostDataAsset<TData>
The asset that contains the IBoostData
IBoostSavedData
Saved data associated with a given IBoost
IClearContentDataLoadPhase
This ILoadPhase should clear IContent associated IStaticData from the IDataLoaderService.
IClearContentIdLoadPhase
This ILoadPhase clear the current loaded instanceId of the IContent from the IUserSavedData.
IClearContentLoadPhase
This ILoadPhase should take a loaded IContent and clear it in preparation for loading the next IContent.
IClearGlobalDataLoadPhase
This ILoadPhase should clear all global IStaticData using the IDataLoaderService. Global data is always loaded and will not be unloaded when moving between IContent
ICollectorBalanceData
A set of ICollectorEntity balance properties used for a specific ICollectorEntity.
ICollectorBalanceDataAsset
The asset that contains the ICollectorBalanceData
ICollectorData
Contains the definition of a specific ICollectorEntity. This is best described as, "which collector is this?" This is the data that is likely to be constant when building ICollectorEntityData. The ICollectorBalanceData is likely to change from IStage to IStage, unlike the ICollectorData. See ICollectorEntity.
ICollectorDataAsset
The asset that contains the ICollectorData
ICollectorEntity
A Collector generates IPayoutEntity. IStages can have 0 or more ICollectorEntitys.
An interface extending the IBaseCollectorEntity providing the base functionality.
ICollectorEntityData
Contains the IEntityData associated with a certain ICollectorEntity.
ICollectorEntityDataAsset
The asset that contains the ICollectorEntityData
IContent
IContent defines game play data that a player could play through and their current progress/state in that content set. IContent allows the player to play IStages that are accessible from this IContent. IContents should be able to switch to other IContents with a different theme, game mode, etc.
IContentData
Contains data associated with a specific IContent
IContentDataAsset<TData>
The asset that contains the IContentData
IContentDataLoadPhase
This ILoadPhase should process IContent IStaticData using the IDataLoaderService.
IContentSavedData
Saved data for IContent
ICurrency
ICurrencyData
Contains the data associated with a specific ICurrency
ICurrencyDataAsset<TData>
The asset that contains the ICurrencyData
ICurrencyReward
A basic IReward that can reward a range of ICurrency. IRangeRewardData
ICurrencyRewardData
The data associated with ICurrencyReward. See IRangeRewardData for additional information.
ICurrencySavedData
Saved data for ICurrency.
ICurrencyService
This IService manages all ICurrency controllers in the active IContent
ICurrencyUnlockReward
A basic IReward that can reward a range of ICurrency. This reward is meant to be used to "unlock" currencies and make them begin to appear in the IRandomObtainedCurrencyReward currency pools.
ICurrencyUnlockRewardData
The data associated with ICurrencyUnlockReward.
IDataLoaderService
This helper service loads all IStaticData in IdleKit.
IDataResolver
A specialized abstracted version of ITypedResolver<T> that only allows resolving of IStaticData granting limited accesses to the IContainer.
IDynamicGoal
An IGoal that will dynamically determine targetProgression at runtime, as opposed to the non dynamic IGoal that determines the target from its IGoalData.
IDynamicGoalData
The IGoalData associated with an IDynamicGoal
IEconomyService
Handles all formulas regarding the IGeneratorEntity with or without the influence of IModifiers
IEntity
The definition of a controller (this) to a model (IEntityData). Each entity in IdleKit has a IEntity, IEntityData, IGuidReferenceableAsset, and an optional ISavedData.
IEntityData
Where IStaticData defines data that should be serialized and later loaded, IEntityData adds a definition that this data will be the data model to a IEntity.
An IEntityData may have it's own raw data or be a group of ids to load that, together, provide the data required by the IEntitymade in CreateEntity(String).
IEntityLoaderService
Defines an IService that allows for loading of any IEntity.
The IEntityLoaderService makes the assumption that the IStaticData associated with the Entity being loaded has been stored inside the IDataLoaderService.
IEntityResolver
A specialized abstracted version of ITypedResolver<T> that only allows resolving of IEntity granting limited accesses to the IContainer.
IEventContent
IEventContent is an extension of IContent that allows for tracking progression with IMilestones. IEventContent works with IEventSettings to allow progression towards IReward defined in IMilestones.
IEventContentData
Contains data associated with a specific IEventContent.
IEventContentDataAsset<TData>
The asset that contains the IEventContentData
IEventContentSavedData
IEventService
This IService helps with retrieving all or a particular IEventSettings.
IEventSettings
The IEventSettings is used to map IRewards between an IEventContents IMilestones and another IContent.
It is recommended that this data be globally accessible in all IContent to reduce the risk of save or IReward claiming issues. Using this global mapping across IContent allows for only one set of IContent and associated data to be loaded at a time.
IEventSettingsData
Contains data associated with a specific IEventSettings.
IEventSettingsDataAsset<TData>
The asset that contains the IEventSettingsData
IEventSettingsSavedData
ISavedData for IEventSettings.
IExchangeable
An entity that has a value, or values, associated with it that can be used to perform exchanges.
IExchangeRateMultiplier
Allows an exchange rate to be calculated between two IExchangeable objects.
IExchangeRateMultiplierData
Contains the data associated with a certain IExchangeRateMultiplier
IExchangeRateMultiplierDataAsset<TData>
The asset that contains the IExchangeRateMultiplierData
IFallbackRewardData
A IReward that can fallback to a different one when it's contents cannot be rewarded.
IGachaItem
One possible item within a IGachaSlot each IGachaItem contains an IReward.
IGachaReward
A specific IReward that grants random IRewards to the player using the weights that gachaRewardData specifies.
IGachaRewardData
Contains the data associated with a specific IGachaReward
IGachaSlot
IGachaSlot are contained by IGachaReward. Each IGachaSlot contains a list of IGachaItem, each contains a single IReward. In the end, one IRewardfrom the IGachaSlot will be chosen based on the implementation.
IGeneratorBalanceData
A set of IGeneratorEntity balance properties used for a specific IGeneratorEntity.
IGeneratorBalanceDataAsset
The asset that contains the IGeneratorBalanceData
IGeneratorData
Contains the definition of a specific IGeneratorEntity. This is best described as, "which generator is this?" This is the data that is likely to be constant when building IGeneratorEntityData. The IGeneratorBalanceData and IGeneratorUnitTargetSequenceData are likely to change from IStage to IStage, unlike the IGeneratorData. See IGeneratorEntity. Because of this, you will likely use the id dataId as your modifiableId instead of the controller's id like most entities.
IGeneratorDataAsset
The asset that contains the IGeneratorData
IGeneratorEntity
A version of IBaseCollectorEntity that Automate() and allows the player to purchase generator units. Upon purchasing enough generator units the IGeneratorEntity would reach various IGeneratorUnitTargetData, that would grant additional IReward and modify the GetPayoutAmount(Boolean, IModifier[]) or GetDuration(Boolean, IModifier[]) that are defined in the generatorUnitTargetSequence.
IGeneratorEntityData
Contains the data associated with a specific IGeneratorEntity in a specific IStage. Each IGeneratorEntityData contains properties related to an IGeneratorUnitTargetSequenceData. For properties related to an IGeneratorEntity's payout, see IGeneratorBalanceData.
IGeneratorEntityDataAsset
The asset that contains the IGeneratorEntityData
IGeneratorEntitySavedData
Saved data for IGeneratorEntity.
IGeneratorState
IBaseCollectorEntity can be in various IGeneratorState.
IGeneratorUnitTargetData
A numerical threshold for IGeneratorEntity Units that will give the player a IReward (and apply a IModifier to the IGeneratorEntity). An example would include getting 1000 customers for a Business/Generator which would result in a IGachaReward and a x5 modifier being applied to the IGeneratorEntity's payouts.
IGeneratorUnitTargetDataAsset<TData>
The asset that contains the IGeneratorUnitTargetData
IGeneratorUnitTargetSequence
Contains a sequential collection of IGeneratorUnitTargetDatas that are progressed through as the player buys IGeneratorEntity units.
IGeneratorUnitTargetSequenceData
Contains the data associated with a GeneratorUnitTargetSequence IGeneratorUnitTargetSequence
IGeneratorUnitTargetSequenceDataAsset<TData>
The asset that contains the IGeneratorUnitTargetSequenceData
IGlobalDataLoadPhase
This ILoadPhase should process all global IStaticData using the IDataLoaderService. Global data is always loaded and will not be unloaded when moving between IContent.
IGoal
An IGoal is an IActivatable that is contained in an ITrack or one or more sequences in an IStage. The player can make progress towards an IGoals progression target. Once an IGoal progression target has been hit the IGoal can be claimed and the player can be rewarded.
IGoalData
Contains the data associated with a IGoal.
IGoalDataAsset<TData>
The asset that contains the IGoalData
IGoalSavedData
The ISavedData for activeGoals. There will be one pre active IGoal.
IGoalTrack
An ITrack whose list of IActivatables are IGoals.
IGuidReferenceableAsset
The based interface for all IStaticData related data assets. This is only used when we do not (need to) specify the type of the IStaticData in the editor code.
IGuidReferenceableAsset<TData>
The interface implemented by all IStaticDatas data assets. This interface that marks a ScriptableObject (or other serialized type) as a holder of IStaticData. The concrete implementation must contain a GuidReferenceableAttribute if you wish to use the Unity asset GuidReference tool in IdleKit.
IIKInstaller
An IdleKit specific version of the IInstaller containing methods to help bind or unbind IdleKit specific IAction, IService, and ILoadPhase.
IIKMonoInstaller
IInitializeUserLoadPhase
This ILoadPhase should run any required initialization logic on the IUserSavedData. isNew can be checked here for running conditional logic on new users.
ILoadContentDataLoadPhase
This ILoadPhase should load IContent specific IStaticData into the IDataLoaderService.
ILoadContentLoadPhase
This ILoadPhase should initialize and load the specified IContent id.
ILoadGlobalDataLoadPhase
This ILoadPhase should load all global IStaticData into the IDataLoaderService. Global data is always loaded and will not be unloaded when moving between IContent
ILoadPhase
A single phase of a potentially multiple phase load sequence. Each phase should completely wrap a specific step in the load flow.
IMilestone
IMilestones are IActivatables used to track progression through a IEventContent. Once a IMilestone has been completed, its associated rewards can be claimed.
IMilestoneData
Contains the IEntityData associated with a specific IMilestone.
IMilestoneDataAsset<TData>
The asset that contains the IMilestoneData
IMilestoneSavedData
Saved data for IMilestone.
IMilestoneTrack
An ITrack whose list of IActivatables are IMilestones.
IMilestoneTrackData
IMilestoneTrackSavedData
IModifiable
A controller that implements this interface becomes a valid target for IModifier to affect. When currency, speed or other attribute of the IModifiable objects are being calculated, the IModifierData on the IModifier object would be applied. IModifiableData IModifier IModifierDataCollection
IModifiableData
This interface has to be implemented by the IEntityData class associated to the IEntity class that implements IModifiable. See IModifiable See IModifier See IModifierDataCollection
IModifier
An Entity that can modify values on the other Entities, specifically IModifiables. It is generally paired with IUpgradeable in order to ramp up modifiers as level increases. See IModifierDataCollection. See IModifiable. See IModifiableData. See IModifierService.
IModifierCache
A helper class that caches IModifiers for quick lookups.
IModifierData
IModifierDataCollection associated with its IModifier would contains multiple ModifierData. Each of the ModifierData would allow the IModifier to know how to affect the IModifiable.
IModifierDataCollection
Defines additional fields required by an entity's IEntityData if that entity has implemented IModifier's The values in this data are applied to the targets such as IStage and IGeneratorEntity that implement IModifiable See IModifier
IModifierFormula
This is used by the IEconomyService to apply numeric logic against groups of IModifier objects.
Given a target IModifiable this formula returns a value that represents the amount that all referenced IModifierData
objects grouped by IModifierGroupData resolve down to. As of 1.0, IModifierFormulas are binded as singletons
so there is the assumption only one instance of a type of IModifierFormula and IModifierFormulaData is available.
The above formula would replace "base" with baseAmount. It would also collect all IModifierData objects that target the referenced
IModifierGroupData ids and resolve those amounts down to a single value per IModifierGroupData. Those values are
injected in place of the ids. The result is a completely numeric formula that can then be parsed by the IModifierFormulaParser.
IModifierFormulaData
The data associated with a IModifierFormula
IModifierFormulaDataAsset<TData>
The data asset associated with IModifierFormulaData
IModifierFormulaParser
Parses a formula provided by IModifierFormula and returns a value
IModifierGroupData
A group of IModifierData objects for use in IModifierFormula parsing. Groups are created inversely by targeting the IModifierGroupData in the IModifierData objects.
IModifierGroupDataAsset<TData>
The data asset associated with IModifierGroupData
IModifierService
This IService manages and applies the IModifier and IModifiable.
IPayoutEntity
An IEntity that can be granted to the player either as an IBaseCollectorEntity output or a reward associated with completing certain in-game action.
IPayoutEntityData
Marker interface for the IEntityData associated with an IPayoutEntity. This is only used in referencing IGuidReferenceableAsset.
IPayoutProjection
This utility class represents the global payout rates per-millisecond for each ICurrency in the game up until the timeExpired timestamp. timeExpired represents the timestamp at which a payout rate changes, such as a ITimedBoost expiring.
IPhaseLoader
This class should store a sequence of ILoadPhase objects. When loaded it should iterate over each phase in the sequence and load it.
IPlotPointAction
IPlotPointFrameDatas contain a series of Plot Point Actions which can perform various animation and logical operations
IPlotPointActionData
IPlotPointActionDataAsset
IPlotPointActivationCondition
IPlotPointActivationConditionData
Contains the data associated with a IPlotPointActivationCondition
IPlotPointActivationConditionDataAsset
IPlotPointActivatorData
Associates IPlotPointActivationConditionDatas with IPlotPointSequenceDatas
IPlotPointActor
Plot Point Frames contain a collection of Plot Point Actors which represent visual elements in the scene
IPlotPointActorData
A bundle of data used for populating an IPlotPointActor
IPlotPointController
This class is responsible for the visual representation of the IPlotPointSequenceData.
IPlotPointData
Interface for all forms of IStaticData associated with Plot Points
IPlotPointDataAsset
The base interface for all IPlotPointData related data assets. This is only used when we do not (need to) specify the type of the plotPointData that this IGuidReferenceableAsset contains in editor code.
IPlotPointDataAsset<TPlotPointData>
The interface for all IPlotPointData related data asset. This is implemented by all IPlotPointData's data asset classes.
IPlotPointDataProvider
Data provider for storing and retrieving various instances of IPlotPointData
IPlotPointFrameData
Frames are discrete collections of data that tell the IPlotPointController what visuals to display and what actions to perform
IPlotPointFrameDataAsset
IPlotPointSequenceCollectionData
Container class, associated with an IStage and a collection of IPlotPointActivatorDatas
IPlotPointSequenceCollectionDataAsset
IPlotPointSequenceCollectionSavedData
Saved data for IPlotPointSequenceCollectionData, used to prevent the same plot points from activating multiple times
IPlotPointSequenceData
A collection of IPlotPointFrameData ids
IPlotPointSequenceDataAsset
IPlotPointService
IProcessEventsSavedDataLoadPhase
This ILoadPhase is responsible for processing ISavedData related to all IEventSettings.
IProduceState
While in this IGeneratorState, the associated IGeneratorEntity and move to a different IGeneratorState when it is done.
IProjectionCalculator
The helper class utilized by the IProjectionService that performs the actual projection calculations.
IProjectionService
A IService that is used to get projections of CurrencyAmount earned with respect to time, using the current global ICurrency payout per millisecond, and vice versa.
IRandomObtainedCurrencyReward
A IReward that can reward a random ICurrency based on a set of ITagConsumerData. The ICurrency must be available and obtained to show up in the pool of valid rewards.
IRandomObtainedCurrencyRewardData
The data associated with IRandomObtainedCurrencyRewards.
IRandomService
This IService manages generation of random values. This service's functionality could be overriden so that the seeds and/or random values are generated server-side.
IRandomUnobtainedCurrencyReward
A IReward that can reward a random ICurrency based on a set of ITagConsumerData. The ICurrency must be available but not obtained to show up in the pool of valid rewards.
IRandomUnobtainedCurrencyRewardData
The data associated with IRandomUnobtainedCurrencyRewards.
IRandomWeighted
IRangeRewardData
A IReward that gives a ranged amount.
IRarityData
This class currently acts as a special ITagData that can be identified by its type. For example, a rarityData is treated as a ITagData where only one can be applied to a single ICurrency. This is opposed to ICurrency tags where a single ICurrency can hold many ITagDatas. Them being separate types is also helpful for allowing the GuidReferenceAttribute control which of the two types can show up in which dropdowns in the Unity Inspector.
IRarityDataAsset<TData>
The asset that contains the IRarityData
IReward
IRewards are generally associated to with IGeneratorUnitTargetSequences and IGoals. They can be claimed when a target is hit in a IGeneratorUnitTargetSequence, when a IGoal is completed, or any other feats a player performs that give out awards. The IRewards can be deterministic, random, or even a IGachaReward.
IRewardData
The data associated with a IReward.
IRewardDataAsset<TData>
The asset that contains the IRewardData
IRewardService
This IService handles the loading and provides convenient way to fetch any IReward
ISavedData
The definition of an object that saves and loads the persistent state of an IEntity.
This is an optional component of the IEntity structure if the IEntityData implementation also extends ISavedDataProvider.
ISavedDataProvider
The IStaticData class that implements this interface implies that it is able to create an ISavedData.
ISerializer
Interface for serializing the data whether it is local or remote.
IService
This is used by our Service/IManagers when the Manager needs to setup or cleanup, which should not be performed in the constructor or destructor.
ISetContentIdLoadPhase
This ILoadPhase determines which IContent to load based on the IUserSavedData and active IEventSettings.
IStage
A IStage contains collections of IGeneratorEntitys and IGoals. A player progresses through a IStage by using the IGeneratorEntitys to generate ICurrency and completing IGoals. Once enough Goals have been completed the player can ascend to the next IStage.
IStageData
The data associated with a IStage.
IStageDataAsset<TData>
The asset that contains the IStageData
IStageSavedData
Saved data for a IStage.
IStandardContent
IStandardContent extends the basic IContent but adds ITrade, ITimedReward, and IBoost functionality that are common in idle games.
IStandardContentData
Contains data associated with a specific IStandardContent.
IStandardContentDataAsset<TData>
The IContentDataAsset<TData> that contains the IStandardContentData
IStandardContentFeatures
A component interface utilize by the IStandardContent that provides additional functionality such as ITrade, ITimedReward, and IBoost functionality that are common in idle games.
IStandardContentSavedData
IStandardEventContent
IStandardEventContent extends the basic IEventContent but adds additional functionality from IStandardContent.
IStandardEventContentData
The IEventContentData for the IStandardEventContent.
IStandardEventContentDataAsset<TData>
The IEventContentDataAsset<TData> that contains the IStandardEventContentData.
IStandardEventContentSavedData
IStartup
This class should handle starting the game. It also provides some access to IContent related data to use when determining what IContent to load.
IStateAction
An IStateAction is an IAction with the following rules:
- signifies the intent to alter ISavedData
- processes that do not lead to ISavedData changes should not be in this class
- Apply() may involve different IServices and IEntity
- is dispatched as an IAction after performing Apply()
IStaticData
The most basic requirements of serialized data in IdleKit which are later loaded by the IDataLoaderService.
Uses in idlekit-implementation are in conjunction with IGuidReferenceableAsset for serialization.
See IEntityData if you wish to create a model that has a corresponding controller. The raw IStaticData class is for creating either separated or multiple pieces of serialized data that will later be wrapped in a IEntityData.
ITagConsumerData
A utility interface that can be used by the IEntityData of any Entity which looks up other IEntity by Tag Id.
ITagData
ITagDatas are used to give an object a qualifier to be compared to. See tagDatas.
ITagDataAsset<TData>
The asset that contains the ITagData
ITaggedEntity
An IEntity that contains tagDatas information, that will be used when an another IEntity attempts any ITagData targeting logic.
ITaggedEntityData
An interface that specifies that the IEntityData must contain a list of tagIds referring to certain ITagDatas.
ITagRewardData
A IReward that uses ITagConsumerData to filter the potential ICurrencys it can grant.
ITagService
A centralized IService that deals with all ITagData related logic.
ITimedActivatable
A controller that has timer functionality to activate and deactivate an IActivatable.
ITimedActivatableData
Contains the data associated with a certain ITimedActivatable.
ITimedActivatableDataAsset<TData>
The asset that contains the ITimedActivatableData.
ITimedActivatableSavedData
Contains the ISavedData associated with a certain ITimedActivatable.
ITimedBoost
A class that provides IModifier functionality that doesn't need to be tied to a specific entity and is, instead, its own entity. Activation and deactivation of the IModifier is controlled via a subscription to the ITimerService.
ITimedBoostData
Contains the data associated with a certain ITimedBoost, which includes the data associated with the extended IModifier
ITimedBoostDataAsset<TData>
The asset that contains the ITimedBoostData
ITimedBoostSavedData
Saved data associated with a given ITimedBoost
ITimedReward
A controller that helps keep track of timers that can result in IRewards.
ITimedRewardData
The data associated with an ITimedReward
ITimedRewardSavedData
ISavedData for ITimedReward.
ITimedTrack
An ITimedActivatable whose activatable is an ITrack.
ITimedTrackData
ITimedTrackSavedData
ITimerListener
A class that is able to receive updates and event callbacks from the ITimerService. This class wraps an ITimerSubscription that contains subscription information.
ITimerService
ITimerService manages the Subscribe(ITimerListener) and Unsubscribe(ITimerListener) of ITimerListeners and notify them when time updates or timed events happen.
ITimerSubscription
This interface contains all the timer subscription information necessary for an ITimerListener to be used inside the ITimerService. It is intentional that only duration and startTimestamp as the other time related getters just calculate of those values.
ITimerTrunk
An extension to the ITimedReward that contains common idle game functionality such as isUnlocked and Unlock().
ITimerTrunkData
The IStaticData associated with the ITimerTrunk.
ITimerTrunkSavedData
The ISavedData associated with the ITimerTrunk
ITrack
An ITrack contains a list of IActivatables. A player progresses through the ITrack by completing the individual IActivatables sequentially. See activatables.
ITrackData
Contains the IEntityData associated with a certain ITrack.
ITrackDataAsset<TData>
The asset that contains the ITrackData.
ITrackSavedData
Contains the ISavedData associated with a certain ITrack.
ITrackService
ITrade
ITrades provide functionality allowing a player to exchange one ICurrency for another. The input and output ICurrencys that make up a ITrade are specified via tag Ids held in the ITradeData. This allows for multiple input and output ICurrencys to be specified on each ITrade. For example, a ITrade could be authored to exchange any ICurrencys tagged with both "Common" and "Generator" for a certain amount of "Soft" ICurrency.
ITradeData
ITradeDataAsset<TData>
The asset that contains the ITradeData
ITradeService
ITypedResolver<T>
A specialized interface version of IResolver that only allows resolving of
T
granting limited accesses to the IContainer.
IUnityEventListener
An interface that handles receiving platform or game engine specific events that do not originate from the IdleKit such as the Update(), FixedUpdate(), and ApplicationPause() events from the Unity engine.
The "events" mentioned here should not to be mistaken with IdleKit's IAction) and do not use the IActionService as this is an external facing class.
IUnlockable
Marks an IEntity as an IUnlockable so that the entity can be disabled during some in-game functions, such as a ICurrency that cannot be granted until it is available or forcefully obtained through a tutorial.
IUnlockableSavedData
Defines additional fields for a ISavedData that is associated with an IEntity that implements IUnlockable
IUpgradeable
This interface can be implemented by Entities that can be upgraded. An Upgradeable Entity will have to track an upgrade level which can be used to retrieve relevant data. In IdleKit, IUpgradeables are generally also IModifiers, tying upgradeLevel progression to the modifierDataIndex progression.
IUpgradeableCurrency
A more complex currency that can be upgraded and modify other Entities based on its upgrade level.
IUpgradeableCurrencyData
Contains the data associated with an UpgradeableCurrency IUpgradeableCurrency
IUpgradeableCurrencyDataAsset<TData>
The asset that contains the IUpgradeableCurrencyData
IUpgradeableCurrencySavedData
Saved data for IUpgradeableCurrency
IUpgradeableData
Contains the data associated to an Upgradeable Entity IUpgradeable
IUpgradeableSavedData
IUpgradeLevelData
Contains an array of IUpgradeRequirements. Used by IUpgradeables to decide when an upgrade is available.
IUpgradeRequirement
Defines a cost required to upgrade an IUpgradeable Entity such as a ICurrency or IUpgradeableCurrency
IUserSavedData
ISavedData for the Player/User not related to any IEntity. This can be used to store all player preference in the future.
IWaitToBuyState
While in this IGeneratorState the associated IGeneratorEntity can only be purchased by the player
IWaitToCollectState
While in this IGeneratorState the generated ICurrency created by associated IGeneratorEntity can be collected by the player
Enums
ModifierGroupOperation
PlotPointActionState
The potential states of an action