updateProfile function

void updateProfile(
  1. String avatar,
  2. String username,
  3. String email,
  4. int elo,
  5. int rank,
  6. int bulletWins,
  7. int bulletDraws,
  8. int bulletDefeats,
  9. int blitzWins,
  10. int blitzDraws,
  11. int blitzDefeats,
  12. int fastWins,
  13. int fastDraws,
  14. int fastDefeats,
  15. List<List> achievements,
  16. String board,
  17. String boardN,
  18. String boardB,
  19. String darkPieces,
  20. String lightPieces,
  21. String games
)

Implementation

void updateProfile(
    String avatar,
    String username,
    String email,
    int elo,
    int rank,
    int bulletWins,
    int bulletDraws,
    int bulletDefeats,
    int blitzWins,
    int blitzDraws,
    int blitzDefeats,
    int fastWins,
    int fastDraws,
    int fastDefeats,
    List<List> achievements,
    String board,
    String boardN,
    String boardB,
    String darkPieces,
    String lightPieces,
    String games) {
  UserData userData = UserData();
  userData.avatar = avatar;
  userData.username = username;
  userData.email = email;
  userData.elo = elo;
  userData.rank = rank;
  int total = bulletWins +
      bulletDraws +
      bulletDefeats +
      blitzWins +
      blitzDraws +
      blitzDefeats +
      fastWins +
      fastDraws +
      fastDefeats;
  userData.winRate =
      total == 0 ? 0 : ((bulletWins + blitzWins + fastWins) / total) * 100;
  userData.achievements = achievements;
  int count = 0;
  for (var i in achievements) {
    if (i[2]) {
      count++;
    }
  }
  userData.achievementRate = (count / achievements.length) * 100;
  userData.games = games;
  userData.boardType = board;
  userData.boardTypeN = int.parse("0xFF${boardN.substring(1)}");
  userData.boardTypeB = int.parse("0xFF${boardB.substring(1)}");
  userData.darkPieces = darkPieces;
  userData.lightPieces = lightPieces;
}