lab-electrolyte/src/interactible/spoon_interaction.gd
2026-01-16 05:19:32 +05:00

31 lines
1.4 KiB
GDScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

extends Node
var mini_inventory: Array[RuntimeSubstanceData] = []
signal inventory_updated(substances: Array[RuntimeSubstanceData])
func _on_interactible_interacted(with: DraggableObject) -> void:
if with.is_in_group("solid_source") and mini_inventory == []:
mini_inventory = [RuntimeSubstanceData.new()]
mini_inventory[0].substance = with.get_node("SubstanceData").substance
mini_inventory[0].amount = 5
mini_inventory[0].temperature = 20
GuiSignalBus.push("Ложкой взято 5 мг. %s" % [mini_inventory[0].substance.get_formula()])
elif with.is_in_group("solid_source") and mini_inventory != []:
mini_inventory = []
GuiSignalBus.push("Ложка опустошена")
elif with.is_in_group("flask") and mini_inventory != []:
var log_message = "В пробирку засыпано "
for sub in mini_inventory:
log_message += "%s мг. %s, " % [str(sub.amount),sub.substance.get_formula()]
GuiSignalBus.push(log_message)
with.get_node("%Inventory").add_inventory(mini_inventory)
mini_inventory = []
elif with.is_in_group("flask") and mini_inventory == []:
mini_inventory = with.get_node("%Inventory").extract_solid(5)
var log_message = "Из пробирки изъято "
for sub in mini_inventory:
log_message += "%s мг. %s, " % [str(sub.amount),sub.substance.get_formula()]
GuiSignalBus.push(log_message)
inventory_updated.emit(mini_inventory)