public void Initialize() { if (GameController.OnGodot) { CanvasLayer = new Godot.CanvasLayer { Name = "UILayer", Layer = CanvasLayers.LAYER_GUI }; _sceneTreeHolder.SceneTree.GetRoot().AddChild(CanvasLayer); } RootControl = new Control("UIRoot") { MouseFilter = Control.MouseFilterMode.Ignore }; RootControl.SetAnchorPreset(Control.LayoutPreset.Wide); if (GameController.OnGodot) { CanvasLayer.AddChild(RootControl.SceneControl); } StateRoot = new Control("StateRoot") { MouseFilter = Control.MouseFilterMode.Ignore }; StateRoot.SetAnchorPreset(Control.LayoutPreset.Wide); RootControl.AddChild(StateRoot); WindowRoot = new Control("WindowRoot"); WindowRoot.MouseFilter = Control.MouseFilterMode.Ignore; WindowRoot.SetAnchorPreset(Control.LayoutPreset.Wide); RootControl.AddChild(WindowRoot); PopupControl = new AcceptDialog("RootPopup"); PopupControl.Resizable = true; RootControl.AddChild(PopupControl); DebugConsole = new DebugConsole(); RootControl.AddChild(DebugConsole); _debugMonitors = new DebugMonitors(); RootControl.AddChild(_debugMonitors); _inputManager.SetInputCommand(EngineKeyFunctions.ShowDebugMonitors, InputCmdHandler.FromDelegate(enabled: session => { DebugMonitors.Visible = true; }, disabled: session => { DebugMonitors.Visible = false; })); }
public void Initialize(Godot.SceneTree tree) { SceneTree = tree ?? throw new ArgumentNullException(nameof(tree)); BelowWorldScreenSpace = new Godot.CanvasLayer { Name = "ScreenSubWorld", Layer = CanvasLayers.LAYER_SCREEN_BELOW_WORLD }; SceneTree.GetRoot().AddChild(BelowWorldScreenSpace); WorldRoot = new Godot.Node2D { Name = "WorldRoot" }; SceneTree.GetRoot().AddChild(WorldRoot); }