123456789101112131415161718192021222324252627282930313233343536 |
- using System.Collections.Generic;
- using System.Linq;
-
- namespace Unity.VisualScripting
- {
- [InitializeAfterPlugins]
- 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;
- }
- }
- }
|