// wait n sec & stop recording & get acc data from tilt manager private IEnumerator saveAccData(float waitTime) { // wait // Debug.Log("wait: " + waitTime); yield return(new WaitForSeconds(waitTime)); // stop recording tiltManager.stopRecording(); cursor.stopRecording(); // get acc data from tilt manager List <float> timeStampRecord = tiltManager.getTimeStampRecord(); List <Vector3> rawAccRecord = tiltManager.getRawAccRecord(); List <Vector3> filtAccRecord = tiltManager.getFiltAccRecord(); // get cursor data from cursor List <float> cursorTimeStampRecord = cursor.getTimeStampRecord(); List <Vector3> cursorPositionRecord = cursor.getCursorPositionRecord(); // save acc data string path = experimentManager.GetAccDataPath(); StreamWriter sw = new StreamWriter(path, false); string header = "header sample \n" + "time stamp, raw acc x, raw acc y, raw acc z, filt acc x, filt acc y, filt acc z"; sw.WriteLine(header); int nRecord = timeStampRecord.Count; for (int iRecord = 0; iRecord < nRecord; iRecord++) { string record = timeStampRecord[iRecord] + "," + rawAccRecord[iRecord].x + "," + rawAccRecord[iRecord].y + "," + rawAccRecord[iRecord].z + "," + filtAccRecord[iRecord].x + "," + filtAccRecord[iRecord].y + "," + filtAccRecord[iRecord].z; sw.WriteLine(record); } sw.Flush(); sw.Close(); // save cursor position path = experimentManager.GetCursorDataPath(); sw = new StreamWriter(path, false); header = "header sample \n" + "time stamp, cursor x, cursor y"; sw.WriteLine(header); nRecord = cursorTimeStampRecord.Count; for (int iRecord = 0; iRecord < nRecord; iRecord++) { string record = cursorTimeStampRecord[iRecord] + "," + cursorPositionRecord[iRecord].x + "," + cursorPositionRecord[iRecord].y; sw.WriteLine(record); } sw.Flush(); sw.Close(); }