public void SetGameSessionPreviousTimeData(GameSessionTimeData newData) { if (this.gameTimeDataSaving == null) { this.gameTimeDataSaving = new GameTimeDataSaving(); this.gameTimeDataSaving.firstPlayDateTimeSerialized = new DateTimeSerialized(newData.sessionStartTime); } this.gameTimeDataSaving.gameSessionPreviousTimeData = newData; }
private GameSessionTimeData InitGameTimeSessionCurrent(DateTime downloadedTime) { var currentSessionTimeData = new GameSessionTimeData(); currentSessionTimeData.sessionStartSerializedFromServer.SetDateTime(downloadedTime); DateTime deviceTime = this.nowDevice; currentSessionTimeData.sessionStartSerializedFromDevice.SetDateTime(deviceTime); currentSessionTimeData.timeValueActiveDeviceAtStart = this.GetDeviceWorkTimeInSeconds(); return(currentSessionTimeData); }
private void CalculateTimeBetweenSessions(GameSessionTimeData timeDataPreviousSession, GameSessionTimeData timeDataCurrentSession) { if (timeDataPreviousSession == null) { timeBetweenSessionsSec = 0; return; } timeBetweenSessionsSec = timeDataCurrentSession.timeValueActiveDeviceAtStart - timeDataPreviousSession.timeValueActiveDeviceAtEnd; if (timeBetweenSessionsSec < 0f) { timeBetweenSessionsSec = Mathf.FloorToInt((float)(timeDataCurrentSession.sessionStartTime - timeDataPreviousSession.sessionOverTime).TotalSeconds); timeBetweenSessionsSec = Mathf.Max((float)timeBetweenSessionsSec, 0f); } }