protected override IEnumerable <bool> E_Draw() { for (int frame = 0; ; frame++) { const double AR = 0.99; const double ER = 1.01; if (frame < this.EvacuateFrame) { DDUtils.Approach(ref this.X, this.TargetX, AR); DDUtils.Approach(ref this.Y, this.TargetY, AR); } else { this.X += this.EvacuateXAdd; this.Y += this.EvacuateYAdd; this.EvacuateXAdd *= ER; this.EvacuateXAdd *= ER; } EnemyCommon.Shoot(this, this.ShotType); yield return(EnemyCommon.FairyDraw(this.Fairy)); } }
protected override IEnumerable <bool> E_Draw() { for (int frame = 0; ; frame++) { this.TargetX += this.XAdd; this.TargetY += this.YAdd; DDUtils.Approach(ref this.X, this.TargetX, this.ApproachingRate); DDUtils.Approach(ref this.Y, this.TargetY, this.ApproachingRate); EnemyCommon.Shoot(this, this.ShotType); yield return(EnemyCommon.FairyDraw(this.Fairy)); } }
protected override IEnumerable <bool> E_Draw() { for (; ;) { double xa; double ya; DDUtils.MakeXYSpeed(this.X, this.Y, Game.I.Player.X, Game.I.Player.Y, this.Speed, out xa, out ya); this.X += xa; this.Y += ya; EnemyCommon.Shoot(this, this.ShotType); yield return(EnemyCommon.FairyDraw(this.Fairy)); } }
protected override IEnumerable <bool> E_Draw() { for (; ;) { if (this.TargetY < this.MaxY) { this.TargetY += this.Speed; } else { this.TargetX += this.Speed * this.XDir; } DDUtils.Approach(ref this.X, this.TargetX, this.ApproachingRate); DDUtils.Approach(ref this.Y, this.TargetY, this.ApproachingRate); EnemyCommon.Shoot(this, this.ShotType); yield return(EnemyCommon.FairyDraw(this.Fairy)); } }