Example #1
0
    private void CheckForRail()
    {
        isRailGrinding = Physics.Raycast(transform.position, -transform.up, out railhit, CheckDistance, whatIsRail);

        Debug.DrawRay(transform.position, -transform.up * CheckDistance, Color.green);

        //reset double jump (if you have one :D)
        if (isRailGrinding)
        {
            _currentRail           = railhit.collider.gameObject;
            railRotationDifference = transform.rotation.eulerAngles.y - _currentRail.transform.rotation.eulerAngles.y;
            if (_hasCalculatedRail == false)
            {
                tempRailRotation   = railRotationDifference;
                _hasCalculatedRail = true;
            }
            if (!_isCombo)
            {
                ComboStart.Invoke();
                _isCombo = true;
            }
            ScoreIncrease.Invoke();
            MultiplyerIncrease.Invoke();
            transform.rotation = _currentRail.transform.rotation;
            _jumps             = 1;
        }
        else
        {
            _hasCalculatedRail = false;
            ScoreStop.Invoke();
        }
    }
Example #2
0
    private void StopWallRun()
    {
        isWallRunning      = false;
        _hasCalculatedWall = false;

        _gravity = Gravity;
        ScoreStop.Invoke();
    }