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",
"language": "GDScript",
"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={
"AuraGD": "",
@ -153,7 +158,8 @@ _global_script_class_icons={
"SpellGD": "",
"TVVoxelChunk": "",
"TVVoxelMesher": "",
"TestVoxelMesher": ""
"TestVoxelMesher": "",
"UIWindowModule": ""
}
Node="input/actionbar_5_11"

View File

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

View File

@ -62,6 +62,7 @@ func request_instance(what : int) -> Node:
if what == PLAYER_UI_INSTANCE:
inst = player_ui.instance()
inst.initialize()
for module in _modules:
# 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
# SOFTWARE.
export (PackedScene) var image_button : PackedScene
export (NodePath) var spell_book_path
export (NodePath) var spell_book_button_path
var spell_book
@ -34,6 +36,18 @@ func _ready():
lock_button = get_node(lock_button_path)
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):
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
export(NodePath) var container_path : NodePath
@ -9,7 +9,7 @@ var container : Node
var _player : Entity
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)
func set_player(p_player: Entity) -> void:
@ -19,7 +19,7 @@ func set_player(p_player: Entity) -> void:
if c.has_method("set_player"):
c.set_player(_player)
func _on_CharacterButton_toggled(button_pressed):
func _on_button_toggled(button_pressed):
if button_pressed:
show()
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
# 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
var loot_window : Control
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
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://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/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/windows/CharacterWindow.tscn" type="PackedScene" id=29]
[ext_resource path="res://ui/theme/character_icon.tres" type="Texture" id=30]
[ext_resource path="res://ui/buttons/ImageButton.tscn" type="PackedScene" id=30]
[ext_resource path="res://ui/windows/TrainerWindow.tscn" type="PackedScene" id=31]
[ext_resource path="res://ui/windows/VendorWindow.tscn" type="PackedScene" id=32]
[node name="GUILayer" type="CanvasLayer"]
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")
[node name="GUI" type="Control" parent="."]
@ -189,33 +191,13 @@ __meta__ = {
"_edit_group_": true,
"_edit_use_anchors_": false
}
image_button = ExtResource( 30 )
spell_book_path = NodePath("../Windows/SpellBookWindow")
spell_book_button_path = NodePath("SpellBookButton")
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"]
margin_left = 25.0
margin_right = 50.0
margin_right = 25.0
margin_bottom = 40.0
rect_min_size = Vector2( 25, 30 )
hint_tooltip = "SpellBook"
@ -235,8 +217,8 @@ __meta__ = {
}
[node name="BagButton" type="Button" parent="GUI/Buttons"]
margin_left = 50.0
margin_right = 75.0
margin_left = 25.0
margin_right = 50.0
margin_bottom = 40.0
rect_min_size = Vector2( 25, 30 )
hint_tooltip = "Inventory"
@ -256,8 +238,8 @@ __meta__ = {
}
[node name="TalentButton" type="Button" parent="GUI/Buttons"]
margin_left = 75.0
margin_right = 100.0
margin_left = 50.0
margin_right = 75.0
margin_bottom = 40.0
rect_min_size = Vector2( 25, 30 )
hint_tooltip = "Inventory"
@ -277,8 +259,8 @@ __meta__ = {
}
[node name="CraftingButton" type="Button" parent="GUI/Buttons"]
margin_left = 100.0
margin_right = 125.0
margin_left = 75.0
margin_right = 100.0
margin_bottom = 40.0
rect_min_size = Vector2( 25, 30 )
hint_tooltip = "Inventory"
@ -298,8 +280,8 @@ __meta__ = {
}
[node name="LockButton" type="Button" parent="GUI/Buttons"]
margin_left = 125.0
margin_right = 150.0
margin_left = 100.0
margin_right = 125.0
margin_bottom = 40.0
rect_min_size = Vector2( 25, 30 )
focus_mode = 0
@ -329,8 +311,8 @@ __meta__ = {
}
[node name="Menu" type="Button" parent="GUI/Buttons"]
margin_left = 150.0
margin_right = 175.0
margin_left = 125.0
margin_right = 150.0
margin_bottom = 40.0
rect_min_size = Vector2( 25, 30 )
focus_mode = 0
@ -364,16 +346,6 @@ actionbar_scene = ExtResource( 14 )
[node name="Windows" type="CanvasLayer" parent="GUI"]
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 )]
visible = false
margin_left = 60.0
@ -474,7 +446,6 @@ mouse_filter = 2
[node name="IngameMenu" parent="GUI" instance=ExtResource( 2 )]
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/BagButton" to="GUI/Windows/Inventory" method="_on_BagButton_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"]