示例#1
0
    private void Update()
    {
        if (Mock)
        {
            _pos    = new Vector2(1 - (Input.mousePosition.x / (float)Screen.width), 1 - (Input.mousePosition.y / (float)Screen.height));
            _newPos = true;
        }

        if (!_spellActive && Input.GetKeyDown(KeyCode.Space))
        {
            if (_lineState.Equals(LineState.Pointing))
            {
                _pointer.gameObject.SetActive(false);
                _magicPoint.enabled = false;
                _magicLine.enabled  = true;
                ResetLines();
                _lineState = LineState.Drawing;
            }
            else
            {
                _spellActive = true;
                _savePhoto   = true;
            }
        }

        if (_newPos)
        {
            _newPos            = false;
            _magicPos.position = ConvertPctToMagicSpace(_pos);
            if (!_spellActive)
            {
                if (_lineState.Equals(LineState.Pointing))
                {
                    _pointer.position = ConvertPctToCNNSpace(_pos);
                }
                else
                {
                    _lineRenderer.positionCount++;
                    _lineRenderer.SetPosition(_lineRenderer.positionCount - 1, ConvertPctToCNNSpace(_pos));
                    _magicLine.positionCount++;
                    _magicLine.SetPosition(_lineRenderer.positionCount - 1, ConvertPctToMagicSpace(_pos));
                }
            }
        }

        if (_tcpClient.newData)
        {
            Debug.Log("Shape is: " + _tcpClient.recievedData);
            _shape             = (SpellShapes)int.Parse(_tcpClient.recievedData);
            _tcpClient.newData = false;
            StartCoroutine(CastSpell());
        }
    }