상속: MonoBehaviour
예제 #1
0
    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;
            }
        }
    }
예제 #2
0
 void ExitLevel(ActiveEntity entity, GridTrigger trigger)
 {
     Debug.Log("Exit reached!");
     MainUIManager.instance_.LevelComplete();
 }