/// <summary> /// Save tracking data for this trial /// </summary> /// <param name="tracker">The tracker to take data from to save</param> /// <returns>Path to the saved file</returns> public string SaveTrackerData(Tracker tracker) { string fname = string.Format("{0}_{1}_T{2:000}.csv", tracker.objectName, tracker.measurementDescriptor, currentTrialNum); string fpath = Path.Combine(path, fname); List <string[]> dataCopy = tracker.GetDataCopy(); fileIOManager.ManageInWorker(() => fileIOManager.WriteCSV(tracker.header, dataCopy, fpath)); // return relative path so it can be stored in behavioural data Uri fullPath = new Uri(fpath); Uri basePath = new Uri(experimentPath); return(basePath.MakeRelativeUri(fullPath).ToString()); }
/// <summary> /// Finalises the session logger, saving the data and detaching its logging method from handling Debug.Log messages /// </summary> public void Finalise() { string filepath = Path.Combine(session.path, "log.csv"); fileIOManager.ManageInWorker(() => fileIOManager.WriteCSV(table, filepath)); Application.logMessageReceived -= HandleLog; }
/// <summary> /// Save tracking data for this trial /// </summary> /// <param name="tracker">The tracker to take data from to save</param> /// <returns>Name of the saved file</returns> public string SaveTrackerData(Tracker tracker) { string fname = string.Format("{0}_{1}_T{2:000}.csv", tracker.objectName, tracker.measurementDescriptor, currentTrialNum); WriteFileInfo fileInfo = new WriteFileInfo( WriteFileType.Tracker, this.basePath, experimentName, ppid, folderName, fname ); List <string[]> dataCopy = tracker.GetDataCopy(); fileIOManager.ManageInWorker(() => fileIOManager.WriteCSV(tracker.header, dataCopy, fileInfo)); // return name of the file so it can be stored in behavioural data return(fileInfo.FileName); }
/// <summary> /// Finalises the session logger, saving the data and detaching its logging method from handling Debug.Log messages /// </summary> public void Finalise() { WriteFileInfo fileInfo = new WriteFileInfo( WriteFileType.Log, session.BasePath, session.experimentName, session.ppid, session.FolderName, "log.csv" ); fileIOManager.ManageInWorker(() => fileIOManager.WriteCSV(table, fileInfo)); Application.logMessageReceived -= HandleLog; session.cleanUp -= Finalise; }