Namespace ScriptableFramework
Classes
AnimatorList
A ReferenceList
which can hold a list of Animators. Also has some convenience methods for interacting
with all items at once.
AnimatorListPopulator
Utility component to populate a AnimatorList
with Animators in the scene.
AnimatorReference
A ReferenceItem
which can hold a Animator.
AnimatorReferencePopulator
Utility component to populate a AnimatorReference
with a Animator in the scene.
AppEvent
An RuntimeObject which acts as an event handle.
AppEvent<T>
An abstract generic RuntimeObject which acts as an event handle. Inherit from this class to create your own event. Give your class the CreateAssetMenu attribute to serialize an instance of it.
AppEventBase
Base class for generic and non generic AppEvents
AppEventListener
A component which listens to an AppEvent. In the inspector, drag and drop in the list of responses to set up which funtions will be called when the event is raised.
AppEventListener<T>
A generic component which listens to an AppEvent of the same type. Inherit from this class to create your own AppEventListener sub class. In the inspector, drag and drop in the list of responses to set up which funtions will be called when the event is raised.
AppEventListenerBase
Base class for all AppEventListener components.
AppVersion
Stores the current version of the software being developed. Adhears to Semantic Versioning.
BoolEvent
An event handle designed to pass a bool.
BoolEventListener
A component which listens to a BoolEvent. In the inspector, drag and drop in the list of responses to set up which funtions will be called when the event is raised. Due to limitations in serializing generic types, public references for both events and responses need to be explicitly written when creating a BoolEventListener
BoolList
A ValueList
which can hold a list of bools.
BoolResponse
A UnityEvent
able to take a dynamic bool.
BoolValue
A ValueItem
which can hold a bool.
BoundsEvent
An event handle designed to pass a Bounds.
BoundsEventListener
A component which listens to a BoundsEvent. In the inspector, drag and drop in the list of responses to set up which funtions will be called when the event is raised. Due to limitations in serializing generic types, public references for both events and responses need to be explicitly written when creating a BoundsEventListener
BoundsResponse
A UnityEvent
able to take a dynamic Bounds.
ColorEvent
An event handle designed to pass a Color.
ColorEventListener
A component which listens to a ColorEvent. In the inspector, drag and drop in the list of responses to set up which funtions will be called when the event is raised. Due to limitations in serializing generic types, public references for both events and responses need to be explicitly written when creating a ColorEventListener
ColorList
A ValueList
which can hold a list of bools.
ColorResponse
A UnityEvent
able to take a dynamic Color.
ColorValue
A ValueItem
which can hold a Color.
Dragable
Apply this to all UI elements that can be dragged by the mouse so that inputs don't clash with things like cameras.
Extensions
A collection of useful extension methods that probably should've already existed in the base .NET/Unity APIs.
FloatEvent
An event handle designed to pass a float.
FloatEventListener
A component which listens to a FloatEvent. In the inspector, drag and drop in the list of responses to set up which funtions will be called when the event is raised. Due to limitations in serializing generic types, public references for both events and responses need to be explicitly written when creating a FloatEventListener
FloatList
A ValueList
which can hold a list of floats.
FloatResponse
A UnityEvent
able to take a dynamic float.
FloatValue
A ValueItem
which can hold a float.
FoldoutAttribute
Use this to organise your public properties in the inspector into collapsable groups.
GameObjectList
A ReferenceList
which can hold a list of GameObjects.
GameObjectListPopulator
Utility component to populate a GameObjectList
with GameObjects in the scene.
GameObjectReference
A ReferenceItem
which can hold a GameObject.
GameObjectReferencePopulator
Utility component to populate a GameObjectReference
with a GameObject in the scene.
InputValidation
Utility class for validating when certain types of input are possible.
IntEvent
An event handle designed to pass an int.
IntEventListener
A component which listens to a IntEvent. In the inspector, drag and drop in the list of responses to set up which funtions will be called when the event is raised. Due to limitations in serializing generic types, public references for both events and responses need to be explicitly written when creating a IntEventListener
IntList
A ValueList
which can hold a list of ints.
IntResponse
A UnityEvent
able to take a dynamic int.
IntValue
A ValueItem
which can hold a int.
MeshRendererList
A ReferenceList
which can hold a list of MeshRenderers.
MeshRendererListPopulator
Utility component to populate a MeshRendererList
with MeshRenderers in the scene.
MeshRendererReference
A ReferenceItem
which can hold a MeshRenderer.
MeshRendererReferencePopulator
Utility component to populate a MeshRendererReference
with a MeshRenderer in the scene.
Platform
A collection of properties with values that vary depending on the current platform
ReferenceItem<T>
An abstract generic RuntimeObject which encapsulates a given reference type. Inherit from this class to create your own RuntimeReference sub class. Give your class the CreateAssetMenu attribute to serialize an instance of it.
ReferenceList<T>
A constrained version of RuntimeList that can only be used on reference types.
RuntimeItem<T>
A generic RuntimeObject that stores a single object.
RuntimeList<T>
An abstract generic RuntimeObject which encapsulates the List class. Inherit from this class to create your own RuntimeList sub class. Give your class the CreateAssetMenu attribute to serialize an instance of it.
RuntimeObject
Base class for most of the Scriptable Framework API. These object types that will be reset on application start.
RuntimeObjectManager
Utility class designed purely for the resetting of any ScriptableObject
in a Resources directory that derives from RuntimeObject
.
SceneAsset
Class used to serialize a reference to a scene asset that can be used at runtime in a build, when the asset can no longer be directly referenced. This caches the scene name based on the SceneAsset to use at runtime to load.
SceneAsset.SceneLoadException
Exception that is raised when there is an issue resolving and loading a scene reference.
SearchableEnumAttribute
Put this attribute on a public (or SerialzeField) enum in a MonoBehaviour or ScriptableObject to get an improved enum selector popup. The enum list is scrollable and can be filtered by typing.
StateChange
A helper component designed for quickly allowing control over a StateMachine by hooking it up to UI objects through either static or dynamic function assignment.
StateMachine
A high level wrapper class that encapsulates a GameObjectList
and drives the active state of each
object according to a given list index that represents a state.
StateMachineBase
StateMachineController
A high level wrapper class that encapsulates a list of StateMachine
s and drives the active state of each
sub object according to a given list index that represents a state.
StateMachineReset
If using the StateMachineAPI in your scene, it is recommended to have an instance of this in your scene as well to allow for proper initialisation.
StateToggle
A helper component designed for quickly allowing control over a StateMachine by hooking it up to Toggles through dynamic function assignment. The Toggle would also respond to changes made to the StateMachine.
StringEvent
An event handle designed to pass a string.
StringEventListener
A component which listens to a StringEvent. In the inspector, drag and drop in the list of responses to set up which funtions will be called when the event is raised. Due to limitations in serializing generic types, public references for both events and responses need to be explicitly written when creating a StringEventListener
StringList
A ValueList
which can hold a list of DataStrings which can be used in place of regular Strings.
StringResponse
A UnityEvent
able to take a dynamic string.
StringValue
A ValueItem
which can hold a DataString which can be used in place of a regular String.
TransformList
A ReferenceList
which can hold a list of Transforms.
TransformListPopulator
Utility component to populate a TransformList
with Transforms in the scene.
TransformReference
A ReferenceItem
which can hold a Transform.
TransformReferencePopulator
Utility component to populate a TransformReference
with a Transform in the scene.
ValueItem<T>
An abstract generic RuntimeObject which encapsulates a given value type. Inherit from this class to create your own RuntimeValue sub class. Give your class the CreateAssetMenu attribute to serialize an instance of it. A default value can be optionally set in the inspector.
ValueList<T>
An abstract generic RuntimeList which encapsulates a given value type. Inherit from this class to create your own ValueList sub class. Give your class the CreateAssetMenu attribute to serialize an instance of it. A default list can be optionally set in the inspector.
Vector2Event
An event handle designed to pass a Vector2.
Vector2EventListener
A component which listens to a Vector3Event. In the inspector, drag and drop in the list of responses to set up which funtions will be called when the event is raised. Due to limitations in serializing generic types, public references for both events and responses need to be explicitly written when creating a Vector3EventListener
Vector2List
A ValueList
which can hold a list of Vector2s.
Vector2Response
A UnityEvent
able to take a dynamic Vector2.
Vector2Value
A ValueItem
which can hold a Vector2.
Vector3Event
An event handle designed to pass a Vector3.
Vector3EventListener
A component which listens to a Vector3Event. In the inspector, drag and drop in the list of responses to set up which funtions will be called when the event is raised. Due to limitations in serializing generic types, public references for both events and responses need to be explicitly written when creating a Vector3EventListener
Vector3List
A ValueList
which can hold a list of Vector3s.
Vector3Response
A UnityEvent
able to take a dynamic Vector3.
Vector3Value
A ValueItem
which can hold a Vector3.
Structs
DataString
A value type that encapsulates a regular string object. Can implicitly cast to and from a regular
string and is compatible with the ValueItem
and ValueList
API.
Interfaces
IReferenceContainer
To be used in both ReferenceList
and ReferenceItem
so that their common fields can be enforced
through a common interface.
IValueContainer
To be used in both ValueList
and ValueItem
so that their common fields can be enforced
through a common interface.
Enums
DefaultState
A set of possible states a StateMachine
can default to.
PathType
An enum to allow changing which type of path to use via the inspector.
ReleaseType
Defines the various types of releases which dictate what sort of suffix is added to the end of the version string.