Interface IDynamicValueContext
Context for evaluating Dynamic Values (passes as parameter to GetCurrentValue(IDynamicValueContext).
It provides a way to calculate IDynamicValue in different contexts.
In example IDynamicValue may be evaluated for User - in this case you should create UserDynamicValueContext.
Alternatively you may need to calculate IDynamicValue for crafting table PluginModule - in this case you should create ModuleContext.
Depending on context IDynamicValue may be evaluated in different ways. In example for UserDynamicValueContext Position will be retrieved from User, but for ModuleContext it will use a crafting table position. Some values, like ModuleModifiedValue, may only be evaluated for specific context, otherwise they will return base value. I.e. if you view Recipe from Ecopedia it will show unmodified ingredient amount and crafting time, but on crafting table it will show values modified by modules.
Namespace: Eco.Gameplay.DynamicValues
Assembly: Eco.Gameplay.dll
Syntax
public interface IDynamicValueContext
Properties
Position
Position where value should be evaluated (i.e. for LayerModifiedValue).
Declaration
Vector3 Position { get; }
Property Value
Type | Description |
---|---|
System.Numerics.Vector3 |
User
User for which value should be evaluated (i.e. for TalentModifiedValue).
Declaration
User User { get; }
Property Value
Type | Description |
---|---|
User |