Changes to player_ui to support modularization, and now the CharacterWindow is a module, and it's added to the UI dynamically.

This commit is contained in:
Relintai 2020-09-22 15:10:34 +02:00
parent 4c902fe7a7
commit e7334f483b
14 changed files with 505 additions and 429 deletions

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -128,6 +128,11 @@ _global_script_classes=[ {
"class": "TestVoxelMesher", "class": "TestVoxelMesher",
"language": "GDScript", "language": "GDScript",
"path": "res://voxelman/debug/TestVoxelMesher.gd" "path": "res://voxelman/debug/TestVoxelMesher.gd"
}, {
"base": "GameModule",
"class": "UIWindowModule",
"language": "GDScript",
"path": "res://scripts/game_modules/ui_window_module.gd"
} ] } ]
_global_script_class_icons={ _global_script_class_icons={
"AuraGD": "", "AuraGD": "",
@ -153,7 +158,8 @@ _global_script_class_icons={
"SpellGD": "", "SpellGD": "",
"TVVoxelChunk": "", "TVVoxelChunk": "",
"TVVoxelMesher": "", "TVVoxelMesher": "",
"TestVoxelMesher": "" "TestVoxelMesher": "",
"UIWindowModule": ""
} }
Node="input/actionbar_5_11" Node="input/actionbar_5_11"

View File

@ -71,7 +71,12 @@ chunk_spawn_range = 6
build_flags = 511 build_flags = 511
lod_update_interval = 2.0 lod_update_interval = 2.0
script = ExtResource( 8 ) script = ExtResource( 8 )
meshes = [ ]
editor_generate = false
show_loading_screen = true
generate_on_ready = false
spawn_height = 3 spawn_height = 3
use_global_chunk_settings = true
test_prop = ExtResource( 4 ) test_prop = ExtResource( 4 )
[node name="WorldEnvironment" type="WorldEnvironment" parent="."] [node name="WorldEnvironment" type="WorldEnvironment" parent="."]

View File

@ -62,6 +62,7 @@ func request_instance(what : int) -> Node:
if what == PLAYER_UI_INSTANCE: if what == PLAYER_UI_INSTANCE:
inst = player_ui.instance() inst = player_ui.instance()
inst.initialize()
for module in _modules: for module in _modules:
# if module.has_method("on_request_instance"): # if module.has_method("on_request_instance"):

View File

@ -0,0 +1,18 @@
extends GameModule
class_name UIWindowModule
export(PackedScene) var character_scene : PackedScene
export(Texture) var opener_button_texture : Texture
func on_request_instance(what : int, node : Node) -> void:
if what == DataManager.PLAYER_UI_INSTANCE:
var sc = character_scene.instance()
node.windows.add_child(sc)
var b = node.buttons.add_image_button(opener_button_texture, 0)
b.connect("toggled", sc, "_on_button_toggled")
sc.opener_button = b
sc.hide()

View File

@ -20,6 +20,8 @@ extends Control
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
# SOFTWARE. # SOFTWARE.
export (PackedScene) var image_button : PackedScene
export (NodePath) var spell_book_path export (NodePath) var spell_book_path
export (NodePath) var spell_book_button_path export (NodePath) var spell_book_button_path
var spell_book var spell_book
@ -34,6 +36,18 @@ func _ready():
lock_button = get_node(lock_button_path) lock_button = get_node(lock_button_path)
lock_button.connect("pressed", self, "_lock_button_click") lock_button.connect("pressed", self, "_lock_button_click")
func add_image_button(texture : Texture, index : int = -1) -> Button:
var button : Button = image_button.instance() as Button
button.get_child(0).texture = texture
add_child(button)
if index != -1:
move_child(button, index)
return button
func set_player(p_player): func set_player(p_player):
player = p_player player = p_player

View File

@ -0,0 +1,26 @@
[gd_scene load_steps=2 format=2]
[ext_resource path="res://ui/theme/character_icon.tres" type="Texture" id=1]
[node name="ImageButton" type="Button"]
margin_right = 25.0
margin_bottom = 40.0
rect_min_size = Vector2( 25, 30 )
hint_tooltip = "Inventory"
focus_mode = 0
toggle_mode = true
enabled_focus_mode = 0
keep_pressed_outside = true
__meta__ = {
"_edit_use_anchors_": false
}
[node name="TextureRect" type="TextureRect" parent="."]
anchor_right = 1.0
anchor_bottom = 1.0
texture = ExtResource( 1 )
expand = true
stretch_mode = 6
__meta__ = {
"_edit_use_anchors_": false
}

View File

@ -1,6 +1,6 @@
extends PanelContainer extends Control
export(NodePath) var opener_button_path : NodePath #export(NodePath) var opener_button_path : NodePath
var opener_button : BaseButton var opener_button : BaseButton
export(NodePath) var container_path : NodePath export(NodePath) var container_path : NodePath
@ -9,7 +9,7 @@ var container : Node
var _player : Entity var _player : Entity
func _ready(): func _ready():
opener_button = get_node_or_null(opener_button_path) as BaseButton # opener_button = get_node_or_null(opener_button_path) as BaseButton
container = get_node(container_path) container = get_node(container_path)
func set_player(p_player: Entity) -> void: func set_player(p_player: Entity) -> void:
@ -19,7 +19,7 @@ func set_player(p_player: Entity) -> void:
if c.has_method("set_player"): if c.has_method("set_player"):
c.set_player(_player) c.set_player(_player)
func _on_CharacterButton_toggled(button_pressed): func _on_button_toggled(button_pressed):
if button_pressed: if button_pressed:
show() show()
else: else:

View File

@ -0,0 +1,384 @@
[gd_scene load_steps=4 format=2]
[ext_resource path="res://ui/theme/ui_theme.tres" type="Theme" id=1]
[ext_resource path="res://ui/character/CharacterWindow.gd" type="Script" id=2]
[ext_resource path="res://ui/character/SingleStatRow.tscn" type="PackedScene" id=3]
[node name="CharacterWindow" type="Control"]
anchor_right = 1.0
anchor_bottom = 1.0
mouse_filter = 2
theme = ExtResource( 1 )
script = ExtResource( 2 )
__meta__ = {
"_edit_use_anchors_": false
}
container_path = NodePath("Panel/VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer/VBoxContainer")
[node name="Panel" type="PanelContainer" parent="."]
margin_left = 52.0
margin_top = 54.0
margin_right = 288.0
margin_bottom = 421.0
__meta__ = {
"_edit_use_anchors_": false
}
[node name="VBoxContainer" type="VBoxContainer" parent="Panel"]
margin_left = 4.0
margin_top = 4.0
margin_right = 232.0
margin_bottom = 363.0
[node name="HBoxContainer" type="HBoxContainer" parent="Panel/VBoxContainer"]
margin_right = 228.0
margin_bottom = 30.0
rect_min_size = Vector2( 0, 30 )
[node name="Label" type="Label" parent="Panel/VBoxContainer/HBoxContainer"]
margin_top = 7.0
margin_right = 194.0
margin_bottom = 22.0
size_flags_horizontal = 3
text = "Character"
[node name="Button" type="Button" parent="Panel/VBoxContainer/HBoxContainer"]
margin_left = 198.0
margin_right = 228.0
margin_bottom = 30.0
rect_min_size = Vector2( 30, 30 )
text = "X"
__meta__ = {
"_edit_use_anchors_": false
}
[node name="HBoxContainer2" type="HBoxContainer" parent="Panel/VBoxContainer"]
margin_top = 38.0
margin_right = 228.0
margin_bottom = 359.0
size_flags_horizontal = 3
size_flags_vertical = 3
[node name="ScrollContainer" type="ScrollContainer" parent="Panel/VBoxContainer/HBoxContainer2"]
margin_right = 228.0
margin_bottom = 321.0
size_flags_horizontal = 3
size_flags_vertical = 3
[node name="MarginContainer" type="MarginContainer" parent="Panel/VBoxContainer/HBoxContainer2/ScrollContainer"]
margin_right = 218.0
margin_bottom = 1066.0
size_flags_horizontal = 3
custom_constants/margin_right = 8
custom_constants/margin_left = 6
[node name="VBoxContainer" type="VBoxContainer" parent="Panel/VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer"]
margin_left = 6.0
margin_right = 210.0
margin_bottom = 1066.0
size_flags_horizontal = 3
[node name="Agility" parent="Panel/VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer/VBoxContainer" instance=ExtResource( 3 )]
margin_right = 204.0
stat_name = "Agility"
[node name="Strength" parent="Panel/VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer/VBoxContainer" instance=ExtResource( 3 )]
margin_top = 23.0
margin_right = 204.0
margin_bottom = 38.0
stat_name = "Strength"
[node name="Stamina" parent="Panel/VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer/VBoxContainer" instance=ExtResource( 3 )]
margin_top = 46.0
margin_right = 204.0
margin_bottom = 61.0
stat_name = "Stamina"
[node name="Intellect" parent="Panel/VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer/VBoxContainer" instance=ExtResource( 3 )]
margin_top = 69.0
margin_right = 204.0
margin_bottom = 84.0
stat_name = "Intellect"
[node name="Spirit" parent="Panel/VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer/VBoxContainer" instance=ExtResource( 3 )]
margin_top = 92.0
margin_right = 204.0
margin_bottom = 107.0
stat_name = "Spirit"
[node name="Separator" type="Control" parent="Panel/VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer/VBoxContainer"]
margin_top = 115.0
margin_right = 204.0
margin_bottom = 119.0
rect_min_size = Vector2( 0, 4 )
[node name="Health" parent="Panel/VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer/VBoxContainer" instance=ExtResource( 3 )]
margin_top = 127.0
margin_right = 204.0
margin_bottom = 142.0
stat_name = "Health"
[node name="Mana" parent="Panel/VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer/VBoxContainer" instance=ExtResource( 3 )]
margin_top = 150.0
margin_right = 204.0
margin_bottom = 165.0
stat_name = "Mana"
[node name="Speed" parent="Panel/VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer/VBoxContainer" instance=ExtResource( 3 )]
margin_top = 173.0
margin_right = 204.0
margin_bottom = 188.0
stat_name = "Speed"
[node name="Haste" parent="Panel/VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer/VBoxContainer" instance=ExtResource( 3 )]
margin_top = 196.0
margin_right = 204.0
margin_bottom = 211.0
stat_name = "Haste"
[node name="HasteRating" parent="Panel/VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer/VBoxContainer" instance=ExtResource( 3 )]
margin_top = 219.0
margin_right = 204.0
margin_bottom = 234.0
stat_name = "Haste Rating"
[node name="Separator2" type="Control" parent="Panel/VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer/VBoxContainer"]
margin_top = 242.0
margin_right = 204.0
margin_bottom = 246.0
rect_min_size = Vector2( 0, 4 )
[node name="Resilience" parent="Panel/VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer/VBoxContainer" instance=ExtResource( 3 )]
margin_top = 254.0
margin_right = 204.0
margin_bottom = 269.0
stat_name = "Resilience"
[node name="Armor" parent="Panel/VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer/VBoxContainer" instance=ExtResource( 3 )]
margin_top = 277.0
margin_right = 204.0
margin_bottom = 292.0
stat_name = "Armor"
[node name="Separator4" type="Control" parent="Panel/VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer/VBoxContainer"]
margin_top = 300.0
margin_right = 204.0
margin_bottom = 304.0
rect_min_size = Vector2( 0, 4 )
[node name="AttackPower" parent="Panel/VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer/VBoxContainer" instance=ExtResource( 3 )]
margin_top = 312.0
margin_right = 204.0
margin_bottom = 327.0
stat_name = "Attack Power"
[node name="SpellPower" parent="Panel/VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer/VBoxContainer" instance=ExtResource( 3 )]
margin_top = 335.0
margin_right = 204.0
margin_bottom = 350.0
stat_name = "Spell Power"
[node name="MeleeCrit" parent="Panel/VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer/VBoxContainer" instance=ExtResource( 3 )]
margin_top = 358.0
margin_right = 204.0
margin_bottom = 373.0
stat_name = "Melee Crit"
[node name="MeleeCritBonus" parent="Panel/VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer/VBoxContainer" instance=ExtResource( 3 )]
margin_top = 381.0
margin_right = 204.0
margin_bottom = 396.0
stat_name = "Melee Crit Bonus"
[node name="SpellCrit" parent="Panel/VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer/VBoxContainer" instance=ExtResource( 3 )]
margin_top = 404.0
margin_right = 204.0
margin_bottom = 419.0
stat_name = "Spell Crit"
[node name="SpellCritBonus" parent="Panel/VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer/VBoxContainer" instance=ExtResource( 3 )]
margin_top = 427.0
margin_right = 204.0
margin_bottom = 442.0
stat_name = "Spell Crit Bonus"
[node name="Separator3" type="Control" parent="Panel/VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer/VBoxContainer"]
margin_top = 450.0
margin_right = 204.0
margin_bottom = 454.0
rect_min_size = Vector2( 0, 4 )
[node name="Block" parent="Panel/VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer/VBoxContainer" instance=ExtResource( 3 )]
margin_top = 462.0
margin_right = 204.0
margin_bottom = 477.0
stat_name = "Block"
[node name="Parry" parent="Panel/VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer/VBoxContainer" instance=ExtResource( 3 )]
margin_top = 485.0
margin_right = 204.0
margin_bottom = 500.0
stat_name = "Parry"
[node name="DamageReduction" parent="Panel/VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer/VBoxContainer" instance=ExtResource( 3 )]
margin_top = 508.0
margin_right = 204.0
margin_bottom = 523.0
stat_name = "Damage Reduction"
[node name="MeleeDamageReduction" parent="Panel/VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer/VBoxContainer" instance=ExtResource( 3 )]
margin_top = 531.0
margin_right = 204.0
margin_bottom = 546.0
stat_name = "Melee Damage Reduction"
[node name="SpellDamageReduction" parent="Panel/VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer/VBoxContainer" instance=ExtResource( 3 )]
margin_top = 554.0
margin_right = 204.0
margin_bottom = 569.0
stat_name = "Spell Damage Reduction"
[node name="Separator5" type="Control" parent="Panel/VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer/VBoxContainer"]
margin_top = 577.0
margin_right = 204.0
margin_bottom = 581.0
rect_min_size = Vector2( 0, 4 )
[node name="DamageTaken" parent="Panel/VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer/VBoxContainer" instance=ExtResource( 3 )]
margin_top = 589.0
margin_right = 204.0
margin_bottom = 604.0
stat_name = "Damage Taken"
[node name="HealTaken" parent="Panel/VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer/VBoxContainer" instance=ExtResource( 3 )]
margin_top = 612.0
margin_right = 204.0
margin_bottom = 627.0
stat_name = "Heal Taken"
[node name="Separator6" type="Control" parent="Panel/VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer/VBoxContainer"]
margin_top = 635.0
margin_right = 204.0
margin_bottom = 639.0
rect_min_size = Vector2( 0, 4 )
[node name="MeleeDamage" parent="Panel/VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer/VBoxContainer" instance=ExtResource( 3 )]
margin_top = 647.0
margin_right = 204.0
margin_bottom = 662.0
stat_name = "Melee Damage"
[node name="SpellDamage" parent="Panel/VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer/VBoxContainer" instance=ExtResource( 3 )]
margin_top = 670.0
margin_right = 204.0
margin_bottom = 685.0
stat_name = "Spell Damage"
[node name="Separator7" type="Control" parent="Panel/VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer/VBoxContainer"]
margin_top = 693.0
margin_right = 204.0
margin_bottom = 697.0
rect_min_size = Vector2( 0, 4 )
[node name="HolyResist" parent="Panel/VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer/VBoxContainer" instance=ExtResource( 3 )]
margin_top = 705.0
margin_right = 204.0
margin_bottom = 720.0
stat_name = "Holy Resist"
[node name="ShadowResist" parent="Panel/VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer/VBoxContainer" instance=ExtResource( 3 )]
margin_top = 728.0
margin_right = 204.0
margin_bottom = 743.0
stat_name = "Shadow Resist"
[node name="NatureResist" parent="Panel/VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer/VBoxContainer" instance=ExtResource( 3 )]
margin_top = 751.0
margin_right = 204.0
margin_bottom = 766.0
stat_name = "Nature Resist"
[node name="FireResist" parent="Panel/VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer/VBoxContainer" instance=ExtResource( 3 )]
margin_top = 774.0
margin_right = 204.0
margin_bottom = 789.0
stat_name = "Fire Resist"
[node name="FrostResist" parent="Panel/VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer/VBoxContainer" instance=ExtResource( 3 )]
margin_top = 797.0
margin_right = 204.0
margin_bottom = 812.0
stat_name = "Frost Resist"
[node name="LightningResist" parent="Panel/VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer/VBoxContainer" instance=ExtResource( 3 )]
margin_top = 820.0
margin_right = 204.0
margin_bottom = 835.0
stat_name = "Lightning Resist"
[node name="ChaosResist" parent="Panel/VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer/VBoxContainer" instance=ExtResource( 3 )]
margin_top = 843.0
margin_right = 204.0
margin_bottom = 858.0
stat_name = "Chaos Resist"
[node name="SilenceResist" parent="Panel/VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer/VBoxContainer" instance=ExtResource( 3 )]
margin_top = 866.0
margin_right = 204.0
margin_bottom = 881.0
stat_name = "Silence Resist"
[node name="FearResist" parent="Panel/VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer/VBoxContainer" instance=ExtResource( 3 )]
margin_top = 889.0
margin_right = 204.0
margin_bottom = 904.0
stat_name = "Fear Resist"
[node name="StunResist" parent="Panel/VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer/VBoxContainer" instance=ExtResource( 3 )]
margin_top = 912.0
margin_right = 204.0
margin_bottom = 927.0
stat_name = "Stun Resist"
[node name="Separator8" type="Control" parent="Panel/VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer/VBoxContainer"]
margin_top = 935.0
margin_right = 204.0
margin_bottom = 939.0
rect_min_size = Vector2( 0, 4 )
[node name="Energy" parent="Panel/VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer/VBoxContainer" instance=ExtResource( 3 )]
margin_top = 947.0
margin_right = 204.0
margin_bottom = 962.0
stat_name = "Energy"
[node name="Rage" parent="Panel/VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer/VBoxContainer" instance=ExtResource( 3 )]
margin_top = 970.0
margin_right = 204.0
margin_bottom = 985.0
stat_name = "Rage"
[node name="XPRate" parent="Panel/VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer/VBoxContainer" instance=ExtResource( 3 )]
margin_top = 993.0
margin_right = 204.0
margin_bottom = 1008.0
stat_name = "XP Rate"
[node name="Separator9" type="Control" parent="Panel/VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer/VBoxContainer"]
margin_top = 1016.0
margin_right = 204.0
margin_bottom = 1020.0
rect_min_size = Vector2( 0, 4 )
[node name="WeaponDamageMin" parent="Panel/VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer/VBoxContainer" instance=ExtResource( 3 )]
margin_top = 1028.0
margin_right = 204.0
margin_bottom = 1043.0
stat_name = "Weapon Damage Min"
[node name="WeaponDamageMax" parent="Panel/VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer/VBoxContainer" instance=ExtResource( 3 )]
margin_top = 1051.0
margin_right = 204.0
margin_bottom = 1066.0
stat_name = "Weapon Damage Max"
[connection signal="pressed" from="Panel/VBoxContainer/HBoxContainer/Button" to="." method="_on_Button_pressed"]

View File

@ -0,0 +1,10 @@
[gd_resource type="Resource" load_steps=4 format=2]
[ext_resource path="res://scripts/game_modules/ui_window_module.gd" type="Script" id=1]
[ext_resource path="res://ui/character/CharacterWindow.tscn" type="PackedScene" id=2]
[ext_resource path="res://ui/theme/character_icon.tres" type="Texture" id=3]
[resource]
script = ExtResource( 1 )
character_scene = ExtResource( 2 )
opener_button_texture = ExtResource( 3 )

View File

@ -20,10 +20,25 @@ extends CanvasLayer
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
# SOFTWARE. # SOFTWARE.
export(NodePath) var gui_base_path : NodePath
export(NodePath) var buttons_path : NodePath
export(NodePath) var windows_path : NodePath
var gui_base : Node
var buttons : Node
var windows : Node
export(NodePath) var loot_window_path : NodePath export(NodePath) var loot_window_path : NodePath
var loot_window : Control var loot_window : Control
func _ready(): func _ready():
initialize()
func initialize():
gui_base = get_node(gui_base_path)
buttons = get_node(buttons_path)
windows = get_node(windows_path)
loot_window = get_node(loot_window_path) as Control loot_window = get_node(loot_window_path) as Control
func _on_Player_onc_open_loot_winow_request() -> void: func _on_Player_onc_open_loot_winow_request() -> void:

View File

@ -1,4 +1,4 @@
[gd_scene load_steps=33 format=2] [gd_scene load_steps=32 format=2]
[ext_resource path="res://player/GUI.gd" type="Script" id=1] [ext_resource path="res://player/GUI.gd" type="Script" id=1]
[ext_resource path="res://ui/ingame_menu/IngameMenu.tscn" type="PackedScene" id=2] [ext_resource path="res://ui/ingame_menu/IngameMenu.tscn" type="PackedScene" id=2]
@ -28,13 +28,15 @@
[ext_resource path="res://ui/theme/unlocked_icon.tres" type="Texture" id=26] [ext_resource path="res://ui/theme/unlocked_icon.tres" type="Texture" id=26]
[ext_resource path="res://ui/theme/crafting_icon.tres" type="Texture" id=27] [ext_resource path="res://ui/theme/crafting_icon.tres" type="Texture" id=27]
[ext_resource path="res://ui/player_ui/player_ui.gd" type="Script" id=28] [ext_resource path="res://ui/player_ui/player_ui.gd" type="Script" id=28]
[ext_resource path="res://ui/windows/CharacterWindow.tscn" type="PackedScene" id=29] [ext_resource path="res://ui/buttons/ImageButton.tscn" type="PackedScene" id=30]
[ext_resource path="res://ui/theme/character_icon.tres" type="Texture" id=30]
[ext_resource path="res://ui/windows/TrainerWindow.tscn" type="PackedScene" id=31] [ext_resource path="res://ui/windows/TrainerWindow.tscn" type="PackedScene" id=31]
[ext_resource path="res://ui/windows/VendorWindow.tscn" type="PackedScene" id=32] [ext_resource path="res://ui/windows/VendorWindow.tscn" type="PackedScene" id=32]
[node name="GUILayer" type="CanvasLayer"] [node name="GUILayer" type="CanvasLayer"]
script = ExtResource( 28 ) script = ExtResource( 28 )
gui_base_path = NodePath("GUI")
buttons_path = NodePath("GUI/Buttons")
windows_path = NodePath("GUI/Windows")
loot_window_path = NodePath("GUI/Windows/LootWindow") loot_window_path = NodePath("GUI/Windows/LootWindow")
[node name="GUI" type="Control" parent="."] [node name="GUI" type="Control" parent="."]
@ -189,33 +191,13 @@ __meta__ = {
"_edit_group_": true, "_edit_group_": true,
"_edit_use_anchors_": false "_edit_use_anchors_": false
} }
image_button = ExtResource( 30 )
spell_book_path = NodePath("../Windows/SpellBookWindow") spell_book_path = NodePath("../Windows/SpellBookWindow")
spell_book_button_path = NodePath("SpellBookButton") spell_book_button_path = NodePath("SpellBookButton")
lock_button_path = NodePath("LockButton") lock_button_path = NodePath("LockButton")
[node name="CharacterButton" type="Button" parent="GUI/Buttons"]
margin_right = 25.0
margin_bottom = 40.0
rect_min_size = Vector2( 25, 30 )
hint_tooltip = "Inventory"
focus_mode = 0
toggle_mode = true
enabled_focus_mode = 0
keep_pressed_outside = true
[node name="TextureRect3" type="TextureRect" parent="GUI/Buttons/CharacterButton"]
anchor_right = 1.0
anchor_bottom = 1.0
texture = ExtResource( 30 )
expand = true
stretch_mode = 6
__meta__ = {
"_edit_use_anchors_": false
}
[node name="SpellBookButton" type="Button" parent="GUI/Buttons"] [node name="SpellBookButton" type="Button" parent="GUI/Buttons"]
margin_left = 25.0 margin_right = 25.0
margin_right = 50.0
margin_bottom = 40.0 margin_bottom = 40.0
rect_min_size = Vector2( 25, 30 ) rect_min_size = Vector2( 25, 30 )
hint_tooltip = "SpellBook" hint_tooltip = "SpellBook"
@ -235,8 +217,8 @@ __meta__ = {
} }
[node name="BagButton" type="Button" parent="GUI/Buttons"] [node name="BagButton" type="Button" parent="GUI/Buttons"]
margin_left = 50.0 margin_left = 25.0
margin_right = 75.0 margin_right = 50.0
margin_bottom = 40.0 margin_bottom = 40.0
rect_min_size = Vector2( 25, 30 ) rect_min_size = Vector2( 25, 30 )
hint_tooltip = "Inventory" hint_tooltip = "Inventory"
@ -256,8 +238,8 @@ __meta__ = {
} }
[node name="TalentButton" type="Button" parent="GUI/Buttons"] [node name="TalentButton" type="Button" parent="GUI/Buttons"]
margin_left = 75.0 margin_left = 50.0
margin_right = 100.0 margin_right = 75.0
margin_bottom = 40.0 margin_bottom = 40.0
rect_min_size = Vector2( 25, 30 ) rect_min_size = Vector2( 25, 30 )
hint_tooltip = "Inventory" hint_tooltip = "Inventory"
@ -277,8 +259,8 @@ __meta__ = {
} }
[node name="CraftingButton" type="Button" parent="GUI/Buttons"] [node name="CraftingButton" type="Button" parent="GUI/Buttons"]
margin_left = 100.0 margin_left = 75.0
margin_right = 125.0 margin_right = 100.0
margin_bottom = 40.0 margin_bottom = 40.0
rect_min_size = Vector2( 25, 30 ) rect_min_size = Vector2( 25, 30 )
hint_tooltip = "Inventory" hint_tooltip = "Inventory"
@ -298,8 +280,8 @@ __meta__ = {
} }
[node name="LockButton" type="Button" parent="GUI/Buttons"] [node name="LockButton" type="Button" parent="GUI/Buttons"]
margin_left = 125.0 margin_left = 100.0
margin_right = 150.0 margin_right = 125.0
margin_bottom = 40.0 margin_bottom = 40.0
rect_min_size = Vector2( 25, 30 ) rect_min_size = Vector2( 25, 30 )
focus_mode = 0 focus_mode = 0
@ -329,8 +311,8 @@ __meta__ = {
} }
[node name="Menu" type="Button" parent="GUI/Buttons"] [node name="Menu" type="Button" parent="GUI/Buttons"]
margin_left = 150.0 margin_left = 125.0
margin_right = 175.0 margin_right = 150.0
margin_bottom = 40.0 margin_bottom = 40.0
rect_min_size = Vector2( 25, 30 ) rect_min_size = Vector2( 25, 30 )
focus_mode = 0 focus_mode = 0
@ -364,16 +346,6 @@ actionbar_scene = ExtResource( 14 )
[node name="Windows" type="CanvasLayer" parent="GUI"] [node name="Windows" type="CanvasLayer" parent="GUI"]
layer = 2 layer = 2
[node name="CharacterWindow" parent="GUI/Windows" instance=ExtResource( 29 )]
visible = false
anchor_right = 0.0
anchor_bottom = 0.0
margin_left = 66.0
margin_top = 44.0
margin_right = 323.0
margin_bottom = 474.0
opener_button_path = NodePath("../../Buttons/CharacterButton")
[node name="SpellBookWindow" parent="GUI/Windows" instance=ExtResource( 17 )] [node name="SpellBookWindow" parent="GUI/Windows" instance=ExtResource( 17 )]
visible = false visible = false
margin_left = 60.0 margin_left = 60.0
@ -474,7 +446,6 @@ mouse_filter = 2
[node name="IngameMenu" parent="GUI" instance=ExtResource( 2 )] [node name="IngameMenu" parent="GUI" instance=ExtResource( 2 )]
visible = false visible = false
[connection signal="toggled" from="GUI/Buttons/CharacterButton" to="GUI/Windows/CharacterWindow" method="_on_CharacterButton_toggled"]
[connection signal="toggled" from="GUI/Buttons/SpellBookButton" to="GUI/Windows/SpellBookWindow" method="_on_SpellBookButton_toggled"] [connection signal="toggled" from="GUI/Buttons/SpellBookButton" to="GUI/Windows/SpellBookWindow" method="_on_SpellBookButton_toggled"]
[connection signal="toggled" from="GUI/Buttons/BagButton" to="GUI/Windows/Inventory" method="_on_BagButton_toggled"] [connection signal="toggled" from="GUI/Buttons/BagButton" to="GUI/Windows/Inventory" method="_on_BagButton_toggled"]
[connection signal="toggled" from="GUI/Buttons/TalentButton" to="GUI/Windows/TalentWindow" method="_on_TalentButton_toggled"] [connection signal="toggled" from="GUI/Buttons/TalentButton" to="GUI/Windows/TalentWindow" method="_on_TalentButton_toggled"]

