Maze / Library /PackageCache /com.unity.visualscripting@1.8.0 /Editor /VisualScripting.State /Flow /UnitBaseStateExtensions.cs
| using System.Collections.Generic; | |
| using System.Linq; | |
| namespace Unity.VisualScripting | |
| { | |
| [] | |
| public static class UnitBaseStateExtensions | |
| { | |
| static UnitBaseStateExtensions() | |
| { | |
| UnitBase.staticUnitsExtensions.Add(GetStaticOptions); | |
| UnitBase.dynamicUnitsExtensions.Add(GetDynamicOptions); | |
| UnitBase.contextualUnitsExtensions.Add(GetContextualOptions); | |
| } | |
| private static IEnumerable<IUnitOption> GetStaticOptions() | |
| { | |
| yield return StateUnit.WithStart().Option(); | |
| } | |
| private static IEnumerable<IUnitOption> GetDynamicOptions() | |
| { | |
| var stateMacros = UnityAPI.Await(() => AssetUtility.GetAllAssetsOfType<StateGraphAsset>().ToArray()); | |
| foreach (var stateUnit in stateMacros.Select(statemacro => new StateUnit(statemacro))) | |
| { | |
| yield return stateUnit.Option(); | |
| } | |
| } | |
| private static IEnumerable<IUnitOption> GetContextualOptions(GraphReference reference) | |
| { | |
| yield break; | |
| } | |
| } | |
| } | |