mirror of
https://github.com/Relintai/broken_seals.git
synced 2024-12-21 13:16:49 +01:00
Now closing windows will properly reset their opener toggles.
This commit is contained in:
parent
58ce8bb9d6
commit
a3bfaf9e2a
@ -20,6 +20,9 @@ extends PanelContainer
|
|||||||
# 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 opener_button_path : NodePath
|
||||||
|
var opener_button : BaseButton
|
||||||
|
|
||||||
export(PackedScene) var inventory_item_scene : PackedScene
|
export(PackedScene) var inventory_item_scene : PackedScene
|
||||||
export(NodePath) var inventory_item_container_path : NodePath
|
export(NodePath) var inventory_item_container_path : NodePath
|
||||||
export(NodePath) var item_tooltip_path : NodePath
|
export(NodePath) var item_tooltip_path : NodePath
|
||||||
@ -33,6 +36,8 @@ var _player : Entity = null
|
|||||||
var _bag : Bag = null
|
var _bag : Bag = null
|
||||||
|
|
||||||
func _ready() -> void:
|
func _ready() -> void:
|
||||||
|
opener_button = get_node_or_null(opener_button_path) as BaseButton
|
||||||
|
|
||||||
_inventory_item_container = get_node(inventory_item_container_path)
|
_inventory_item_container = get_node(inventory_item_container_path)
|
||||||
_tooltip = get_node(item_tooltip_path)
|
_tooltip = get_node(item_tooltip_path)
|
||||||
|
|
||||||
@ -122,12 +127,21 @@ func item_removed(bag: Bag, item: ItemInstance, slot_id: int) -> void:
|
|||||||
func item_swapped(bag: Bag, item1_slot : int, item2_slot: int) -> void:
|
func item_swapped(bag: Bag, item1_slot : int, item2_slot: int) -> void:
|
||||||
refresh_bags()
|
refresh_bags()
|
||||||
|
|
||||||
func on_visibility_changed() -> void:
|
func on_visibility_changed():
|
||||||
refresh_bags()
|
refresh_bags()
|
||||||
|
|
||||||
|
if opener_button:
|
||||||
|
if visible && !opener_button.pressed:
|
||||||
|
opener_button.pressed = true
|
||||||
|
return
|
||||||
|
|
||||||
|
if !visible && opener_button.pressed:
|
||||||
|
opener_button.pressed = false
|
||||||
|
|
||||||
func _on_BagButton_toggled(button_pressed):
|
func _on_BagButton_toggled(button_pressed):
|
||||||
if button_pressed:
|
if button_pressed:
|
||||||
show()
|
if !visible:
|
||||||
|
show()
|
||||||
else:
|
else:
|
||||||
hide()
|
if visible:
|
||||||
|
hide()
|
||||||
|
@ -275,7 +275,6 @@ keep_pressed_outside = true
|
|||||||
text = "Talent"
|
text = "Talent"
|
||||||
|
|
||||||
[node name="CraftingButton" type="Button" parent="GUI/Buttons/HBoxContainer"]
|
[node name="CraftingButton" type="Button" parent="GUI/Buttons/HBoxContainer"]
|
||||||
visible = false
|
|
||||||
margin_left = 181.0
|
margin_left = 181.0
|
||||||
margin_right = 226.0
|
margin_right = 226.0
|
||||||
margin_bottom = 45.0
|
margin_bottom = 45.0
|
||||||
@ -288,8 +287,8 @@ keep_pressed_outside = true
|
|||||||
text = "Craft"
|
text = "Craft"
|
||||||
|
|
||||||
[node name="LockButton" type="Button" parent="GUI/Buttons/HBoxContainer"]
|
[node name="LockButton" type="Button" parent="GUI/Buttons/HBoxContainer"]
|
||||||
margin_left = 181.0
|
margin_left = 226.0
|
||||||
margin_right = 226.0
|
margin_right = 271.0
|
||||||
margin_bottom = 45.0
|
margin_bottom = 45.0
|
||||||
rect_min_size = Vector2( 45, 45 )
|
rect_min_size = Vector2( 45, 45 )
|
||||||
focus_mode = 0
|
focus_mode = 0
|
||||||
@ -331,8 +330,8 @@ __meta__ = {
|
|||||||
}
|
}
|
||||||
|
|
||||||
[node name="Menu" type="Button" parent="GUI/Buttons/HBoxContainer"]
|
[node name="Menu" type="Button" parent="GUI/Buttons/HBoxContainer"]
|
||||||
margin_left = 226.0
|
margin_left = 271.0
|
||||||
margin_right = 271.0
|
margin_right = 316.0
|
||||||
margin_bottom = 45.0
|
margin_bottom = 45.0
|
||||||
rect_min_size = Vector2( 45, 45 )
|
rect_min_size = Vector2( 45, 45 )
|
||||||
focus_mode = 0
|
focus_mode = 0
|
||||||
@ -365,12 +364,14 @@ margin_left = 66.0
|
|||||||
margin_top = 44.0
|
margin_top = 44.0
|
||||||
margin_right = 681.0
|
margin_right = 681.0
|
||||||
margin_bottom = 474.0
|
margin_bottom = 474.0
|
||||||
|
opener_button_path = NodePath("../../Buttons/HBoxContainer/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
|
||||||
margin_top = 50.0
|
margin_top = 50.0
|
||||||
margin_right = 561.0
|
margin_right = 561.0
|
||||||
|
opener_button_path = NodePath("../../Buttons/HBoxContainer/SpellBookButton")
|
||||||
|
|
||||||
[node name="TalentWindow" parent="GUI/Windows" instance=ExtResource( 11 )]
|
[node name="TalentWindow" parent="GUI/Windows" instance=ExtResource( 11 )]
|
||||||
visible = false
|
visible = false
|
||||||
@ -380,6 +381,7 @@ margin_left = 62.0
|
|||||||
margin_top = 54.0
|
margin_top = 54.0
|
||||||
margin_right = 656.0
|
margin_right = 656.0
|
||||||
margin_bottom = 513.0
|
margin_bottom = 513.0
|
||||||
|
opener_button_path = NodePath("../../Buttons/HBoxContainer/TalentButton")
|
||||||
|
|
||||||
[node name="CraftingWindow" parent="GUI/Windows" instance=ExtResource( 20 )]
|
[node name="CraftingWindow" parent="GUI/Windows" instance=ExtResource( 20 )]
|
||||||
visible = false
|
visible = false
|
||||||
@ -387,6 +389,7 @@ margin_left = 31.0
|
|||||||
margin_top = 23.0
|
margin_top = 23.0
|
||||||
margin_right = -345.0
|
margin_right = -345.0
|
||||||
margin_bottom = -67.0
|
margin_bottom = -67.0
|
||||||
|
opener_button_path = NodePath("../../Buttons/HBoxContainer/CraftingButton")
|
||||||
|
|
||||||
[node name="Inventory" parent="GUI/Windows" instance=ExtResource( 15 )]
|
[node name="Inventory" parent="GUI/Windows" instance=ExtResource( 15 )]
|
||||||
visible = false
|
visible = false
|
||||||
@ -394,6 +397,7 @@ margin_left = 56.0
|
|||||||
margin_top = 69.0
|
margin_top = 69.0
|
||||||
margin_right = -422.0
|
margin_right = -422.0
|
||||||
margin_bottom = -109.0
|
margin_bottom = -109.0
|
||||||
|
opener_button_path = NodePath("../../Buttons/HBoxContainer/BagButton")
|
||||||
inventory_item_container_path = NodePath("../Inventory/VBoxContainer/HBoxContainer3/PanelContainer2/VBoxContainer/ScrollContainer/GridContainer")
|
inventory_item_container_path = NodePath("../Inventory/VBoxContainer/HBoxContainer3/PanelContainer2/VBoxContainer/ScrollContainer/GridContainer")
|
||||||
|
|
||||||
[node name="LootWindow" parent="GUI/Windows" instance=ExtResource( 19 )]
|
[node name="LootWindow" parent="GUI/Windows" instance=ExtResource( 19 )]
|
||||||
|
@ -1,19 +1,10 @@
|
|||||||
extends PanelContainer
|
extends PanelContainer
|
||||||
|
|
||||||
|
export(NodePath) var opener_button_path : NodePath
|
||||||
|
var opener_button : BaseButton
|
||||||
|
|
||||||
# Declare member variables here. Examples:
|
|
||||||
# var a = 2
|
|
||||||
# var b = "text"
|
|
||||||
|
|
||||||
|
|
||||||
# Called when the node enters the scene tree for the first time.
|
|
||||||
func _ready():
|
func _ready():
|
||||||
pass # Replace with function body.
|
opener_button = get_node_or_null(opener_button_path) as BaseButton
|
||||||
|
|
||||||
|
|
||||||
# Called every frame. 'delta' is the elapsed time since the previous frame.
|
|
||||||
#func _process(delta):
|
|
||||||
# pass
|
|
||||||
|
|
||||||
|
|
||||||
func _on_CharacterButton_toggled(button_pressed):
|
func _on_CharacterButton_toggled(button_pressed):
|
||||||
@ -24,4 +15,7 @@ func _on_CharacterButton_toggled(button_pressed):
|
|||||||
|
|
||||||
|
|
||||||
func _on_Button_pressed():
|
func _on_Button_pressed():
|
||||||
|
if opener_button:
|
||||||
|
opener_button.pressed = false
|
||||||
|
|
||||||
hide()
|
hide()
|
||||||
|
@ -20,6 +20,9 @@ extends PanelContainer
|
|||||||
# 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 opener_button_path : NodePath
|
||||||
|
var opener_button : BaseButton
|
||||||
|
|
||||||
export(PackedScene) var item_entry_scene : PackedScene
|
export(PackedScene) var item_entry_scene : PackedScene
|
||||||
export(PackedScene) var recipe_selector_scene : PackedScene
|
export(PackedScene) var recipe_selector_scene : PackedScene
|
||||||
|
|
||||||
@ -48,6 +51,9 @@ var _materials_container_main_on : Node
|
|||||||
var _materials_container_main_off : Node
|
var _materials_container_main_off : Node
|
||||||
|
|
||||||
func _ready():
|
func _ready():
|
||||||
|
opener_button = get_node_or_null(opener_button_path) as BaseButton
|
||||||
|
connect("visibility_changed", self, "on_visibility_changed")
|
||||||
|
|
||||||
_item_container = get_node(item_container_path)
|
_item_container = get_node(item_container_path)
|
||||||
_tools_container = get_node(tools_container_path)
|
_tools_container = get_node(tools_container_path)
|
||||||
_materials_container = get_node(materials_container_path)
|
_materials_container = get_node(materials_container_path)
|
||||||
@ -140,8 +146,19 @@ func select_recipe(recipe : CraftRecipe) -> void:
|
|||||||
ie.set_item(_player, ih)
|
ie.set_item(_player, ih)
|
||||||
|
|
||||||
|
|
||||||
|
func on_visibility_changed():
|
||||||
|
if opener_button:
|
||||||
|
if visible && !opener_button.pressed:
|
||||||
|
opener_button.pressed = true
|
||||||
|
return
|
||||||
|
|
||||||
|
if !visible && opener_button.pressed:
|
||||||
|
opener_button.pressed = false
|
||||||
|
|
||||||
func _on_CraftingButton_toggled(button_pressed):
|
func _on_CraftingButton_toggled(button_pressed):
|
||||||
if button_pressed:
|
if button_pressed:
|
||||||
show()
|
if !visible:
|
||||||
|
show()
|
||||||
else:
|
else:
|
||||||
hide()
|
if visible:
|
||||||
|
hide()
|
||||||
|
@ -20,6 +20,9 @@ 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(NodePath) var opener_button_path : NodePath
|
||||||
|
var opener_button : BaseButton
|
||||||
|
|
||||||
export(NodePath) var spell_entry_container_path : NodePath
|
export(NodePath) var spell_entry_container_path : NodePath
|
||||||
export(NodePath) var prev_button_path : NodePath
|
export(NodePath) var prev_button_path : NodePath
|
||||||
export(NodePath) var next_button_path : NodePath
|
export(NodePath) var next_button_path : NodePath
|
||||||
@ -45,6 +48,9 @@ var _character_class : EntityClassData
|
|||||||
var _spells : Array
|
var _spells : Array
|
||||||
|
|
||||||
func _ready() -> void:
|
func _ready() -> void:
|
||||||
|
opener_button = get_node_or_null(opener_button_path) as BaseButton
|
||||||
|
connect("visibility_changed", self, "on_visibility_changed")
|
||||||
|
|
||||||
_spell_entries.clear()
|
_spell_entries.clear()
|
||||||
|
|
||||||
_spell_entry_container = get_node(spell_entry_container_path)
|
_spell_entry_container = get_node(spell_entry_container_path)
|
||||||
@ -191,9 +197,19 @@ class CustomSpellSorter:
|
|||||||
return true
|
return true
|
||||||
|
|
||||||
|
|
||||||
|
func on_visibility_changed():
|
||||||
|
if opener_button:
|
||||||
|
if visible && !opener_button.pressed:
|
||||||
|
opener_button.pressed = true
|
||||||
|
return
|
||||||
|
|
||||||
|
if !visible && opener_button.pressed:
|
||||||
|
opener_button.pressed = false
|
||||||
|
|
||||||
func _on_SpellBookButton_toggled(button_pressed):
|
func _on_SpellBookButton_toggled(button_pressed):
|
||||||
if button_pressed:
|
if button_pressed:
|
||||||
show()
|
if !visible:
|
||||||
|
show()
|
||||||
else:
|
else:
|
||||||
hide()
|
if visible:
|
||||||
|
hide()
|
||||||
|
@ -20,6 +20,9 @@ extends PanelContainer
|
|||||||
# 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 opener_button_path : NodePath
|
||||||
|
var opener_button : BaseButton
|
||||||
|
|
||||||
export(PackedScene) var spec_scene : PackedScene
|
export(PackedScene) var spec_scene : PackedScene
|
||||||
export(PackedScene) var spec_switcher_scene : PackedScene
|
export(PackedScene) var spec_switcher_scene : PackedScene
|
||||||
export(NodePath) var spec_container_path : NodePath
|
export(NodePath) var spec_container_path : NodePath
|
||||||
@ -32,6 +35,9 @@ var _data : EntityData
|
|||||||
var _player : Entity
|
var _player : Entity
|
||||||
|
|
||||||
func _ready():
|
func _ready():
|
||||||
|
opener_button = get_node_or_null(opener_button_path) as BaseButton
|
||||||
|
connect("visibility_changed", self, "on_visibility_changed")
|
||||||
|
|
||||||
_spec_container = get_node(spec_container_path)
|
_spec_container = get_node(spec_container_path)
|
||||||
_spec_switcher_container = get_node(spec_switcher_path)
|
_spec_switcher_container = get_node(spec_switcher_path)
|
||||||
|
|
||||||
@ -96,10 +102,19 @@ func centity_data_changed(data: EntityData) -> void:
|
|||||||
|
|
||||||
s.set_spec(_player, spec, i)
|
s.set_spec(_player, spec, i)
|
||||||
|
|
||||||
|
func on_visibility_changed():
|
||||||
|
if opener_button:
|
||||||
|
if visible && !opener_button.pressed:
|
||||||
|
opener_button.pressed = true
|
||||||
|
return
|
||||||
|
|
||||||
|
if !visible && opener_button.pressed:
|
||||||
|
opener_button.pressed = false
|
||||||
|
|
||||||
func _on_TalentButton_toggled(button_pressed):
|
func _on_TalentButton_toggled(button_pressed):
|
||||||
if button_pressed:
|
if button_pressed:
|
||||||
show()
|
if !visible:
|
||||||
|
show()
|
||||||
else:
|
else:
|
||||||
hide()
|
if visible:
|
||||||
|
hide()
|
||||||
|
Loading…
Reference in New Issue
Block a user