extends Reference const NAME = "idle" var ctx = null func _init(): pass func enter_from(state): for item_slot in ctx.item_slots: item_slot.add_enabled = true item_slot.remove_enabled = true ctx.item_dump.enabled = false ctx.coin_machine.enabled = false ctx.progress_text.text = "Idle" ctx.status_light.idle() func exit_to(state): pass func update(delta): pass func on_coin_machine_coin_requirement_met(player): assert(false, "shouldn't trigger while idle") func on_gen_timer_timeout(): assert(false, "gen timer shouldn't trigger while idle") func on_slot_item_changed(item): if ctx.items_in_slots.size() < 2: return if ctx.item_to_craft != null: ctx.change_state(ctx.States[ctx.EState.READY].new()) else: ctx.change_state(ctx.States[ctx.EState.BLOCKED].new()) func on_item_dump_item_dump_completed(): pass func on_damage_taken(): if ctx.current_hp <= 0: ctx.change_state(ctx.States[ctx.EState.BROKEN].new())