Beispiel #1
0
void TlevelCreatorDlg::checkLevelSlot() {
    Tlevel tmpLevel;
    m_questSett->saveLevel(&tmpLevel);
    m_accSett->saveLevel(&tmpLevel);
    m_rangeSett->saveLevel(&tmpLevel);
    QString validMessage =  validateLevel(tmpLevel);
    if (!validMessage.isEmpty())
      showValidationMessage(validMessage);
    else
      QMessageBox::information(this, tr("Level validation"), tr("Level seems to be correct"));
}
Beispiel #2
0
void TlevelCreatorDlg::saveToFile() {
  Tlevel newLevel;
  m_questSett->saveLevel(&newLevel);
  m_accSett->saveLevel(&newLevel);
// 		m_meloSett->saveLevel(&newLevel);
  m_rangeSett->saveLevel(&newLevel);
  if (!newLevel.canBeGuitar() && !newLevel.answerIsSound() ) { // no guitar and no played sound  
    // adjust fret range - validation will skip it for non guitar levels
    newLevel.loFret = 0; // Set range to fret number and rest will be done by function preparing question list
    newLevel.hiFret = Tcore::gl()->GfretsNumber;
    newLevel.onlyLowPos = true; // otherwise the above invokes doubled/tripled questions in the list
  // set all strings as available
    for (int str = 0; str < 6; str++)
      newLevel.usedStrings[str] = true;
  }
  QString isLevelValid = validateLevel(newLevel);
  if (!isLevelValid.isEmpty()) {
      showValidationMessage(isLevelValid);
      return;
  }
  // set instrument to none when it is not important for the level
  newLevel.instrument = newLevel.detectInstrument(Tcore::gl()->instrument);
  TlevelHeaderWdg *saveDlg = new TlevelHeaderWdg(this);
  QStringList nameList = saveDlg->getLevelName();
  newLevel.name = nameList[0];
  newLevel.desc = nameList[1];
// Saving to file
  QLatin1String dotNel(".nel");
  QString fName = QDir::toNativeSeparators(Tcore::gl()->E->levelsDir + QLatin1String("/") + newLevel.name);
  if (QFileInfo(fName  + dotNel).exists())
    fName += QLatin1String("-") + QDateTime::currentDateTime().toString(QLatin1String("(dd-MMM-hhmmss)"));
#if defined (Q_OS_ANDROID)
  QString fileName = TfileDialog::getSaveFileName(this, fName, QStringLiteral("nel"));
#else
  QString fileName = QFileDialog::getSaveFileName(this, tr("Save exam level"), fName, TlevelSelector::levelFilterTxt() + QLatin1String(" (*.nel)"));
#endif
  if (fileName.isEmpty()) {
    qDebug() << "empty file name";
      return;
  }
  if (fileName.right(4) != dotNel)
    fileName += dotNel;
  Tcore::gl()->E->levelsDir = QFileInfo(fileName).absoluteDir().absolutePath();
  if (!Tlevel::saveToFile(newLevel, fileName)) {
      QMessageBox::critical(this, QStringLiteral(" "), tr("Cannot open file for writing"));
      return;
  }
  isNotSaved = false;
  m_levelSett->levelSelector()->addLevel(newLevel, fileName, true);
  m_levelSett->levelSelector()->selectLevel(); // select the last
  levelSaved();
  m_levelSett->levelSelector()->updateRecentLevels(); // Put the file name to the settings list
}
Beispiel #3
0
Gameplay::Pokemon::Pokemon(std::string pokemonName, unsigned int level, AllianceEnum startingAlliance)
{
    alliance = startingAlliance;
    name = pokemonName;
    num = Filesystem::Pokedex::getNum(name);

    level = validateLevel(level);
    stats = Gameplay::PokemonStats(name, level);

    moves[0] = std::make_shared<Gameplay::Move>("tackle");
    moves[1] = std::make_shared<Gameplay::Move>("growl");
    moves[3] = std::make_shared<Gameplay::Move>();
}