Files
Dawn-Godot/cutscene/item/ItemAction.gd
T
2026-06-12 11:56:30 -05:00

31 lines
883 B
GDScript

class_name ItemAction
class ItemDialogueState:
var item_name:String
var quantity:int
func _init(itemName:String, qty:int) -> void:
item_name = itemName
quantity = qty
static func itemGetCallable(params:Dictionary) -> int:
assert(params.has('stack'))
var stack:ItemStack = params['stack']
PARTY.BACKPACK.addStack(stack)
var state = ItemDialogueState.new(Item.getItemName(stack.item), stack.quantity)
var dialogueParams:Dictionary = DialogueAction.getDialogueCallable(
"res://dialogue/item/pickup",
"start",
[state],
DialogueAction.DialogueMode.CONVERSATION
)
dialogueParams['position'] = Cutscene.CUTSCENE_ADD_NEXT
params['cutscene'].addCallable(dialogueParams)
return Cutscene.CUTSCENE_CONTINUE
static func getItemCallable(itemStack:ItemStack) -> Dictionary:
return {
'function': itemGetCallable,
'stack': itemStack,
}