public IEnumerable States() { List <Sprite> targets = (This.Game.CurrentLevel as FrostbyteLevel).allies; while (true) { TimeSpan snapshot = This.gameTime.TotalGameTime; //master.Personality.Status = EnemyStatus.Wander; Sprite closestTarget = this.master.GetClosestTarget(targets); while (!master.dart(targets, 5.0f, 400, new TimeSpan(0, 0, 0, 0, 300)) && closestTarget != null && Vector2.Distance(this.master.GroundPos, closestTarget.GroundPos) < 500) { yield return(null); closestTarget = this.master.GetClosestTarget(targets); } // Freeze for five seconds while (!master.freeze(new TimeSpan(0, 0, 0, 0, 300))) { yield return(null); } yield return(null); } //} }