// Update is called once per frame void Update() { if (Input.GetMouseButtonDown(0)) { RaycastHit hit; Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition); if (Physics.Raycast(ray, out hit)) { Transform objectHit = hit.transform; if (objectHit.GetComponent <BarGraph>() == null) { return; } if (selected != null) { BarGraph selectedBarGraph = selected.GetComponentInChildren <BarGraph>(); if (selectedBarGraph != null) { setSelected(selectedBarGraph, false); } } selected = objectHit.GetComponentInParent <RegionController>(); if (!WindowManager.isOpen("RegionWidget")) { WindowManager.openWindowFromChildPrototype("RegionWidget"); } WindowManager.activate("RegionWidget"); WindowManager.get("RegionWidget").GetComponentInChildren <RegionWidget>().regionController = selected; BarGraph barGraph = objectHit.GetComponent <BarGraph>(); if (barGraph != null) { //Debug.Log(objectHit.gameObject.name); setSelected(barGraph, true); } // Do something with the object that was hit by the raycast. } } // Handle spped if (Input.GetButtonDown("Pause")) { speed = 0; } else if (Input.GetButtonDown("Speed1")) { speed = 1; } else if (Input.GetButtonDown("Speed2")) { speed = 2; } else if (Input.GetButtonDown("Speed3")) { speed = 3; } else if (Input.GetButtonDown("Speed")) { float axisSpeed = Input.GetAxis("Speed"); if (axisSpeed > 0) { speed++; } else if (axisSpeed < 0) { speed--; } } if (speed > 0) { elapsed += speedArray[speed - 1]; if (elapsed > maxElapsed) { elapsed = 0; time += 1; world.tic(); if (onTic != null) { onTic(); } // MAIN LOOP } } }