diff options
Diffstat (limited to 'SuperPolarity/ActorManager.cs')
| -rw-r--r-- | SuperPolarity/ActorManager.cs | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/SuperPolarity/ActorManager.cs b/SuperPolarity/ActorManager.cs index 56db26c..3a9b0db 100644 --- a/SuperPolarity/ActorManager.cs +++ b/SuperPolarity/ActorManager.cs @@ -1,4 +1,4 @@ -using System; +using System; using System.Collections.Generic; using System.Linq; using System.Text; @@ -47,6 +47,11 @@ namespace SuperPolarity foreach (Actor actor in Actors) { actor.Draw(spriteBatch); + + if (actor.GetType ().IsAssignableFrom (typeof(MainShip))) { + var mainActor = (MainShip)actor; + mainActor.ResetEnemyModification (); + } } } @@ -102,6 +107,16 @@ namespace SuperPolarity var angle = (float) Math.Atan2(dy, dx); var otherAngle = (float)Math.Atan2(-dy, -dx); + if (actor.GetType ().IsAssignableFrom (typeof(MainShip))) { + var mainActor = (MainShip)actor; + mainActor.UpdateEnemyModification (other); + } + + if (other.GetType ().IsAssignableFrom (typeof(MainShip))) { + var mainOther = (MainShip)other; + mainOther.UpdateEnemyModification (actor); + } + if (linearDistance < actor.MagneticRadius || linearDistance < other.MagneticRadius) { actor.Magnetize(other, (float)linearDistance, angle); |