void Update() { // If raycast is not active, don't perform logic. if (!activeRaycast) { trigger = null; return; } Ray ray = camera.ScreenPointToRay(Input.mousePosition); RaycastHit hit = new RaycastHit(); // Did Raycast hit Collider? if (Physics.Raycast(ray, out hit, 1000)) { // Find Trigger on Collider (if it's there). GridTrigger newTrigger = hit.collider.gameObject.GetComponent <GridTrigger> (); // Is the current trigger different from the last trigger? if (trigger != newTrigger) { // Is there a previous trigger? if (trigger) { trigger.StopHover(); } // Current trigger is now our last trigger. trigger = newTrigger; trigger.StartHover(); } // Collider did NOT have Trigger attached. if (!newTrigger) { trigger = null; return; } // Is Left Mouse Clicked? if (Input.GetMouseButtonDown(0)) { trigger.OnLeftClick(); } // Is Right Mouse Clicked? if (Input.GetMouseButtonDown(1)) { trigger.OnRightClick(); } } else { // Raycast did not hit anything. If there is if (trigger != null) { trigger.StopHover(); trigger = null; } } }
void ExitLevel(ActiveEntity entity, GridTrigger trigger) { Debug.Log("Exit reached!"); MainUIManager.instance_.LevelComplete(); }