No Description
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

UnitBaseStateExtensions.cs 1.1KB

123456789101112131415161718192021222324252627282930313233343536
  1. using System.Collections.Generic;
  2. using System.Linq;
  3. namespace Unity.VisualScripting
  4. {
  5. [InitializeAfterPlugins]
  6. public static class UnitBaseStateExtensions
  7. {
  8. static UnitBaseStateExtensions()
  9. {
  10. UnitBase.staticUnitsExtensions.Add(GetStaticOptions);
  11. UnitBase.dynamicUnitsExtensions.Add(GetDynamicOptions);
  12. UnitBase.contextualUnitsExtensions.Add(GetContextualOptions);
  13. }
  14. private static IEnumerable<IUnitOption> GetStaticOptions()
  15. {
  16. yield return StateUnit.WithStart().Option();
  17. }
  18. private static IEnumerable<IUnitOption> GetDynamicOptions()
  19. {
  20. var stateMacros = UnityAPI.Await(() => AssetUtility.GetAllAssetsOfType<StateGraphAsset>().ToArray());
  21. foreach (var stateUnit in stateMacros.Select(statemacro => new StateUnit(statemacro)))
  22. {
  23. yield return stateUnit.Option();
  24. }
  25. }
  26. private static IEnumerable<IUnitOption> GetContextualOptions(GraphReference reference)
  27. {
  28. yield break;
  29. }
  30. }
  31. }