Show / Hide Table of Contents

    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. IAutoCollectState IProduceState IWaitToBuyState IWaitToCollectState

    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. IModifierFormulaData.formula = "base * 4 + ( modifierGroupId1 * modifierGroupId2 )"

    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

    IService for managing all plot point related classes during runtime including LoadPlotPoints() and CleanupPlotPoints(Boolean)

    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

    ISavedData for IStandardContent.

    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

    This IService helps with loading and retrieving ITracks.

    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

    Delegates

    OnApplicationPauseHandler

    OnApplicationTerminateHandler

    OnFixedUpdateHandler

    OnFramePlayed

    OnFrameSet

    OnLateUpdateHandler

    OnSequenceCompleted

    OnSequenceEnded

    OnSequenceLoaded

    OnSequenceQueued

    OnSequenceStarted

    OnUpdateHandler

    Back to top Copyright © 2020 East Side Games Inc.