Exemplo n.º 1
0
void OptionSelect::setData()
{
    if (id == INVALID_OPTION)
        return;

    if (value < selections.size())
        options[id] = GameOption(selections[value]);
}
Exemplo n.º 2
0
GameOption * GameOptions::factorNewGameOption(string optionName, string value)
{
    GameOption * result =( Unlockable::unlockables.find(optionName) !=  Unlockable::unlockables.end())
        ? NEW GameOptionAward()
        : NEW GameOption();

    if (value.size())
        result->read(value);

    return result;
}
Exemplo n.º 3
0
void OptionLanguage::setData()
{
    if (id == INVALID_OPTION)
        return;

    if (value < selections.size())
    {
        options[id] = GameOption(actual_data[value]);
        Translator::EndInstance();
        Translator::GetInstance()->init();
        Translator::GetInstance()->tempValues.clear();
    }
}
Exemplo n.º 4
0
void OptionLanguage::confirmChange(bool confirmed)
{
    if (!confirmed)
        value = prior_value;
    else
    {
        setData();
        if (Changed())
        {
            options[id] = GameOption(actual_data[value]);
            Translator::EndInstance();
            Translator::GetInstance()->init();
            Translator::GetInstance()->tempValues.clear();
        }
        prior_value = value;
    }
}
Exemplo n.º 5
0
void OptionInteger::setData()
{
    if (id != INVALID_OPTION)
        options[id] = GameOption(value);
}
Exemplo n.º 6
0
GameOption * GameOptions::get(int optionID)
{
    //Invalid options!
    if (optionID < 0)
        return NULL;

    //Option doesn't exist, so build it
    int x = (int) values.size();
    values.reserve(optionID);

    while (x <= optionID)
    {
        GameOption * go = NULL;
        GameOptionEnum * goEnum = NULL;
        switch (x)
        {
        //Enum options
        case Options::HANDDIRECTION:
            goEnum = NEW GameOptionEnum();
            goEnum->def = OptionHandDirection::getInstance();
            go = goEnum;
            break;
        case Options::CLOSEDHAND:
            goEnum = NEW GameOptionEnum();
            goEnum->def = OptionClosedHand::getInstance();
            go = goEnum;
            break;
        case Options::MANADISPLAY:
            goEnum = NEW GameOptionEnum();
            goEnum->def = OptionManaDisplay::getInstance();
            go = goEnum;
            break;
        case Options::MAX_GRADE:
            goEnum = NEW GameOptionEnum();
            goEnum->def = OptionMaxGrade::getInstance();
            go = goEnum;
            break;
        case Options::ASPHASES:
            goEnum = NEW GameOptionEnum();
            goEnum->def = OptionASkipPhase::getInstance();
            go = goEnum;
            break;
        case Options::FIRSTPLAYER:
            goEnum = NEW GameOptionEnum();
            goEnum->def = OptionWhosFirst::getInstance();
            go = goEnum;
            break;
        case Options::KICKERPAYMENT:
            goEnum = NEW GameOptionEnum();
            goEnum->def = OptionKicker::getInstance();
            go = goEnum;
            break;
        case Options::KEY_BINDINGS:
            go = NEW GameOptionKeyBindings();
            break;
        case Options::ECON_DIFFICULTY:
            goEnum = NEW GameOptionEnum();
            goEnum->def = OptionEconDifficulty::getInstance();
            go = goEnum;
            break;
        default:
            if (x >= Options::BEGIN_AWARDS)
                go = NEW GameOptionAward();
            else
                go = NEW GameOption();
            break;
        }
        values.push_back(go);
        x++;
    }

    return values[optionID];
}
Exemplo n.º 7
0
{
    if (!profileOptions)
        return false;

    for (int x = Options::BEGIN_AWARDS; x < Options::SET_UNLOCKS + setlist.size(); x++)
    {
        GameOptionAward * goa = dynamic_cast<GameOptionAward *> (profileOptions->get(x));
        if (!goa)
            continue;
        if (!goa->isViewed())
            return true;
    }
    return false;
}

GameOption GameSettings::invalid_option = GameOption(0);

GameOption& GameSettings::operator[](int optionID)
{
    GameOption * go = get(optionID);
    if (!go)
        return invalid_option;

    return *go;
}

GameOption& GameSettings::operator[](string optionName)
{
    int id = Options::getID(optionName);
    if (id != INVALID_OPTION)
        return operator[](id);