Ejemplo n.º 1
0
    public virtual void CreateBalloon(EBalloonType pType)
    {
        if(mBalloons.Count < m_MaxBalloonCount)
        {
            RopeManager ropeManager = new RopeManager (m_RopePrefab, m_Tack);

            Vector2 baseBalloonPosition = GetPositionXOffset(m_Tack.transform.position);
            Balloon balloon = BalloonFactory.CreateBalloon (pType, baseBalloonPosition);

            GameObject balloonObject = balloon.GameObject;

            var physics = balloonObject.GetComponent<BalloonPhysics>();
            SetBalloonProperties(balloon, physics, mBalloons.Count);

            LineRenderer balloonLineRenderer = balloonObject.GetComponent<LineRenderer>();
            Rope rope = ropeManager.CreateRopeForBalloon(balloonLineRenderer, balloonObject);
            ropeManager.AttachRope(balloonObject, rope, m_Tack);
            balloonObject.transform.parent = this.gameObject.transform;

            mBalloons.Add(balloon);
            mBalloons [mBalloons.Count - 1].InstantDeflate ();
            mBalloons [mBalloons.Count - 1].SetInflate (true);
        }
    }