A game about forced loneliness, made by TACStudios
1#if VISUAL_SCRIPT_INTERNAL 2using System; 3using System.Collections; 4using System.Collections.Generic; 5using System.Linq; 6using Unity.VisualScripting; 7using UnityEditor; 8using UnityEngine; 9 10public class FlowGraphUnitUISample : RuntimeFlowGraph 11{ 12 [MenuItem("Tools/Visual Scripting/Internal/Create Node UI Samples", priority = LudiqProduct.DeveloperToolsMenuPriority + 403)] 13 14 public static void CreateUnitUISamples() 15 { 16 (new FlowGraphUnitUISample()).CreateGraphUISample(); 17 } 18 19 private void CreateGraphUISample() 20 { 21 CreateGraph(); 22 23 IEnumerable<Type> GetEventUnitTypes() => AppDomain.CurrentDomain.GetAssemblies().SelectMany(a => a.GetTypes().Where(t => typeof(IUnit).IsAssignableFrom(t))).Where(t => t.IsClass && !t.IsAbstract); 24 25 Vector2 position = Vector2.zero; 26 27 int index = 0; 28 29 foreach (var unitType in GetEventUnitTypes()) 30 { 31 try 32 { 33 string name = unitType.Assembly.GetName().Name; 34 string space = unitType.FullName; 35 36 var unit = Activator.CreateInstance(name, space); 37 38 IUnit b = (IUnit)unit.Unwrap(); 39 40 b.position = position; 41 42 if (index % 10 == 0) 43 { 44 position.x = 0; 45 position.y += 180; 46 } 47 48 position.x += 180; 49 50 AddUnit(b, position); 51 52 index++; 53 } 54 catch (Exception e) 55 { 56 Debug.LogException(e); 57 } 58 } 59 } 60} 61#endif