示例#1
0
    public static void AddScore(PathStepper pathStepper)
    {
        try
        {
            var scoreController = pathStepper.gameObject.GetComponent <ScoreController>();

            if (pathStepper._MovementDirection == PathStepper.MovementDirection.Right)
            {
                if (scoreController.hasBeenHitByEnemy || !scoreController.hasBeenHitByPlayer)
                {
                    Score += scoreController.Score;
                }

                scoreController.hasBeenHitByPlayer = true;
                scoreController.hasBeenHitByEnemy  = false;
            }
            if (pathStepper._MovementDirection == PathStepper.MovementDirection.Left)
            {
                scoreController.hasBeenHitByPlayer = false;
                scoreController.hasBeenHitByEnemy  = true;
            }
        }
        catch (System.Exception ex)
        {
        }
    }
    private bool CanGetHit(PathStepper pathStepper)
    {
        var closeEnough = Mathf.Abs(pathStepper.gameObject.transform.position.x - gameObject.transform.position.x) <= hitDistance;

        switch (switchType)
        {
        case SwitchType.SameLevel:
            return(closeEnough && pathStepper.CurrentTargetLevel == positionLevelManager.CurrentLevel);

        case SwitchType.AnyLevel:
            return(closeEnough);

        default:
            return(false);
        }
    }
    private void Update()
    {
        if (!timer.OnTick(1))
        {
            return;
        }

        var pathStepperColliders = GameObject.FindObjectsOfType <PathStepperCollider>();

        foreach (var pathStepperCollider in pathStepperColliders)
        {
            if (this == pathStepperCollider)
            {
                continue;
            }

            if (PathStepper._MovementDirection != pathStepperCollider.PathStepper._MovementDirection && Collides(pathStepperCollider))
            {
                PathStepper.ChangeDirection();
                pathStepperCollider.PathStepper.ChangeDirection();
            }
        }
    }
 private int GetTargetLevel(PathStepper pathStepper)
 {
     return(targetLevelManager != null ? targetLevelManager.CurrentLevel : pathStepper.CurrentTargetLevel);
 }