IEnumerator ChangePosition() { GameObject emptyObject = GameObject.Find("dataSaver"); dataSaver dataSaver = emptyObject.GetComponent <dataSaver> (); int columnInHistogram = dataSaver.columnInHistogram; LSL_BCI_Input lslScript = dataSaver.getLslScript(); lslScript.setMarker("score_score_" + columnInHistogram.ToString()); float x_position = this.right_column_x_position - this.distance_between_columns * (this.highest_column_index - columnInHistogram); Vector3 vec = new Vector3(x_position, this.y_position_for_x_marker, this.z_position_for_x_marker); transform.localPosition = vec; yield return(new WaitForSeconds(9)); int blockIndex = dataSaver.currentBlockIndex - 1; if (blockIndex == dataSaver.halfConditionIndex || blockIndex == dataSaver.fullConditionIndex) { SceneManager.LoadScene("stress_evaluation"); } else { SceneManager.LoadScene("Instructions"); } }
/// <summary> /// Function called before of the first update /// </summary> void Start() { twiddleSettings.timelimit = startingTime; twiddleSettings.step = step; twiddleSettings.maxTime = maxExpTime; ds = new dataSaver("TwiddleTrend", new string[] { "overallFitness" }); }
void Start() { GameObject emptyObject = GameObject.Find("dataSaver"); dataSaverScript = emptyObject.GetComponent <dataSaver> (); this.lslScript = dataSaverScript.getLslScript(); if (dataSaverScript.getIsLastPractice()) { timeLimit = int.MaxValue; } currentItemIndex = 0; // Find sliders objects and initialize their methods sliderUnpleasentObj = GameObject.Find("Slider_unPleasent"); sliderStressObj = GameObject.Find("Slider_stress"); sliderUnpleasentComponent = sliderUnpleasentObj.GetComponent <Slider> (); sliderStressComponent = sliderStressObj.GetComponent <Slider> (); sliderStressComponent.onValueChanged.AddListener(delegate { stressValueChanged(); }); sliderUnpleasentComponent.onValueChanged.AddListener(delegate { unpleasentValueChanged(); }); items = new Slider[] { sliderStressComponent, sliderUnpleasentComponent }; // paint in green the active slider (the first one), and the rest in black int index = 0; for (index = 0; index < items.Length; index++) { UnityEngine.UI.Image[] images = items [index].GetComponentsInChildren <UnityEngine.UI.Image> (); for (int i = 0; i < images.Length; i++) { if (images [i].name == "Background") { if (index == 0) { images [i].color = Color.green; } else { images [i].color = Color.black; } } } } this.lslScript.setMarker("eval_start_1_stress_1"); this.startTime = Time.time; }
// Use this for initialization void Start() { GameObject emptyObject = GameObject.Find("dataSaver"); dataSaver dataSaver = emptyObject.GetComponent <dataSaver> (); int amountInColumn = dataSaver.getAmountInColumn(8); Vector3 scale = new Vector3(transform.localScale.x, transform.localScale.y * amountInColumn, transform.localScale.z); transform.localScale = scale; Vector3 position = new Vector3(transform.localPosition.x, transform.localPosition.y + dataSaver.distanceBetweenColumnInHistogram * (amountInColumn - 1), transform.localPosition.z); transform.localPosition = position; }
/// <summary> /// Save on file a parameters+changes configuration /// </summary> /// <param name="stats">array of parameters</param> /// <param name="pc">array of potencial changes</param> void SaveStats(float[] stats, float[] pc) { string[] attributes = new string[myVals.Length]; for (int i = 0; i < myVals.Length; i++) { attributes[i] = "Attr" + (i + 1).ToString(); } dataSaver ds = new dataSaver(folder + "\\Stat" + indxSaving + ".fit #" + bestFitness + "#", attributes); ds.addLine(stats); ds.addLine(pc); ds.saveOnFile(); indxSaving++; }
void onStartBlock() { GameObject emptyObject = GameObject.Find("dataSaver"); dataSaver dataSaver = emptyObject.GetComponent <dataSaver> (); if (dataSaver) { string subjectNumber = this.subjectNumberInput.text; int speed = this.initSpeed(); string condition = this.initStressCondition(); bool withNBack; if (this.useNbackInput.text == "") { withNBack = false; } else { withNBack = this.useNbackInput.text == "yes" ? true : false; } bool isCalibration; int ringsFailuresForCalibrationTarget = 0; if (this.calibrationInput.text == "") { isCalibration = false; } else { isCalibration = true; float percentSuccessToPass = float.Parse(calibrationInput.text); ringsFailuresForCalibrationTarget = dataSaver.ringsAmountForCalibrationPhase - (int)(percentSuccessToPass / 100.0 * dataSaver.ringsAmountForCalibrationPhase); } string ringSize = "big"; string nLevel = this.levelInput.text == ""? "1" : this.levelInput.text; bool isPractice = true; dataSaver.initSingleNonTestBlock(condition, speed, nLevel, ringSize, withNBack, isPractice, isCalibration, ringsFailuresForCalibrationTarget); } this.loadInstructions(); }
// Use this for initialization void Start() { GameObject loadCanvas = GameObject.Find("Canvas_load"); if (loadCanvas) { loadCanvas.SetActive(false); } GameObject emptyObject = GameObject.Find("dataSaver"); dataSaver dataSaver = emptyObject.GetComponent <dataSaver> (); int speed = dataSaver.moveSpeed; GameObject speedValue = GameObject.Find("speedValue"); UnityEngine.UI.Text speedValueText = speedValue.GetComponent <UnityEngine.UI.Text> (); speedValueText.text = speed.ToString(); }
/// <summary> /// Save a set of parameters to a file. /// <para>This function is used to save the parameters of the best individuals</para> /// </summary> /// <param name="keys">array of parameters used for an experiment</param> /// <param name="fitness">fitness obtained with that set of keys</param> void SaveStats(float[] keys, float fitness) { if (!autoSave) { return; } float[] stats = new float[keys.Length + 1]; stats[0] = fitness; for (int i = 1; i < stats.Length; i++) { stats[i] = keys[i - 1]; } dataSaver ds = new dataSaver(folder + "\\Stat" + indxSaving + ".gen " + actGeneration + ".fit #" + fitness + "#", attributes); ds.addLine(stats); ds.saveOnFile(); indxSaving++; }
void onStartCondition() { GameObject emptyObject = GameObject.Find("dataSaver"); dataSaver dataSaver = emptyObject.GetComponent <dataSaver> (); if (dataSaver) { if (dataSaver.currentBlockIndex - 1 == dataSaver.halfConditionIndex) { SceneManager.LoadScene("stress_evaluation"); return; } string subjectNumber = this.subjectNumberInput.text; int speed = this.initSpeed(); string condition = this.initStressCondition(); string order = this.orderInput.text; dataSaver.initCondition(condition, speed, subjectNumber, order); } this.loadInstructions(); }
// Use this for initialization void Start() { GameObject loadCanvas = GameObject.Find("Canvas_load"); //lslBCIInputScript.LSL_BCI_Send_Markers_Enabled = true; if (loadCanvas) { loadCanvas.SetActive(false); } button = GameObject.Find("Button"); buttonComponent = button.GetComponent <Button> (); buttonComponent.onClick.AddListener(onDone); GameObject emptyObject = GameObject.Find("dataSaver"); dataSaver dataSaver = emptyObject.GetComponent <dataSaver> (); int nBackSuccess = dataSaver.nBackSuccess; int flightSuccess = dataSaver.flightSuccess; GameObject nBackValue = GameObject.Find("nbackSuccessRateValue"); GameObject flightValue = GameObject.Find("flightSuccessRateValue"); UnityEngine.UI.Text nBackValueText = nBackValue.GetComponent <UnityEngine.UI.Text> (); UnityEngine.UI.Text flightValueText = flightValue.GetComponent <UnityEngine.UI.Text> (); flightValueText.text = flightSuccess.ToString() + "%"; if (dataSaver.getLastBlockNbackStatus() == true) { nBackValueText.text = nBackSuccess.ToString() + "%"; } else { nBackValueText.text = ""; } }
void Start() { GameObject loadCanvas = GameObject.Find("Canvas_load"); if (loadCanvas) { loadCanvas.SetActive(false); } GameObject stressCanvas = GameObject.Find("Canvas_stress"); if (stressCanvas) { stressCanvas.SetActive(false); } Image image = GetComponent <Image> (); startTimeInstructions = Time.time; GameObject dataSaverObject = GameObject.Find("dataSaver"); this.dataSaver = dataSaverObject.GetComponent <dataSaver> (); this.lslScript = this.dataSaver.getLslScript(); this.lslScript.setMarker("instructions_start_1"); int currentBlockIndex = this.dataSaver.currentBlockIndex; if (this.dataSaver.getIsCalibration() == true) { image.sprite = this.calibration; } else if (this.dataSaver.getWithNBack() == false) { image.sprite = this.no_n; } else { string n = this.dataSaver.getN(); if (n == "1") { image.sprite = this.one; } else if (n == "2") { image.sprite = this.two; } else if (n == "3") { image.sprite = this.three; } else { string type = this.dataSaver.getType(); if (type == "a" || type == "c") { image.sprite = this.zero_a; } else { image.sprite = this.zero_b; } } } return; }
/// <summary> /// initialize the dataSaver instances so it'll be possible to save the genes and restart the simulation from a specific situation /// </summary> void initializeds() { // this dataSaver will be used to see the fitness trend of the drones in different populations ds = new dataSaver("geneticData", new string[] { "lifetime", "fitness" }); }
void Start() { GameObject stressCanvas = GameObject.Find("Canvas_stress"); if (stressCanvas) { stressCanvas.SetActive(false); } GameObject emptyObject = GameObject.Find("dataSaver"); dataSaverScript = emptyObject.GetComponent <dataSaver> (); if (dataSaverScript.getIsLastPractice()) { timeLimit = int.MaxValue; } this.lslScript = dataSaverScript.getLslScript(); currentItemIndex = 0; findAllObjects(); findAllComponents(); this.sliderTemporalComponent.onValueChanged.AddListener(delegate { temporalValueChanged(); }); this.sliderPhysicalComponent.onValueChanged.AddListener(delegate { physicalValueChanged(); }); this.sliderMentalComponent.onValueChanged.AddListener(delegate { mentalValueChanged(); }); this.sliderEffortComponent.onValueChanged.AddListener(delegate { effortValueChanged(); }); this.sliderFrustrationComponent.onValueChanged.AddListener(delegate { frustrationValueChanged(); }); this.sliderPerformanceComponent.onValueChanged.AddListener(delegate { performaceValueChanged(); }); // paint in green the active slider (the first one), and the rest in black items = new Slider[] { sliderMentalComponent, sliderPhysicalComponent, sliderTemporalComponent, sliderPerformanceComponent, sliderEffortComponent, sliderFrustrationComponent }; int index = 0; for (index = 0; index < items.Length; index++) { UnityEngine.UI.Image[] images = items [index].GetComponentsInChildren <UnityEngine.UI.Image> (); for (int i = 0; i < images.Length; i++) { if (images [i].name == "Background") { if (index == 0) { images [i].color = Color.green; } else { images [i].color = Color.black; } } } } this.lslScript.setMarker("eval_start_1_load_1"); this.startTime = Time.time; }