/
TON618OFF
/
Unity-Project-RTU
Обзор
Документация
Войти
/
TON618OFF
/
Unity-Project-RTU
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
Library/PackageCache/com.unity.visualscripting@1.9.4/Editor/VisualScripting.Flow/FlowGraphUnitUISample.cs
61 строка
2 KB
TON618OFF
release
03 окт 2024, 22:20
03 окт 2024, 22:20
7c70e9f
Код
Авторство
О чём код?
#if VISUAL_SCRIPT_INTERNAL using System; using System.Collections; using System.Collections.Generic; using System.Linq; using Unity.VisualScripting; using UnityEditor; using UnityEngine; public class FlowGraphUnitUISample : RuntimeFlowGraph { [MenuItem("Tools/Visual Scripting/Internal/Create Node UI Samples", priority = LudiqProduct.DeveloperToolsMenuPriority + 403)] public static void CreateUnitUISamples() { (new FlowGraphUnitUISample()).CreateGraphUISample(); } private void CreateGraphUISample() { CreateGraph(); IEnumerable<Type> GetEventUnitTypes() => AppDomain.CurrentDomain.GetAssemblies().SelectMany(a => a.GetTypes().Where(t => typeof(IUnit).IsAssignableFrom(t))).Where(t => t.IsClass && !t.IsAbstract); Vector2 position = Vector2.zero; int index = 0; foreach (var unitType in GetEventUnitTypes()) { try { string name = unitType.Assembly.GetName().Name; string space = unitType.FullName; var unit = Activator.CreateInstance(name, space); IUnit b = (IUnit)unit.Unwrap(); b.position = position; if (index % 10 == 0) { position.x = 0; position.y += 180; } position.x += 180; AddUnit(b, position); index++; } catch (Exception e) { Debug.LogException(e); } } } } #endif