From 7f8f2f5a88dc3a0012dfb1221d4aff88ba7aa18d Mon Sep 17 00:00:00 2001 From: Chris Midkiff Date: Thu, 29 Nov 2018 13:14:03 -0500 Subject: [PATCH] WE DONE BITCHES --- Assets/Scripts/DataSet.cs | 156 ++++++++++++------------- Assets/Scripts/ExperimentController.cs | 18 +-- Assets/Scripts/Sample.cs | 42 +++---- index.json | 36 +++--- 4 files changed, 127 insertions(+), 125 deletions(-) diff --git a/Assets/Scripts/DataSet.cs b/Assets/Scripts/DataSet.cs index 7767783..8227053 100644 --- a/Assets/Scripts/DataSet.cs +++ b/Assets/Scripts/DataSet.cs @@ -1,78 +1,78 @@ -using Newtonsoft.Json.Linq; -using System; -using System.Collections.Generic; -using System.IO; -using System.Linq; -using System.Net; -using System.Text; -using UnityEngine; - -namespace Assets.Scripts -{ - class DataSet - { - public List Samples = new List(); - - public void SaveDataSet() - { - UploadToElastic(); - StringBuilder stringBuilder = new StringBuilder(); - stringBuilder.AppendLine("Platform,ParticipantID,Angle,Distance,Time,Direction,DotName,TrialIndex,DotIndex,Timestamp"); - Sample first = Samples[0]; - string platform = first.Platform; - string trial = (first.TrialIndex + 1).ToString(); - string participant = first.ParticipantID.ToString(); - foreach (Sample sample in Samples) - { - stringBuilder.AppendLine(string.Format("{0},{1},{2},{3},{4},{5},{6},{7},{8},{9}", sample.Platform, sample.ParticipantID, sample.Angle, sample.Distance, sample.Time, sample.Direction, sample.DotName, sample.TrialIndex, sample.DotIndex, sample.Timestamp)); - } - string path = Path.Combine(Application.persistentDataPath, string.Format("{0}-{1}-{2}.csv",platform,participant,trial)); - using (StreamWriter streamWriter = File.CreateText(path)) - { - streamWriter.Write(stringBuilder.ToString()); - } - UploadToAstralQueen(string.Format("{0}-{1}-{2}", platform, participant, trial), stringBuilder.ToString()); - } - - private void UploadToAstralQueen(string name, string data) - { - using (WebClient client = new WebClient()) - { - string endpoint = "http://astralqueen.bw.edu/hci/upload.php"; - - client.Headers[HttpRequestHeader.ContentType] = "application/x-www-form-urlencoded"; - string ud = "userStudyId=" + name + "&userStudyData=" + data; - string response = client.UploadString(endpoint, ud); - UnityEngine.Debug.Log("Received Response: " + response); - } - } - - private void UploadToElastic() - { - JObject body = new JObject(); - JArray samples = new JArray(); - foreach(Sample sample in Samples) - { - JObject sJ = new JObject(); - sJ.Add("platform", sample.Platform); - sJ.Add("participantId", sample.ParticipantID); - sJ.Add("angle", sample.Angle); - sJ.Add("distance", sample.Distance); - sJ.Add("time", sample.Time); - sJ.Add("direction", sample.Direction); - sJ.Add("dotName", sample.DotName); - sJ.Add("trialIndex", sample.TrialIndex); - sJ.Add("dotIndex", sample.DotIndex); - sJ.Add("timestamp", sample.Timestamp); - samples.Add(sJ); - } - body.Add("samples", samples); - using (var client = new WebClient()) - { - client.Headers[HttpRequestHeader.ContentType] = "application/json"; - var resp = client.UploadString("http://home.superpichu.org:9009", body.ToString()); - UnityEngine.Debug.Log("Recv: " + resp); - } - } - } -} +using Newtonsoft.Json.Linq; +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Net; +using System.Text; +using UnityEngine; + +namespace Assets.Scripts +{ + class DataSet + { + public List Samples = new List(); + + public void SaveDataSet() + { + UploadToElastic(); + StringBuilder stringBuilder = new StringBuilder(); + stringBuilder.AppendLine("Platform,ParticipantID,Angle,Distance,Time,Direction,DotName,TrialIndex,DotIndex,Timestamp"); + Sample first = Samples[0]; + string platform = first.Platform; + string trial = (first.TrialIndex + 1).ToString(); + string participant = first.ParticipantID.ToString(); + foreach (Sample sample in Samples) + { + stringBuilder.AppendLine(string.Format("{0},{1},{2},{3},{4},{5},{6},{7},{8},{9}", sample.Platform, sample.ParticipantID, sample.Angle, sample.Distance, sample.Time, sample.Direction, sample.DotName, sample.TrialIndex, sample.DotIndex, sample.Timestamp)); + } + string path = Path.Combine(Application.persistentDataPath, string.Format("{0}-{1}-{2}.csv",platform,participant,trial)); + using (StreamWriter streamWriter = File.CreateText(path)) + { + streamWriter.Write(stringBuilder.ToString()); + } + UploadToAstralQueen(string.Format("{0}-{1}-{2}", platform, participant, trial), stringBuilder.ToString()); + } + + private void UploadToAstralQueen(string name, string data) + { + using (WebClient client = new WebClient()) + { + string endpoint = "http://astralqueen.bw.edu/hci/upload.php"; + + client.Headers[HttpRequestHeader.ContentType] = "application/x-www-form-urlencoded"; + string ud = "userStudyId=" + name + "&userStudyData=" + data; + string response = client.UploadString(endpoint, ud); + UnityEngine.Debug.Log("Received Response: " + response); + } + } + + private void UploadToElastic() + { + JObject body = new JObject(); + JArray samples = new JArray(); + foreach(Sample sample in Samples) + { + JObject sJ = new JObject(); + sJ.Add("platform", sample.Platform); + sJ.Add("participantId", sample.ParticipantID); + sJ.Add("angle", sample.Angle); + sJ.Add("distance", sample.Distance); + sJ.Add("time", sample.Time); + sJ.Add("direction", sample.Direction); + sJ.Add("dotName", sample.DotName); + sJ.Add("trialIndex", sample.TrialIndex); + sJ.Add("dotIndex", sample.DotIndex); + sJ.Add("timestamp", sample.Timestamp); + samples.Add(sJ); + } + body.Add("samples", samples); + using (var client = new WebClient()) + { + client.Headers[HttpRequestHeader.ContentType] = "application/json"; + var resp = client.UploadString("http://home.superpichu.org:9009", body.ToString()); + UnityEngine.Debug.Log("Recv: " + resp); + } + } + } +} diff --git a/Assets/Scripts/ExperimentController.cs b/Assets/Scripts/ExperimentController.cs index ecd1685..391678b 100644 --- a/Assets/Scripts/ExperimentController.cs +++ b/Assets/Scripts/ExperimentController.cs @@ -2,6 +2,7 @@ using System; using System.Collections.Generic; using System.Diagnostics; +using System.Net; using System.Text; using UnityEngine; using UnityEngine.EventSystems; @@ -27,15 +28,16 @@ public class ExperimentController : MonoBehaviour { platform = "mouse"; #endif #if UNITY_STANDALONE_WIN - platform = "rift"; + platform = "oculus"; #endif - - //FOR THE LOVE OF GOD FUCKING DELETE THIS, SERIOUSLY CHRIS DON'T YOU DARE FORGET - string fuck = "ewoidHJpYWxzIiA6IFsKICBbIkxlZnRMb25nIiwiUmlnaHRNZWRpdW0iLCJMZWZ0U2hvcnQiLCJVcE1lZGl1bSIsIlVwTG9uZyIsIlJpZ2h0U2hvcnQiXSwKICBbIlVwU2hvcnQiLCJSaWdodExvbmciLCJMZWZ0TWVkaXVtIiwiUmlnaHRNZWRpdW0iLCJMZWZ0TG9uZyIsIlVwTG9uZyJdLAogIFsiUmlnaHRTaG9ydCIsIlVwTWVkaXVtIiwiTGVmdE1lZGl1bSIsIkxlZnRTaG9ydCIsIlJpZ2h0TG9uZyIsIlVwU2hvcnQiXSwKICBbIkxlZnRMb25nIiwiUmlnaHRNZWRpdW0iLCJMZWZ0U2hvcnQiLCJVcE1lZGl1bSIsIlVwTG9uZyIsIlJpZ2h0U2hvcnQiXSwKICBbIlVwU2hvcnQiLCJSaWdodExvbmciLCJMZWZ0TWVkaXVtIiwiUmlnaHRNZWRpdW0iLCJMZWZ0TG9uZyIsIlVwTG9uZyJdLAogIFsiUmlnaHRTaG9ydCIsIlVwTWVkaXVtIiwiTGVmdE1lZGl1bSIsIkxlZnRTaG9ydCIsIlJpZ2h0TG9uZyIsIlVwU2hvcnQiXSwKICBbIkxlZnRMb25nIiwiUmlnaHRNZWRpdW0iLCJMZWZ0U2hvcnQiLCJVcE1lZGl1bSIsIlVwTG9uZyIsIlJpZ2h0U2hvcnQiXSwKICBbIlVwU2hvcnQiLCJSaWdodExvbmciLCJMZWZ0TWVkaXVtIiwiUmlnaHRNZWRpdW0iLCJMZWZ0TG9uZyIsIlVwTG9uZyJdLAogIFsiUmlnaHRTaG9ydCIsIlVwTWVkaXVtIiwiTGVmdE1lZGl1bSIsIkxlZnRTaG9ydCIsIlJpZ2h0TG9uZyIsIlVwU2hvcnQiXQpdLAoicGFydGljaXBhbnRJZCIgOiAxLAoiaW5wdXRNZXRob2QiIDogImNhcmRib2FyZCIKfQo="; - byte[] decodedBytes = Convert.FromBase64String(fuck); - string decodedText = Encoding.UTF8.GetString(decodedBytes); - UnityEngine.Debug.Log(decodedText); - participant = new Participant(decodedText); + string response = ""; + using (WebClient client = new WebClient()) + { + string endpoint = "http://do.superpichu.org:5000/" + platform; + response = client.DownloadString(endpoint); + UnityEngine.Debug.Log("Received Response: " + response); + } + participant = new Participant(response); startDot = GameObject.Find("StartButton"); playerCamera = GameObject.FindGameObjectsWithTag("MainCamera")[0]; trialIndex = 0; diff --git a/Assets/Scripts/Sample.cs b/Assets/Scripts/Sample.cs index 0e0ae9c..13a1397 100644 --- a/Assets/Scripts/Sample.cs +++ b/Assets/Scripts/Sample.cs @@ -1,21 +1,21 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; - -namespace Assets.Scripts -{ - class Sample - { - public string Platform { get; set; } - public int ParticipantID { get; set; } - public double Angle { get; set; } - public double Distance { get; set; } - public double Time { get; set; } - public bool Direction { get; set; } - public string DotName { get; set; } - public int TrialIndex { get; set; } - public int DotIndex { get; set; } - public long Timestamp { get; set; } - } -} +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; + +namespace Assets.Scripts +{ + class Sample + { + public string Platform { get; set; } + public int ParticipantID { get; set; } + public double Angle { get; set; } + public double Distance { get; set; } + public double Time { get; set; } + public bool Direction { get; set; } + public string DotName { get; set; } + public int TrialIndex { get; set; } + public int DotIndex { get; set; } + public long Timestamp { get; set; } + } +} diff --git a/index.json b/index.json index 6e6c9bb..6040166 100644 --- a/index.json +++ b/index.json @@ -1,18 +1,18 @@ -{ - "mappings": { - "_doc": { - "properties": { - "platform":{"type":"keyword"}, - "participantId": {"type":"integer"}, - "angle":{"type":"double"}, - "distance":{"type":"double"}, - "time":{"type":"double"}, - "direction":{"type":"boolean"}, - "dotName":{"type":"keyword"}, - "trialIndex":{"type":"integer"}, - "dotIndex":{"type":"integer"}, - "timestamp":{"type":"date","format":"epoch_millis"} - } - } - } -} +{ + "mappings": { + "_doc": { + "properties": { + "platform":{"type":"keyword"}, + "participantId": {"type":"integer"}, + "angle":{"type":"double"}, + "distance":{"type":"double"}, + "time":{"type":"double"}, + "direction":{"type":"boolean"}, + "dotName":{"type":"keyword"}, + "trialIndex":{"type":"integer"}, + "dotIndex":{"type":"integer"}, + "timestamp":{"type":"date","format":"epoch_millis"} + } + } + } +}