mirror of
https://github.com/maxartz15/ScriptableData.git
synced 2025-01-22 06:04:49 +01:00
max
22fee290ce
Instance indicator colors
Added instance colors to better indicate what is being displayed. Code refactor.
ScriptableData
Data
ScriptableData stores runtime data to be accessed by scripts that reference the ScriptableObject. It has a OnValueChangedEvent to subscribe when data changes. With this workflow you can remove dependencies and increase flexibility.
Extendable Data:
public class ScriptableData<T0> : ScriptableObject {}
public class ScriptableData<T0, T1> : ScriptableObject {}
public class ScriptableData<T0, T1, T2> : ScriptableObject {}
public class ScriptableData<T0, T1, T2, T3> : ScriptableObject {}
Example:
[CreateAssetMenu(menuName = "ScriptableData/Data/Vector3", order = 147)]
public class SDVector3 : ScriptableData<Vector3> {}
Events
ScriptableEvent does not contain any runtime data but can be used to send events (with data) around.
Base Event
[CreateAssetMenu(menuName = "ScriptableData/Event/Event", order = 147)]
public class ScriptableEvent : ScriptableObject {}
Extendable Events:
public class ScriptableEvent<T0> : ScriptableObject {}
public class ScriptableEvent<T0, T1> : ScriptableObject {}
public class ScriptableEvent<T0, T1, T2> : ScriptableObject {}
public class ScriptableEvent<T0, T1, T2, T3> : ScriptableObject {}
Example:
[CreateAssetMenu(menuName = "ScriptableData/Event/Vector3", order = 147)]
public class SEVector3 : ScriptableEvent<Vector3> {}
ExtendedScriptableObjectDrawer
If you don't want to use the extended drawer, use the [NonExpandable]
attribute.
Example:
[NonExpandable]
public SEVector3 myVector3;
Install
LICENSE
Overall package is licensed under MIT, unless otherwise noted in the 3rd party licenses file and/or source code.
Description
Languages
C#
100%