예제 #1
0
    // Update is called once per frame
    void Update()
    {
        RaycastHit hit;
        Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
        if (Physics.Raycast (ray, out hit)) {
            var mouseHit = hit.transform.gameObject.GetComponent<MouseHit> ();
            if (mouseHit == null) {
                if (_lastMouseHover != null)
                    _lastMouseHover.OnHoverEnd ();
                return;
            }

            if (_lastMouseHover != null && mouseHit != _lastMouseHover) {
                //Debug.Log("hover end");
                _lastMouseHover.OnHoverEnd ();
            } else {
                mouseHit.OnHoverBegin ();
            }
            if (Input.GetMouseButtonDown (0)) {
                //Debug.Log ("hit");
                mouseHit.OnHit ();
            }
            _lastMouseHover = mouseHit;
        } else {
            if (_lastMouseHover != null)
                _lastMouseHover.OnHoverEnd ();
        }
    }
예제 #2
0
 protected virtual void Awake()
 {
     totalResources   = GameObject.Find("Total Resources").GetComponent <TotalResources>();
     mouse            = GameObject.Find("Main Camera").GetComponent <MouseHit>();
     shopImage        = GetComponent <Image>();
     shopImage.sprite = towerButtonSprites[selectedTower];
     foreach (Transform obj in transform)
     {
         if (obj.gameObject.name == "Price")
         {
             price = int.Parse(obj.GetComponent <Text>().text);
         }
         else if (obj.tag == "Hover")
         {
             obj.gameObject.SetActive(false);
         }
     }
 }
예제 #3
0
    // Update is called once per frame
    void Update()
    {
        RaycastHit hit;
        Ray        ray = Camera.main.ScreenPointToRay(Input.mousePosition);

        if (Physics.Raycast(ray, out hit))
        {
            var mouseHit = hit.transform.gameObject.GetComponent <MouseHit> ();
            if (mouseHit == null)
            {
                if (_lastMouseHover != null)
                {
                    _lastMouseHover.OnHoverEnd();
                }
                return;
            }

            if (_lastMouseHover != null && mouseHit != _lastMouseHover)
            {
                //Debug.Log("hover end");
                _lastMouseHover.OnHoverEnd();
            }
            else
            {
                mouseHit.OnHoverBegin();
            }
            if (Input.GetMouseButtonDown(0))
            {
                //Debug.Log ("hit");
                mouseHit.OnHit();
            }
            _lastMouseHover = mouseHit;
        }
        else
        {
            if (_lastMouseHover != null)
            {
                _lastMouseHover.OnHoverEnd();
            }
        }
    }
예제 #4
0
 protected virtual void Awake()
 {
     totalResources = GameObject.Find("Total Resources").GetComponent<TotalResources>();
     mouse = GameObject.Find("Main Camera").GetComponent<MouseHit>();
     shopImage = GetComponent<Image>();
     shopImage.sprite = towerButtonSprites[selectedTower];
     foreach (Transform obj in transform)
     {
         if (obj.gameObject.name == "Price")
         {
             price = int.Parse(obj.GetComponent<Text>().text);
         } else if (obj.tag == "Hover") {
             obj.gameObject.SetActive(false);
         }
     }
 }
예제 #5
0
 public static void OnMouseHit() => MouseHit?.Invoke();