Skip to main content

SGD Settings

class SoftKitty.SGD_Settings : ScriptableObject

This is the core data object of the system, handling system-wide configuration settings.

You can create this object via the context menu in any Project folder: Create → SoftKitty → Data Objects → General Settings Data

You can access the settings interface in: Project Settings → SoftKitty


Properties​

public static SGD_Settings Instance​

readonly

Returns the singleton instance assigned in ProjectSettings > SoftKitty > Data Settings. Access this to get global system setting.


public static bool isRuntime​

readonly

Returns whether the system is currently in runtime mode (true or false). Useful for checking if the game is running or if you’re in the editor.


public LayerMask GroundLayer​

The ground LayerMask in the General Settings, GroundLayer is used to identify ground, walls, roofs, and terrain in the project.

Example:

LayerMask _mask = SGD_Settings.Instance.GroundLayer; //Get
SGD_Settings.Instance.GroundLayer = mMask; //Set

public AssetLoader CustomLoader​

The custom AssetLoader in the General Settings, custom AssetLoader is used to load resources from Asset Bundles or Unity Addressables..

Example:

AssetLoader _loader = SGD_Settings.Instance.CustomLoader; //Get
SGD_Settings.Instance.CustomLoader = mLoader; //Set

public float VolumeMultiplier​

The global volume multiplier for sounds played by SoftKitty packages.(0F~1F)

Example:

float _volumeMultiplier = SGD_Settings.Instance.VolumeMultiplier; //Get
SGD_Settings.Instance.VolumeMultiplier = 0.5F; //Set

public int AudioPriority​

The audio priority for sounds played by SoftKitty packages. Lower values indicate higher priority.(0~256)

Example:

int _audioPriority = SGD_Settings.Instance.AudioPriority; //Get
SGD_Settings.Instance.AudioPriority = 100; //Set

Methods​

public T GetData<T>() where T : DataObject​

Retrieves DataObject like EntityManagerObject, AttributeObject, and OverTimeEffectObject. These objects are defined in : ProjectSettings > SoftKitty > Data Settings > Data

Example:

EntityManagerObject _entityManager = SGD_Settings.Instance.GetData<EntityManagerObject>();
AttributeObject _attributeSetting = SGD_Settings.Instance.GetData<AttributeObject>();
OverTimeEffectObject _overTimeEffectSetting = SGD_Settings.Instance.GetData<OverTimeEffectObject>();

public void RefreshDatabase()​

Refresh the sub-data objects like EntityManager, Attributes, and OverTimeEffects. This is required if you manually assigned them via script to the database.