public FollowingDancerBehavior(Dancer me, Dancer following)
 {
     _me = me;
     _following = following;
     SetWaypoint();
     _me.SetAnimation("Conga");
 }
        public EnterFloorDancerBehavior(Dancer dancer)
        {
            _me = dancer;

            float angle = RandomHelper.GetRandomFloat() * MathHelper.TwoPi;
            // TODO: Make this a global constant?
            float radius = RandomHelper.GetRandomFloat() * 1200f;

            _destination = new Vector3();
            _destination.X = radius * (float)Math.Sin(angle);
            _destination.Y = 0;
            _destination.Z = radius * (float)Math.Cos(angle);

            _me.Forward = Vector3.Normalize(_destination - _me.Position);
            _me.SetAnimation("Walking");
        }
 public IdleDancerBehavior(Dancer dancer)
 {
     dancer.SetAnimation("Dancing");
 }
 public JoinLineDancerBehavior(Dancer me, Dancer following)
 {
     _me = me;
     _following = following;
     _me.SetAnimation("Walking");
 }
 public FallingDancerBehavior(Dancer dancer)
 {
     dancer.SetAnimation("Falling");
     dancer.EnqueueAnimation("Hurting");
 }
 public LeadDancerBehavior(Dancer dancer)
 {
     _dancer = dancer;
     _dancer.SetAnimation("Leader");
 }