Show / Hide Table of Contents

Class Skill

Inheritance
System.Object
ItemLinkable
ItemRepresentation
Item
Skill
Implements
IItem
ILinkableParameterized<LinkConfig>
IHasIcon
IController
IViewController
IHasUniversalID
ILinkableParameterized<System.Int32>
ILinkable
System.ComponentModel.INotifyPropertyChanged
IThreadSafeSubscriptions
ISubscriptions<ThreadSafeSubscriptions>
ISubscriptions
Inherited Members
Item.ItemsInitialized
Item.RepresentsItem(Item)
Item.RepresentsItemType(Type)
Item.CanStack(Item)
Item.Merge(Item, Int32, Int32, Boolean)
Item.ClearMaxStackSizeCache()
Item.GetMaxStackSize(Type)
Item.Destroy(Int32)
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.Initialize()
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.Skills
Assembly: Eco.Gameplay.dll
Syntax
[ItemGroup("Skills")]
public abstract class Skill : Item, IItem, ILinkableParameterized<LinkConfig>, IHasIcon, IController, IViewController, IHasUniversalID, ILinkableParameterized<int>, ILinkable, INotifyPropertyChanged, IThreadSafeSubscriptions, ISubscriptions<ThreadSafeSubscriptions>, ISubscriptions

Constructors

Skill()

Declaration
protected Skill()

Fields

CalculateStarsNeededForSpecialty

Determines star cost for a specialty, can be overriden by mods.

Declaration
public static Func<User, Type, int> CalculateStarsNeededForSpecialty
Field Value
Type Description
System.Func<User, System.Type, System.Int32>

Properties

AddStrategy

Declaration
public virtual AdditiveStrategy AddStrategy { get; }
Property Value
Type Description
AdditiveStrategy

AllSkills

Declaration
public static Skill[] AllSkills { get; }
Property Value
Type Description
Skill[]

CanBeRefunded

Declaration
public virtual bool CanBeRefunded { get; }
Property Value
Type Description
System.Boolean

Education

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

Experience

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

ExperienceToLevel

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

IsRoot

Declaration
public bool IsRoot { get; }
Property Value
Type Description
System.Boolean

IsSpecialty

Declaration
public bool IsSpecialty { get; }
Property Value
Type Description
System.Boolean

Level

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

MaxLevel

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

Multiplier

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

MultiStrategy

Declaration
public virtual MultiplicativeStrategy MultiStrategy { get; }
Property Value
Type Description
MultiplicativeStrategy

OnSkillsChanged

Declaration
public static ThreadSafeAction OnSkillsChanged { get; }
Property Value
Type Description
ThreadSafeAction

PercentTowardsNextLevel

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

Prerequisites

Declaration
public RequiresSkillAttribute[] Prerequisites { get; }
Property Value
Type Description
RequiresSkillAttribute[]

RootSkillTree

Declaration
public SkillTree RootSkillTree { get; }
Property Value
Type Description
SkillTree

SkillTree

Declaration
public SkillTree SkillTree { get; }
Property Value
Type Description
SkillTree

SpecialtySkillTree

Declaration
public SkillTree SpecialtySkillTree { get; }
Property Value
Type Description
SkillTree

StarsSpent

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

Subscriptions

Declaration
public ref ThreadSafeSubscriptions Subscriptions { get; }
Property Value
Type Description
ThreadSafeSubscriptions

Talents

Declaration
public List<TalentGroup> Talents { get; }
Property Value
Type Description
System.Collections.Generic.List<TalentGroup>

Teacher

Declaration
public User Teacher { get; set; }
Property Value
Type Description
User

Tier

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

TimeLearned

Declaration
public double TimeLearned { get; }
Property Value
Type Description
System.Double

Title

Declaration
public virtual string Title { get; }
Property Value
Type Description
System.String

Methods

BuildUnlocks()

Declaration
public static void BuildUnlocks()

Clone()

Declaration
public override Item Clone()
Returns
Type Description
Item
Overrides
Item.Clone()

DebugSetLevel(Int32)

Declaration
public void DebugSetLevel(int level)
Parameters
Type Name Description
System.Int32 level

