Show / Hide Table of Contents

    Class GeneratorEntity

    Inheritance
    Object
    BaseCollectorEntity
    GeneratorEntity
    Implements
    IGeneratorEntity
    IBaseCollectorEntity
    IEntity
    IInjectable
    IModifiable
    IModifier
    Inherited Members
    BaseCollectorEntity._id
    BaseCollectorEntity.Id
    BaseCollectorEntity._baseCollectorEntityData
    BaseCollectorEntity.BaseCollectorEntityData
    BaseCollectorEntity._baseCollectorEntitySavedData
    BaseCollectorEntity.BaseCollectorEntitySavedData
    BaseCollectorEntity._baseCollectorData
    BaseCollectorEntity.BaseCollectorData
    BaseCollectorEntity._baseCollectorBalanceData
    BaseCollectorEntity.BaseCollectorBalanceData
    BaseCollectorEntity.ModifiableData
    BaseCollectorEntity._generatorState
    BaseCollectorEntity.GeneratorState
    BaseCollectorEntity.GeneratorStateType
    BaseCollectorEntity.MinimumDuration
    BaseCollectorEntity._minimumDuration
    BaseCollectorEntity.Duration
    BaseCollectorEntity._durationCache
    BaseCollectorEntity.CollectMultiplier
    BaseCollectorEntity._collectMultiplier
    BaseCollectorEntity.PayoutAmount
    BaseCollectorEntity._payoutAmountCache
    BaseCollectorEntity._payoutEntity
    BaseCollectorEntity.PayoutEntity
    BaseCollectorEntity.CostToBuy
    BaseCollectorEntity._actionService
    BaseCollectorEntity._dataService
    BaseCollectorEntity._currencyService
    BaseCollectorEntity._modifierService
    BaseCollectorEntity._generatorStates
    BaseCollectorEntity.OnModifierAction(ModifierAction)
    BaseCollectorEntity.CanBuy()
    BaseCollectorEntity.MeetsBuyCosts()
    BaseCollectorEntity.MeetsBuyUnlockRequirements()
    BaseCollectorEntity.IsBought()
    BaseCollectorEntity.CanCollect()
    BaseCollectorEntity.ChangeState<TState>()
    BaseCollectorEntity.GetPayoutAmount(Boolean, IModifier[])
    BaseCollectorEntity.GetDuration(Boolean, IModifier[])
    BaseCollectorEntity.RefreshCache()
    BaseCollectorEntity.RefreshPayout()
    BaseCollectorEntity.RefreshSpeed()
    BaseCollectorEntity.ModifierAffectsCategoryType<TModifierFormula>(IModifier)
    Object.Equals(Object)
    Object.Equals(Object, Object)
    Object.GetHashCode()
    Object.GetType()
    Object.MemberwiseClone()
    Object.ToString()
    Object.ReferenceEquals(Object, Object)
    Namespace: IdleKit.Gameplay
    Assembly: cs.temp.dll.dll
    Syntax
    public class GeneratorEntity : BaseCollectorEntity, IGeneratorEntity, IBaseCollectorEntity, IEntity, IInjectable, IModifiable, IModifier

    Constructors

    GeneratorEntity(String)

    Declaration
    public GeneratorEntity(string id)
    Parameters
    Type Name Description
    String id

    Fields

    _generatorBalanceData

    Declaration
    protected IGeneratorBalanceData _generatorBalanceData
    Field Value
    Type Description
    IGeneratorBalanceData

    _generatorData

    Declaration
    protected IGeneratorData _generatorData
    Field Value
    Type Description
    IGeneratorData

    _generatorEntityData

    Declaration
    protected IGeneratorEntityData _generatorEntityData
    Field Value
    Type Description
    IGeneratorEntityData

    _generatorEntitySavedData

    Declaration
    protected IGeneratorEntitySavedData _generatorEntitySavedData
    Field Value
    Type Description
    IGeneratorEntitySavedData

    _generatorUnitTargetSequence

    Declaration
    protected IGeneratorUnitTargetSequence _generatorUnitTargetSequence
    Field Value
    Type Description
    IGeneratorUnitTargetSequence

    Properties

    CanBeApplied

    Declaration
    public virtual bool CanBeApplied { get; }
    Property Value
    Type Description
    Boolean

    CostToAutomate

    Declaration
    public virtual double CostToAutomate { get; }
    Property Value
    Type Description
    Double

    GeneratorBalanceData

    Declaration
    public virtual IGeneratorBalanceData GeneratorBalanceData { get; }
    Property Value
    Type Description
    IGeneratorBalanceData

    GeneratorData

    Declaration
    public virtual IGeneratorData GeneratorData { get; }
    Property Value
    Type Description
    IGeneratorData

    GeneratorEntityData

    Declaration
    public virtual IGeneratorEntityData GeneratorEntityData { get; }
    Property Value
    Type Description
    IGeneratorEntityData

    GeneratorEntitySavedData

    Declaration
    public virtual IGeneratorEntitySavedData GeneratorEntitySavedData { get; }
    Property Value
    Type Description
    IGeneratorEntitySavedData

    GeneratorUnitTargetSequence

    Declaration
    public virtual IGeneratorUnitTargetSequence GeneratorUnitTargetSequence { get; }
    Property Value
    Type Description
    IGeneratorUnitTargetSequence

    ModifierDataCollection

    Declaration
    public virtual IModifierDataCollection ModifierDataCollection { get; }
    Property Value
    Type Description
    IModifierDataCollection

    ModifierDataIndex

    Declaration
    public virtual int ModifierDataIndex { get; }
    Property Value
    Type Description
    Int32

    ModifierId

    Declaration
    public virtual string ModifierId { get; }
    Property Value
    Type Description
    String

    PayoutAmountPerMillisecond

    Declaration
    public virtual double PayoutAmountPerMillisecond { get; }
    Property Value
    Type Description
    Double

    Methods

    Automate()

    Declaration
    public virtual void Automate()

    Buy()

    Declaration
    public override void Buy()
    Overrides
    BaseCollectorEntity.Buy()

    CanAutomate()

    Declaration
    public virtual bool CanAutomate()
    Returns
    Type Description
    Boolean

    CanIncrementGeneratorUnit(Int32)

    Declaration
    public virtual bool CanIncrementGeneratorUnit(int value)
    Parameters
    Type Name Description
    Int32 value
    Returns
    Type Description
    Boolean

    Cleanup(IEntityLoaderService)

    Declaration
    public override void Cleanup(IEntityLoaderService entityLoaderService)
    Parameters
    Type Name Description
    IEntityLoaderService entityLoaderService
    Overrides
    BaseCollectorEntity.Cleanup(IEntityLoaderService)

    Collect(Int64)

    Declaration
    public override void Collect(long count = 1L)
    Parameters
    Type Name Description
    Int64 count
    Overrides
    BaseCollectorEntity.Collect(Int64)

    GeneratorUnitChanged(Int32, Int32)

    Declaration
    protected virtual void GeneratorUnitChanged(int finalUnitTargetIndex, int startingUnitTargetIndex)
    Parameters
    Type Name Description
    Int32 finalUnitTargetIndex
    Int32 startingUnitTargetIndex

    GetAffordableUnitsToNextTarget(Boolean, IModifier[])

    Declaration
    public virtual int GetAffordableUnitsToNextTarget(bool applyModifiers, IModifier[] excludedModifiers = null)
    Parameters
    Type Name Description
    Boolean applyModifiers
    IModifier[] excludedModifiers
    Returns
    Type Description
    Int32

    GetIncrementGeneratorUnitCost(Int32, Boolean, IModifier[])

    Declaration
    public virtual double GetIncrementGeneratorUnitCost(int unitsToIncrease, bool applyModifiers, IModifier[] excludedModifiers = null)
    Parameters
    Type Name Description
    Int32 unitsToIncrease
    Boolean applyModifiers
    IModifier[] excludedModifiers
    Returns
    Type Description
    Double

    GetMaxAffordableUnits(Boolean, Int32, IModifier[])

    Declaration
    public virtual int GetMaxAffordableUnits(bool applyModifiers, int maxCap = -1, IModifier[] excludedModifiers = null)
    Parameters
    Type Name Description
    Boolean applyModifiers
    Int32 maxCap
    IModifier[] excludedModifiers
    Returns
    Type Description
    Int32

    GetModifiedPayout(ref Double, IModifier[])

    Declaration
    protected override void GetModifiedPayout(ref double payout, IModifier[] excludedModifiers)
    Parameters
    Type Name Description
    Double payout
    IModifier[] excludedModifiers
    Overrides
    BaseCollectorEntity.GetModifiedPayout(ref Double, IModifier[])

    GetModifiedSpeed(ref Double, IModifier[])

    Declaration
    protected override void GetModifiedSpeed(ref double speed, IModifier[] excludedModifiers)
    Parameters
    Type Name Description
    Double speed
    IModifier[] excludedModifiers
    Overrides
    BaseCollectorEntity.GetModifiedSpeed(ref Double, IModifier[])

    GetSingleGeneratorUnitCost(Double, Int32, Double)

    The formula is updated on September 5th, 2018

    "This formula is designed to keep the Unit Cost close to the Base Cost for the first few units to slow down the perceived initial ramp up of costs and allow the player to buy multiple units after they first build a generator. The (rampingCoefficient-1) keeps the formula close to the baseProgressionCost and (baseProgressionCost+…) is relevant, but the (rampingCoefficient^(Units-1)) will increase exponentially as the player buys units and (baseProgressionCost+…) will no longer be relevant."

    -Jim

    Declaration
    protected virtual double GetSingleGeneratorUnitCost(double baseGeneratorUnitCost, int currentGeneratorUnit, double rampingCoefficient)
    Parameters
    Type Name Description
    Double baseGeneratorUnitCost
    Int32 currentGeneratorUnit
    Double rampingCoefficient
    Returns
    Type Description
    Double

    The cost of the specified generator unit.

    Exceptions
    Type Condition
    InvalidGeneratorUnitException

    GetSingleGeneratorUnitCost(Int32, Boolean, IModifier[])

    Declaration
    protected virtual double GetSingleGeneratorUnitCost(int currentGeneratorUnit, bool applyModifiers, IModifier[] excludedModifiers = null)
    Parameters
    Type Name Description
    Int32 currentGeneratorUnit
    Boolean applyModifiers
    IModifier[] excludedModifiers
    Returns
    Type Description
    Double

    GetUnmodifiedPayout()

    Declaration
    protected override double GetUnmodifiedPayout()
    Returns
    Type Description
    Double
    Overrides
    BaseCollectorEntity.GetUnmodifiedPayout()

    HandleGeneratorUnitIncremented(IncrementGeneratorUnitStateAction)

    Declaration
    protected virtual void HandleGeneratorUnitIncremented(IncrementGeneratorUnitStateAction incrementGeneratorUnitStateAction)
    Parameters
    Type Name Description
    IncrementGeneratorUnitStateAction incrementGeneratorUnitStateAction

    IncrementGeneratorUnit(Int32)

    Declaration
    public virtual void IncrementGeneratorUnit(int value)
    Parameters
    Type Name Description
    Int32 value

    InitGeneratorState()

    Declaration
    protected override void InitGeneratorState()
    Overrides
    BaseCollectorEntity.InitGeneratorState()

    Initialize()

    Declaration
    public override void Initialize()
    Overrides
    BaseCollectorEntity.Initialize()

    Inject(IResolver)

    Declaration
    public override void Inject(IResolver resolver)
    Parameters
    Type Name Description
    IResolver resolver
    Overrides
    BaseCollectorEntity.Inject(IResolver)

    IsAutomated()

    Declaration
    public virtual bool IsAutomated()
    Returns
    Type Description
    Boolean

    MeetsAutomationCosts()

    Declaration
    protected virtual bool MeetsAutomationCosts()
    Returns
    Type Description
    Boolean

    MeetsAutomationUnlockRequirements()

    Declaration
    public virtual bool MeetsAutomationUnlockRequirements()
    Returns
    Type Description
    Boolean

    ModifierAffectsPay(IModifier)

    Declaration
    protected override bool ModifierAffectsPay(IModifier modifier)
    Parameters
    Type Name Description
    IModifier modifier
    Returns
    Type Description
    Boolean
    Overrides
    BaseCollectorEntity.ModifierAffectsPay(IModifier)

    ModifierAffectsSpeed(IModifier)

    Declaration
    protected override bool ModifierAffectsSpeed(IModifier modifier)
    Parameters
    Type Name Description
    IModifier modifier
    Returns
    Type Description
    Boolean
    Overrides
    BaseCollectorEntity.ModifierAffectsSpeed(IModifier)

    SendPayoutChangedAction(Double)

    Declaration
    protected override void SendPayoutChangedAction(double previousPayout)
    Parameters
    Type Name Description
    Double previousPayout
    Overrides
    BaseCollectorEntity.SendPayoutChangedAction(Double)

    SendSpeedChangedAction(Int64)

    Declaration
    protected override void SendSpeedChangedAction(long previousSpeed)
    Parameters
    Type Name Description
    Int64 previousSpeed
    Overrides
    BaseCollectorEntity.SendSpeedChangedAction(Int64)

    SendStateChangedAction(IGeneratorState)

    Declaration
    protected override void SendStateChangedAction(IGeneratorState previousState)
    Parameters
    Type Name Description
    IGeneratorState previousState
    Overrides
    BaseCollectorEntity.SendStateChangedAction(IGeneratorState)

    Implements

    IGeneratorEntity
    IBaseCollectorEntity
    IEntity
    IInjectable
    IModifiable
    IModifier
    Back to top Copyright © 2020 East Side Games Inc.