DataObject
class SoftKitty.DataObject : ScriptableObject
This is a ScriptableObject data class that can be assigned to the Soft Kitty database via:
Project Settings → SoftKitty → Data Settings → Data

You can inherit from this class to create your own data objects and let the SGD_Settings database manage them.
Example
namespace SoftKitty
{
public class MyCustomDataObject : DataObject{
/// your properties and methods
//This will be the display name in the database
public override string DataName() { return "My Custom Data"; }
//This string must be exactly same as your class name.
public override string TypeString() { return "SoftKitty.MyCustomDataObject"; }
public override string GetDataJson(){
//Write your code to return a json string of your data content.
//This is for generating the data hash code.
}
public override int GetDataCount(){
//Write your code to return an integer count number of your data content.
//This is for generating the data hash code.
}
}
//Example code to access your DataObject anywhere via SGD_Settings:
MyCustomDataObject _data = SGD_Settings.Instance.GetData<MyCustomDataObject>();
}
Properties
public string Hash
Returns a unique hash string of the data content.
Methods
public void GenerateUniqueHash()
Call this method in Editor mode whenever the data is modified to generate a unique hash string based on the data content.
Other systems that access this data object use the hash to determine whether they need to update their content in response to your changes.