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