コード例 #1
0
    private bool toggleSetup()
    {
        if (this.transform.Find("Scene") == null)
        {
            return(false);
        }
        this.transform.localScale = new Vector3(30, 30, 30);
        GameObject toggleHandle = Instantiate(toggleHandlePrefab);
        Vector3    position     = toggleHandle.transform.localPosition;
        Vector3    scale        = toggleHandle.transform.localScale;

        toggleHandle.transform.parent        = this.transform;
        toggleHandle.transform.localScale    = scale;
        toggleHandle.transform.localPosition = position;
        controller = this.gameObject.AddComponent <ToggleController>();
        controller.Start();
        connectionSetup(
            new Vector3(0, 0, 0.005f),
            new Vector3(0, 0, -0.005f)
            );
        gameManager.GetComponent <GameManager>().toggle = this.gameObject;

        GameObject pedestal = Instantiate(pedestalPrefab);

        position = pedestal.transform.localPosition;
        scale    = pedestal.transform.localScale;
        pedestal.transform.parent        = this.transform;
        pedestal.transform.localScale    = scale;
        pedestal.transform.localPosition = position;
        return(true);
    }
コード例 #2
0
 private bool bulbSetup()
 {
     if (this.transform.Find("Scene") == null ||
         this.transform.Find("Scene").Find("glass0") == null ||
         this.transform.Find("Scene").Find("filament0") == null ||
         this.transform.Find("Scene").Find("filament1") == null ||
         this.transform.Find("Scene").Find("filament2") == null
         )
     {
         return(false);
     }
     this.transform.localScale = new Vector3(5, 5, 5);
     controller             = this.gameObject.AddComponent <BulbController>();
     controller.lightPrefab = lightPrefab;
     controller.Start();
     this.transform.Find("Scene").Find("glass0").GetComponent <MeshRenderer>().material    = glassMaterial;
     this.transform.Find("Scene").Find("filament0").GetComponent <MeshRenderer>().material = filamentMaterial;
     this.transform.Find("Scene").Find("filament1").GetComponent <MeshRenderer>().material = filamentMaterial;
     this.transform.Find("Scene").Find("filament2").GetComponent <MeshRenderer>().material = filamentMaterial;
     connectionSetup(
         new Vector3(0, -0.125f, 0),
         new Vector3(0, -0.075f, 0.04f)
         );
     gameManager.GetComponent <GameManager>().bulb = this.gameObject;
     return(true);
 }
コード例 #3
0
 private bool resistorSetup()
 {
     if (this.transform.Find("Scene") == null)
     {
         return(false);
     }
     this.transform.localScale = new Vector3(5, 5, 5);
     controller = this.gameObject.AddComponent <ElectricalElementController>();
     controller.Start();
     connectionSetup(
         new Vector3(0, 0, 0.04f),
         new Vector3(0, 0, -0.04f)
         );
     gameManager.GetComponent <GameManager>().resistor = this.gameObject;
     return(true);
 }
コード例 #4
0
ファイル: GameManager.cs プロジェクト: MattKersey/VR-Circuits
    public void setupLevel()
    {
        GameObject[] edges = GameObject.FindGameObjectsWithTag("Edge");
        foreach (GameObject edge in edges)
        {
            ElectricalElementController controller = edge.GetComponent <ElectricalElementController>();
            if (controller != null)
            {
                controller.Delete();
            }
        }
        GameObject[] vertices = GameObject.FindGameObjectsWithTag("Vertex");
        foreach (GameObject vertex in vertices)
        {
            VertexController controller = vertex.GetComponent <VertexController>();
            if (controller != null)
            {
                controller.spawnNewWire();
            }
        }
        TextAsset levelJSON = Resources.Load <TextAsset>(levelFiles[level]);
        LevelData levelData = JsonUtility.FromJson <LevelData>(levelJSON.ToString());

        setupObject(battery, levelData.battery, levelData.batteryCoords, levelData.batteryRot);
        setupObject(bulb, levelData.bulb, levelData.bulbCoords, levelData.bulbRot);
        setupObject(resistor, levelData.resistor, levelData.resistorCoords, levelData.resistorRot);
        setupObject(toggle, levelData.toggle, levelData.toggleCoords, levelData.toggleRot);
        screen.material = instructions[level];
        ui.SetActive(true);
        if (level == 0)
        {
            ui.GetComponent <UIController>().PrevActive(false);
        }
        else
        {
            ui.GetComponent <UIController>().PrevActive(true);
        }

        if (level == levelFiles.Length - 1)
        {
            ui.GetComponent <UIController>().NextActive(false);
        }
        else
        {
            ui.GetComponent <UIController>().NextActive(true);
        }
    }
コード例 #5
0
ファイル: GameManager.cs プロジェクト: MattKersey/VR-Circuits
 // Update is called once per frame
 void Update()
 {
     if (!isReady)
     {
         if (battery != null &&
             bulb != null &&
             resistor != null &&
             toggle != null
             )
         {
             isReady            = true;
             batteryController  = battery.GetComponent <ElectricalElementController>();
             bulbController     = bulb.GetComponent <BulbController>();
             resistorController = resistor.GetComponent <ElectricalElementController>();
             toggleController   = toggle.GetComponent <ToggleController>();
             setupLevel();
         }
     }
     else
     {
         Electrify();
     }
 }