extends Reference const NAME = "growing" const raw_yam = preload("res://item_types/raw_yam.tres") var ctx = null var mat: SpatialMaterial = SpatialMaterial.new() func _init(): mat.albedo_color = Color.green func enter_from(state): ctx.get_node("coin_machine").enabled = false ctx.get_node("item_holder").add_enabled = false ctx.get_node("item_holder").remove_enabled = false ctx.get_node("grow_timer").start() ctx.status_light.activate() ctx.item_dump.enabled = false ctx.get_node("circle_timer").set_timer(ctx.get_node("grow_timer")) func exit_to(state): ctx.get_node("circle_timer").clear_timer() func on_coin_machine_coin_requirement_met(player): assert(false, "coin machine should be disabled while growing") func on_grow_timer_timeout(): var item_holder = ctx.get_node("item_holder") item_holder.spawn_item(raw_yam) ctx.change_state(ctx.StateBlocked.new()) func on_item_holder_item_changed(item): assert(item.item_type == raw_yam) func on_item_dump_item_dump_completed(): assert(false) func on_damage_taken(): ctx.get_node("grow_timer").stop() if ctx.current_hp <= 0: ctx.change_state(ctx.StateBroken.new())