everything_has_a_price_jam/user_context.gd
2026-09-26 18:17:56 -06:00

35 lines
926 B
GDScript

extends Node
@warning_ignore("unused_signal")
signal currency_inspect(c: Currency)
@warning_ignore("unused_signal")
signal member_inspect(c: CurrencyMemberSprite)
@warning_ignore("unused_signal")
signal open_inbox
var selected_member: CurrencyMemberSprite = null
var focused_members: Array[CurrencyMemberSprite] = []
signal selected_member_change(current: CurrencyMemberSprite)
func select_focused_member():
var candidate := focused_member()
if candidate == null:
return
selected_member = candidate
selected_member_change.emit(selected_member)
func focused_member() -> CurrencyMemberSprite:
if focused_members.size() == 0:
return null
return focused_members[focused_members.size()-1]
func focus_member(member: CurrencyMemberSprite):
focused_members.append(member)
func unfocus_member(member: CurrencyMemberSprite):
var i := focused_members.find(member)
if i == -1:
return
focused_members.remove_at(i)