Show / Hide Table of Contents

Class EfficiencyModule

Abstract class for efficiency modules (both resource and speed) which may be used to enhance a table. It may only Modify(ModuleModifiedValue) values which associated to same SkillType or if SkillType not specified then apply to any value.

Inheritance
System.Object
ItemLinkable
ItemRepresentation
Item
PluginModule
EfficiencyModule
Implements
IItem
ILinkableParameterized<LinkConfig>
ILinkable
IHasIcon
IController
IViewController
IHasUniversalID
IModule
Inherited Members
PluginModule.PluginBenefitsDescription()
PluginModule.CompatibleTablesDescription()
PluginModule.Initialize()
PluginModule.ModuleTypes
Item.ItemsInitialized
Item.RepresentsItem(Item)
Item.RepresentsItemType(Type)
Item.CanStack(Item)
Item.Merge(Item, Int32, Int32, Boolean)
Item.OnLinkClicked(TooltipOrigin, TooltipClickContext, User)
Item.ClearMaxStackSizeCache()
Item.GetMaxStackSize(Type)
Item.Destroy(Int32)
Item.Clone()
Item.ToString()
Item.UnsubscribeUnique()
Item.OnUsed(Player, ItemStack)
Item.OnLeftClicked(Player, ItemStack)
Item.OnSelected(Player)
Item.OnDeselected(Player)
Item.Get(IRepresentsItem)
Item.Get(Int32)
Item.Get<T>()
Item.Get(Type)
Item.Get(String)
Item.ShowName(Type, Single)
Item.ShowName(Type, Int32)
Item.ShowName<T>(Int32)
Item.NameAndNum(Type, Int32)
Item.GetSkillbookForSkillType(Type)
Item.CreatingItem(Type)
Item.GetCreatedObj(Type)
Item.TypeIsUnique(Type)
Item.GetNonUniqueOrClone(Int32)
Item.GetNonUniqueOrClone(Type)
Item.NameAndNum(Type, Single)
Item.GetItemByString(User, String)
Item.GetID(Item)
Item.GetID(Type)
Item.HasID(Type)
Item.GetID<T>()
Item.GetType(Int32)
Item.GetType(String)
Item.Create<T>(Int32)
Item.Create(Type, Int32)
Item.Create<T>()
Item.Create(Type)
Item.IconName
Item.IconComment
Item.TypeID
Item.Type
Item.DisplayName
Item.Name
Item.IsUnique
Item.Fuel
Item.IsFuel
Item.WeightWithoutModifiers
Item.Weight
Item.HasWeight
Item.IsCarried
Item.IgnoreAuth
Item.Yield
Item.HasYield
Item.HasCrop
Item.CanBeCurrency
Item.MakesRoads
Item.Compostable
Item.ResourcePile
Item.CanAirInteraction
Item.Category
Item.Hidden
Item.Group
Item.MaxStackSize
Item.IsWasteProduct
Item.IsStackable
Item.StackingHash
Item.GetDescription
Item.HandOrigin
Item.CanBeHeld
Item.IsTool
Item.CustomHighlight
Item.AllItemsIncludingHidden
Item.AllItemsExceptHidden
Item.RandomItem
ItemRepresentation.RepresentsItemType(Item)
ItemRepresentation.RepresentativeHash()
ItemLinkable.ShowName(Single)
ItemLinkable.ShowName(Int32)
ItemLinkable.UILinkAndNumber(Single)
ItemLinkable.UILinkAndNumber(Int32)
ItemLinkable.UILinkAndNumber(Int32, String)
ItemLinkable.UILinkAndNumberAndTier(Int32, Int32)
ItemLinkable.UILinkAndNumberAndTierPrepend(Int32, Int32, String)
ItemLinkable.UILinkAndNumberNoText(Int32)
ItemLinkable.UILinkContent()
ItemLinkable.UILinkContent(Boolean)
ItemLinkable.NameAndNum(Int32)
ItemLinkable.UILinkAndStyledNumber(Int32)
ItemLinkable.UILinkContent(LocString)
ItemLinkable.UILinkNoNumber(Int32)
ItemLinkable.UILinkContent(LinkConfig)
ItemLinkable.ItemIconUILink(LocString)
ItemLinkable.DisplayNamePlural
ItemLinkable.MarkedUpName
ItemLinkable.ControllerID
Namespace: Eco.Gameplay.Modules
Assembly: Eco.Gameplay.dll
Syntax
[ItemGroup("Upgrade")]
public abstract class EfficiencyModule : PluginModule, IItem, ILinkableParameterized<LinkConfig>, ILinkable, IHasIcon, IController, IViewController, IHasUniversalID, IModule

Constructors

EfficiencyModule(ModuleTypes, Single)

Declaration
protected EfficiencyModule(ModuleTypes moduleTypes, float multiplier)
Parameters
Type Name Description
ModuleTypes moduleTypes
System.Single multiplier

EfficiencyModule(ModuleTypes, Single, Type, Single)

Declaration
protected EfficiencyModule(ModuleTypes moduleTypes, float genericMultiplier, Type skillType, float skillMultiplier)
Parameters
Type Name Description
ModuleTypes moduleTypes
System.Single genericMultiplier
System.Type skillType
System.Single skillMultiplier

Properties

Benefits

Declaration
public override IEnumerable<LocString> Benefits { get; }
Property Value
Type Description
System.Collections.Generic.IEnumerable<LocString>
Overrides
PluginModule.Benefits

GenericMultiplier

Module efficiency generic multiplier (applies to all recipes). Dynamic value in Modify(ModuleModifiedValue) will be multiplied on this to get final value.

Declaration
public float GenericMultiplier { get; }
Property Value
Type Description
System.Single

SkillMultiplier

Module efficiency skill-related multiplier (only applies to recipes for SkillType). Dynamic value in Modify(ModuleModifiedValue) will be multiplied on this to get final value.

Declaration
public float SkillMultiplier { get; }
Property Value
Type Description
System.Single

SkillType

Module will only be applied to values associated with same SkillType if specified.

Declaration
public Type SkillType { get; }
Property Value
Type Description
System.Type

SkillTypeID

Declaration
public int SkillTypeID { get; }
Property Value
Type Description
System.Int32

Methods

Modify(ModuleModifiedValue)

Modified value using the module. I.e. if ValueType is Efficiency then it may be decreased by some percent.

Declaration
public override float Modify(ModuleModifiedValue value)
Parameters
Type Name Description
ModuleModifiedValue value
Returns
Type Description
System.Single
Overrides
PluginModule.Modify(ModuleModifiedValue)

Implements

IItem
ILinkableParameterized<T>
ILinkable
IHasIcon
IController
IViewController
IHasUniversalID
IModule

Extension Methods

ItemStackExtensions.NameAndNum(ItemRepresentation, Int32)
ItemUtils.CanItemExistInInventories(Item)
ItemUtils.CloneIfNeeded(Item)
TagUtils.Tags(Item)
TagUtils.TagNames(Object, Boolean)
TagUtils.TagDisplayNames(Object, Boolean)
ClientSetViewExtensions.SetClassOfProperty(Object, Player, String, String, Int32)
MarketplaceExtensions.IsPaidItem(Item)
TypeTooltipExtensions.UILinkGeneric(Object)
EconomyTooltipLibrary.BuyItTooltip(Item, User, TooltipOrigin)
EconomyTooltipLibrary.SellItTooltip(Item, User, TooltipOrigin)
ILinkableTooltipLibrary.ItemLinkClicked(Item, TooltipOrigin)
☀
☾
In This Article
Back to top
Copyright (c) Strange Loop Games 2021
☀
☾