void StartNewStimulus() { currentStimulus = stimuli[currentStimulusIndex]; stimulusObject = molObjects [UnityEngine.Random.Range(0, molObjects.Count() - 1)]; stimulusObject.StartStimulus(currentStimulus.waveLength, currentStimulus.amplitude); currentStimulusIndex++; Animate = true; stimulus = true; print("Stimulus: " + currentStimulus); }
void StartNewStimulus() { Animate = true; Screen.showCursor = true; currentStimulus = stimuli[currentStimulusIndex]; var shuffle = (from mol in molObjects orderby Guid.NewGuid() select mol); molObjects = shuffle.ToArray(); print("Find molObject at position < " + Settings.Values.fovealLimit + " or > " + Settings.Values.periphLimit + " (visionArea=" + currentStimulus.visionArea + ")"); foreach (MolObject mol in molObjects) { if (currentStimulus.visionArea == 0) { if (Math.Abs(mol.transform.position.x) < Settings.Values.fovealLimit) { stimulusObject = mol; break; } } else { if (Math.Abs(mol.transform.position.x) > Settings.Values.periphLimit) { stimulusObject = mol; break; } } } foreach (MolObject mol in molObjects) { mol.StartStimulus(); } if (stimulusObject == null) { throw new System.Exception("Did not find scene element that matches the stimulus properties"); } //stimulusObject.StartStimulus(); print("Start stimulus, visionArea: " + currentStimulus.visionArea + " technique: " + currentStimulus.techID + " distance: " + stimulusObject.gameObject.transform.position.x); currentStimulusIndex++; }
public void CreateMolObjects() { // Destroy previous game objects if (molObjects != null) { foreach (MolObject obj in molObjects) { Destroy(obj.gameObject); } } molObjects = new MolObject[(int)Settings.Values.molCount]; for (int i = 0; i < (int)Settings.Values.molCount; i++) { int colorIndex = UnityEngine.Random.Range(0, MolColors.Count()); molObjects[i] = MolObject.CreateNewMolObject(gameObject.transform, "molObject_" + i, new MolColor(MolColors[colorIndex]), colorIndex); } initiated = true; stimulusObject = null; }