module noquarterstate;

import std.stdio : writeln;
import state, gumballmachine;

class NoQuarterState : State
{
    GumballMachine gumballMachine;
 
    this(GumballMachine gumballMachine)
    {
        this.gumballMachine = gumballMachine;
    }
 
    void insertQuarter()
    {
        writeln("Вы вставили четвертак");
        gumballMachine.setState(gumballMachine.getHasQuarterState());
    }
 
    void ejectQuarter()
    {
        writeln("Вы не вставили четвертак");
    }
 
    void turnCrank()
    {
        writeln("Вы дернули за рычаг, но нет четвертака");
    }
 
    void dispense()
    {
        writeln("Сначала вам нужно заплатить");
    } 
    
    void refill() { }
 
    override string toString() const
    {
        return "в ожидании четвертака";
    }
}