public void LogPlaySessionScore(int appSession, JourneyPosition pos, int score, float playTime) { if (ApplicationConfig.I.DebugLogEnabled) { Debug.Log("LogPlaySessionScore " + pos.Id + " / " + score); } // Log for history var data = new LogPlaySessionScoreData(appSession, pos, score, playTime); db.Insert(data); // Retrieve previous scores string query = string.Format("SELECT * FROM " + typeof(JourneyScoreData).Name); var previousScoreDataList = db.Query <JourneyScoreData>(query); // Score update var scoreData = GetJourneyScoreDataWithMaximum(JourneyDataType.PlaySession, pos.Id, score, previousScoreDataList); db.InsertOrReplace(scoreData); }
public void LogPlaySessionScores(int appSession, List <LogPlaySessionScoreParams> logPlaySessionScoreParamsList) { // Retrieve previous scores string query = string.Format("SELECT * FROM " + typeof(JourneyScoreData).Name); var previousScoreDataList = db.Query <JourneyScoreData>(query); var logDataList = new List <LogPlaySessionScoreData>(); var scoreDataList = new List <JourneyScoreData>(); foreach (var parameters in logPlaySessionScoreParamsList) { // Log for history var logData = new LogPlaySessionScoreData(appSession, parameters.Pos, parameters.Score, parameters.PlayTime); logDataList.Add(logData); // Score update var scoreData = GetJourneyScoreDataWithMaximum(JourneyDataType.PlaySession, parameters.Pos.Id, parameters.Score, previousScoreDataList); scoreDataList.Add(scoreData); } db.InsertAll(logDataList); db.InsertOrReplaceAll(scoreDataList); }