Class SerializableMonoScript<T>
Namespace: Aspid.FastTools.Types
Assembly: Aspid.FastTools.dll
SerializableMonoScript constrained to types assignable to T.
[Serializable]
public sealed class SerializableMonoScript<T> : SerializableMonoScript, ISerializableType, ISerializationCallbackReceiver
Type Parameters
T
Base constraint type; the picker offers only types assignable to it.
Inheritance
object ← SerializableTypeBase ← SerializableMonoScript ← SerializableMonoScript<T>
Implements
ISerializableType, ISerializationCallbackReceiver
Extension Methods
TextInputBaseFieldTextSelectionExtensions.AddOnCursorIndexChange<SerializableMonoScript<T>, TValue>(SerializableMonoScript<T>, Action), TextInputBaseFieldTextSelectionExtensions.AddOnSelectIndexChange<SerializableMonoScript<T>, TValue>(SerializableMonoScript<T>, Action), INotifyValueChangedExtensions.AddValueChanged<SerializableMonoScript<T>, TValue>(SerializableMonoScript<T>, EventCallback<ChangeEvent<TValue>>), ProfilerMarkerExtensionsForGenerator.Marker<SerializableMonoScript<T>>(SerializableMonoScript<T>), TextInputBaseFieldTextSelectionExtensions.RemoveOnCursorIndexChange<SerializableMonoScript<T>, TValue>(SerializableMonoScript<T>, Action), TextInputBaseFieldTextSelectionExtensions.RemoveOnSelectIndexChange<SerializableMonoScript<T>, TValue>(SerializableMonoScript<T>, Action), INotifyValueChangedExtensions.RemoveValueChanged<SerializableMonoScript<T>, TValue>(SerializableMonoScript<T>, EventCallback<ChangeEvent<TValue>>), TextInputBaseFieldExtensions.SetAutoCorrection<SerializableMonoScript<T>, TValue>(SerializableMonoScript<T>, bool), TextInputBaseFieldTextSelectionExtensions.SetCursorIndex<SerializableMonoScript<T>, TValue>(SerializableMonoScript<T>, int), TextInputBaseFieldExtensions.SetDelayed<SerializableMonoScript<T>, TValue>(SerializableMonoScript<T>, bool), TextInputBaseFieldTextSelectionExtensions.SetDoubleClickSelectsWord<SerializableMonoScript<T>, TValue>(SerializableMonoScript<T>, bool), TextInputBaseFieldExtensions.SetHideMobileInput<SerializableMonoScript<T>, TValue>(SerializableMonoScript<T>, bool), TextInputBaseFieldExtensions.SetHidePlaceholderOnFocus<SerializableMonoScript<T>, TValue>(SerializableMonoScript<T>, bool), TextInputBaseFieldExtensions.SetHideSoftKeyboard<SerializableMonoScript<T>, TValue>(SerializableMonoScript<T>, bool), SliderExtensions.SetHighValue<SerializableMonoScript<T>, TValue>(SerializableMonoScript<T>, TValue), TextInputBaseFieldExtensions.SetKeyboardType<SerializableMonoScript<T>, TValue>(SerializableMonoScript<T>, TouchScreenKeyboardType), BaseFieldExtensions.SetLabel<SerializableMonoScript<T>, TValue>(SerializableMonoScript<T>, string), SliderExtensions.SetLowValue<SerializableMonoScript<T>, TValue>(SerializableMonoScript<T>, TValue), TextInputBaseFieldExtensions.SetMaskChar<SerializableMonoScript<T>, TValue>(SerializableMonoScript<T>, char), TextInputBaseFieldExtensions.SetMaxLength<SerializableMonoScript<T>, TValue>(SerializableMonoScript<T>, int), TextInputBaseFieldExtensions.SetPassword<SerializableMonoScript<T>, TValue>(SerializableMonoScript<T>, bool), TextInputBaseFieldExtensions.SetPlaceholder<SerializableMonoScript<T>, TValue>(SerializableMonoScript<T>, string), TextInputBaseFieldExtensions.SetReadOnly<SerializableMonoScript<T>, TValue>(SerializableMonoScript<T>, bool), TextInputBaseFieldTextSelectionExtensions.SetSelectAllOnFocus<SerializableMonoScript<T>, TValue>(SerializableMonoScript<T>, bool), TextInputBaseFieldTextSelectionExtensions.SetSelectAllOnMouseUp<SerializableMonoScript<T>, TValue>(SerializableMonoScript<T>, bool), TextInputBaseFieldTextSelectionExtensions.SetSelectIndex<SerializableMonoScript<T>, TValue>(SerializableMonoScript<T>, int), TextInputBaseFieldTextSelectionExtensions.SetSelectable<SerializableMonoScript<T>, TValue>(SerializableMonoScript<T>, bool), TextInputBaseFieldTextSelectionExtensions.SetTripleClickSelectsLine<SerializableMonoScript<T>, TValue>(SerializableMonoScript<T>, bool), INotifyValueChangedExtensions.SetValue<SerializableMonoScript<T>, TValue>(SerializableMonoScript<T>, TValue, bool)
Examples
public class EnemySpawner : MonoBehaviour
{
[SerializeField] private SerializableMonoScript<Enemy>; _enemyType;
private void Spawn() =>
gameObject.AddComponent(_enemyType.Type);
}
Remarks
Unity serializes a field by its declared type, so a SerializableMonoScript<T> assigned from code
to a field declared as SerializableMonoScript is reloaded unconstrained: the type survives, the
constraint does not.
Properties
BaseType
Gets the constraint the stored type must satisfy; Object when unconstrained.
public override Type BaseType { get; }