View File

@ -1,374 +0,0 @@
[gd_scene load_steps=4 format=2]
[ext_resource path="res://ui/theme/ui_theme.tres" type="Theme" id=1]
[ext_resource path="res://ui/windows/CharacterWindow.gd" type="Script" id=2]
[ext_resource path="res://ui/character/SingleStatRow.tscn" type="PackedScene" id=3]
[node name="CharacterWindow" type="PanelContainer"]
anchor_right = 1.0
anchor_bottom = 1.0
theme = ExtResource( 1 )
script = ExtResource( 2 )
__meta__ = {
"_edit_use_anchors_": false
}
container_path = NodePath("VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer/VBoxContainer")
[node name="VBoxContainer" type="VBoxContainer" parent="."]
margin_left = 4.0
margin_top = 4.0
margin_right = 1020.0
margin_bottom = 596.0
[node name="HBoxContainer" type="HBoxContainer" parent="VBoxContainer"]
margin_right = 1016.0
margin_bottom = 30.0
rect_min_size = Vector2( 0, 30 )
[node name="Label" type="Label" parent="VBoxContainer/HBoxContainer"]
margin_top = 7.0
margin_right = 982.0
margin_bottom = 22.0
size_flags_horizontal = 3
text = "Character"
[node name="Button" type="Button" parent="VBoxContainer/HBoxContainer"]
margin_left = 986.0
margin_right = 1016.0
margin_bottom = 30.0
rect_min_size = Vector2( 30, 30 )
text = "X"
__meta__ = {
"_edit_use_anchors_": false
}
[node name="HBoxContainer2" type="HBoxContainer" parent="VBoxContainer"]
margin_top = 38.0
margin_right = 1016.0
margin_bottom = 592.0
size_flags_horizontal = 3
size_flags_vertical = 3
[node name="ScrollContainer" type="ScrollContainer" parent="VBoxContainer/HBoxContainer2"]
margin_right = 1016.0
margin_bottom = 554.0
size_flags_horizontal = 3
size_flags_vertical = 3
[node name="MarginContainer" type="MarginContainer" parent="VBoxContainer/HBoxContainer2/ScrollContainer"]
margin_right = 1006.0
margin_bottom = 1066.0
size_flags_horizontal = 3
custom_constants/margin_right = 8
custom_constants/margin_left = 6
[node name="VBoxContainer" type="VBoxContainer" parent="VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer"]
margin_left = 6.0
margin_right = 998.0
margin_bottom = 1066.0
size_flags_horizontal = 3
[node name="Agility" parent="VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer/VBoxContainer" instance=ExtResource( 3 )]
margin_right = 992.0
stat_name = "Agility"
[node name="Strength" parent="VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer/VBoxContainer" instance=ExtResource( 3 )]
margin_top = 23.0
margin_right = 992.0
margin_bottom = 38.0
stat_name = "Strength"
[node name="Stamina" parent="VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer/VBoxContainer" instance=ExtResource( 3 )]
margin_top = 46.0
margin_right = 992.0
margin_bottom = 61.0
stat_name = "Stamina"
[node name="Intellect" parent="VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer/VBoxContainer" instance=ExtResource( 3 )]
margin_top = 69.0
margin_right = 992.0
margin_bottom = 84.0
stat_name = "Intellect"
[node name="Spirit" parent="VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer/VBoxContainer" instance=ExtResource( 3 )]
margin_top = 92.0
margin_right = 992.0
margin_bottom = 107.0
stat_name = "Spirit"
[node name="Separator" type="Control" parent="VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer/VBoxContainer"]
margin_top = 115.0
margin_right = 992.0
margin_bottom = 119.0
rect_min_size = Vector2( 0, 4 )
[node name="Health" parent="VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer/VBoxContainer" instance=ExtResource( 3 )]
margin_top = 127.0
margin_right = 992.0
margin_bottom = 142.0
stat_name = "Health"
[node name="Mana" parent="VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer/VBoxContainer" instance=ExtResource( 3 )]
margin_top = 150.0
margin_right = 992.0
margin_bottom = 165.0
stat_name = "Mana"
[node name="Speed" parent="VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer/VBoxContainer" instance=ExtResource( 3 )]
margin_top = 173.0
margin_right = 992.0
margin_bottom = 188.0
stat_name = "Speed"
[node name="Haste" parent="VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer/VBoxContainer" instance=ExtResource( 3 )]
margin_top = 196.0
margin_right = 992.0
margin_bottom = 211.0
stat_name = "Haste"
[node name="HasteRating" parent="VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer/VBoxContainer" instance=ExtResource( 3 )]
margin_top = 219.0
margin_right = 992.0
margin_bottom = 234.0
stat_name = "Haste Rating"
[node name="Separator2" type="Control" parent="VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer/VBoxContainer"]
margin_top = 242.0
margin_right = 992.0
margin_bottom = 246.0
rect_min_size = Vector2( 0, 4 )
[node name="Resilience" parent="VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer/VBoxContainer" instance=ExtResource( 3 )]
margin_top = 254.0
margin_right = 992.0
margin_bottom = 269.0
stat_name = "Resilience"
[node name="Armor" parent="VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer/VBoxContainer" instance=ExtResource( 3 )]
margin_top = 277.0
margin_right = 992.0
margin_bottom = 292.0
stat_name = "Armor"
[node name="Separator4" type="Control" parent="VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer/VBoxContainer"]
margin_top = 300.0
margin_right = 992.0
margin_bottom = 304.0
rect_min_size = Vector2( 0, 4 )
[node name="AttackPower" parent="VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer/VBoxContainer" instance=ExtResource( 3 )]
margin_top = 312.0
margin_right = 992.0
margin_bottom = 327.0
stat_name = "Attack Power"
[node name="SpellPower" parent="VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer/VBoxContainer" instance=ExtResource( 3 )]
margin_top = 335.0
margin_right = 992.0
margin_bottom = 350.0
stat_name = "Spell Power"
[node name="MeleeCrit" parent="VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer/VBoxContainer" instance=ExtResource( 3 )]
margin_top = 358.0
margin_right = 992.0
margin_bottom = 373.0
stat_name = "Melee Crit"
[node name="MeleeCritBonus" parent="VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer/VBoxContainer" instance=ExtResource( 3 )]
margin_top = 381.0
margin_right = 992.0
margin_bottom = 396.0
stat_name = "Melee Crit Bonus"
[node name="SpellCrit" parent="VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer/VBoxContainer" instance=ExtResource( 3 )]
margin_top = 404.0
margin_right = 992.0
margin_bottom = 419.0
stat_name = "Spell Crit"
[node name="SpellCritBonus" parent="VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer/VBoxContainer" instance=ExtResource( 3 )]
margin_top = 427.0
margin_right = 992.0
margin_bottom = 442.0
stat_name = "Spell Crit Bonus"
[node name="Separator3" type="Control" parent="VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer/VBoxContainer"]
margin_top = 450.0
margin_right = 992.0
margin_bottom = 454.0
rect_min_size = Vector2( 0, 4 )
[node name="Block" parent="VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer/VBoxContainer" instance=ExtResource( 3 )]
margin_top = 462.0
margin_right = 992.0
margin_bottom = 477.0
stat_name = "Block"
[node name="Parry" parent="VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer/VBoxContainer" instance=ExtResource( 3 )]
margin_top = 485.0
margin_right = 992.0
margin_bottom = 500.0
stat_name = "Parry"
[node name="DamageReduction" parent="VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer/VBoxContainer" instance=ExtResource( 3 )]
margin_top = 508.0
margin_right = 992.0
margin_bottom = 523.0
stat_name = "Damage Reduction"
[node name="MeleeDamageReduction" parent="VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer/VBoxContainer" instance=ExtResource( 3 )]
margin_top = 531.0
margin_right = 992.0
margin_bottom = 546.0
stat_name = "Melee Damage Reduction"
[node name="SpellDamageReduction" parent="VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer/VBoxContainer" instance=ExtResource( 3 )]
margin_top = 554.0
margin_right = 992.0
margin_bottom = 569.0
stat_name = "Spell Damage Reduction"
[node name="Separator5" type="Control" parent="VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer/VBoxContainer"]
margin_top = 577.0
margin_right = 992.0
margin_bottom = 581.0
rect_min_size = Vector2( 0, 4 )
[node name="DamageTaken" parent="VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer/VBoxContainer" instance=ExtResource( 3 )]
margin_top = 589.0
margin_right = 992.0
margin_bottom = 604.0
stat_name = "Damage Taken"
[node name="HealTaken" parent="VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer/VBoxContainer" instance=ExtResource( 3 )]
margin_top = 612.0
margin_right = 992.0
margin_bottom = 627.0
stat_name = "Heal Taken"
[node name="Separator6" type="Control" parent="VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer/VBoxContainer"]
margin_top = 635.0
margin_right = 992.0
margin_bottom = 639.0
rect_min_size = Vector2( 0, 4 )
[node name="MeleeDamage" parent="VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer/VBoxContainer" instance=ExtResource( 3 )]
margin_top = 647.0
margin_right = 992.0
margin_bottom = 662.0
stat_name = "Melee Damage"
[node name="SpellDamage" parent="VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer/VBoxContainer" instance=ExtResource( 3 )]
margin_top = 670.0
margin_right = 992.0
margin_bottom = 685.0
stat_name = "Spell Damage"
[node name="Separator7" type="Control" parent="VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer/VBoxContainer"]
margin_top = 693.0
margin_right = 992.0
margin_bottom = 697.0
rect_min_size = Vector2( 0, 4 )
[node name="HolyResist" parent="VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer/VBoxContainer" instance=ExtResource( 3 )]
margin_top = 705.0
margin_right = 992.0
margin_bottom = 720.0
stat_name = "Holy Resist"
[node name="ShadowResist" parent="VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer/VBoxContainer" instance=ExtResource( 3 )]
margin_top = 728.0
margin_right = 992.0
margin_bottom = 743.0
stat_name = "Shadow Resist"
[node name="NatureResist" parent="VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer/VBoxContainer" instance=ExtResource( 3 )]
margin_top = 751.0
margin_right = 992.0
margin_bottom = 766.0
stat_name = "Nature Resist"
[node name="FireResist" parent="VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer/VBoxContainer" instance=ExtResource( 3 )]
margin_top = 774.0
margin_right = 992.0
margin_bottom = 789.0
stat_name = "Fire Resist"
[node name="FrostResist" parent="VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer/VBoxContainer" instance=ExtResource( 3 )]
margin_top = 797.0
margin_right = 992.0
margin_bottom = 812.0
stat_name = "Frost Resist"
[node name="LightningResist" parent="VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer/VBoxContainer" instance=ExtResource( 3 )]
margin_top = 820.0
margin_right = 992.0
margin_bottom = 835.0
stat_name = "Lightning Resist"
[node name="ChaosResist" parent="VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer/VBoxContainer" instance=ExtResource( 3 )]
margin_top = 843.0
margin_right = 992.0
margin_bottom = 858.0
stat_name = "Chaos Resist"
[node name="SilenceResist" parent="VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer/VBoxContainer" instance=ExtResource( 3 )]
margin_top = 866.0
margin_right = 992.0
margin_bottom = 881.0
stat_name = "Silence Resist"
[node name="FearResist" parent="VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer/VBoxContainer" instance=ExtResource( 3 )]
margin_top = 889.0
margin_right = 992.0
margin_bottom = 904.0
stat_name = "Fear Resist"
[node name="StunResist" parent="VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer/VBoxContainer" instance=ExtResource( 3 )]
margin_top = 912.0
margin_right = 992.0
margin_bottom = 927.0
stat_name = "Stun Resist"
[node name="Separator8" type="Control" parent="VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer/VBoxContainer"]
margin_top = 935.0
margin_right = 992.0
margin_bottom = 939.0
rect_min_size = Vector2( 0, 4 )
[node name="Energy" parent="VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer/VBoxContainer" instance=ExtResource( 3 )]
margin_top = 947.0
margin_right = 992.0
margin_bottom = 962.0
stat_name = "Energy"
[node name="Rage" parent="VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer/VBoxContainer" instance=ExtResource( 3 )]
margin_top = 970.0
margin_right = 992.0
margin_bottom = 985.0
stat_name = "Rage"
[node name="XPRate" parent="VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer/VBoxContainer" instance=ExtResource( 3 )]
margin_top = 993.0
margin_right = 992.0
margin_bottom = 1008.0
stat_name = "XP Rate"
[node name="Separator9" type="Control" parent="VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer/VBoxContainer"]
margin_top = 1016.0
margin_right = 992.0
margin_bottom = 1020.0
rect_min_size = Vector2( 0, 4 )
[node name="WeaponDamageMin" parent="VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer/VBoxContainer" instance=ExtResource( 3 )]
margin_top = 1028.0
margin_right = 992.0
margin_bottom = 1043.0
stat_name = "Weapon Damage Min"
[node name="WeaponDamageMax" parent="VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer/VBoxContainer" instance=ExtResource( 3 )]
margin_top = 1051.0
margin_right = 992.0
margin_bottom = 1066.0
stat_name = "Weapon Damage Max"
[connection signal="pressed" from="VBoxContainer/HBoxContainer/Button" to="." method="_on_Button_pressed"]