Different methods for instances of a ScriptableObject
Hi, I am working on an RPG-type game and was planning on using ScriptableObjects for things like items, skills, talents etc; mostly because it makes creating new instances easy inside the editor.
My dilemma is that each of these types of ScriptableObject have methods that need to be different from instance to instance; UseItem() for items, UnlockTalent() for talents etc. What is the best way to implement this?
The only way I can think of is to create a static class with methods for each described above that take a reference of the ScriptableObject type and then just have a huge Switch statement that will invoke the right code depending on which instance of the ScriptableObject is passed - but this doesn't seem very elegant!
Any hints or tips would be much appreciated. Thanks in advance.