コード例 #1
0
    public TestMeasurements(ExperimentConfiguration configuration, IndexOfDifficulty sequenceInfo, TargetBehaviour[] targets)
    {
        this.configuration = configuration;
        this.sequenceInfo  = sequenceInfo;

        this.targetsPositions = new List <Vector3>(targets.Length);
        for (int i = 0; i < targets.Length; i++)
        {
            this.targetsPositions.Add(targets[i].position);
        }

        blocksData = new List <BlockMeasurements>(configuration.numberOfBlocks);
    }
コード例 #2
0
    public TestController(ITestListener listener, Text statusText,
                          CursorBehaviour cursor, GameObject baseTarget, Transform targetPlane,
                          ExperimentConfiguration configuration, int currentSequence)
    {
        this.testListener = listener;

        this.statusText = statusText;

        this.cursor      = cursor;
        this.baseTarget  = baseTarget;
        this.targetPlane = targetPlane;

        this.configuration = configuration;

        if (currentSequence < 0 || currentSequence >= configuration.GetSequences().Count)
        {
            currentSequence = configuration.GetSequences().Count - 1;
        }
        this.currentSequence = configuration.GetSequences()[currentSequence];
    }
コード例 #3
0
    public static void Build(GameObject baseTarget, Transform targetPlane, IndexOfDifficulty sequence, int numberOfTargets)
    {
        if (numberOfTargets % 2 == 0) // If even number
        {
            numberOfTargets++;        // number of targets must be an odd number
        }

        float thetaStep        = -2 * Mathf.PI / numberOfTargets;
        int   startTargetIndex = 0;
        int   finalTargetIndex = (int)numberOfTargets / 2 + 1;

        for (int i = 0; i < numberOfTargets; i++)
        {
            int targetPositionIndex;
            if (i % 2 == 0)
            {
                targetPositionIndex = startTargetIndex;
                startTargetIndex++;
            }
            else
            {
                targetPositionIndex = finalTargetIndex;
                finalTargetIndex++;
            }
            GameObject newTarget = Object.Instantiate(baseTarget, targetPlane);
            newTarget.name = "Target " + i;

            var targetBehaviour = newTarget.GetComponent <TargetBehaviour>();
            targetBehaviour.targetId = targetPositionIndex;
            targetBehaviour.SetAsNormalTarget();

            newTarget.transform.localPosition = sequence.targetsDistance / 2 * (new Vector3(Mathf.Cos(targetPositionIndex * thetaStep), 0, Mathf.Sin(targetPositionIndex * thetaStep)));
            newTarget.transform.localScale    = Vector3.one * sequence.targetWidth;
            newTarget.SetActive(true);
        }
    }