public static MissileController CopyAndFlip(MissileController missileController, CoordinateFlipper flipper, Dictionary<int, Entity> flippedEntities) { if (flippedEntities.ContainsKey(missileController.Id)) return (MissileController) flippedEntities[missileController.Id]; var copy = new MissileController(missileController) { PlayerNumber = missileController.PlayerNumber == 1 ? 2 : 1, X = flipper.CalculateFlippedX(missileController.X + (missileController.Width - 1)), Y = flipper.CalculateFlippedY(missileController.Y) }; flippedEntities.Add(copy.Id, copy); return copy; }
public static MissileController CopyAndFlip(MissileController missileController, CoordinateFlipper flipper, Dictionary <int, Entity> flippedEntities) { if (flippedEntities.ContainsKey(missileController.Id)) { return((MissileController)flippedEntities[missileController.Id]); } var copy = new MissileController(missileController) { PlayerNumber = missileController.PlayerNumber == 1 ? 2 : 1, X = flipper.CalculateFlippedX(missileController.X + (missileController.Width - 1)), Y = flipper.CalculateFlippedY(missileController.Y) }; flippedEntities.Add(copy.Id, copy); return(copy); }
private MissileController(MissileController missileController) : base(missileController) { OnAddedEvent += OnAdded; OnDestroyedEvent += OnDestroy; }