Esempio n. 1
0
    // Update is called once per frame
    void Update()
    {
        if (Physics2D.Linecast(first.position, second.position, mask))
        {
            _player1.GetComponent <Light>().enabled = false;
            _player2.GetComponent <Light>().enabled = false;
            _player1.isEnabled    = false;
            _player2.isEnabled    = false;
            _canConnect           = false;
            _lineRenderer.enabled = false;
            return;
        }

        _distance = Vector3.Distance(first.position, second.position);
        if (_distance <= minDistance && _player1.isEnabled)
        {
            _canConnect = true;
        }
        else
        {
            _canConnect = false;
        }

        if (_canConnect)
        {
            _player1.GetComponent <Light>().enabled = true;
            _player2.GetComponent <Light>().enabled = true;

            float timeBetweenLinks = Mathf.Abs(_player1.timeSinceLinkActivated - _player2.timeSinceLinkActivated);
//            Debug.Log(timeBetweenLinks);
            if (_player1.linkActivated && _player2.linkActivated && timeBetweenLinks <= minTimeBetweenLinks)
            {
                _lineRenderer.enabled = true;
                _lineRenderer.SetPosition(0, first.position);
                _lineRenderer.SetPosition(1, second.position);
                //_player1.GetComponent<Renderer>().material.color = Color.magenta;
                _player1.GetComponent <Light>().color = Color.magenta;
                _player1.gameObject.layer             = _playerPurpleLayer;
                // _player2.GetComponent<Renderer>().material.color = Color.magenta;
                _player2.GetComponent <Light>().color = Color.magenta;
                _player2.gameObject.layer             = _playerPurpleLayer;
            }
            else
            {
                _lineRenderer.enabled = false;

                //_player2.GetComponent<Renderer>().material.color = Color.white;
                _player2.gameObject.layer = _playerRedLayer;
                Color c2 = new Color(0.85f, 0.24f, 0.47f, 1);
                _player2.GetComponent <Light>().color = c2;

                //_player1.GetComponent<Renderer>().material.color = Color.white;
                _player1.gameObject.layer = _playerBlueLayer;
                Color c1 = new Color(0.24f, 0.57f, 0.85f, 1);
                _player1.GetComponent <Light>().color = c1;
            }
        }
        else
        {
            _player1.GetComponent <Light>().enabled = false;
            _player2.GetComponent <Light>().enabled = false;

            //_player2.GetComponent<Renderer>().material.color = Color.white;
            Color c2 = new Color(0.85f, 0.24f, 0.47f, 1);
            _player2.GetComponent <Light>().color   = c2;
            _player2.GetComponent <Light>().enabled = false;
            _player2.gameObject.layer = _playerRedLayer;

            //_player1.GetComponent<Renderer>().material.color = Color.white;
            _player1.gameObject.layer = _playerBlueLayer;
            Color c1 = new Color(0.24f, 0.57f, 0.85f, 1);
            _player1.GetComponent <Light>().color   = c1;
            _player1.GetComponent <Light>().enabled = false;

            _lineRenderer.enabled = false;
            if (_player1.linkActivated || _player2.linkActivated)
            {
                _player1.isEnabled = false;
                _player2.isEnabled = false;
            }
            else
            {
                _player1.isEnabled = true;
                _player2.isEnabled = true;
            }
        }
    }