public double Execute(ScoutOrder order) { if (!order.ScoutHero ^ order.ScoutTile) { throw new ArgumentException("Please scout either hero or tile at one time"); } IsScoutingTile = order.ScoutTile; IsScoutingHero = order.ScoutHero; TileBeingScouted = order.TileToScout?.ToLocation(); timeOfLastUsage = clocks.CurrentTime; return(HommRules.Current.ScoutingDuration); }
public HommFinalSensorData ScoutHero() { return(Act(new HommCommand { ScoutOrder = ScoutOrder.ScoutHeroOrder() })); }
public HommFinalSensorData ScoutTile(LocationInfo locationToScan) { return(Act(new HommCommand { ScoutOrder = ScoutOrder.ScoutTileOrder(locationToScan) })); }