module hasquarterstate;

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

class HasQuarterState : State
{
    GumballMachine gumballMachine;
 
    this(GumballMachine gumballMachine)
    {
        this.gumballMachine = gumballMachine;
    }
  
    void insertQuarter()
    {
        writeln("Вы не можете вставить еще один четвертак");
    }
 
    void ejectQuarter()
    {
        writeln("Четвертак возвращен");
        gumballMachine.setState(gumballMachine.getNoQuarterState());
    }
 
    void turnCrank()
    {
        writeln("Вы дернули за рычаг...");
        gumballMachine.setState(gumballMachine.getSoldState());
    }

    void dispense()
    {
        writeln("Жевательная резинка не выдается");
    }
    
    void refill() {}
 
    override string toString() const
    {
        return "ожидание поворота рычага";
    }
}