Show / Hide Table of Contents

Class SkillTree

Helper class to send skill trees to client, skills are organized into trees based on reflection, with skills that have no required skills being root-level tree skills

Inheritance
System.Object
SkillTree
Implements
IController
IViewController
IHasUniversalID
System.ComponentModel.INotifyPropertyChanged
Namespace: Eco.Gameplay.Skills
Assembly: Eco.Gameplay.dll
Syntax
public class SkillTree : Object, IController, IViewController, IHasUniversalID, INotifyPropertyChanged

Constructors

SkillTree()

Declaration
public SkillTree()

Fields

ResearchProjectChangedEvent

Declaration
public static ThreadSafeAction<SkillTree> ResearchProjectChangedEvent
Field Value
Type Description
ThreadSafeAction<SkillTree>

Properties

AllSkillTrees

Declaration
public static SkillTree[] AllSkillTrees { get; }
Property Value
Type Description
SkillTree[]

CachedSkillReqs

The requirements built from the tier.

Declaration
public SkillReqs CachedSkillReqs { get; }
Property Value
Type Description
SkillReqs

ControllerID

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

Discovered

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

DiscoveredBy

The user who Discovered the Skill.

Declaration
public User DiscoveredBy { get; }
Property Value
Type Description
User

DiscoveredEvent

Declaration
public static ThreadSafeAction<SkillTree> DiscoveredEvent { get; }
Property Value
Type Description
ThreadSafeAction<SkillTree>

IngredientChildren

The collection of the skill tree children by its ingredients.

Declaration
public ICollection<SkillTree> IngredientChildren { get; set; }
Property Value
Type Description
System.Collections.Generic.ICollection<SkillTree>

IsProfession

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

IsUsingSkillBook

True if there are recipes available for the skill book.

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

LevelToRecipeUnlocked

The map of recipes unlocked at each level.

Declaration
public Dictionary<int, List<RecipeFamily>> LevelToRecipeUnlocked { get; set; }
Property Value
Type Description
System.Collections.Generic.Dictionary<System.Int32, System.Collections.Generic.List<RecipeFamily>>

MarkedUpName

Declaration
public LocString MarkedUpName { get; }
Property Value
Type Description
LocString

NonAbandonedPlayerCountAtEachLevel

Level for professions means 'how many specialties under that profession'. For specialties, means the level of the specialty.

Declaration
public List<int> NonAbandonedPlayerCountAtEachLevel { get; set; }
Property Value
Type Description
System.Collections.Generic.List<System.Int32>

Parent

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

ProfessionChildren

The children of the skill tree in profession/speciality basis.

Declaration
public SkillTree[] ProfessionChildren { get; }
Property Value
Type Description
SkillTree[]

ProfessionSkillTrees

Declaration
public static SkillTree[] ProfessionSkillTrees { get; }
Property Value
Type Description
SkillTree[]

RequiredSkillLevelsMap

The children of this skill based on its SkillBook ingredients. (research basis), The key is the child skill tree and the value is the level of the parent skill at which it can unlock at.

Declaration
public Dictionary<SkillTree, int> RequiredSkillLevelsMap { get; }
Property Value
Type Description
System.Collections.Generic.Dictionary<SkillTree, System.Int32>

RequiresScroll

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

ResearchProject

The current active research project.

Declaration
public WorkOrder ResearchProject { get; set; }
Property Value
Type Description
WorkOrder

ResearchSkillTrees

Declaration
public static SkillTree[] ResearchSkillTrees { get; }
Property Value
Type Description
SkillTree[]

ResearchWorkOrders

Current active workorders for the skill book that tech this skill.

Declaration
public ControllerList<WorkOrder> ResearchWorkOrders { get; set; }
Property Value
Type Description
ControllerList<WorkOrder>

Root

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

SkillBookItem

Declaration
public Item SkillBookItem { get; }
Property Value
Type Description
Item

SkillBookTable

Declaration
public Item SkillBookTable { get; }
Property Value
Type Description
Item

SkillItemIngredients

Declaration
public IngredientElement[] SkillItemIngredients { get; }
Property Value
Type Description
IngredientElement[]

SkillScrollItem

Declaration
public Item SkillScrollItem { get; }
Property Value
Type Description
Item

SkillScrollMarkedUpName

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

Specialty

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

StaticSkill

The item in the global list of items representing the skill

Declaration
public Skill StaticSkill { get; }
Property Value
Type Description
Skill

TimeDiscovered

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

TotalProfessions

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

TotalSpecialties

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

TreeResearchRank

Specifies the node depth for the research tree.

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

Methods

BuildSkillTrees()

Build the skill trees.

Declaration
public static void BuildSkillTrees()

ChildrenRecursive()

Declaration
public IEnumerable<SkillTree> ChildrenRecursive()
Returns
Type Description
System.Collections.Generic.IEnumerable<SkillTree>

ChildrenRecursive(Func<SkillTree, Boolean>)

Declaration
public IEnumerable<SkillTree> ChildrenRecursive(Func<SkillTree, bool> condition)
Parameters
Type Name Description
System.Func<SkillTree, System.Boolean> condition
Returns
Type Description
System.Collections.Generic.IEnumerable<SkillTree>

Initialize()

Declaration
public void Initialize()

InitializeSkillTrees()

Declaration
public static void InitializeSkillTrees()

IsDiscovered(Type)

Declaration
public static bool IsDiscovered(Type skillType)
Parameters
Type Name Description
System.Type skillType
Returns
Type Description
System.Boolean

OnWorkOrderUpdate(WorkOrder)

Declaration
public static void OnWorkOrderUpdate(WorkOrder workOrder)
Parameters
Type Name Description
WorkOrder workOrder

RootTreeFromSkill(Type)

Declaration
public static SkillTree RootTreeFromSkill(Type skillType)
Parameters
Type Name Description
System.Type skillType
Returns
Type Description
SkillTree

SkillTreeFromSkill(Type)

Declaration
public static SkillTree SkillTreeFromSkill(Type skillType)
Parameters
Type Name Description
System.Type skillType
Returns
Type Description
SkillTree

SpecialtyTreeFromSkill(Type)

Declaration
public static SkillTree SpecialtyTreeFromSkill(Type skillType)
Parameters
Type Name Description
System.Type skillType
Returns
Type Description
SkillTree

ToString()

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

TryDiscover(Double, User)

Declaration
public void TryDiscover(double timeLearned, User discoverer)
Parameters
Type Name Description
System.Double timeLearned
User discoverer

Events

PropertyChanged

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

Implements

IController
IViewController
IHasUniversalID
System.ComponentModel.INotifyPropertyChanged

Extension Methods

TagUtils.TagNames(Object, Boolean)
TagUtils.TagDisplayNames(Object, Boolean)
ClientSetViewExtensions.SetClassOfProperty(Object, Player, String, String, Int32)
TypeTooltipExtensions.UILinkGeneric(Object)
SkillTooltipLibrary.GetUserSkillTooltipTitle(SkillTree)
SkillTooltipLibrary.UserSkillTooltip(SkillTree)
☀
☾
In This Article
Back to top
Copyright (c) Strange Loop Games 2021
☀
☾