extends "res://gui/currency_inspector_panel.gd" @export var member: CurrencyMemberSprite func _ready() -> void: UserContext.currency_inspect.connect(currency_inspect) UserContext.member_inspect.connect(member_inspect) UserContext.modal_command_change.connect(modal_command_change) update() func modal_command_change(_c: Command): visible = false func member_inspect(m: CurrencyMemberSprite): if member != null: member.tree_exiting.disconnect(member_left) member = m currency = m.currency m.tree_exiting.connect(member_left) update() func member_left(): member = null visible = false func clear_bribes(): for child in %BribesList.get_children(): child.queue_free() func clear_commands(): for child in %CommandsList.get_children(): child.queue_free() func bribe_success(): member.allegiance = preload("res://allegiance/good.tres") member.sync() update() func load_bribes(): for p in member.currency.wants: var btn := preload("res://gui/bribe_button.tscn").instantiate() btn.bribe = p btn.bribe_succees.connect(bribe_success) %BribesList.add_child(btn) func load_commands(): for p in member.currency.commands: var btn := preload("res://commands/command_button.tscn").instantiate() btn.command = p btn.command_succcess.connect(UserContext.modal) %CommandsList.add_child(btn) func currency_inspect(_c: Currency): visible = false func update(): super() if member != null: %Allegiance.text = member.allegiance.kingdom_name %CurrencyMemberSprite.currency = member.currency %CurrencyMemberSprite.allegiance = member.allegiance %CurrencyMemberSprite.sync() clear_bribes() clear_commands() %Bribes.visible = false %Commands.visible = true if member.allegiance != preload("res://allegiance/good.tres"): load_bribes() %Bribes.visible = true %Commands.visible = false else: load_commands()