void OnTriggerStay(Collider collider)
    {
        ArcherMovement movement = collider.gameObject.GetComponent <ArcherMovement>();

        if (movement)
        {
            _playerPos = collider.gameObject.transform.position;
            _playerDir = collider.gameObject.transform.forward;

            _speed = movement.Speed;
            _speed = movement.Sprint ? _speed * movement.SprintScale : _speed;

            _forceDir = _center - _playerPos;

            fallOff = Mathf.Pow(Mathf.Clamp(0.0f, 1.0f, (3.9f - Vector3.Magnitude(_forceDir)) / Falloff), 8.0f);

            forcePower = Mathf.Max(Vector3.Dot(_playerDir, Vector3.Normalize(_center - _playerPos)), 0.0f) * _speed / 4.0f * fallOff;

            if (forcePower > _forcePower)
            {
                _forcePower = Mathf.SmoothStep(_forcePower, forcePower, 10.1f * Time.deltaTime);
            }
            else
            {
                _forcePower = Mathf.SmoothStep(_forcePower, forcePower, 8.0f * Time.deltaTime);
            }

            SetShaderParameters();
        }
    }
Exemple #2
0
 void Awake()
 {
     _animation  = GetComponent <ArcherAnimation>();
     _movement   = GetComponent <ArcherMovement>();
     _rb         = GetComponent <Rigidbody>();
     _photonView = GetComponent <PhotonView>();
     _respawn    = GameObject.Find("RespawnPoint").transform;
     Crown.SetActive(false);
 }
Exemple #3
0
    public void Setup()
    {
        // establish component connections
        m_Movement = m_Instance.GetComponent <ArcherMovement>();
        m_Shooting = m_Instance.GetComponent <ArcherShooting>();

        // set player numbers
        m_Movement.playerNumber = m_PlayerNumber;
        m_Shooting.playerNumber = m_PlayerNumber;
        m_Shooting.playerColor  = m_PlayerColor;

        // setup player ui label
        m_ColoredPlayerText = "<color=#" + ColorUtility.ToHtmlStringRGB(m_PlayerColor) + ">PLAYER " + m_PlayerNumber + "</color>";

        // change indicator color
        m_Instance.GetComponentInChildren <SpriteRenderer>().color = m_PlayerColor;
    }
 // Use this for initialization
 void Start()
 {
     movementScript = GetComponent <ArcherMovement> ();
 }