Hex Terrains Framework
Search Results for

    Show / Hide Table of Contents

    Class StateMachineMb

    Inheritance
    object
    Object
    Component
    Behaviour
    MonoBehaviour
    StateMachineMb
    AutoTickStateMachineMb
    Implements
    IStateMachine
    Inherited Members
    MonoBehaviour.IsInvoking()
    MonoBehaviour.CancelInvoke()
    MonoBehaviour.Invoke(string, float)
    MonoBehaviour.InvokeRepeating(string, float, float)
    MonoBehaviour.CancelInvoke(string)
    MonoBehaviour.IsInvoking(string)
    MonoBehaviour.StartCoroutine(string)
    MonoBehaviour.StartCoroutine(string, object)
    MonoBehaviour.StartCoroutine(IEnumerator)
    MonoBehaviour.StartCoroutine_Auto(IEnumerator)
    MonoBehaviour.StopCoroutine(IEnumerator)
    MonoBehaviour.StopCoroutine(Coroutine)
    MonoBehaviour.StopCoroutine(string)
    MonoBehaviour.StopAllCoroutines()
    MonoBehaviour.print(object)
    MonoBehaviour.destroyCancellationToken
    MonoBehaviour.useGUILayout
    MonoBehaviour.didStart
    MonoBehaviour.didAwake
    MonoBehaviour.runInEditMode
    Behaviour.enabled
    Behaviour.isActiveAndEnabled
    Component.GetComponent(Type)
    Component.GetComponent<T>()
    Component.TryGetComponent(Type, out Component)
    Component.TryGetComponent<T>(out T)
    Component.GetComponent(string)
    Component.GetComponentInChildren(Type, bool)
    Component.GetComponentInChildren(Type)
    Component.GetComponentInChildren<T>(bool)
    Component.GetComponentInChildren<T>()
    Component.GetComponentsInChildren(Type, bool)
    Component.GetComponentsInChildren(Type)
    Component.GetComponentsInChildren<T>(bool)
    Component.GetComponentsInChildren<T>(bool, List<T>)
    Component.GetComponentsInChildren<T>()
    Component.GetComponentsInChildren<T>(List<T>)
    Component.GetComponentInParent(Type, bool)
    Component.GetComponentInParent(Type)
    Component.GetComponentInParent<T>(bool)
    Component.GetComponentInParent<T>()
    Component.GetComponentsInParent(Type, bool)
    Component.GetComponentsInParent(Type)
    Component.GetComponentsInParent<T>(bool)
    Component.GetComponentsInParent<T>(bool, List<T>)
    Component.GetComponentsInParent<T>()
    Component.GetComponents(Type)
    Component.GetComponents(Type, List<Component>)
    Component.GetComponents<T>(List<T>)
    Component.GetComponents<T>()
    Component.GetComponentIndex()
    Component.CompareTag(string)
    Component.CompareTag(TagHandle)
    Component.SendMessageUpwards(string, object, SendMessageOptions)
    Component.SendMessageUpwards(string, object)
    Component.SendMessageUpwards(string)
    Component.SendMessageUpwards(string, SendMessageOptions)
    Component.SendMessage(string, object)
    Component.SendMessage(string)
    Component.SendMessage(string, object, SendMessageOptions)
    Component.SendMessage(string, SendMessageOptions)
    Component.BroadcastMessage(string, object, SendMessageOptions)
    Component.BroadcastMessage(string, object)
    Component.BroadcastMessage(string)
    Component.BroadcastMessage(string, SendMessageOptions)
    Component.transform
    Component.gameObject
    Component.tag
    Object.GetInstanceID()
    Object.GetHashCode()
    Object.Equals(object)
    Object.InstantiateAsync<T>(T)
    Object.InstantiateAsync<T>(T, Transform)
    Object.InstantiateAsync<T>(T, Vector3, Quaternion)
    Object.InstantiateAsync<T>(T, Transform, Vector3, Quaternion)
    Object.InstantiateAsync<T>(T, int)
    Object.InstantiateAsync<T>(T, int, Transform)
    Object.InstantiateAsync<T>(T, int, Vector3, Quaternion)
    Object.InstantiateAsync<T>(T, int, ReadOnlySpan<Vector3>, ReadOnlySpan<Quaternion>)
    Object.InstantiateAsync<T>(T, int, Transform, Vector3, Quaternion)
    Object.InstantiateAsync<T>(T, int, Transform, Vector3, Quaternion, CancellationToken)
    Object.InstantiateAsync<T>(T, int, Transform, ReadOnlySpan<Vector3>, ReadOnlySpan<Quaternion>)
    Object.InstantiateAsync<T>(T, int, Transform, ReadOnlySpan<Vector3>, ReadOnlySpan<Quaternion>, CancellationToken)
    Object.InstantiateAsync<T>(T, InstantiateParameters, CancellationToken)
    Object.InstantiateAsync<T>(T, int, InstantiateParameters, CancellationToken)
    Object.InstantiateAsync<T>(T, Vector3, Quaternion, InstantiateParameters, CancellationToken)
    Object.InstantiateAsync<T>(T, int, Vector3, Quaternion, InstantiateParameters, CancellationToken)
    Object.InstantiateAsync<T>(T, int, ReadOnlySpan<Vector3>, ReadOnlySpan<Quaternion>, InstantiateParameters, CancellationToken)
    Object.Instantiate(Object, Vector3, Quaternion)
    Object.Instantiate(Object, Vector3, Quaternion, Transform)
    Object.Instantiate(Object)
    Object.Instantiate(Object, Scene)
    Object.Instantiate<T>(T, InstantiateParameters)
    Object.Instantiate<T>(T, Vector3, Quaternion, InstantiateParameters)
    Object.Instantiate(Object, Transform)
    Object.Instantiate(Object, Transform, bool)
    Object.Instantiate<T>(T)
    Object.Instantiate<T>(T, Vector3, Quaternion)
    Object.Instantiate<T>(T, Vector3, Quaternion, Transform)
    Object.Instantiate<T>(T, Transform)
    Object.Instantiate<T>(T, Transform, bool)
    Object.Destroy(Object, float)
    Object.Destroy(Object)
    Object.DestroyImmediate(Object, bool)
    Object.DestroyImmediate(Object)
    Object.FindObjectsOfType(Type)
    Object.FindObjectsOfType(Type, bool)
    Object.FindObjectsByType(Type, FindObjectsSortMode)
    Object.FindObjectsByType(Type, FindObjectsInactive, FindObjectsSortMode)
    Object.DontDestroyOnLoad(Object)
    Object.DestroyObject(Object, float)
    Object.DestroyObject(Object)
    Object.FindSceneObjectsOfType(Type)
    Object.FindObjectsOfTypeIncludingAssets(Type)
    Object.FindObjectsOfType<T>()
    Object.FindObjectsByType<T>(FindObjectsSortMode)
    Object.FindObjectsOfType<T>(bool)
    Object.FindObjectsByType<T>(FindObjectsInactive, FindObjectsSortMode)
    Object.FindObjectOfType<T>()
    Object.FindObjectOfType<T>(bool)
    Object.FindFirstObjectByType<T>()
    Object.FindAnyObjectByType<T>()
    Object.FindFirstObjectByType<T>(FindObjectsInactive)
    Object.FindAnyObjectByType<T>(FindObjectsInactive)
    Object.FindObjectsOfTypeAll(Type)
    Object.FindObjectOfType(Type)
    Object.FindFirstObjectByType(Type)
    Object.FindAnyObjectByType(Type)
    Object.FindObjectOfType(Type, bool)
    Object.FindFirstObjectByType(Type, FindObjectsInactive)
    Object.FindAnyObjectByType(Type, FindObjectsInactive)
    Object.ToString()
    Object.name
    Object.hideFlags
    object.Equals(object, object)
    object.GetType()
    object.MemberwiseClone()
    object.ReferenceEquals(object, object)
    Namespace: Fwt.Core.StateMachines
    Assembly: fwt.core.dll
    Syntax
    public abstract class StateMachineMb : MonoBehaviour, IStateMachine

    Fields

    CurrentState

    Declaration
    public ISmState CurrentState
    Field Value
    Type Description
    ISmState

    SortedStates

    Declaration
    public Dictionary<Type, SmStateMb> SortedStates
    Field Value
    Type Description
    Dictionary<Type, SmStateMb>

    States

    Declaration
    public List<SmStateMb> States
    Field Value
    Type Description
    List<SmStateMb>

    Methods

    Awake()

    Declaration
    protected virtual void Awake()

    GetState(int)

    Retrieves the state at the specified index within the state collection.

    Declaration
    public ISmState GetState(int stateIndex)
    Parameters
    Type Name Description
    int stateIndex

    The zero-based index of the state to retrieve. Must be greater than or equal to 0 and less than the total number of states.

    Returns
    Type Description
    ISmState

    The state at the specified index if it exists; otherwise, null.

    Remarks

    If the state collection is null or the specified index is out of range, the method returns null.

    GetState(Type)

    Retrieves the state instance associated with the specified type.

    Declaration
    public ISmState GetState(Type type)
    Parameters
    Type Name Description
    Type type

    The type for which to retrieve the corresponding state. Cannot be null.

    Returns
    Type Description
    ISmState

    The state instance associated with the specified type, or null if no matching state is found.

    GetState<TState>(Type)

    Retrieves the state object of the specified type and attempts to cast it to the requested state interface.

    Declaration
    public TState GetState<TState>(Type type) where TState : ISmState
    Parameters
    Type Name Description
    Type type

    The type of the state object to retrieve.

    Returns
    Type Description
    TState

    An instance of TState if the state object can be cast to the specified type; otherwise, the default value for TState.

    Type Parameters
    Name Description
    TState

    The state interface type to return. Must implement ISmState.

    OnValidateStates()

    Declaration
    [ContextMenu("Setup States")]
    protected virtual void OnValidateStates()

    Start()

    Declaration
    protected virtual void Start()

    SwitchState(ISmState)

    Transitions the state machine to the specified new state.

    Declaration
    public void SwitchState(ISmState newState)
    Parameters
    Type Name Description
    ISmState newState

    The state to switch to. If newState is the same as the current state, no transition occurs. Can be null to clear the current state.

    Remarks

    This method prepares the current state to stop before switching, and prepares the new state to run after the transition. If the new state is null, the state machine will have no active state after the call.

    SwitchState(int)

    Transitions the state machine to the state at the specified index.

    Declaration
    public ISmState SwitchState(int stateIndex)
    Parameters
    Type Name Description
    int stateIndex

    The zero-based index of the state to switch to. Must correspond to a valid state within the state machine.

    Returns
    Type Description
    ISmState

    The state object representing the new active state after the transition.

    SwitchState<TState>()

    Switches the state machine to the specified state type and returns the new state instance if successful.

    Declaration
    public TState SwitchState<TState>() where TState : ISmState
    Returns
    Type Description
    TState

    An instance of TState representing the new state if the switch is successful; otherwise, the default value for TState.

    Type Parameters
    Name Description
    TState

    The type of state to switch to. Must implement ISmState.

    Remarks

    If the requested state type is not available or cannot be switched to, the method returns the default value for TState. This method is typically used to transition the state machine to a specific state and obtain a strongly-typed reference to it.

    SwitchState<TState, TContext>(TState, TContext)

    Transitions the state machine to the specified new state, providing the associated context for the state.

    Declaration
    public void SwitchState<TState, TContext>(TState newState, TContext context) where TState : ISmStateWithContext<TContext>
    Parameters
    Type Name Description
    TState newState

    The state to transition to. If equal to the current state, no transition occurs.

    TContext context

    The context object to associate with the new state. This is set on the state before it is started.

    Type Parameters
    Name Description
    TState

    The type of the state to transition to. Must implement ISmStateWithContext<TContext>.

    TContext

    The type of the context object to be associated with the new state.

    Remarks

    If the current state is not null, it is prepared to stop before the transition. The new state's context is set before it is prepared to run. No action is taken if the new state is the same as the current state.

    SwitchState<TState, TContext>(TContext)

    Declaration
    public TState SwitchState<TState, TContext>(TContext context) where TState : ISmStateWithContext<TContext>
    Parameters
    Type Name Description
    TContext context
    Returns
    Type Description
    TState
    Type Parameters
    Name Description
    TState
    TContext

    Tick()

    Advances the state machine by invoking the tick operation on the current state, if one is set.

    Declaration
    public virtual void Tick()
    Remarks

    Call this method periodically to update the state machine's behavior. If no current state is assigned, this method has no effect.

    Implements

    IStateMachine

    Extension Methods

    Extensions_UnityObject.SmartDestroy<TObject>(TObject)
    Extensions_UnityObject.SmartDisableGameObject<TObject>(TObject)
    Extensions_UnityObject.SmartEnableGameObject<TObject>(TObject)
    HashExtensions.GetHashCode_RefType<TValue>(TValue, int)
    Extensions_UnityObject.SmartDestroy(object)
    Extensions_UnityObject.SmartGetComponent<TComponent>(object)
    Extensions_UnityObject.SmartGetGameGameObject(object)
    In this article
    Back to top Generated by DocFX