Ejemplo n.º 1
0
    private void OnCollisionEnter(Collision other)
    {
        BeachBall component = other.gameObject.GetComponent <BeachBall>();

        BeachBallTarget.OnTargetHit(definition, component, this);
        if (!(component != null))
        {
            return;
        }
        switch (definition.type)
        {
        case BeachBallTargetController.TargetType.Positive:
            component.EnableCollider(enable: false);
            onPositiveHit();
            break;

        case BeachBallTargetController.TargetType.Negative:
            component.EnableCollider(enable: false);
            onNegativeHit();
            break;

        case BeachBallTargetController.TargetType.Shielded:
            if (definition.blockerLevel > 0)
            {
                onShieldHit();
            }
            break;
        }
    }
    private void onTargetHit(BeachBallTarget.TargetDefinition definition, BeachBall ball, BeachBallTarget target)
    {
        switch (definition.type)
        {
        case TargetType.Positive:
            scoreTarget += definition.pointValue;
            target.ScorePopUp.InitFloatingScoreText(target.transform, definition.pointValue);
            CoroutineRunner.StopAllForOwner(target);
            CoroutineRunner.Start(hideVisibleTarget(target, exitDelay), target, "HideBeachBallTarget");
            punchScale(target);
            break;

        case TargetType.Negative:
            CoroutineRunner.StopAllForOwner(target);
            CoroutineRunner.Start(hideVisibleTarget(target, exitDelay), target, "HideBeachBallTarget");
            punchScale(target);
            break;

        case TargetType.Shielded:
            if (definition.blockerLevel == 0)
            {
                scoreTarget += definition.pointValue;
                target.ScorePopUp.InitFloatingScoreText(target.transform, definition.pointValue);
                CoroutineRunner.StopAllForOwner(target);
                CoroutineRunner.Start(hideVisibleTarget(target, exitDelay), target, "HideBeachBallTarget");
            }
            break;
        }
    }
Ejemplo n.º 3
0
    private void onHitTarget(BeachBallTarget.TargetDefinition definition, BeachBall ball, BeachBallTarget target)
    {
        if (ball == this)
        {
            switch (definition.type)
            {
            case BeachBallTargetController.TargetType.Positive:
                resetPosition(hitTarget: true);
                break;

            case BeachBallTargetController.TargetType.Negative:
                resetPosition(hitTarget: false);
                break;

            case BeachBallTargetController.TargetType.Shielded:
                break;
            }
        }
    }