mirror of
https://github.com/Relintai/broken_seals.git
synced 2024-12-25 01:17:10 +01:00
Item count support for the ui.
This commit is contained in:
parent
824fd02d0f
commit
ea654acf7f
2
HEADS
2
HEADS
@ -1 +1 @@
|
|||||||
{"engine": "7735af7e768e16efb4b3b6de1c72c3dfb50c9412", "world_generator": "290d973ea9580f748881a54502850ae5fecfb586", "entity_spell_system": "2ba11eec7742295a40146da898ebe02ac4aa5a12", "ui_extensions": "271dcf89e9afe5cb6350de2f2433c8ebf8aba785", "voxelman": "2b369f5be8efc5fe0ef13da57afa46317c413f47", "texture_packer": "604c330188e220c15d10ea5bd545a6fc5aab0132", "fastnoise": "41b7ea05a1f7aa2b8ecddaa1fd739e64d6970f7e", "entity-spell-system-addons": "8568888b3c11dec56dbf1088a84bc898d68bd6ce"}
|
{"engine": "f82539944b609dc8327536aa92a3da3851ac1338", "world_generator": "290d973ea9580f748881a54502850ae5fecfb586", "entity_spell_system": "992d0672f9b143fc0b3996e798dcf9aa7e064a92", "ui_extensions": "271dcf89e9afe5cb6350de2f2433c8ebf8aba785", "voxelman": "2b369f5be8efc5fe0ef13da57afa46317c413f47", "texture_packer": "604c330188e220c15d10ea5bd545a6fc5aab0132", "fastnoise": "41b7ea05a1f7aa2b8ecddaa1fd739e64d6970f7e", "entity-spell-system-addons": "8568888b3c11dec56dbf1088a84bc898d68bd6ce"}
|
@ -6,9 +6,13 @@ extends Button
|
|||||||
|
|
||||||
export (NodePath) var button_path : NodePath
|
export (NodePath) var button_path : NodePath
|
||||||
export (NodePath) var icon_path : NodePath
|
export (NodePath) var icon_path : NodePath
|
||||||
|
|
||||||
export (NodePath) var cooldown_indicator_path : NodePath
|
export (NodePath) var cooldown_indicator_path : NodePath
|
||||||
export (NodePath) var cooldown_text_path : NodePath
|
export (NodePath) var cooldown_text_path : NodePath
|
||||||
|
|
||||||
|
export (NodePath) var stack_counter : NodePath
|
||||||
|
var _stack_counter : Label
|
||||||
|
|
||||||
var _tooltip : Popup
|
var _tooltip : Popup
|
||||||
|
|
||||||
var button : Button
|
var button : Button
|
||||||
@ -35,8 +39,14 @@ func _ready() -> void:
|
|||||||
cooldown_indicator = get_node(cooldown_indicator_path) as TextureProgress
|
cooldown_indicator = get_node(cooldown_indicator_path) as TextureProgress
|
||||||
cooldown_text = get_node(cooldown_text_path) as Label
|
cooldown_text = get_node(cooldown_text_path) as Label
|
||||||
|
|
||||||
|
_stack_counter = get_node(stack_counter) as Label
|
||||||
|
|
||||||
button.connect("pressed", self, "_on_button_pressed")
|
button.connect("pressed", self, "_on_button_pressed")
|
||||||
|
|
||||||
|
#func _exit_tree():
|
||||||
|
# if item != null:
|
||||||
|
# item.disconnect("stack_size_changed", self, "stack_size_changed")
|
||||||
|
|
||||||
func _process(delta : float) -> void:
|
func _process(delta : float) -> void:
|
||||||
if cd == null and gcd < 0.001:
|
if cd == null and gcd < 0.001:
|
||||||
set_process(false)
|
set_process(false)
|
||||||
@ -75,10 +85,19 @@ func hide_cooldown_timer() -> void:
|
|||||||
cooldown_text.hide()
|
cooldown_text.hide()
|
||||||
|
|
||||||
func set_item_instance(pitem : ItemInstance) -> void:
|
func set_item_instance(pitem : ItemInstance) -> void:
|
||||||
|
if item != null and item.item_template.stack_size > 1:
|
||||||
|
item.disconnect("stack_size_changed", self, "stack_size_changed")
|
||||||
|
_stack_counter.hide()
|
||||||
|
|
||||||
item = pitem
|
item = pitem
|
||||||
|
|
||||||
setup_icon()
|
setup_icon()
|
||||||
|
|
||||||
|
if item != null and item.item_template.stack_size > 1:
|
||||||
|
item.connect("stack_size_changed", self, "stack_size_changed")
|
||||||
|
_stack_counter.show()
|
||||||
|
stack_size_changed(item)
|
||||||
|
|
||||||
func setup_icon() -> void:
|
func setup_icon() -> void:
|
||||||
if (item == null):
|
if (item == null):
|
||||||
icon_rect.texture = null
|
icon_rect.texture = null
|
||||||
@ -105,11 +124,22 @@ func _on_button_pressed() -> void:
|
|||||||
pass
|
pass
|
||||||
|
|
||||||
func set_button_entry_data(ii : ItemInstance) -> void:
|
func set_button_entry_data(ii : ItemInstance) -> void:
|
||||||
|
if item != null and item.item_template.stack_size > 1:
|
||||||
|
item.disconnect("stack_size_changed", self, "stack_size_changed")
|
||||||
|
_stack_counter.hide()
|
||||||
|
|
||||||
item = ii
|
item = ii
|
||||||
|
|
||||||
setup_icon()
|
setup_icon()
|
||||||
|
|
||||||
|
if item != null and item.item_template.stack_size > 1:
|
||||||
|
item.connect("stack_size_changed", self, "stack_size_changed")
|
||||||
|
_stack_counter.show()
|
||||||
|
stack_size_changed(item)
|
||||||
|
|
||||||
|
func stack_size_changed(ii : ItemInstance) -> void:
|
||||||
|
_stack_counter.text = str(ii.stack_size)
|
||||||
|
|
||||||
func get_drag_data(pos: Vector2) -> Object:
|
func get_drag_data(pos: Vector2) -> Object:
|
||||||
if item == null:
|
if item == null:
|
||||||
return null
|
return null
|
||||||
|
@ -27,6 +27,7 @@ button_path = NodePath(".")
|
|||||||
icon_path = NodePath("MarginContainer/TextureRect")
|
icon_path = NodePath("MarginContainer/TextureRect")
|
||||||
cooldown_indicator_path = NodePath("CooldownIndicator")
|
cooldown_indicator_path = NodePath("CooldownIndicator")
|
||||||
cooldown_text_path = NodePath("CooldownText")
|
cooldown_text_path = NodePath("CooldownText")
|
||||||
|
stack_counter = NodePath("MarginContainer2/StackCounter")
|
||||||
|
|
||||||
[node name="MarginContainer" type="MarginContainer" parent="."]
|
[node name="MarginContainer" type="MarginContainer" parent="."]
|
||||||
anchor_right = 1.0
|
anchor_right = 1.0
|
||||||
@ -78,3 +79,26 @@ clip_text = true
|
|||||||
__meta__ = {
|
__meta__ = {
|
||||||
"_edit_use_anchors_": false
|
"_edit_use_anchors_": false
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[node name="MarginContainer2" type="MarginContainer" parent="."]
|
||||||
|
anchor_right = 1.0
|
||||||
|
anchor_bottom = 1.0
|
||||||
|
mouse_filter = 2
|
||||||
|
custom_constants/margin_right = 4
|
||||||
|
custom_constants/margin_top = 4
|
||||||
|
custom_constants/margin_left = 4
|
||||||
|
custom_constants/margin_bottom = 3
|
||||||
|
__meta__ = {
|
||||||
|
"_edit_use_anchors_": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[node name="StackCounter" type="Label" parent="MarginContainer2"]
|
||||||
|
visible = false
|
||||||
|
margin_left = 4.0
|
||||||
|
margin_top = 4.0
|
||||||
|
margin_right = 41.0
|
||||||
|
margin_bottom = 42.0
|
||||||
|
size_flags_horizontal = 3
|
||||||
|
size_flags_vertical = 3
|
||||||
|
align = 2
|
||||||
|
valign = 2
|
||||||
|
@ -73,6 +73,7 @@ func cbag_changed(entity: Entity, bag: Bag) -> void:
|
|||||||
if _bag != null:
|
if _bag != null:
|
||||||
_bag.disconnect("size_changed", self, "bag_size_changed")
|
_bag.disconnect("size_changed", self, "bag_size_changed")
|
||||||
_bag.disconnect("item_added", self, "bag_item_added")
|
_bag.disconnect("item_added", self, "bag_item_added")
|
||||||
|
_bag.disconnect("item_count_changed", self, "item_count_changed")
|
||||||
_bag.disconnect("item_removed", self, "item_removed")
|
_bag.disconnect("item_removed", self, "item_removed")
|
||||||
_bag.disconnect("item_swapped", self, "item_swapped")
|
_bag.disconnect("item_swapped", self, "item_swapped")
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user