Перейти к основному содержимому

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; }

Property Value​

Type