diff --git a/DungeonShooting_Godot/prefab/ui/Main.tscn b/DungeonShooting_Godot/prefab/ui/Main.tscn index fa4657f..9d9742f 100644 --- a/DungeonShooting_Godot/prefab/ui/Main.tscn +++ b/DungeonShooting_Godot/prefab/ui/Main.tscn @@ -33,7 +33,7 @@ layout_mode = 2 size_flags_vertical = 6 theme_override_font_sizes/font_size = 160 -text = "Program dungeon" +text = "Dungeon Shooting" horizontal_alignment = 1 vertical_alignment = 1 @@ -92,3 +92,29 @@ grow_vertical = 0 text = "v0.01" horizontal_alignment = 2 + +[node name="LinkButton" type="LinkButton" parent="."] +layout_mode = 1 +anchors_preset = 2 +anchor_top = 1.0 +anchor_bottom = 1.0 +offset_left = 23.0 +offset_top = -100.0 +offset_right = 1943.0 +offset_bottom = -68.0 +grow_vertical = 0 +text = "b站:小李xlxl" +uri = "https://space.bilibili.com/259437820" + +[node name="LinkButton2" type="LinkButton" parent="."] +layout_mode = 1 +anchors_preset = 2 +anchor_top = 1.0 +anchor_bottom = 1.0 +offset_left = 23.0 +offset_top = -55.0 +offset_right = 1943.0 +offset_bottom = -23.0 +grow_vertical = 0 +text = "GitHub源码" +uri = "https://github.com/xlljc/DungeonShooting" diff --git a/DungeonShooting_Godot/prefab/ui/Setting.tscn b/DungeonShooting_Godot/prefab/ui/Setting.tscn index b522b38..c6b1075 100644 --- a/DungeonShooting_Godot/prefab/ui/Setting.tscn +++ b/DungeonShooting_Godot/prefab/ui/Setting.tscn @@ -8,6 +8,8 @@ anchors_preset = 15 anchor_right = 1.0 anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 script = ExtResource("1_ff0oi") [node name="ColorRect" type="ColorRect" parent="."] @@ -39,7 +41,7 @@ horizontal_alignment = 1 vertical_alignment = 1 -[node name="VBoxContainer" type="VBoxContainer" parent="."] +[node name="ScrollContainer" type="ScrollContainer" parent="."] layout_mode = 1 anchors_preset = 15 anchor_right = 1.0 @@ -49,17 +51,259 @@ grow_horizontal = 2 grow_vertical = 2 -[node name="FullScreen" type="HBoxContainer" parent="VBoxContainer"] +[node name="SettingMenu" type="VBoxContainer" parent="ScrollContainer"] +layout_mode = 2 +size_flags_horizontal = 3 +theme_override_constants/separation = 15 + +[node name="VideoItem" type="Button" parent="ScrollContainer/SettingMenu"] +layout_mode = 2 +size_flags_horizontal = 4 +text = "显示设置" +flat = true + +[node name="InputItem" type="Button" parent="ScrollContainer/SettingMenu"] +layout_mode = 2 +size_flags_horizontal = 4 +text = "键位设置" +flat = true + +[node name="VideoSetting" type="VBoxContainer" parent="ScrollContainer"] +visible = false +layout_mode = 2 +size_flags_horizontal = 3 +theme_override_constants/separation = 15 + +[node name="FullScreen" type="HBoxContainer" parent="ScrollContainer/VideoSetting"] custom_minimum_size = Vector2(600, 0) layout_mode = 2 size_flags_horizontal = 4 size_flags_vertical = 0 -[node name="Name" type="Label" parent="VBoxContainer/FullScreen"] +[node name="Name" type="Label" parent="ScrollContainer/VideoSetting/FullScreen"] layout_mode = 2 size_flags_horizontal = 3 text = "全屏" -[node name="CheckBox" type="CheckBox" parent="VBoxContainer/FullScreen"] +[node name="CheckBox" type="CheckBox" parent="ScrollContainer/VideoSetting/FullScreen"] layout_mode = 2 size_flags_horizontal = 10 + +[node name="Back" type="Button" parent="ScrollContainer/VideoSetting"] +layout_mode = 2 +size_flags_horizontal = 4 +text = "返回" +flat = true + +[node name="KeySetting" type="VBoxContainer" parent="ScrollContainer"] +visible = false +layout_mode = 2 +size_flags_horizontal = 3 +theme_override_constants/separation = 15 + +[node name="Tip" type="Label" parent="ScrollContainer/KeySetting"] +layout_mode = 2 +text = "暂不支持修改键位" +horizontal_alignment = 1 +vertical_alignment = 1 + +[node name="Key" type="HBoxContainer" parent="ScrollContainer/KeySetting"] +custom_minimum_size = Vector2(600, 0) +layout_mode = 2 +size_flags_horizontal = 4 +size_flags_vertical = 0 + +[node name="Name" type="Label" parent="ScrollContainer/KeySetting/Key"] +layout_mode = 2 +size_flags_horizontal = 3 +text = "上" + +[node name="Value" type="Label" parent="ScrollContainer/KeySetting/Key"] +layout_mode = 2 +text = "W" + +[node name="Key2" type="HBoxContainer" parent="ScrollContainer/KeySetting"] +custom_minimum_size = Vector2(600, 0) +layout_mode = 2 +size_flags_horizontal = 4 +size_flags_vertical = 0 + +[node name="Name" type="Label" parent="ScrollContainer/KeySetting/Key2"] +layout_mode = 2 +size_flags_horizontal = 3 +text = "下" + +[node name="Value" type="Label" parent="ScrollContainer/KeySetting/Key2"] +layout_mode = 2 +text = "S" + +[node name="Key3" type="HBoxContainer" parent="ScrollContainer/KeySetting"] +custom_minimum_size = Vector2(600, 0) +layout_mode = 2 +size_flags_horizontal = 4 +size_flags_vertical = 0 + +[node name="Name" type="Label" parent="ScrollContainer/KeySetting/Key3"] +layout_mode = 2 +size_flags_horizontal = 3 +text = "左" + +[node name="Value" type="Label" parent="ScrollContainer/KeySetting/Key3"] +layout_mode = 2 +text = "A" + +[node name="Key4" type="HBoxContainer" parent="ScrollContainer/KeySetting"] +custom_minimum_size = Vector2(600, 0) +layout_mode = 2 +size_flags_horizontal = 4 +size_flags_vertical = 0 + +[node name="Name" type="Label" parent="ScrollContainer/KeySetting/Key4"] +layout_mode = 2 +size_flags_horizontal = 3 +text = "右" + +[node name="Value" type="Label" parent="ScrollContainer/KeySetting/Key4"] +layout_mode = 2 +text = "D" + +[node name="Key5" type="HBoxContainer" parent="ScrollContainer/KeySetting"] +custom_minimum_size = Vector2(600, 0) +layout_mode = 2 +size_flags_horizontal = 4 +size_flags_vertical = 0 + +[node name="Name" type="Label" parent="ScrollContainer/KeySetting/Key5"] +layout_mode = 2 +size_flags_horizontal = 3 +text = "互动/拾取" + +[node name="Value" type="Label" parent="ScrollContainer/KeySetting/Key5"] +layout_mode = 2 +text = "E" + +[node name="Key6" type="HBoxContainer" parent="ScrollContainer/KeySetting"] +custom_minimum_size = Vector2(600, 0) +layout_mode = 2 +size_flags_horizontal = 4 +size_flags_vertical = 0 + +[node name="Name" type="Label" parent="ScrollContainer/KeySetting/Key6"] +layout_mode = 2 +size_flags_horizontal = 3 +text = "切换武器" + +[node name="Value" type="Label" parent="ScrollContainer/KeySetting/Key6"] +layout_mode = 2 +text = "Q" + +[node name="Key7" type="HBoxContainer" parent="ScrollContainer/KeySetting"] +custom_minimum_size = Vector2(600, 0) +layout_mode = 2 +size_flags_horizontal = 4 +size_flags_vertical = 0 + +[node name="Name" type="Label" parent="ScrollContainer/KeySetting/Key7"] +layout_mode = 2 +size_flags_horizontal = 3 +text = "使用道具" + +[node name="Value" type="Label" parent="ScrollContainer/KeySetting/Key7"] +layout_mode = 2 +text = "F" + +[node name="Key8" type="HBoxContainer" parent="ScrollContainer/KeySetting"] +custom_minimum_size = Vector2(600, 0) +layout_mode = 2 +size_flags_horizontal = 4 +size_flags_vertical = 0 + +[node name="Name" type="Label" parent="ScrollContainer/KeySetting/Key8"] +layout_mode = 2 +size_flags_horizontal = 3 +text = "扔掉武器" + +[node name="Value" type="Label" parent="ScrollContainer/KeySetting/Key8"] +layout_mode = 2 +text = "G" + +[node name="Key11" type="HBoxContainer" parent="ScrollContainer/KeySetting"] +custom_minimum_size = Vector2(600, 0) +layout_mode = 2 +size_flags_horizontal = 4 +size_flags_vertical = 0 + +[node name="Name" type="Label" parent="ScrollContainer/KeySetting/Key11"] +layout_mode = 2 +size_flags_horizontal = 3 +text = "扔掉道具" + +[node name="Value" type="Label" parent="ScrollContainer/KeySetting/Key11"] +layout_mode = 2 +text = "X" + +[node name="Key9" type="HBoxContainer" parent="ScrollContainer/KeySetting"] +custom_minimum_size = Vector2(600, 0) +layout_mode = 2 +size_flags_horizontal = 4 +size_flags_vertical = 0 + +[node name="Name" type="Label" parent="ScrollContainer/KeySetting/Key9"] +layout_mode = 2 +size_flags_horizontal = 3 +text = "开火" + +[node name="Value" type="Label" parent="ScrollContainer/KeySetting/Key9"] +layout_mode = 2 +text = "鼠标左键" + +[node name="Key10" type="HBoxContainer" parent="ScrollContainer/KeySetting"] +custom_minimum_size = Vector2(600, 0) +layout_mode = 2 +size_flags_horizontal = 4 +size_flags_vertical = 0 + +[node name="Name" type="Label" parent="ScrollContainer/KeySetting/Key10"] +layout_mode = 2 +size_flags_horizontal = 3 +text = "换弹" + +[node name="Value" type="Label" parent="ScrollContainer/KeySetting/Key10"] +layout_mode = 2 +text = "R" + +[node name="Key12" type="HBoxContainer" parent="ScrollContainer/KeySetting"] +custom_minimum_size = Vector2(600, 0) +layout_mode = 2 +size_flags_horizontal = 4 +size_flags_vertical = 0 + +[node name="Name" type="Label" parent="ScrollContainer/KeySetting/Key12"] +layout_mode = 2 +size_flags_horizontal = 3 +text = "翻滚" + +[node name="Value" type="Label" parent="ScrollContainer/KeySetting/Key12"] +layout_mode = 2 +text = "空格" + +[node name="Key13" type="HBoxContainer" parent="ScrollContainer/KeySetting"] +custom_minimum_size = Vector2(600, 0) +layout_mode = 2 +size_flags_horizontal = 4 +size_flags_vertical = 0 + +[node name="Name" type="Label" parent="ScrollContainer/KeySetting/Key13"] +layout_mode = 2 +size_flags_horizontal = 3 +text = "武器近战" + +[node name="Value" type="Label" parent="ScrollContainer/KeySetting/Key13"] +layout_mode = 2 +text = "鼠标右键" + +[node name="Back" type="Button" parent="ScrollContainer/KeySetting"] +layout_mode = 2 +size_flags_horizontal = 4 +text = "返回" +flat = true diff --git a/DungeonShooting_Godot/src/game/ui/main/Main.cs b/DungeonShooting_Godot/src/game/ui/main/Main.cs index 779be78..acf6583 100644 --- a/DungeonShooting_Godot/src/game/ui/main/Main.cs +++ b/DungeonShooting_Godot/src/game/ui/main/Main.cs @@ -44,6 +44,32 @@ } private Version _L_Version; + /// + /// 使用 Instance 属性获取当前节点实例对象, 节点类型: , 节点路径: Main.LinkButton + /// + public LinkButton L_LinkButton + { + get + { + if (_L_LinkButton == null) _L_LinkButton = new LinkButton((MainPanel)this, GetNode("LinkButton")); + return _L_LinkButton; + } + } + private LinkButton _L_LinkButton; + + /// + /// 使用 Instance 属性获取当前节点实例对象, 节点类型: , 节点路径: Main.LinkButton2 + /// + public LinkButton2 L_LinkButton2 + { + get + { + if (_L_LinkButton2 == null) _L_LinkButton2 = new LinkButton2((MainPanel)this, GetNode("LinkButton2")); + return _L_LinkButton2; + } + } + private LinkButton2 _L_LinkButton2; + public Main() : base(nameof(Main)) { @@ -213,6 +239,24 @@ public override Version Clone() => new (UiPanel, (Godot.Label)Instance.Duplicate()); } + /// + /// 类型: , 路径: Main.LinkButton + /// + public class LinkButton : UiNode + { + public LinkButton(MainPanel uiPanel, Godot.LinkButton node) : base(uiPanel, node) { } + public override LinkButton Clone() => new (UiPanel, (Godot.LinkButton)Instance.Duplicate()); + } + + /// + /// 类型: , 路径: Main.LinkButton2 + /// + public class LinkButton2 : UiNode + { + public LinkButton2(MainPanel uiPanel, Godot.LinkButton node) : base(uiPanel, node) { } + public override LinkButton2 Clone() => new (UiPanel, (Godot.LinkButton)Instance.Duplicate()); + } + /// /// 场景中唯一名称的节点, 节点类型: , 节点路径: Main.ColorRect @@ -259,4 +303,14 @@ /// public Version S_Version => L_Version; + /// + /// 场景中唯一名称的节点, 节点类型: , 节点路径: Main.LinkButton + /// + public LinkButton S_LinkButton => L_LinkButton; + + /// + /// 场景中唯一名称的节点, 节点类型: , 节点路径: Main.LinkButton2 + /// + public LinkButton2 S_LinkButton2 => L_LinkButton2; + } diff --git a/DungeonShooting_Godot/src/game/ui/setting/Setting.cs b/DungeonShooting_Godot/src/game/ui/setting/Setting.cs index e78d417..c3726ec 100644 --- a/DungeonShooting_Godot/src/game/ui/setting/Setting.cs +++ b/DungeonShooting_Godot/src/game/ui/setting/Setting.cs @@ -45,17 +45,17 @@ private Title _L_Title; /// - /// 使用 Instance 属性获取当前节点实例对象, 节点类型: , 节点路径: Setting.VBoxContainer + /// 使用 Instance 属性获取当前节点实例对象, 节点类型: , 节点路径: Setting.ScrollContainer /// - public VBoxContainer L_VBoxContainer + public ScrollContainer L_ScrollContainer { get { - if (_L_VBoxContainer == null) _L_VBoxContainer = new VBoxContainer((SettingPanel)this, GetNode("VBoxContainer")); - return _L_VBoxContainer; + if (_L_ScrollContainer == null) _L_ScrollContainer = new ScrollContainer((SettingPanel)this, GetNode("ScrollContainer")); + return _L_ScrollContainer; } } - private VBoxContainer _L_VBoxContainer; + private ScrollContainer _L_ScrollContainer; public Setting() : base(nameof(Setting)) @@ -95,7 +95,60 @@ } /// - /// 类型: , 路径: Setting.VBoxContainer.FullScreen.Name + /// 类型: , 路径: Setting.ScrollContainer.SettingMenu.VideoItem + /// + public class VideoItem : UiNode + { + public VideoItem(SettingPanel uiPanel, Godot.Button node) : base(uiPanel, node) { } + public override VideoItem Clone() => new (UiPanel, (Godot.Button)Instance.Duplicate()); + } + + /// + /// 类型: , 路径: Setting.ScrollContainer.SettingMenu.InputItem + /// + public class InputItem : UiNode + { + public InputItem(SettingPanel uiPanel, Godot.Button node) : base(uiPanel, node) { } + public override InputItem Clone() => new (UiPanel, (Godot.Button)Instance.Duplicate()); + } + + /// + /// 类型: , 路径: Setting.ScrollContainer.SettingMenu + /// + public class SettingMenu : UiNode + { + /// + /// 使用 Instance 属性获取当前节点实例对象, 节点类型: , 节点路径: Setting.ScrollContainer.VideoItem + /// + public VideoItem L_VideoItem + { + get + { + if (_L_VideoItem == null) _L_VideoItem = new VideoItem(UiPanel, Instance.GetNode("VideoItem")); + return _L_VideoItem; + } + } + private VideoItem _L_VideoItem; + + /// + /// 使用 Instance 属性获取当前节点实例对象, 节点类型: , 节点路径: Setting.ScrollContainer.InputItem + /// + public InputItem L_InputItem + { + get + { + if (_L_InputItem == null) _L_InputItem = new InputItem(UiPanel, Instance.GetNode("InputItem")); + return _L_InputItem; + } + } + private InputItem _L_InputItem; + + public SettingMenu(SettingPanel uiPanel, Godot.VBoxContainer node) : base(uiPanel, node) { } + public override SettingMenu Clone() => new (UiPanel, (Godot.VBoxContainer)Instance.Duplicate()); + } + + /// + /// 类型: , 路径: Setting.ScrollContainer.VideoSetting.FullScreen.Name /// public class Name : UiNode { @@ -104,7 +157,7 @@ } /// - /// 类型: , 路径: Setting.VBoxContainer.FullScreen.CheckBox + /// 类型: , 路径: Setting.ScrollContainer.VideoSetting.FullScreen.CheckBox /// public class CheckBox : UiNode { @@ -113,12 +166,12 @@ } /// - /// 类型: , 路径: Setting.VBoxContainer.FullScreen + /// 类型: , 路径: Setting.ScrollContainer.VideoSetting.FullScreen /// public class FullScreen : UiNode { /// - /// 使用 Instance 属性获取当前节点实例对象, 节点类型: , 节点路径: Setting.VBoxContainer.Name + /// 使用 Instance 属性获取当前节点实例对象, 节点类型: , 节点路径: Setting.ScrollContainer.VideoSetting.Name /// public Name L_Name { @@ -131,7 +184,7 @@ private Name _L_Name; /// - /// 使用 Instance 属性获取当前节点实例对象, 节点类型: , 节点路径: Setting.VBoxContainer.CheckBox + /// 使用 Instance 属性获取当前节点实例对象, 节点类型: , 节点路径: Setting.ScrollContainer.VideoSetting.CheckBox /// public CheckBox L_CheckBox { @@ -148,12 +201,21 @@ } /// - /// 类型: , 路径: Setting.VBoxContainer + /// 类型: , 路径: Setting.ScrollContainer.VideoSetting.Back /// - public class VBoxContainer : UiNode + public class Back_1 : UiNode + { + public Back_1(SettingPanel uiPanel, Godot.Button node) : base(uiPanel, node) { } + public override Back_1 Clone() => new (UiPanel, (Godot.Button)Instance.Duplicate()); + } + + /// + /// 类型: , 路径: Setting.ScrollContainer.VideoSetting + /// + public class VideoSetting : UiNode { /// - /// 使用 Instance 属性获取当前节点实例对象, 节点类型: , 节点路径: Setting.FullScreen + /// 使用 Instance 属性获取当前节点实例对象, 节点类型: , 节点路径: Setting.ScrollContainer.FullScreen /// public FullScreen L_FullScreen { @@ -165,8 +227,980 @@ } private FullScreen _L_FullScreen; - public VBoxContainer(SettingPanel uiPanel, Godot.VBoxContainer node) : base(uiPanel, node) { } - public override VBoxContainer Clone() => new (UiPanel, (Godot.VBoxContainer)Instance.Duplicate()); + /// + /// 使用 Instance 属性获取当前节点实例对象, 节点类型: , 节点路径: Setting.ScrollContainer.Back + /// + public Back_1 L_Back + { + get + { + if (_L_Back == null) _L_Back = new Back_1(UiPanel, Instance.GetNode("Back")); + return _L_Back; + } + } + private Back_1 _L_Back; + + public VideoSetting(SettingPanel uiPanel, Godot.VBoxContainer node) : base(uiPanel, node) { } + public override VideoSetting Clone() => new (UiPanel, (Godot.VBoxContainer)Instance.Duplicate()); + } + + /// + /// 类型: , 路径: Setting.ScrollContainer.KeySetting.Tip + /// + public class Tip : UiNode + { + public Tip(SettingPanel uiPanel, Godot.Label node) : base(uiPanel, node) { } + public override Tip Clone() => new (UiPanel, (Godot.Label)Instance.Duplicate()); + } + + /// + /// 类型: , 路径: Setting.ScrollContainer.KeySetting.Key.Name + /// + public class Name_1 : UiNode + { + public Name_1(SettingPanel uiPanel, Godot.Label node) : base(uiPanel, node) { } + public override Name_1 Clone() => new (UiPanel, (Godot.Label)Instance.Duplicate()); + } + + /// + /// 类型: , 路径: Setting.ScrollContainer.KeySetting.Key.Value + /// + public class Value : UiNode + { + public Value(SettingPanel uiPanel, Godot.Label node) : base(uiPanel, node) { } + public override Value Clone() => new (UiPanel, (Godot.Label)Instance.Duplicate()); + } + + /// + /// 类型: , 路径: Setting.ScrollContainer.KeySetting.Key + /// + public class Key : UiNode + { + /// + /// 使用 Instance 属性获取当前节点实例对象, 节点类型: , 节点路径: Setting.ScrollContainer.KeySetting.Name + /// + public Name_1 L_Name + { + get + { + if (_L_Name == null) _L_Name = new Name_1(UiPanel, Instance.GetNode("Name")); + return _L_Name; + } + } + private Name_1 _L_Name; + + /// + /// 使用 Instance 属性获取当前节点实例对象, 节点类型: , 节点路径: Setting.ScrollContainer.KeySetting.Value + /// + public Value L_Value + { + get + { + if (_L_Value == null) _L_Value = new Value(UiPanel, Instance.GetNode("Value")); + return _L_Value; + } + } + private Value _L_Value; + + public Key(SettingPanel uiPanel, Godot.HBoxContainer node) : base(uiPanel, node) { } + public override Key Clone() => new (UiPanel, (Godot.HBoxContainer)Instance.Duplicate()); + } + + /// + /// 类型: , 路径: Setting.ScrollContainer.KeySetting.Key2.Name + /// + public class Name_2 : UiNode + { + public Name_2(SettingPanel uiPanel, Godot.Label node) : base(uiPanel, node) { } + public override Name_2 Clone() => new (UiPanel, (Godot.Label)Instance.Duplicate()); + } + + /// + /// 类型: , 路径: Setting.ScrollContainer.KeySetting.Key2.Value + /// + public class Value_1 : UiNode + { + public Value_1(SettingPanel uiPanel, Godot.Label node) : base(uiPanel, node) { } + public override Value_1 Clone() => new (UiPanel, (Godot.Label)Instance.Duplicate()); + } + + /// + /// 类型: , 路径: Setting.ScrollContainer.KeySetting.Key2 + /// + public class Key2 : UiNode + { + /// + /// 使用 Instance 属性获取当前节点实例对象, 节点类型: , 节点路径: Setting.ScrollContainer.KeySetting.Name + /// + public Name_2 L_Name + { + get + { + if (_L_Name == null) _L_Name = new Name_2(UiPanel, Instance.GetNode("Name")); + return _L_Name; + } + } + private Name_2 _L_Name; + + /// + /// 使用 Instance 属性获取当前节点实例对象, 节点类型: , 节点路径: Setting.ScrollContainer.KeySetting.Value + /// + public Value_1 L_Value + { + get + { + if (_L_Value == null) _L_Value = new Value_1(UiPanel, Instance.GetNode("Value")); + return _L_Value; + } + } + private Value_1 _L_Value; + + public Key2(SettingPanel uiPanel, Godot.HBoxContainer node) : base(uiPanel, node) { } + public override Key2 Clone() => new (UiPanel, (Godot.HBoxContainer)Instance.Duplicate()); + } + + /// + /// 类型: , 路径: Setting.ScrollContainer.KeySetting.Key3.Name + /// + public class Name_3 : UiNode + { + public Name_3(SettingPanel uiPanel, Godot.Label node) : base(uiPanel, node) { } + public override Name_3 Clone() => new (UiPanel, (Godot.Label)Instance.Duplicate()); + } + + /// + /// 类型: , 路径: Setting.ScrollContainer.KeySetting.Key3.Value + /// + public class Value_2 : UiNode + { + public Value_2(SettingPanel uiPanel, Godot.Label node) : base(uiPanel, node) { } + public override Value_2 Clone() => new (UiPanel, (Godot.Label)Instance.Duplicate()); + } + + /// + /// 类型: , 路径: Setting.ScrollContainer.KeySetting.Key3 + /// + public class Key3 : UiNode + { + /// + /// 使用 Instance 属性获取当前节点实例对象, 节点类型: , 节点路径: Setting.ScrollContainer.KeySetting.Name + /// + public Name_3 L_Name + { + get + { + if (_L_Name == null) _L_Name = new Name_3(UiPanel, Instance.GetNode("Name")); + return _L_Name; + } + } + private Name_3 _L_Name; + + /// + /// 使用 Instance 属性获取当前节点实例对象, 节点类型: , 节点路径: Setting.ScrollContainer.KeySetting.Value + /// + public Value_2 L_Value + { + get + { + if (_L_Value == null) _L_Value = new Value_2(UiPanel, Instance.GetNode("Value")); + return _L_Value; + } + } + private Value_2 _L_Value; + + public Key3(SettingPanel uiPanel, Godot.HBoxContainer node) : base(uiPanel, node) { } + public override Key3 Clone() => new (UiPanel, (Godot.HBoxContainer)Instance.Duplicate()); + } + + /// + /// 类型: , 路径: Setting.ScrollContainer.KeySetting.Key4.Name + /// + public class Name_4 : UiNode + { + public Name_4(SettingPanel uiPanel, Godot.Label node) : base(uiPanel, node) { } + public override Name_4 Clone() => new (UiPanel, (Godot.Label)Instance.Duplicate()); + } + + /// + /// 类型: , 路径: Setting.ScrollContainer.KeySetting.Key4.Value + /// + public class Value_3 : UiNode + { + public Value_3(SettingPanel uiPanel, Godot.Label node) : base(uiPanel, node) { } + public override Value_3 Clone() => new (UiPanel, (Godot.Label)Instance.Duplicate()); + } + + /// + /// 类型: , 路径: Setting.ScrollContainer.KeySetting.Key4 + /// + public class Key4 : UiNode + { + /// + /// 使用 Instance 属性获取当前节点实例对象, 节点类型: , 节点路径: Setting.ScrollContainer.KeySetting.Name + /// + public Name_4 L_Name + { + get + { + if (_L_Name == null) _L_Name = new Name_4(UiPanel, Instance.GetNode("Name")); + return _L_Name; + } + } + private Name_4 _L_Name; + + /// + /// 使用 Instance 属性获取当前节点实例对象, 节点类型: , 节点路径: Setting.ScrollContainer.KeySetting.Value + /// + public Value_3 L_Value + { + get + { + if (_L_Value == null) _L_Value = new Value_3(UiPanel, Instance.GetNode("Value")); + return _L_Value; + } + } + private Value_3 _L_Value; + + public Key4(SettingPanel uiPanel, Godot.HBoxContainer node) : base(uiPanel, node) { } + public override Key4 Clone() => new (UiPanel, (Godot.HBoxContainer)Instance.Duplicate()); + } + + /// + /// 类型: , 路径: Setting.ScrollContainer.KeySetting.Key5.Name + /// + public class Name_5 : UiNode + { + public Name_5(SettingPanel uiPanel, Godot.Label node) : base(uiPanel, node) { } + public override Name_5 Clone() => new (UiPanel, (Godot.Label)Instance.Duplicate()); + } + + /// + /// 类型: , 路径: Setting.ScrollContainer.KeySetting.Key5.Value + /// + public class Value_4 : UiNode + { + public Value_4(SettingPanel uiPanel, Godot.Label node) : base(uiPanel, node) { } + public override Value_4 Clone() => new (UiPanel, (Godot.Label)Instance.Duplicate()); + } + + /// + /// 类型: , 路径: Setting.ScrollContainer.KeySetting.Key5 + /// + public class Key5 : UiNode + { + /// + /// 使用 Instance 属性获取当前节点实例对象, 节点类型: , 节点路径: Setting.ScrollContainer.KeySetting.Name + /// + public Name_5 L_Name + { + get + { + if (_L_Name == null) _L_Name = new Name_5(UiPanel, Instance.GetNode("Name")); + return _L_Name; + } + } + private Name_5 _L_Name; + + /// + /// 使用 Instance 属性获取当前节点实例对象, 节点类型: , 节点路径: Setting.ScrollContainer.KeySetting.Value + /// + public Value_4 L_Value + { + get + { + if (_L_Value == null) _L_Value = new Value_4(UiPanel, Instance.GetNode("Value")); + return _L_Value; + } + } + private Value_4 _L_Value; + + public Key5(SettingPanel uiPanel, Godot.HBoxContainer node) : base(uiPanel, node) { } + public override Key5 Clone() => new (UiPanel, (Godot.HBoxContainer)Instance.Duplicate()); + } + + /// + /// 类型: , 路径: Setting.ScrollContainer.KeySetting.Key6.Name + /// + public class Name_6 : UiNode + { + public Name_6(SettingPanel uiPanel, Godot.Label node) : base(uiPanel, node) { } + public override Name_6 Clone() => new (UiPanel, (Godot.Label)Instance.Duplicate()); + } + + /// + /// 类型: , 路径: Setting.ScrollContainer.KeySetting.Key6.Value + /// + public class Value_5 : UiNode + { + public Value_5(SettingPanel uiPanel, Godot.Label node) : base(uiPanel, node) { } + public override Value_5 Clone() => new (UiPanel, (Godot.Label)Instance.Duplicate()); + } + + /// + /// 类型: , 路径: Setting.ScrollContainer.KeySetting.Key6 + /// + public class Key6 : UiNode + { + /// + /// 使用 Instance 属性获取当前节点实例对象, 节点类型: , 节点路径: Setting.ScrollContainer.KeySetting.Name + /// + public Name_6 L_Name + { + get + { + if (_L_Name == null) _L_Name = new Name_6(UiPanel, Instance.GetNode("Name")); + return _L_Name; + } + } + private Name_6 _L_Name; + + /// + /// 使用 Instance 属性获取当前节点实例对象, 节点类型: , 节点路径: Setting.ScrollContainer.KeySetting.Value + /// + public Value_5 L_Value + { + get + { + if (_L_Value == null) _L_Value = new Value_5(UiPanel, Instance.GetNode("Value")); + return _L_Value; + } + } + private Value_5 _L_Value; + + public Key6(SettingPanel uiPanel, Godot.HBoxContainer node) : base(uiPanel, node) { } + public override Key6 Clone() => new (UiPanel, (Godot.HBoxContainer)Instance.Duplicate()); + } + + /// + /// 类型: , 路径: Setting.ScrollContainer.KeySetting.Key7.Name + /// + public class Name_7 : UiNode + { + public Name_7(SettingPanel uiPanel, Godot.Label node) : base(uiPanel, node) { } + public override Name_7 Clone() => new (UiPanel, (Godot.Label)Instance.Duplicate()); + } + + /// + /// 类型: , 路径: Setting.ScrollContainer.KeySetting.Key7.Value + /// + public class Value_6 : UiNode + { + public Value_6(SettingPanel uiPanel, Godot.Label node) : base(uiPanel, node) { } + public override Value_6 Clone() => new (UiPanel, (Godot.Label)Instance.Duplicate()); + } + + /// + /// 类型: , 路径: Setting.ScrollContainer.KeySetting.Key7 + /// + public class Key7 : UiNode + { + /// + /// 使用 Instance 属性获取当前节点实例对象, 节点类型: , 节点路径: Setting.ScrollContainer.KeySetting.Name + /// + public Name_7 L_Name + { + get + { + if (_L_Name == null) _L_Name = new Name_7(UiPanel, Instance.GetNode("Name")); + return _L_Name; + } + } + private Name_7 _L_Name; + + /// + /// 使用 Instance 属性获取当前节点实例对象, 节点类型: , 节点路径: Setting.ScrollContainer.KeySetting.Value + /// + public Value_6 L_Value + { + get + { + if (_L_Value == null) _L_Value = new Value_6(UiPanel, Instance.GetNode("Value")); + return _L_Value; + } + } + private Value_6 _L_Value; + + public Key7(SettingPanel uiPanel, Godot.HBoxContainer node) : base(uiPanel, node) { } + public override Key7 Clone() => new (UiPanel, (Godot.HBoxContainer)Instance.Duplicate()); + } + + /// + /// 类型: , 路径: Setting.ScrollContainer.KeySetting.Key8.Name + /// + public class Name_8 : UiNode + { + public Name_8(SettingPanel uiPanel, Godot.Label node) : base(uiPanel, node) { } + public override Name_8 Clone() => new (UiPanel, (Godot.Label)Instance.Duplicate()); + } + + /// + /// 类型: , 路径: Setting.ScrollContainer.KeySetting.Key8.Value + /// + public class Value_7 : UiNode + { + public Value_7(SettingPanel uiPanel, Godot.Label node) : base(uiPanel, node) { } + public override Value_7 Clone() => new (UiPanel, (Godot.Label)Instance.Duplicate()); + } + + /// + /// 类型: , 路径: Setting.ScrollContainer.KeySetting.Key8 + /// + public class Key8 : UiNode + { + /// + /// 使用 Instance 属性获取当前节点实例对象, 节点类型: , 节点路径: Setting.ScrollContainer.KeySetting.Name + /// + public Name_8 L_Name + { + get + { + if (_L_Name == null) _L_Name = new Name_8(UiPanel, Instance.GetNode("Name")); + return _L_Name; + } + } + private Name_8 _L_Name; + + /// + /// 使用 Instance 属性获取当前节点实例对象, 节点类型: , 节点路径: Setting.ScrollContainer.KeySetting.Value + /// + public Value_7 L_Value + { + get + { + if (_L_Value == null) _L_Value = new Value_7(UiPanel, Instance.GetNode("Value")); + return _L_Value; + } + } + private Value_7 _L_Value; + + public Key8(SettingPanel uiPanel, Godot.HBoxContainer node) : base(uiPanel, node) { } + public override Key8 Clone() => new (UiPanel, (Godot.HBoxContainer)Instance.Duplicate()); + } + + /// + /// 类型: , 路径: Setting.ScrollContainer.KeySetting.Key11.Name + /// + public class Name_9 : UiNode + { + public Name_9(SettingPanel uiPanel, Godot.Label node) : base(uiPanel, node) { } + public override Name_9 Clone() => new (UiPanel, (Godot.Label)Instance.Duplicate()); + } + + /// + /// 类型: , 路径: Setting.ScrollContainer.KeySetting.Key11.Value + /// + public class Value_8 : UiNode + { + public Value_8(SettingPanel uiPanel, Godot.Label node) : base(uiPanel, node) { } + public override Value_8 Clone() => new (UiPanel, (Godot.Label)Instance.Duplicate()); + } + + /// + /// 类型: , 路径: Setting.ScrollContainer.KeySetting.Key11 + /// + public class Key11 : UiNode + { + /// + /// 使用 Instance 属性获取当前节点实例对象, 节点类型: , 节点路径: Setting.ScrollContainer.KeySetting.Name + /// + public Name_9 L_Name + { + get + { + if (_L_Name == null) _L_Name = new Name_9(UiPanel, Instance.GetNode("Name")); + return _L_Name; + } + } + private Name_9 _L_Name; + + /// + /// 使用 Instance 属性获取当前节点实例对象, 节点类型: , 节点路径: Setting.ScrollContainer.KeySetting.Value + /// + public Value_8 L_Value + { + get + { + if (_L_Value == null) _L_Value = new Value_8(UiPanel, Instance.GetNode("Value")); + return _L_Value; + } + } + private Value_8 _L_Value; + + public Key11(SettingPanel uiPanel, Godot.HBoxContainer node) : base(uiPanel, node) { } + public override Key11 Clone() => new (UiPanel, (Godot.HBoxContainer)Instance.Duplicate()); + } + + /// + /// 类型: , 路径: Setting.ScrollContainer.KeySetting.Key9.Name + /// + public class Name_10 : UiNode + { + public Name_10(SettingPanel uiPanel, Godot.Label node) : base(uiPanel, node) { } + public override Name_10 Clone() => new (UiPanel, (Godot.Label)Instance.Duplicate()); + } + + /// + /// 类型: , 路径: Setting.ScrollContainer.KeySetting.Key9.Value + /// + public class Value_9 : UiNode + { + public Value_9(SettingPanel uiPanel, Godot.Label node) : base(uiPanel, node) { } + public override Value_9 Clone() => new (UiPanel, (Godot.Label)Instance.Duplicate()); + } + + /// + /// 类型: , 路径: Setting.ScrollContainer.KeySetting.Key9 + /// + public class Key9 : UiNode + { + /// + /// 使用 Instance 属性获取当前节点实例对象, 节点类型: , 节点路径: Setting.ScrollContainer.KeySetting.Name + /// + public Name_10 L_Name + { + get + { + if (_L_Name == null) _L_Name = new Name_10(UiPanel, Instance.GetNode("Name")); + return _L_Name; + } + } + private Name_10 _L_Name; + + /// + /// 使用 Instance 属性获取当前节点实例对象, 节点类型: , 节点路径: Setting.ScrollContainer.KeySetting.Value + /// + public Value_9 L_Value + { + get + { + if (_L_Value == null) _L_Value = new Value_9(UiPanel, Instance.GetNode("Value")); + return _L_Value; + } + } + private Value_9 _L_Value; + + public Key9(SettingPanel uiPanel, Godot.HBoxContainer node) : base(uiPanel, node) { } + public override Key9 Clone() => new (UiPanel, (Godot.HBoxContainer)Instance.Duplicate()); + } + + /// + /// 类型: , 路径: Setting.ScrollContainer.KeySetting.Key10.Name + /// + public class Name_11 : UiNode + { + public Name_11(SettingPanel uiPanel, Godot.Label node) : base(uiPanel, node) { } + public override Name_11 Clone() => new (UiPanel, (Godot.Label)Instance.Duplicate()); + } + + /// + /// 类型: , 路径: Setting.ScrollContainer.KeySetting.Key10.Value + /// + public class Value_10 : UiNode + { + public Value_10(SettingPanel uiPanel, Godot.Label node) : base(uiPanel, node) { } + public override Value_10 Clone() => new (UiPanel, (Godot.Label)Instance.Duplicate()); + } + + /// + /// 类型: , 路径: Setting.ScrollContainer.KeySetting.Key10 + /// + public class Key10 : UiNode + { + /// + /// 使用 Instance 属性获取当前节点实例对象, 节点类型: , 节点路径: Setting.ScrollContainer.KeySetting.Name + /// + public Name_11 L_Name + { + get + { + if (_L_Name == null) _L_Name = new Name_11(UiPanel, Instance.GetNode("Name")); + return _L_Name; + } + } + private Name_11 _L_Name; + + /// + /// 使用 Instance 属性获取当前节点实例对象, 节点类型: , 节点路径: Setting.ScrollContainer.KeySetting.Value + /// + public Value_10 L_Value + { + get + { + if (_L_Value == null) _L_Value = new Value_10(UiPanel, Instance.GetNode("Value")); + return _L_Value; + } + } + private Value_10 _L_Value; + + public Key10(SettingPanel uiPanel, Godot.HBoxContainer node) : base(uiPanel, node) { } + public override Key10 Clone() => new (UiPanel, (Godot.HBoxContainer)Instance.Duplicate()); + } + + /// + /// 类型: , 路径: Setting.ScrollContainer.KeySetting.Key12.Name + /// + public class Name_12 : UiNode + { + public Name_12(SettingPanel uiPanel, Godot.Label node) : base(uiPanel, node) { } + public override Name_12 Clone() => new (UiPanel, (Godot.Label)Instance.Duplicate()); + } + + /// + /// 类型: , 路径: Setting.ScrollContainer.KeySetting.Key12.Value + /// + public class Value_11 : UiNode + { + public Value_11(SettingPanel uiPanel, Godot.Label node) : base(uiPanel, node) { } + public override Value_11 Clone() => new (UiPanel, (Godot.Label)Instance.Duplicate()); + } + + /// + /// 类型: , 路径: Setting.ScrollContainer.KeySetting.Key12 + /// + public class Key12 : UiNode + { + /// + /// 使用 Instance 属性获取当前节点实例对象, 节点类型: , 节点路径: Setting.ScrollContainer.KeySetting.Name + /// + public Name_12 L_Name + { + get + { + if (_L_Name == null) _L_Name = new Name_12(UiPanel, Instance.GetNode("Name")); + return _L_Name; + } + } + private Name_12 _L_Name; + + /// + /// 使用 Instance 属性获取当前节点实例对象, 节点类型: , 节点路径: Setting.ScrollContainer.KeySetting.Value + /// + public Value_11 L_Value + { + get + { + if (_L_Value == null) _L_Value = new Value_11(UiPanel, Instance.GetNode("Value")); + return _L_Value; + } + } + private Value_11 _L_Value; + + public Key12(SettingPanel uiPanel, Godot.HBoxContainer node) : base(uiPanel, node) { } + public override Key12 Clone() => new (UiPanel, (Godot.HBoxContainer)Instance.Duplicate()); + } + + /// + /// 类型: , 路径: Setting.ScrollContainer.KeySetting.Key13.Name + /// + public class Name_13 : UiNode + { + public Name_13(SettingPanel uiPanel, Godot.Label node) : base(uiPanel, node) { } + public override Name_13 Clone() => new (UiPanel, (Godot.Label)Instance.Duplicate()); + } + + /// + /// 类型: , 路径: Setting.ScrollContainer.KeySetting.Key13.Value + /// + public class Value_12 : UiNode + { + public Value_12(SettingPanel uiPanel, Godot.Label node) : base(uiPanel, node) { } + public override Value_12 Clone() => new (UiPanel, (Godot.Label)Instance.Duplicate()); + } + + /// + /// 类型: , 路径: Setting.ScrollContainer.KeySetting.Key13 + /// + public class Key13 : UiNode + { + /// + /// 使用 Instance 属性获取当前节点实例对象, 节点类型: , 节点路径: Setting.ScrollContainer.KeySetting.Name + /// + public Name_13 L_Name + { + get + { + if (_L_Name == null) _L_Name = new Name_13(UiPanel, Instance.GetNode("Name")); + return _L_Name; + } + } + private Name_13 _L_Name; + + /// + /// 使用 Instance 属性获取当前节点实例对象, 节点类型: , 节点路径: Setting.ScrollContainer.KeySetting.Value + /// + public Value_12 L_Value + { + get + { + if (_L_Value == null) _L_Value = new Value_12(UiPanel, Instance.GetNode("Value")); + return _L_Value; + } + } + private Value_12 _L_Value; + + public Key13(SettingPanel uiPanel, Godot.HBoxContainer node) : base(uiPanel, node) { } + public override Key13 Clone() => new (UiPanel, (Godot.HBoxContainer)Instance.Duplicate()); + } + + /// + /// 类型: , 路径: Setting.ScrollContainer.KeySetting.Back + /// + public class Back_2 : UiNode + { + public Back_2(SettingPanel uiPanel, Godot.Button node) : base(uiPanel, node) { } + public override Back_2 Clone() => new (UiPanel, (Godot.Button)Instance.Duplicate()); + } + + /// + /// 类型: , 路径: Setting.ScrollContainer.KeySetting + /// + public class KeySetting : UiNode + { + /// + /// 使用 Instance 属性获取当前节点实例对象, 节点类型: , 节点路径: Setting.ScrollContainer.Tip + /// + public Tip L_Tip + { + get + { + if (_L_Tip == null) _L_Tip = new Tip(UiPanel, Instance.GetNode("Tip")); + return _L_Tip; + } + } + private Tip _L_Tip; + + /// + /// 使用 Instance 属性获取当前节点实例对象, 节点类型: , 节点路径: Setting.ScrollContainer.Key + /// + public Key L_Key + { + get + { + if (_L_Key == null) _L_Key = new Key(UiPanel, Instance.GetNode("Key")); + return _L_Key; + } + } + private Key _L_Key; + + /// + /// 使用 Instance 属性获取当前节点实例对象, 节点类型: , 节点路径: Setting.ScrollContainer.Key2 + /// + public Key2 L_Key2 + { + get + { + if (_L_Key2 == null) _L_Key2 = new Key2(UiPanel, Instance.GetNode("Key2")); + return _L_Key2; + } + } + private Key2 _L_Key2; + + /// + /// 使用 Instance 属性获取当前节点实例对象, 节点类型: , 节点路径: Setting.ScrollContainer.Key3 + /// + public Key3 L_Key3 + { + get + { + if (_L_Key3 == null) _L_Key3 = new Key3(UiPanel, Instance.GetNode("Key3")); + return _L_Key3; + } + } + private Key3 _L_Key3; + + /// + /// 使用 Instance 属性获取当前节点实例对象, 节点类型: , 节点路径: Setting.ScrollContainer.Key4 + /// + public Key4 L_Key4 + { + get + { + if (_L_Key4 == null) _L_Key4 = new Key4(UiPanel, Instance.GetNode("Key4")); + return _L_Key4; + } + } + private Key4 _L_Key4; + + /// + /// 使用 Instance 属性获取当前节点实例对象, 节点类型: , 节点路径: Setting.ScrollContainer.Key5 + /// + public Key5 L_Key5 + { + get + { + if (_L_Key5 == null) _L_Key5 = new Key5(UiPanel, Instance.GetNode("Key5")); + return _L_Key5; + } + } + private Key5 _L_Key5; + + /// + /// 使用 Instance 属性获取当前节点实例对象, 节点类型: , 节点路径: Setting.ScrollContainer.Key6 + /// + public Key6 L_Key6 + { + get + { + if (_L_Key6 == null) _L_Key6 = new Key6(UiPanel, Instance.GetNode("Key6")); + return _L_Key6; + } + } + private Key6 _L_Key6; + + /// + /// 使用 Instance 属性获取当前节点实例对象, 节点类型: , 节点路径: Setting.ScrollContainer.Key7 + /// + public Key7 L_Key7 + { + get + { + if (_L_Key7 == null) _L_Key7 = new Key7(UiPanel, Instance.GetNode("Key7")); + return _L_Key7; + } + } + private Key7 _L_Key7; + + /// + /// 使用 Instance 属性获取当前节点实例对象, 节点类型: , 节点路径: Setting.ScrollContainer.Key8 + /// + public Key8 L_Key8 + { + get + { + if (_L_Key8 == null) _L_Key8 = new Key8(UiPanel, Instance.GetNode("Key8")); + return _L_Key8; + } + } + private Key8 _L_Key8; + + /// + /// 使用 Instance 属性获取当前节点实例对象, 节点类型: , 节点路径: Setting.ScrollContainer.Key11 + /// + public Key11 L_Key11 + { + get + { + if (_L_Key11 == null) _L_Key11 = new Key11(UiPanel, Instance.GetNode("Key11")); + return _L_Key11; + } + } + private Key11 _L_Key11; + + /// + /// 使用 Instance 属性获取当前节点实例对象, 节点类型: , 节点路径: Setting.ScrollContainer.Key9 + /// + public Key9 L_Key9 + { + get + { + if (_L_Key9 == null) _L_Key9 = new Key9(UiPanel, Instance.GetNode("Key9")); + return _L_Key9; + } + } + private Key9 _L_Key9; + + /// + /// 使用 Instance 属性获取当前节点实例对象, 节点类型: , 节点路径: Setting.ScrollContainer.Key10 + /// + public Key10 L_Key10 + { + get + { + if (_L_Key10 == null) _L_Key10 = new Key10(UiPanel, Instance.GetNode("Key10")); + return _L_Key10; + } + } + private Key10 _L_Key10; + + /// + /// 使用 Instance 属性获取当前节点实例对象, 节点类型: , 节点路径: Setting.ScrollContainer.Key12 + /// + public Key12 L_Key12 + { + get + { + if (_L_Key12 == null) _L_Key12 = new Key12(UiPanel, Instance.GetNode("Key12")); + return _L_Key12; + } + } + private Key12 _L_Key12; + + /// + /// 使用 Instance 属性获取当前节点实例对象, 节点类型: , 节点路径: Setting.ScrollContainer.Key13 + /// + public Key13 L_Key13 + { + get + { + if (_L_Key13 == null) _L_Key13 = new Key13(UiPanel, Instance.GetNode("Key13")); + return _L_Key13; + } + } + private Key13 _L_Key13; + + /// + /// 使用 Instance 属性获取当前节点实例对象, 节点类型: , 节点路径: Setting.ScrollContainer.Back + /// + public Back_2 L_Back + { + get + { + if (_L_Back == null) _L_Back = new Back_2(UiPanel, Instance.GetNode("Back")); + return _L_Back; + } + } + private Back_2 _L_Back; + + public KeySetting(SettingPanel uiPanel, Godot.VBoxContainer node) : base(uiPanel, node) { } + public override KeySetting Clone() => new (UiPanel, (Godot.VBoxContainer)Instance.Duplicate()); + } + + /// + /// 类型: , 路径: Setting.ScrollContainer + /// + public class ScrollContainer : UiNode + { + /// + /// 使用 Instance 属性获取当前节点实例对象, 节点类型: , 节点路径: Setting.SettingMenu + /// + public SettingMenu L_SettingMenu + { + get + { + if (_L_SettingMenu == null) _L_SettingMenu = new SettingMenu(UiPanel, Instance.GetNode("SettingMenu")); + return _L_SettingMenu; + } + } + private SettingMenu _L_SettingMenu; + + /// + /// 使用 Instance 属性获取当前节点实例对象, 节点类型: , 节点路径: Setting.VideoSetting + /// + public VideoSetting L_VideoSetting + { + get + { + if (_L_VideoSetting == null) _L_VideoSetting = new VideoSetting(UiPanel, Instance.GetNode("VideoSetting")); + return _L_VideoSetting; + } + } + private VideoSetting _L_VideoSetting; + + /// + /// 使用 Instance 属性获取当前节点实例对象, 节点类型: , 节点路径: Setting.KeySetting + /// + public KeySetting L_KeySetting + { + get + { + if (_L_KeySetting == null) _L_KeySetting = new KeySetting(UiPanel, Instance.GetNode("KeySetting")); + return _L_KeySetting; + } + } + private KeySetting _L_KeySetting; + + public ScrollContainer(SettingPanel uiPanel, Godot.ScrollContainer node) : base(uiPanel, node) { } + public override ScrollContainer Clone() => new (UiPanel, (Godot.ScrollContainer)Instance.Duplicate()); } @@ -176,33 +1210,118 @@ public ColorRect S_ColorRect => L_ColorRect; /// - /// 场景中唯一名称的节点, 节点类型: , 节点路径: Setting.Back - /// - public Back S_Back => L_Back; - - /// /// 场景中唯一名称的节点, 节点类型: , 节点路径: Setting.Title /// public Title S_Title => L_Title; /// - /// 场景中唯一名称的节点, 节点类型: , 节点路径: Setting.VBoxContainer.FullScreen.Name + /// 场景中唯一名称的节点, 节点类型: , 节点路径: Setting.ScrollContainer.SettingMenu.VideoItem /// - public Name S_Name => L_VBoxContainer.L_FullScreen.L_Name; + public VideoItem S_VideoItem => L_ScrollContainer.L_SettingMenu.L_VideoItem; /// - /// 场景中唯一名称的节点, 节点类型: , 节点路径: Setting.VBoxContainer.FullScreen.CheckBox + /// 场景中唯一名称的节点, 节点类型: , 节点路径: Setting.ScrollContainer.SettingMenu.InputItem /// - public CheckBox S_CheckBox => L_VBoxContainer.L_FullScreen.L_CheckBox; + public InputItem S_InputItem => L_ScrollContainer.L_SettingMenu.L_InputItem; /// - /// 场景中唯一名称的节点, 节点类型: , 节点路径: Setting.VBoxContainer.FullScreen + /// 场景中唯一名称的节点, 节点类型: , 节点路径: Setting.ScrollContainer.SettingMenu /// - public FullScreen S_FullScreen => L_VBoxContainer.L_FullScreen; + public SettingMenu S_SettingMenu => L_ScrollContainer.L_SettingMenu; /// - /// 场景中唯一名称的节点, 节点类型: , 节点路径: Setting.VBoxContainer + /// 场景中唯一名称的节点, 节点类型: , 节点路径: Setting.ScrollContainer.VideoSetting.FullScreen.CheckBox /// - public VBoxContainer S_VBoxContainer => L_VBoxContainer; + public CheckBox S_CheckBox => L_ScrollContainer.L_VideoSetting.L_FullScreen.L_CheckBox; + + /// + /// 场景中唯一名称的节点, 节点类型: , 节点路径: Setting.ScrollContainer.VideoSetting.FullScreen + /// + public FullScreen S_FullScreen => L_ScrollContainer.L_VideoSetting.L_FullScreen; + + /// + /// 场景中唯一名称的节点, 节点类型: , 节点路径: Setting.ScrollContainer.VideoSetting + /// + public VideoSetting S_VideoSetting => L_ScrollContainer.L_VideoSetting; + + /// + /// 场景中唯一名称的节点, 节点类型: , 节点路径: Setting.ScrollContainer.KeySetting.Tip + /// + public Tip S_Tip => L_ScrollContainer.L_KeySetting.L_Tip; + + /// + /// 场景中唯一名称的节点, 节点类型: , 节点路径: Setting.ScrollContainer.KeySetting.Key + /// + public Key S_Key => L_ScrollContainer.L_KeySetting.L_Key; + + /// + /// 场景中唯一名称的节点, 节点类型: , 节点路径: Setting.ScrollContainer.KeySetting.Key2 + /// + public Key2 S_Key2 => L_ScrollContainer.L_KeySetting.L_Key2; + + /// + /// 场景中唯一名称的节点, 节点类型: , 节点路径: Setting.ScrollContainer.KeySetting.Key3 + /// + public Key3 S_Key3 => L_ScrollContainer.L_KeySetting.L_Key3; + + /// + /// 场景中唯一名称的节点, 节点类型: , 节点路径: Setting.ScrollContainer.KeySetting.Key4 + /// + public Key4 S_Key4 => L_ScrollContainer.L_KeySetting.L_Key4; + + /// + /// 场景中唯一名称的节点, 节点类型: , 节点路径: Setting.ScrollContainer.KeySetting.Key5 + /// + public Key5 S_Key5 => L_ScrollContainer.L_KeySetting.L_Key5; + + /// + /// 场景中唯一名称的节点, 节点类型: , 节点路径: Setting.ScrollContainer.KeySetting.Key6 + /// + public Key6 S_Key6 => L_ScrollContainer.L_KeySetting.L_Key6; + + /// + /// 场景中唯一名称的节点, 节点类型: , 节点路径: Setting.ScrollContainer.KeySetting.Key7 + /// + public Key7 S_Key7 => L_ScrollContainer.L_KeySetting.L_Key7; + + /// + /// 场景中唯一名称的节点, 节点类型: , 节点路径: Setting.ScrollContainer.KeySetting.Key8 + /// + public Key8 S_Key8 => L_ScrollContainer.L_KeySetting.L_Key8; + + /// + /// 场景中唯一名称的节点, 节点类型: , 节点路径: Setting.ScrollContainer.KeySetting.Key11 + /// + public Key11 S_Key11 => L_ScrollContainer.L_KeySetting.L_Key11; + + /// + /// 场景中唯一名称的节点, 节点类型: , 节点路径: Setting.ScrollContainer.KeySetting.Key9 + /// + public Key9 S_Key9 => L_ScrollContainer.L_KeySetting.L_Key9; + + /// + /// 场景中唯一名称的节点, 节点类型: , 节点路径: Setting.ScrollContainer.KeySetting.Key10 + /// + public Key10 S_Key10 => L_ScrollContainer.L_KeySetting.L_Key10; + + /// + /// 场景中唯一名称的节点, 节点类型: , 节点路径: Setting.ScrollContainer.KeySetting.Key12 + /// + public Key12 S_Key12 => L_ScrollContainer.L_KeySetting.L_Key12; + + /// + /// 场景中唯一名称的节点, 节点类型: , 节点路径: Setting.ScrollContainer.KeySetting.Key13 + /// + public Key13 S_Key13 => L_ScrollContainer.L_KeySetting.L_Key13; + + /// + /// 场景中唯一名称的节点, 节点类型: , 节点路径: Setting.ScrollContainer.KeySetting + /// + public KeySetting S_KeySetting => L_ScrollContainer.L_KeySetting; + + /// + /// 场景中唯一名称的节点, 节点类型: , 节点路径: Setting.ScrollContainer + /// + public ScrollContainer S_ScrollContainer => L_ScrollContainer; } diff --git a/DungeonShooting_Godot/src/game/ui/setting/SettingPanel.cs b/DungeonShooting_Godot/src/game/ui/setting/SettingPanel.cs index 3206947..f633a8b 100644 --- a/DungeonShooting_Godot/src/game/ui/setting/SettingPanel.cs +++ b/DungeonShooting_Godot/src/game/ui/setting/SettingPanel.cs @@ -10,15 +10,42 @@ if (PrevUi != null) { //返回上一级UI - S_Back.Instance.Pressed += () => + L_Back.Instance.Pressed += () => { OpenPrevUi(); }; } + //视频设置 + S_VideoItem.Instance.Pressed += () => + { + S_SettingMenu.Instance.Visible = false; + S_VideoSetting.Instance.Visible = true; + }; + //键位设置 + S_InputItem.Instance.Pressed += () => + { + S_SettingMenu.Instance.Visible = false; + S_KeySetting.Instance.Visible = true; + }; + //视频设置返回 + S_VideoSetting.L_Back.Instance.Pressed += () => + { + S_SettingMenu.Instance.Visible = true; + S_VideoSetting.Instance.Visible = false; + }; + //键位设置返回 + S_KeySetting.L_Back.Instance.Pressed += () => + { + S_SettingMenu.Instance.Visible = true; + S_KeySetting.Instance.Visible = false; + }; + + //---------------------- 视频设置 ----------------------------- //全屏属性 S_FullScreen.L_CheckBox.Instance.ButtonPressed = DisplayServer.WindowGetMode() == DisplayServer.WindowMode.Fullscreen; S_FullScreen.L_CheckBox.Instance.Pressed += OnChangeFullScreen; + //----------------------------------------------------------- } public override void OnDestroyUi()