Ejemplo n.º 1
0
    private void SetSelectedNode()
    {
        uGUICrossNodeBase currentNode = null;
        RaycastHit        hit;
        var forward = _mainCamera.transform.forward;

        if (Physics.Raycast(transform.position, forward, out hit, 1000))
        {
            currentNode = hit.collider.gameObject.GetComponent <uGUICrossNodeBase>();
        }

        if (currentNode != _selectedNode)
        {
            _haveGrab = false;
            if (_selectedNode != null)
            {
                _selectedNode.SetSelect(false);
            }
            _selectedNode = currentNode;
            _enterTime    = Time.time;
            if (_selectedNode != null)
            {
                _selectedNode.SetSelect(true);
            }
        }
    }
Ejemplo n.º 2
0
 void Update()
 {
     SetSelectedNode();
     if (_haveGrab)
     {
         return;
     }
     _rotateSprite.gameObject.SetActive(false);
     _dotSprite.gameObject.SetActive(true);
     //_rotateSprite.fillAmount = 0;
     if (_selectedNode != null && _selectedNode.Clickable)
     {
         var selectTime = Time.time - _enterTime;
         if (CheckTouch())
         {
             selectTime = float.MaxValue;
         }
         if (selectTime > _selectedNode.HoverTime)
         {
             if (selectTime - _selectedNode.HoverTime < _selectedNode.ClickTime)
             {
                 if (_selectedNode.ShowWaiting)
                 {
                     _rotateSprite.gameObject.SetActive(true);
                     _dotSprite.gameObject.SetActive(false);
                 }
                 var passedClickTime = selectTime - _selectedNode.HoverTime;
                 image.fillAmount = passedClickTime / _selectedNode.ClickTime;
             }
             else
             {
                 _selectedNode.OnClick();
                 if (_selectedNode.Grabable)
                 {
                     _haveGrab = true;
                 }
                 else
                 {
                     _selectedNode = null;
                 }
             }
         }
     }
 }