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); }