static RecorderSessionEndEvent CreateStopEvent(RecordingSession session, bool error, bool complete) { if (!Settings2Guid.TryGetValue(session.settings, out var guid)) { return(new RecorderSessionEndEvent()); // Should never happen } Settings2Guid.Remove(session.settings); RecorderSessionEndEvent data; var outcome = error ? RecorderSessionEndEvent.Outcome.Error : (complete ? RecorderSessionEndEvent.Outcome.Complete : RecorderSessionEndEvent.Outcome.UserStopped); data = new RecorderSessionEndEvent { recorder_session_guid = guid, elapsed_ms = (int)((session.currentFrameStartTS) * 1000), frames_recorded = session.recorder.RecordedFramesCount, outcome = outcome.ConvertToString() }; #if DEBUG_ANALYTICS var json = JsonUtility.ToJson(data, prettyPrint: true); Debug.Log(json); #endif return(data); }
internal static RecorderSessionEndEvent CreateStopEvent(RecorderController controller, bool error) { if (!controller2guid.TryGetValue(controller, out var guid)) { return(new RecorderSessionEndEvent()); // Should never happen } controller2guid.Remove(controller); var session = controller.m_RecordingSessions.FirstOrDefault(x => x.settings.Enabled); RecorderSessionEndEvent data; if (session == null) { data = new RecorderSessionEndEvent { outcome = RecorderSessionEndEvent.Outcome.Error.ConvertToString() }; } else { data = new RecorderSessionEndEvent { recorder_session_guid = guid, elapsed_ms = Mathf.Max(0, (int)(session.currentFrameStartTS * 1000)), frames_recorded = session.recorder.RecordedFramesCount, outcome = (error ? RecorderSessionEndEvent.Outcome.Error : GetOutcome(session)).ConvertToString() }; } #if DEBUG_ANALYTICS var json = JsonUtility.ToJson(data, prettyPrint: true); Debug.Log(json); #endif return(data); }