Пример #1
0
  public void saveBestScore(PlayerProfile playerProfile, LevelProfile level, Score score) {
    Score compareScore = getLevelBestScore(playerProfile, level);
    if (compareScore != null && compareScore.getTotalScore() > score.getTotalScore()) return;
    int levelgroupID = playerProfile.getCurrentLevelGroup().id;

    // String deleteDetail = "delete from score_detail where player_id=" +
    // playerProfile.getId() + " and level_id=" + level.id +
    // " and level_group_id=" + levelgroupID;

    String deleteScore =
        "delete from score where player_id="
            + playerProfile.getId()
            + " and level_id="
            + level.id
            + " and level_group_id="
            + levelgroupID;

    String insertScore =
        "insert into score(player_id, level_group_id, level_id, score, compare_score,is_uploaded,server_score_id) values ("
            // todo+ ", " + FlyDBManager.SCORE_COLUMN_REACHEDDATE
            + playerProfile.getId()
            + ", "
            + levelgroupID
            + ", "
            + level.id
            + ","
            + score.getTotalScore()
            + ", '"
            + score.getCompareScore()
            + "',"
            + (score.isUploaded() ? "1" : "0")
            + ","
            + score.getServerScoreId()
            + ") ";

    // FlyDBManager.getInstance().openDatabase();
    // FlyDBManager.getInstance().execSQL(deleteDetail);
    FlyDBManager.getInstance().execSQL(deleteScore);
    FlyDBManager.getInstance().execSQL(insertScore);
    // for (ScoreDetail detail : score.getScoreDetails()) {
    // String insertDetail =
    // "insert into score_detail(player_id,level_id,score_detail,_value,level_group_id) values ("
    // + playerProfile.getId() + ", "
    // + level.id + ", '" + detail.getDetailName() + "', '"
    // + detail.getValue() + "'," +levelgroupID + ")";
    // FlyDBManager.getInstance().execSQL(insertDetail);
    // }

  }
Пример #2
0
  public Score getLevelBestScore(PlayerProfile playerProfile, LevelProfile level) {
    int levelgroupID = playerProfile.getCurrentLevelGroup().id;
    String selectScore =
        "select score, compare_score, reached_date, is_uploaded, server_score_id from score where player_id ="
            + playerProfile.getId()
            + " and level_id="
            + level.id
            + " and level_group_id="
            + levelgroupID;
    Score score = null;

    DatabaseCursor cursor = FlyDBManager.getInstance().selectData(selectScore);
    if (cursor != null && cursor.getCount() > 0) {
      cursor.next();
      score = new Score();
      score.setTotalScore(cursor.getInt(0));
      score.setCompareScore(cursor.getString(1));
      // todo score.setReachedDate(cursor.getString(2));
      score.setIsUploaded(cursor.getInt(3) > 0);
      score.setServerScoreId(cursor.getInt(4));
      cursor.close();
    }
    return score;
  }