using Godot; 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 { private bool InitFlag { get; set; } public void Init(IPolymorphismModule module) { Module = module; InitFlag = true; } public string FullName() => "Polymorphism"; private static readonly PackedScene PortTypeSelectorScene = GlobalProvider.SceneProvider.AssetMapper(); 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 = PortTypeSelectorScene.Instantiate(); selector.Init(group); PortGroups.AddChild(selector); } Name = "Poly"; base._Ready(); } }