canBeTrainedset true can have multiple
Masterylevels, while other
Statobjects, as well as
ItemAttributeobjects, have a single level.
MasteryLevelsis a Scriptable Object, which you can create in your project by right-clicking the project view:
/Create/Game Modules/Create/Mastery Levels
The object can hold any number of individual
MasteryLevelobjects. In my game Legend of the Stones, we use "Novice", "Expert", "Master", and "Grand Master", but you can of course name them however you'd like. You can also have multiple
MasteryLevelsavailable to your project.
When you use the Inspector to set
ItemAttributeobjects to have an affect on specific
Statobjects, you're creating and populating
ModificationLevelobjects. These hold all the details about how one thing affects another. In general you shouldn't have to care about this, but feel free to look at the scripts to see how it all works.
When you select a
MasteryLevelsobject, you are unable to edit the details directly. Instead, click the "Manage Mastery Levels" button.
The Editor Window which opens will allow you to edit the details of the object. If you have multiple
MasteryLevelsobjects, select the one you'd like to manage using the drop down near the top.
Here you can create, rename, and reorder individual Mastery Levels. Select them from the tabs in the middle to update the
Dictionariescontent for each Mastery Level.
The Dictionaries tab allows you to create keys which are added to each Mastery Level, and each Mastery Level tab will allow you to populate the dictionary keys with values.
Here you can set up the keys available for all Mastery Levels of this
MasteryLevelsobject. Values can be set individually on each