Condition.cs

v4.0

Condition is a Scriptable Object which holds all the information about the condition, and the Stat objects it affects. It implements IHaveUid and IHaveDictionaries

Condition.cs
public string ObjectName
public string ObjectType

public string description;
        
public List<ConditionTime> conditionTimes
public List<ConditionPointEffect> pointEffects
        
public bool Periodic => _periodic;
public float Period => _period;
public bool Instant => _instant;
public bool Stack => _stack;
public int Level => _level;
public string DisplayName => _displayName;

public Condition ExpirationCondition

Setup

The objectType of a Condition is the name of the folder the Scriptable Object is in. Create one named as you'd like, and right-click inside to select the menu option:

/Create/Game Modules/Create/Condition

This will create a Condition Scriptable Object in your project. Select that and view the Inspector to begin setting up your data. The name of the Scriptable Object is saved as the objectName value.

Note that names of Condition objects must be unique.

Inspector

Select your new object and view it in the Inspector. Here is where you can manage all the details about this Condition. Note there are multiple tabs, each of which provide access to specific, and optional, information.

Here you can adjust the main details about the Condition, as well as the length of time the condition should be active, and the effects the condition has on points -- both periodic effects and one time effects.

pageMain SettingspageCondition TimepageEffects on Points

Manage Conditions

Based on the Condition type selected in the drop down menu, you will be able to see and manage the "Main Settings" and "Stats" of each Condition object. In the "Dictionaries" tab, you can set up and expose KeyValue pairs which can be managed while viewing each individual Condition Scriptable Object.

Last updated