public UnitModel RetriveTarget(BattlefieldVision vision, MyHexPosition activatingPosition) { var target = vision.GetUnitAt(new MyHexPosition(1, 0)); Assert.IsNotNull(target, "There is no target"); return(target); }
public void Execute(BattlefieldVision vision, MyHexPosition activatingPosition, BattleEngagementResult reciever) { var targetUnit = ShootingTarget(vision); Assert.IsNotNull(targetUnit, "There is no target"); reciever.AddProjectile(vision.PossesedPawn.Position, vision.PossesedPawn.Orientation, targetUnit.Position, _projectileType); }
public UnitModel RetriveTarget(BattlefieldVision vision, MyHexPosition activatingPosition) { var grabbedUnit = ShootingTarget(vision); Assert.IsNotNull(grabbedUnit, "There is no target"); return(grabbedUnit); }
public void Execute(BattlefieldVision vision, MyHexPosition activatingPosition, BattleEngagementResult reciever) { var unitInFront = vision.GetUnitAt(new MyHexPosition(0, 0)); Assert.IsTrue(unitInFront != null, "There is no enemy unit in front of me"); reciever.AddStruckUnit(unitInFront); }
public void Execute(BattlefieldVision vision, MyHexPosition activatingPosition, BattleEngagementResult reciever) { var grabbedUnit = RetriveGrabbedUnit(vision); Assert.IsNotNull(grabbedUnit, "There is no target"); reciever.DisplaceUnit(grabbedUnit, vision.ToGlobalPosition(new MyHexPosition(DistanceAfterGrab, 0))); }
public void Execute(BattlefieldVision vision, MyHexPosition activatingPosition, BattleEngagementResult reciever) { var unitInFront = vision.GetUnitAt(new MyHexPosition(1, 0)); Assert.IsTrue(unitInFront != null && unitInFront.Owner != vision.PossesedPawn.Owner, "There is no enemy unit in front of me"); reciever.DisplaceUnit(unitInFront, vision.ToGlobalPosition(new MyHexPosition(2, 0))); }
public void Execute(BattlefieldVision vision, MyHexPosition activatingPosition, BattleEngagementResult reciever) { Assert.IsTrue(vision.PossesedPawn is UnitModel); // TODO !!! UGLY !! if (reciever.UnitWasStruck((UnitModel)vision.PossesedPawn)) { reciever.UnStrike((UnitModel)vision.PossesedPawn); } }
public bool IsActivated(BattlefieldVision vision, MyHexPosition activatingPosition) { if (!_activationCircumstances.IsActivated(vision.BattleCircumstances)) { return(false); } var toReturn = ShootingTarget(vision) != null; return(toReturn); }
public bool IsActivated(BattlefieldVision vision, MyHexPosition activatingPosition) { var unitInFront = vision.GetUnitAt(new MyHexPosition(1, 0)); if (unitInFront != null && unitInFront.Owner != vision.PossesedPawn.Owner) { return(true); } else { return(false); } }
private UnitModel ShootingTarget(BattlefieldVision vision) { for (int i = 1; i <= _maxShootingDistance; i++) { var pos = new MyHexPosition(i, 0); if (!vision.HasTileAt(pos)) { return(null); } var otherUnitAtFront = vision.GetUnitAt(pos); if (otherUnitAtFront != null) { if (otherUnitAtFront.Owner != vision.PossesedPawn.Owner) { return(otherUnitAtFront); } else { return(null); } } } return(null); }
private UnitModel RetriveGrabbedUnit(BattlefieldVision vision) { for (int i = MinDragDistance; i <= MaxDragDistance; i++) { var pos = new MyHexPosition(i, 0); if (!vision.HasTileAt(pos)) { return(null); } var otherUnitAtFront = vision.GetUnitAt(pos); if (otherUnitAtFront != null) { if (otherUnitAtFront.Owner != vision.PossesedPawn.Owner) { return(otherUnitAtFront); } else { return(null); } } } return(null); }
public void Execute(BattlefieldVision vision, MyHexPosition activatingPosition, BattleEngagementResult reciever) { }
public bool IsActivated(BattlefieldVision vision, MyHexPosition activatingPosition) { Assert.IsFalse(true, "Not implemented, should not be called"); //todo, ugly return(false); }
public UnitModel RetriveTarget(BattlefieldVision vision, MyHexPosition activatingPosition) { Assert.IsTrue(false, "Empty effect should not be called, it is never activated"); return(null); }
public bool IsActivated(BattlefieldVision vision, MyHexPosition activatingPosition) { return(RetriveGrabbedUnit(vision) != null); }
public UnitModel RetriveTarget(BattlefieldVision vision, MyHexPosition activatingPosition) { Assert.IsTrue(false, "Defense os only reactive event, no target here"); return(null); }
public bool IsActivated(BattlefieldVision vision, MyHexPosition activatingPosition) { return(false); }
public UnitModel RetriveTarget(BattlefieldVision vision, MyHexPosition activatingPosition) { Assert.IsFalse(true, "Not implemented, should not be called"); //todo, ugly return(null); }