Esempio n. 1
0
    private void InitializeNewStep()
    {
        // lock all triggers and reset trigger state to incorrect
        foreach (GameObject trigger in triggers)
        {
            R_TriggerScript t = trigger.GetComponent <R_TriggerScript>();
            t.IsLocked = true;
            if (index == 1 && t.State != ETriggerState.correct)
            {
                t.State = ETriggerState.incorrect;
            }
        }

        if (isCompleted)
        {
            Completed();

            return;
        }

        trigger1       = triggers[index - 1];
        trigger2       = triggers[index];
        trigger1script = trigger1.GetComponent <R_TriggerScript>();
        trigger2script = trigger2.GetComponent <R_TriggerScript>();
        box1           = boxes[index - 1];
        box2           = boxes[index];
        box1script     = box1.GetComponent <R_BoxScript>();
        box2script     = box2.GetComponent <R_BoxScript>();


        trigger1script.IsLocked = false;
        trigger2script.IsLocked = false;
        boxesChecked            = false;
    }
Esempio n. 2
0
    public void InitializeStep(int index = 1)
    {
        trigger1       = triggers[index - 1];
        trigger2       = triggers[index];
        trigger1script = trigger1.GetComponent <R_TriggerScript>();
        trigger2script = trigger2.GetComponent <R_TriggerScript>();
        box1           = currentState[index - 1];
        box2           = currentState[index];
        box1script     = box1.GetComponent <R_BoxScript>();
        box2script     = box2.GetComponent <R_BoxScript>();

        int count = 0;

        foreach (GameObject trigger in triggers)
        {
            trigger.GetComponent <R_TriggerScript>().IsLocked = true;
            if (count > iteration)
            {
                triggers[count].GetComponent <R_TriggerScript>().State = ETriggerState.inactive;
            }
            count++;
        }
        trigger1script.IsLocked = false;
        trigger2script.IsLocked = false;
        trigger2script.State    = ETriggerState.pivot;
        boxesChecked            = false;
        hasSwapInStep           = false;

        if (box1script.Value > box2script.Value)
        {
            hasSwapInStep = true;
        }

        Debug.Log("hasSwapInStep: " + hasSwapInStep);
    }
Esempio n. 3
0
    public void InitializeStep()
    {
        if (!hasPivot)
        {
            PivotStep();
            return;
        }

        if (leftIndex <= right)
        {
            leftTrigger       = triggers[leftIndex];
            leftTriggerScript = leftTrigger.GetComponent <R_TriggerScript>();
            leftBox           = boxes[leftIndex];
            leftBoxScript     = leftBox.GetComponent <R_BoxScript>();
        }
        rightTrigger       = triggers[rightIndex];
        pivotTrigger       = triggers[pivotIndex];
        rightTriggerScript = rightTrigger.GetComponent <R_TriggerScript>();
        pivotTriggerScript = pivotTrigger.GetComponent <R_TriggerScript>();
        rightBox           = boxes[rightIndex];
        pivotBox           = boxes[pivotIndex];
        rightBoxScript     = rightBox.GetComponent <R_BoxScript>();
        pivotBoxScript     = pivotBox.GetComponent <R_BoxScript>();

        SetTriggersInactive();

        if (!leftSideFound && !(leftIndex > right))
        {
            leftTriggerScript.IsLocked  = false;
            pivotTriggerScript.IsLocked = false;
            leftTriggerScript.State     = ETriggerState.incorrect;
            pivotTriggerScript.State    = ETriggerState.pivot;
        }
        else if (leftSideFound && rightSideFound)
        {
            pivotTriggerScript.IsLocked = true;
            leftTriggerScript.IsLocked  = false;
            rightTriggerScript.IsLocked = false;
            pivotTriggerScript.State    = ETriggerState.pivot;
            leftTriggerScript.State     = ETriggerState.intermediate;
            rightTriggerScript.State    = ETriggerState.intermediate;
        }
        else
        {
            rightTriggerScript.IsLocked = false;
            pivotTriggerScript.IsLocked = false;
            if (leftIndex <= right)
            {
                leftTriggerScript.State = ETriggerState.intermediate;
            }
            pivotTriggerScript.State = ETriggerState.pivot;
            rightTriggerScript.State = ETriggerState.incorrect;
        }

        boxesChecked = false;
    }
Esempio n. 4
0
    private void Completed()
    {
        foreach (GameObject trigger in triggers)
        {
            R_TriggerScript t = trigger.GetComponent <R_TriggerScript>();
            t.IsLocked = true;
            t.State    = ETriggerState.correct;
            t.SetHasTriggerColour(true);
        }

        foreach (GameObject box in boxes)
        {
            box.GetComponent <R_BoxScript>().Visibility = EVisibilityOptions.AlwaysVisible;
        }
    }