using Godot; using Nocturnis; using Nocturnis.DataStructures.DataPortGroups; using Nocturnis.Enigmos.ModuleManuals; using Nocturnis.Enigmos.Modules; using Nocturnis.GlobalManagement.Providers; namespace Enigmos.Manual; public partial class ModulePolymorphismTab : Panel, IModuleManualTab, ISceneConcept { private bool InitFlag { get; set; } public void Init(IPolymorphismModule module) { Module = module; InitFlag = true; } public string FullName() => "Polymorphism"; public IPolymorphismModule Module { get; set; } private VBoxContainer PortGroups { get; set; } public override void _Ready() { if (!InitFlag) throw new Exception("TODO - INIT REQUIRED"); PortGroups = GetNode("ScrolledItems/PortGroups"); foreach (IDataPortGroup group in Module.ConfigurablePortGroups) { PortTypeSelector selector = GlobalProvider.ProcessProvider.BuildPortTypeSelector(group) as PortTypeSelector; PortGroups.AddChild(selector); } Name = "Poly"; base._Ready(); } }