Пример #1
0
        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.dartingBat(targets, 5.0f, 400, new TimeSpan(0, 0, 0, 0, 900)) && closestTarget != null &&
                       Vector2.Distance(this.master.GroundPos, closestTarget.GroundPos) < 500)
                {
                    yield return(null);

                    closestTarget = this.master.GetClosestTarget(targets);
                }

                // Freeze for five seconds
                while (!master.wander(targets, new TimeSpan(0, 0, 0, 0, 300), float.MaxValue, (float)Math.PI / 8))
                {
                    yield return(null);
                }

                yield return(null);
            }

            //}
        }