public override void Init(EBalloonType pType) { base.Init(pType); ChangeColor(Color.red); AddBehavior<LifeBehavior>(); AddBehavior<CharacterPullBehavior>(); m_MaxRopeDistance = LIFE_ROPE_DISTANCE; }
public override void Init(EBalloonType pType) { base.Init(pType); ChangeColor(new Color(1f, 0.53f, 1f)); AddBehavior<DetachBehavior>(); AddBehavior<AttachBehavior>(); AddBehavior<TriggerableBehavior> (); m_MaxRopeDistance = GUM_ROPE_DISTANCE; }
public override void Init(EBalloonType pType) { base.Init(pType); ChangeColor(Color.yellow); AddBehavior<DetachBehavior>(); AddBehavior<AttachBehavior>(); AddBehavior<TriggerableBehavior> (); m_MaxRopeDistance = STUN_ROPE_DISTANCE; }
public override void Init(EBalloonType pType) { base.Init(pType); ChangeColor(Color.green); AddBehavior<DetachBehavior>(); AddBehavior<AttachBehavior>(); GetComponent<TrailBehavior> ().enabled = true; m_MaxRopeDistance = TOXIC_ROPE_DISTANCE; }
public override void Init(EBalloonType pType) { base.Init(pType); ChangeColor(Color.white); AddBehavior<FlyingBehavior>(); AddBehavior<DetachBehavior>(); AddBehavior<AttachBehavior>(); AddBehavior<TriggerableBehavior> (); m_MaxRopeDistance = FLYING_ROPE_DISTANCE; }
public override void CreateBalloon(EBalloonType pType) { if (pType.Equals (EBalloonType.LIFE) && !HoldsMaximumLifeBalloons()) { mNumberOfLifeBalloons++; base.CreateBalloon (pType); } else if (!pType.Equals (EBalloonType.LIFE) && !pType.Equals (EBalloonType.GUM) && !HoldsMaximumSpecialBalloons()) { mNumberOfSpecialBalloons++; base.CreateBalloon(pType); } }
public static Balloon CreateBalloon(EBalloonType pType, Vector2 pPosition) { Assert.CheckNull(mBalloonPrefab); Assert.CheckNull(mTack); Balloon balloon = null; GameObject balloonObject = null; //TODO: Do it in a better way switch(pType) { case EBalloonType.LIFE : { balloonObject = InstantiateAtDistance(pPosition, LifeBalloon.LIFE_ROPE_DISTANCE); balloon = balloonObject.AddComponent<LifeBalloon>(); break; } case EBalloonType.TOXIC: { balloonObject = InstantiateAtDistance(pPosition, ToxicBalloon.TOXIC_ROPE_DISTANCE); balloon = balloonObject.AddComponent<ToxicBalloon>(); break; } case EBalloonType.FLYING: { balloonObject = InstantiateAtDistance(pPosition, FlyingBalloon.FLYING_ROPE_DISTANCE); balloon = balloonObject.AddComponent<FlyingBalloon>(); break; } case EBalloonType.STUN: { balloonObject = InstantiateAtDistance(pPosition, StunBalloon.STUN_ROPE_DISTANCE); balloon = balloonObject.AddComponent<StunBalloon>(); break; } case EBalloonType.WATER: { balloonObject = InstantiateAtDistance(pPosition, WaterBalloon.WATER_ROPE_DISTANCE); balloon = balloonObject.AddComponent<WaterBalloon>(); break; } case EBalloonType.GUM: { balloonObject = InstantiateAtDistance(pPosition, GumBalloon.GUM_ROPE_DISTANCE); balloon = balloonObject.AddComponent<GumBalloon>(); break; } } balloon.Init(pType); return balloon; }
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); } }
private void OnStopTutoEvent(EBalloonType pType) { DestroyObject (mTuto); //mTuto.GetComponent<Animator> ().CrossFade ("New Animation3", 0f); }
private void OnInflateBalloon(EBalloonType pType) { CreateBalloon(pType); }