/
TON618OFF
/
Unity-Project-RTU
Обзор
Документация
Войти
/
TON618OFF
/
Unity-Project-RTU
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
Library/PackageCache/com.unity.visualscripting@1.9.4/Editor/VisualScripting.State/Transitions/FlowStateTransitionDescriptor.cs
106 строк
3 KB
TON618OFF
release
03 окт 2024, 22:20
03 окт 2024, 22:20
7c70e9f
Код
Авторство
О чём код?
using System.Linq; namespace Unity.VisualScripting { [Descriptor(typeof(FlowStateTransition))] public class FlowStateTransitionDescriptor : NesterStateTransitionDescriptor<FlowStateTransition> { public FlowStateTransitionDescriptor(FlowStateTransition transition) : base(transition) { } public override string Title() { var graph = transition.nest.graph; if (graph != null) { if (!StringUtility.IsNullOrWhiteSpace(graph.title)) { return graph.title; } using (var recursion = Recursion.New(1)) { var events = graph.GetUnitsRecursive(recursion).OfType<IEventUnit>().ToList(); if (events.Count == 0) { return "(No Event)"; } else if (events.Count == 1) { return events[0].Description().title; } else // if (events.Count > 1) { return "(Multiple Events)"; } } } else { return "(No Transition)"; } } public override string Summary() { var graph = transition.nest.graph; if (graph != null) { if (!StringUtility.IsNullOrWhiteSpace(graph.summary)) { return graph.summary; } using (var recursion = Recursion.New(1)) { var events = graph.GetUnitsRecursive(recursion).OfType<IEventUnit>().ToList(); if (events.Count == 0) { return "Open the transition graph to add an event."; } else if (events.Count == 1) { return events[0].Description().summary; } else // if (events.Count > 1) { return "Open the transition graph to see the full transition."; } } } else { return "Choose a source in the graph inspector."; } } public override EditorTexture Icon() { var graph = transition.nest.graph; using (var recursion = Recursion.New(1)) { if (graph != null) { var events = graph.GetUnitsRecursive(recursion).OfType<IEventUnit>().ToList(); if (events.Count == 1) { return events[0].Description().icon; } else { return typeof(IStateTransition).Icon(); } } else { return typeof(IStateTransition).Icon(); } } } } }