ForceSetLevel(User, Int32)

Declaration
public void ForceSetLevel(User user, int level)
Parameters
Type Name Description
User user
System.Int32 level

InitializeSkills()

Static skill initializer.

Declaration
public static void InitializeSkills()

IsDiscovered()

Declaration
public bool IsDiscovered()
Returns
Type Description
System.Boolean

Learn(User, Boolean, Boolean, Boolean)

Declaration
public Task<Result> Learn(User user, bool selfTeach, bool spendSkillPoints = true, bool force = false)
Parameters
Type Name Description
User user
System.Boolean selfTeach
System.Boolean spendSkillPoints
System.Boolean force
Returns
Type Description
System.Threading.Tasks.Task<Result>

LevelUpMax(User)

Declaration
public void LevelUpMax(User user)
Parameters
Type Name Description
User user

NameAndLevel(Int32, Boolean)

Declaration
public LocString NameAndLevel(int currentLevel, bool showText)
Parameters
Type Name Description
System.Int32 currentLevel
System.Boolean showText
Returns
Type Description
LocString

OnLearned(User)

Declaration
public virtual void OnLearned(User user)
Parameters
Type Name Description
User user

OnLevelUp(User)

Declaration
public virtual void OnLevelUp(User user)
Parameters
Type Name Description
User user

OnLinkClicked(TooltipOrigin, TooltipClickContext, User)

Declaration
public override void OnLinkClicked(TooltipOrigin origin, TooltipClickContext clickContext, User user)
Parameters
Type Name Description
TooltipOrigin origin
TooltipClickContext clickContext
User user
Overrides
Item.OnLinkClicked(TooltipOrigin, TooltipClickContext, User)

OnReset(User)

Declaration
public virtual void OnReset(User user)
Parameters
Type Name Description
User user

ResetTalents(User)

Declaration
public void ResetTalents(User user)
Parameters
Type Name Description
User user

ShouldShowSkills(User)

Declaration
public static bool ShouldShowSkills(User user)
Parameters
Type Name Description
User user
Returns
Type Description
System.Boolean

ToString()

Declaration
public override string ToString()
Returns
Type Description
System.String
Overrides
Item.ToString()

UILinkContent(Int32)

Declaration
public LocString UILinkContent(int count)
Parameters
Type Name Description
System.Int32 count
Returns
Type Description
LocString

Unlearn(User, Single, Boolean, Boolean)

Declaration
public Task<Result> Unlearn(User user, float percentageOfXp, bool isSelf = false, bool force = false)
Parameters
Type Name Description
User user
System.Single percentageOfXp
System.Boolean isSelf
System.Boolean force
Returns
Type Description
System.Threading.Tasks.Task<Result>

Events

PropertyChanged

Declaration
public event PropertyChangedEventHandler PropertyChanged
Event Type
Type Description
System.ComponentModel.PropertyChangedEventHandler

Implements

IItem
ILinkableParameterized<T>
IHasIcon
IController
IViewController
IHasUniversalID
ILinkableParameterized<T>
ILinkable
System.ComponentModel.INotifyPropertyChanged
IThreadSafeSubscriptions
ISubscriptions<TSubscriptionsList>
ISubscriptions

Extension Methods

ItemStackExtensions.NameAndNum(ItemRepresentation, Int32)
ItemUtils.CanItemExistInInventories(Item)
ItemUtils.CloneIfNeeded(Item)
TagUtils.Tags(Item)
TagUtils.TagNames(Object, Boolean)
TagUtils.TagDisplayNames(Object, Boolean)
SkillRPCs.SkillClick(Skill, Player)
SkillRPCs.OpenUI(Skill, Player)
SkillRPCs.AbandonSpecialty(Skill, User, Boolean)
SkillRPCs.GetSkilledPlayers(Skill)
SkillRPCs.Learn(Skill, Player, 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)
ILinkableTooltipLibrary.SkillLinkClicked(Skill, User)
ILinkableTooltipLibrary.AdminSkillMenu(Skill, User)
☀
☾
In This Article
Back to top
Copyright (c) Strange Loop Games 2021
☀
☾