* Popups get the ability to scroll only the content without the buttons
* Centralize LoadingPopup
* Split non-WorldScreenMenuPopup classes off from that file
* Linting
* Refactor notification history re-show functionality
* Refactor explored resources notification generator
* Refactor "Unimproved" to use existing providesResource
* Make overview resource "links" into temporary notifications
* Added link to overview resource "Unimproved" column
* Minor linting
* Fix off-by-one error in autoAssignPopulation
* Fix more off-by-one errors from for-repeat conversions
* Linting: Use Actions.forever shortcut where appropriate
* ci: improved detekt configuration
it still needs some work but it's getting there
* detekt: separated errors from warnings
Detekt doesn't currently have a mechanism for failing only on specific issues
workaround suggested by the maintainer of Detekt
* rebased on master
* fix: resolve ExplicitItLambdaParameter
* fix: fix last star import
* Add `May not annex cities` unique, following same behaviour as Civ5 Venice. Hopefully this time I won't need to re-install windows.
* Add `May not annex cities` unique, following same behaviour as Civ5 Venice. Hopefully this time I won't need to re-install windows.
* Fix raze button being unavailable in city screen
* Fixed raze button being available in city screen, as per civ5
* Corrected indentation
* mayAnnex instead of canAnnex, hasUnique rather than getMatchingUniques
* AI will follow rules
* Replaced getMatchingUniques with hasUnique, for real this time
* Move caches for passThrough and movementCost into the parent method.
* Reuse path calculated for reaching enemy city if still far away instead of recalculating it for the "landing tile".
* Cache getDistanceToTilesWithinTurn by removing tilesToIgnore from the call and doing that filtering later. Also simplify caller side with some transformations around differences for the first iteration and subsequent iterations.
* Check whether a player is spectator by comparing their civName directly with the Constant rather than going through the lazily initialized property of the nation. This is significantly faster (10x ?) and we're calling this method a lot (tens of millions of times).
Also check whether a tile is explored directly on the tile, not the other way round.
* Revert "Cache getDistanceToTilesWithinTurn by removing tilesToIgnore from the call and doing that filtering later. Also simplify caller side with some transformations around differences for the first iteration and subsequent iterations."
This reverts commit f75ce00d83.
* Simplify UnitMovement.getShortestPath
* Speed up WorkerAutomation.findTileToWork - apparently tileCanBeImproved is quite expensive
* Add cache for rankTileForCityWork in CityPopulationManager.autoAssignPopulation
* Optimize NextTurnAutomation.declareWar by moving expensive BFSs to the end and potentially short-circuiting evaluation if result won't be promising anyways.
* No need to throw if atLeast is negative.
* Revert changes to CityPopulationManager.kt
* Revert changes to CityPopulationManager.kt
* Speed up WorkerAutomation.findTileToWork - apparently tileCanBeImproved is quite expensive
* Add cache for rankTileForCityWork in CityPopulationManager.autoAssignPopulation
* Optimize NextTurnAutomation.declareWar by moving expensive BFSs to the end and potentially short-circuiting evaluation if result won't be promising anyways.
* No need to throw if atLeast is negative.
* Revert changes to CityPopulationManager.kt
* Revert changes to CityPopulationManager.kt
* Cache civ uniques while refreshing world map tiles.
This should have a pretty significant performance improvement of about 10% next rount time.
* Forgot to add stateForConditionals to cache key.
* Make cache keys depend on function
* Restrict LocalUniqueCache API to avoid using it the wrong way.
* Use default values instead of two methods
* UnitMovement#getDistanceToTilesWithinTurn hotspots
* Make fog busting less expensive
* Speed up tryHeadTowardsEncampment
* Reorder conditions in isGoodTileToExplore
* Reorder conditions in isGoodTileToExplore
* Revert "Speed up tryHeadTowardsEncampment"
This reverts commit d3841a233b.
* Don't lookup twice.