/
TON618OFF
/
Unity-Project-RTU
Обзор
Документация
Войти
/
TON618OFF
/
Unity-Project-RTU
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
Library/PackageCache/com.unity.visualscripting@1.9.4/Runtime/VisualScripting.State/SuperState.cs
69 строк
2 KB
TON618OFF
release
03 окт 2024, 22:20
03 окт 2024, 22:20
7c70e9f
Код
Авторство
О чём код?
namespace Unity.VisualScripting { [TypeIcon(typeof(StateGraph))] public sealed class SuperState : NesterState<StateGraph, StateGraphAsset>, IGraphEventListener { public SuperState() : base() { } public SuperState(StateGraphAsset macro) : base(macro) { } public static SuperState WithStart() { var superState = new SuperState(); superState.nest.source = GraphSource.Embed; superState.nest.embed = StateGraph.WithStart(); return superState; } #region Lifecycle protected override void OnEnterImplementation(Flow flow) { if (flow.stack.TryEnterParentElement(this)) { nest.graph.Start(flow); flow.stack.ExitParentElement(); } } protected override void OnExitImplementation(Flow flow) { if (flow.stack.TryEnterParentElement(this)) { nest.graph.Stop(flow); flow.stack.ExitParentElement(); } } public void StartListening(GraphStack stack) { if (stack.TryEnterParentElement(this)) { nest.graph.StartListening(stack); stack.ExitParentElement(); } } public void StopListening(GraphStack stack) { if (stack.TryEnterParentElement(this)) { nest.graph.StopListening(stack); stack.ExitParentElement(); } } public bool IsListening(GraphPointer pointer) { return pointer.GetElementData<Data>(this).isActive; } #endregion public override StateGraph DefaultGraph() { return StateGraph.WithStart(); } } }