diff --git a/Components/SettingsMenu.cs b/Components/SettingsMenu.cs index 42212ff..71ef765 100644 --- a/Components/SettingsMenu.cs +++ b/Components/SettingsMenu.cs @@ -8,17 +8,12 @@ namespace CMSGame public override void _Ready() { - InitializeComponents(); + this.GetAutoloadNode(ref Settings, nameof(GameSettings)); + this.GetUniqueNode(ref PauseBattleWhenCharacterIsSelectedCheckBox, nameof(PauseBattleWhenCharacterIsSelectedCheckBox)); PauseBattleWhenCharacterIsSelectedCheckBox.ButtonPressed = Settings.BattleSettings.PauseBattleWhenCharacterIsSelected; } - private void InitializeComponents() - { - Settings = GetNode("/root/GameSettings"); - PauseBattleWhenCharacterIsSelectedCheckBox = GetNode($"%{nameof(PauseBattleWhenCharacterIsSelectedCheckBox)}"); - } - public void On_PauseBattleWhenCharacterIsSelectedCheckBox_Toggled(bool pressed) { Settings.BattleSettings.PauseBattleWhenCharacterIsSelected = pressed; diff --git a/Extensions/NodeExtension.cs b/Extensions/NodeExtension.cs index c62a77b..69d6b0b 100644 --- a/Extensions/NodeExtension.cs +++ b/Extensions/NodeExtension.cs @@ -1,10 +1,28 @@ +using System; +using System.Threading.Tasks; + namespace CMSGame { public static class NodeExtension { - public static T GetUniqueNode(this Node node, string uniqueName) where T : Node + public static T GetAutoloadNode(this Node parent, string autoloadName) where T : Node { - return node.GetNode($"%{uniqueName}"); + return parent.GetNode($"/root/{autoloadName}"); + } + + public static void GetAutoloadNode(this Node parent, ref T node, string autoloadName) where T : Node + { + node = parent.GetAutoloadNode(autoloadName); + } + + public static T GetUniqueNode(this Node parent, string uniqueName) where T : Node + { + return parent.GetNode($"%{uniqueName}"); + } + + public static void GetUniqueNode(this Node parent, ref T node, string uniqueName) where T : Node + { + node = parent.GetUniqueNode(uniqueName); } } } diff --git a/Models/Character.cs b/Models/Character.cs index 303de73..50df2dc 100644 --- a/Models/Character.cs +++ b/Models/Character.cs @@ -2,7 +2,7 @@ namespace CMSGame { public partial class Character : Node { - public int HP; + public int HealthPoint; public override void _Ready() { diff --git a/Scenes/BattleScene.cs b/Scenes/BattleScene.cs index dd46bdf..3fbfec2 100644 --- a/Scenes/BattleScene.cs +++ b/Scenes/BattleScene.cs @@ -16,9 +16,9 @@ namespace CMSGame public override void _Ready() { - PauseMenuPopup = this.GetUniqueNode($"%{nameof(PauseMenuPopup)}"); - SettingsMenuPopup = this.GetUniqueNode($"%{nameof(SettingsMenuPopup)}"); - BattleTimeLabel = this.GetUniqueNode