コード例 #1
0
ファイル: MainScript.cs プロジェクト: PerceptionStudy/Study3
    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);
    }
コード例 #2
0
    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++;
    }
コード例 #3
0
    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;
    }