void OptionSelect::setData() { if (id == INVALID_OPTION) return; if (value < selections.size()) options[id] = GameOption(selections[value]); }
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; }
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(); } }
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; } }
void OptionInteger::setData() { if (id != INVALID_OPTION) options[id] = GameOption(value); }
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]; }
{ 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);