Пример #1
0
 public void WARN__Initialize(BallType bt)
 {
     rigidbody          = GetComponent <Rigidbody2D>();
     rigidbody.velocity = Vector2.zero;
     ballType           = bt;
     ballBehavior       = BallBehaviorFactory.Get(this.ballType, this);
 }
Пример #2
0
    void Start()
    {
        rigidbody          = GetComponent <Rigidbody2D>();
        rigidbody.velocity = Vector2.zero;
        ballBehavior       = BallBehaviorFactory.Get(ballType, this);

        if (isAsymptomatic && isOriginalVirus)
        {
            StartCoroutine((ballBehavior as VirusBallBehavior)
                           .TurnsIntoNormalLooking());
        }
    }
    private void TransformsToNormalBall()
    {
        Transform        transform     = ball.transform;
        CircleCollider2D ballCollider  = ball.GetComponent <CircleCollider2D>();
        SpriteRenderer   currentSprite = ball.gameObject
                                         .GetComponent <SpriteRenderer>();

        Sprite ballSprite = Resources.Load <Sprite>("Sprites/ball");

        transform.gameObject.tag = NormalBallBehavior.TAG;
        ballCollider.radius      = 0.6f;
        currentSprite.sprite     = ballSprite;
        ball.ballBehavior        = BallBehaviorFactory.Get(BallType.NORMAL, ball);
        ball.ballType            = BallType.NORMAL;
        restoreOriginalThreshold();
    }
    private void TransformsToSafeBall()
    {
        Transform      transform     = ball.transform;
        SpriteRenderer currentSprite = ball.gameObject
                                       .GetComponent <SpriteRenderer>();

        currentSprite.color = new Color(1f, 1f, 1f, .5f);
        CircleCollider2D ballCollider = ball.GetComponent <CircleCollider2D>();

        Sprite safeSprite = Resources.Load <Sprite>("Sprites/safe");

        transform.gameObject.tag = SafeBallBehavior.TAG;

        ballCollider.radius = Ball.BALL_SIZE;

        currentSprite.sprite = safeSprite;
        ball.ballBehavior    = BallBehaviorFactory.Get(BallType.SAFE, ball);
        ball.ballType        = BallType.SAFE;
        ball.StopBall();
    }
    private void TransformsToVirusBall(bool isOtherAsymptomatic = false)
    {
        Transform      transform     = ball.transform;
        SpriteRenderer currentSprite = ball.gameObject
                                       .GetComponent <SpriteRenderer>();
        CircleCollider2D ballCollider = ball.GetComponent <CircleCollider2D>();

        Sprite virusSprite = Resources.Load <Sprite>("Sprites/coronavirus");

        transform.gameObject.tag = VirusBallBehavior.TAG;
        ballCollider.radius      = Ball.BALL_SIZE;
        ball.ballBehavior        = BallBehaviorFactory.Get(BallType.VIRUS, ball);
        ball.ballType            = BallType.VIRUS;
        ball.isAsymptomatic      = isOtherAsymptomatic;
        changeMaxThreshold();

        if (!isOtherAsymptomatic)
        {
            currentSprite.sprite = virusSprite;
        }
    }