Ejemplo n.º 1
0
    private void loadLevel()
    {
        if (currentLevel >= levels.Length)
        {
            // Winner!
            NextLevelController nextLevelController = GameObject.FindObjectOfType <NextLevelController>();
            nextLevelController.loadScene();
            return;
        }

        clear();
        LevelPanelManager.instance.loadLevel(levels[currentLevel]);

        if (inputLoader == null)
        {
            inputLoader = GameObject.Instantiate(inputPref, inputPos.position, Quaternion.identity).GetComponent <LevelInputLoader>();
        }

        if (outputLoader == null)
        {
            outputLoader = GameObject.Instantiate(outputPref, outputPos.position, Quaternion.identity).GetComponent <LevelOutputLoader>();
        }

        inputLoader.gate = levels[currentLevel].input;
        inputLoader.load();
        inputGate = inputLoader.gameObject.GetComponent <GateInstance>();

        outputLoader.gate = levels[currentLevel].output;
        outputLoader.load();
        outputGate = outputLoader.gameObject.GetComponent <GateInstance>();

        stepFails = new List <int>();
        step      = 0;
    }
Ejemplo n.º 2
0
 private void clear()
 {
     GateInstance[] gates = GameObject.FindObjectsOfType <GateInstance>();
     foreach (GateInstance g in gates)
     {
         Destroy(g.gameObject);
         inputLoader  = null;
         outputLoader = null;
         step         = 0;
         stepFails.Clear();
     }
 }