#include "menu.hpp"


menu::menu()
{
    _menu = loadShell("../data/menu.shell");
    _radY = 0;
    _mode = 1;
    _cam.moveTo(point(0,0,8));
    _cam.setRadius(10);
    _mute =false;
}

void menu::update()
{
    if (_mode == 0 && _radY > -pi/2)
    {
        _radY-=pi/16;
    }
    else if(_mode == 0)
        _mute = false;
    if (_mode == 1)
    {
        if (_radY < -0.1)
        {
            _radY+=pi/32;
        }
        else if (_radY > 0.1)
        {
            _radY-=pi/32;
        }
        else
        {
            _radY=0;
            _mute = false;
        }
    }
    if (_mode == 2 && _radY < pi/2)
    {
        _radY+=pi/16;
    }
    else if (_mode == 2)
        _mute = false;

    shell tmp(_menu);
    tmp.rotY(_radY);
    _cam.addShell(tmp);
}

void menu::left()
{
    if(!_mute && _mode > 0)
        _mode--;
    _mute = true;
}

void menu::right()
{
    if(!_mute && _mode < 2)
        _mode++;
    _mute = true;
}

void menu::enter()
{

}

int menu::getMode()const
{
    if (_mode == 0)
        return 0;
    if (_mode == 1)
        return 2;
    if (_mode == 2)
        return 0;
}
