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

Struct ComponentTypeSelector

Namespace: Aspid.FastTools.Types
Assembly: Aspid.FastTools.dll

Represents a marker field adding an Inspector dropdown that swaps the object's script to any subtype of the field's declaring class.

[Serializable]
public struct ComponentTypeSelector

Extension Methods​

TextInputBaseFieldTextSelectionExtensions.AddOnCursorIndexChange<ComponentTypeSelector, TValue>(ComponentTypeSelector, Action), TextInputBaseFieldTextSelectionExtensions.AddOnSelectIndexChange<ComponentTypeSelector, TValue>(ComponentTypeSelector, Action), INotifyValueChangedExtensions.AddValueChanged<ComponentTypeSelector, TValue>(ComponentTypeSelector, EventCallback<ChangeEvent<TValue>>), ProfilerMarkerExtensionsForGenerator.Marker<ComponentTypeSelector>(ComponentTypeSelector), TextInputBaseFieldTextSelectionExtensions.RemoveOnCursorIndexChange<ComponentTypeSelector, TValue>(ComponentTypeSelector, Action), TextInputBaseFieldTextSelectionExtensions.RemoveOnSelectIndexChange<ComponentTypeSelector, TValue>(ComponentTypeSelector, Action), INotifyValueChangedExtensions.RemoveValueChanged<ComponentTypeSelector, TValue>(ComponentTypeSelector, EventCallback<ChangeEvent<TValue>>), TextInputBaseFieldExtensions.SetAutoCorrection<ComponentTypeSelector, TValue>(ComponentTypeSelector, bool), TextInputBaseFieldTextSelectionExtensions.SetCursorIndex<ComponentTypeSelector, TValue>(ComponentTypeSelector, int), TextInputBaseFieldExtensions.SetDelayed<ComponentTypeSelector, TValue>(ComponentTypeSelector, bool), TextInputBaseFieldTextSelectionExtensions.SetDoubleClickSelectsWord<ComponentTypeSelector, TValue>(ComponentTypeSelector, bool), TextInputBaseFieldExtensions.SetHideMobileInput<ComponentTypeSelector, TValue>(ComponentTypeSelector, bool), TextInputBaseFieldExtensions.SetHidePlaceholderOnFocus<ComponentTypeSelector, TValue>(ComponentTypeSelector, bool), TextInputBaseFieldExtensions.SetHideSoftKeyboard<ComponentTypeSelector, TValue>(ComponentTypeSelector, bool), SliderExtensions.SetHighValue<ComponentTypeSelector, TValue>(ComponentTypeSelector, TValue), TextInputBaseFieldExtensions.SetKeyboardType<ComponentTypeSelector, TValue>(ComponentTypeSelector, TouchScreenKeyboardType), BaseFieldExtensions.SetLabel<ComponentTypeSelector, TValue>(ComponentTypeSelector, string), SliderExtensions.SetLowValue<ComponentTypeSelector, TValue>(ComponentTypeSelector, TValue), TextInputBaseFieldExtensions.SetMaskChar<ComponentTypeSelector, TValue>(ComponentTypeSelector, char), TextInputBaseFieldExtensions.SetMaxLength<ComponentTypeSelector, TValue>(ComponentTypeSelector, int), TextInputBaseFieldExtensions.SetPassword<ComponentTypeSelector, TValue>(ComponentTypeSelector, bool), TextInputBaseFieldExtensions.SetPlaceholder<ComponentTypeSelector, TValue>(ComponentTypeSelector, string), TextInputBaseFieldExtensions.SetReadOnly<ComponentTypeSelector, TValue>(ComponentTypeSelector, bool), TextInputBaseFieldTextSelectionExtensions.SetSelectAllOnFocus<ComponentTypeSelector, TValue>(ComponentTypeSelector, bool), TextInputBaseFieldTextSelectionExtensions.SetSelectAllOnMouseUp<ComponentTypeSelector, TValue>(ComponentTypeSelector, bool), TextInputBaseFieldTextSelectionExtensions.SetSelectIndex<ComponentTypeSelector, TValue>(ComponentTypeSelector, int), TextInputBaseFieldTextSelectionExtensions.SetSelectable<ComponentTypeSelector, TValue>(ComponentTypeSelector, bool), TextInputBaseFieldTextSelectionExtensions.SetTripleClickSelectsLine<ComponentTypeSelector, TValue>(ComponentTypeSelector, bool), INotifyValueChangedExtensions.SetValue<ComponentTypeSelector, TValue>(ComponentTypeSelector, TValue, bool)

Examples​

Place a field of this type in the root class; the Inspector lists all subtypes of BaseEnemy:

public abstract class BaseEnemy : MonoBehaviour
{
[SerializeField] private ComponentTypeSelector _typeSelector;
}

public class FastEnemy : BaseEnemy { }
public class TankEnemy : BaseEnemy { }

Remarks​

Picking a type writes the matching MonoScript asset to m_Script, turning the object into that subtype. The picker is constrained to the declaring class automatically.

Содержание