Commit graph

217 commits

Author SHA1 Message Date
proteus-anguinus
33da0e3a7f
Optimize conditional tutorials (#2378)
* Bring Incas into the main game
(also changes slinger withdraw ability to inheritable)

* Update Nations.json

* Optimize-Tutorial-Conditions: Measure 'Before'

* Optimize-Tutorial-Conditions: Deferred tests

* Optimize-Tutorial-Conditions: Remove instrumentation
2020-04-10 10:13:17 +03:00
proteus-anguinus
d15abd66b6
Scroll panes get scrollfocus automatically (#2358)
* Bring Incas into the main game
(also changes slinger withdraw ability to inheritable)

* Update Nations.json

* ScrollPanes steal and release focus automatically

* ScrollPanes steal and release focus automatically: Commented & param names
2020-04-08 16:30:10 +03:00
Jack Rainy
e869eb26f7
Display price for temporary unavailable purchases (#2344) 2020-04-06 20:06:24 +03:00
Yair Morgenstern
b0a74dfa86 Resolved #1964 - Construction resource consumption is explicitly stated in construction picking and queue 2020-03-29 14:50:40 +03:00
Yair Morgenstern
378f56207c Resolved #1779 - Can now lock worked tiles to prevent them from being unassigned 2020-03-29 12:42:58 +03:00
Yair Morgenstern
44b69d2d87 Added progress bars for constructions in city screen 2020-03-25 14:51:18 +02:00
Yair Morgenstern
ac34b8f5ff Nicer, more consistent specialist allocation tables 2020-03-25 14:01:50 +02:00
Yair Morgenstern
b43e543f23 Resolved #2175 - Can no queue multiple perpetual builds 2020-03-21 21:39:07 +02:00
EdinCitaku
e06d537688
Feature#2081 (#2100)
* Unit can now only be purchased if no other unit of same type is stationed in city center #2081

* #2081
Added unique to landsknecht and changed condition for movement panelty

* Refactored when statement to if
#2081

* Only one plane at a time can be purchased to a maximum of 6 that are NOT transported in a single city
#2081

* removed duplicate code
#2081

* refactor canPurchase() and now track bought units in a city in a mutableList
#2081

* refactor canPurchase() it basicly just tracks if the unit can be placed on the center tile! if it cant then we dont allow the purchase!
#2081

* Changed wording of unique and added translations
#2081

* Changed wording of unique
#2081

* removed unneeded imports
#2081

Co-authored-by: Yair Morgenstern <yairm210@hotmail.com>
2020-03-21 20:35:30 +02:00
Yair Morgenstern
feb786c9ee Merge branch '3.6.7-patch2' 2020-03-14 21:50:09 +02:00
Yair Morgenstern
fa41e50a33 Resolves #2157 - 3.6.7-patch2 2020-03-14 21:46:45 +02:00
Jack Rainy
528392baab
Allow selection of non-buildable items (#2126) 2020-03-12 08:34:44 +02:00
Jack Rainy
97a9a0f08c
Display an amount of gold when buying the tile (#2127) 2020-03-12 08:32:29 +02:00
Federico Luongo
296936ae53
Fix/city buy sell exploits (#2094)
* Fix erroneous removal from queue

* Buy/Sell popups disable respective button and force closure of other popups
2020-03-07 20:04:27 +02:00
Yair Morgenstern
86576e25ae Fixed crash when diplomacy values change while ending the turn 2020-03-03 21:45:39 +02:00
lishaoxia1985
95354964ba
some UI update. (#2069) 2020-03-03 19:54:20 +02:00
JackRainy
f621ed5192
Fix for the wrong placement of purchased and upgraded units (#2006)
* Place the unit at the current position firstly

* More simple solution

* Try to place unit with traceability taken into account

* Return money and notify about the problem

* Popup dialog instead of notification

* Refactoring: Split UI and logic
2020-02-27 09:22:24 +02:00
Federico Luongo
c4375ed4e8
Tile stats are shown on a row, rather than on a column (#1946) 2020-02-26 21:48:24 +02:00
JackRainy
55a8211be0
Do not allow to buy what can not be built (#2007) 2020-02-24 08:14:21 +02:00
Kentalot
3c2cb01169
Earlier version with changes mostly to use Sequences (#1993)
* Fixes Issue #1697 by adding information to the special production constructions.

* Get rid of extra $ sign in the SpecialConstruction tooltips

* Major refactor to use Sequences instead of List to try to improve logic whenever getting a list of tiles at a distance.

* Get rid of extraneous parameter

* get rid of extra exception. slight refactor placeUnitNearTile for readability

* Fix bug of doing intersection instead of union

* Add an extra method to get tiles in distance range

* Update based on comments
2020-02-23 14:22:50 +02:00
JackRainy
9f0e74be1f
Display the current amount of gold in the prompt dialog (#1995) 2020-02-23 11:25:11 +02:00
Kentalot
8f757e9ab4
Fixes Issue #1697 by adding information to the special production con… (#1965)
* Fixes Issue #1697 by adding information to the special production constructions.

* Get rid of extra $ sign in the SpecialConstruction tooltips
2020-02-18 22:38:14 +02:00
r3versi
aec539f77f
Fix tile yields in city screen 2020-02-12 19:39:32 +01:00
Yair Morgenstern
eb1ce0f6cb Resolved #1457 - no AI trades are 'automatically accepted', they all require an active decision of the proposed side and will only happen on their turn 2020-02-04 16:13:37 +02:00
Yair Morgenstern
848637c78c Better top-down trickling of information instead of relying on UncivGame.Current info 2020-02-03 16:41:42 +02:00
JackRainy
a728da6a2a
Fix: do not trim the text in the statistics screen (#1810) 2020-01-31 07:50:51 +02:00
Yair Morgenstern
b29813b389 Improved queue functionality readability 2020-01-29 22:25:21 +02:00
Federico Luongo
ea29f91519 Fix buy current construction (#1794) 2020-01-27 23:59:40 +02:00
Timo T
d3d8933bbf Fix popups (#1784)
* Fix community popup not opening

Fixes a regression in b95844d2f4. This commit refactored popups and it was thought that the "screen has popup -> don't show popup" was correct for all popups. That assumption was incorrect, the community popup was not opening anymore as well as the game menu popups (editor and normal game) could not be opened over other popups anymore.

This commit fixes that by introducing a queue for popups. When you try to open a popup and one is already open, the popup you tried to open only gets shown when the popup that was already open is closed. This can be manually overridden with a calling the `open` method with a `(force = true)` argument.

Also, all popups are now and should be opened and closed only with their `open()` and `close()` methods to ensure this behavior works.

* Refactor: Remove all open() methods from popup constructors

While it may be a little less to type, it should be up to the caller to decide to open a popup over other popups (via the `force = true` parameter) or not. This is not possible if a popup is opened automatically within its constructor, which is why that is the wrong place to open the popup-
2020-01-27 08:32:16 +02:00
Federico Luongo
59e815c30e Fix turns to construction (#1767)
Fix #1759: the stored production is used only for the first construction of its kind in the construction queue
2020-01-25 19:50:43 +02:00
Marerjh
8469956f91 Update Ukrainian.properties (#1761)
* Update Ukrainian.properties

* Update template.properties

* Update Ukrainian.properties

* Update ConstructionsTable.kt

* Update CityInfoTable.kt

* Update Ukrainian.properties

* Update Ukrainian.properties

Co-authored-by: Yair Morgenstern <yairm210@hotmail.com>
2020-01-25 19:47:38 +02:00
Yair Morgenstern
4accfb594f Better specialist allocation table placement 2020-01-21 23:27:56 +02:00
Yair Morgenstern
1633394164 Resolved #1696
Specialist allocation
- Is now in a separate class
- Is immediately viewable on the City screen
2020-01-21 23:16:44 +02:00
Timo T
b95844d2f4 Refactor: Streamline popups (#1735)
First, `PopupTable` and all extending classes had the `Table` at the end removed. Second, the popup base classes `Popup(Table)` and `YesNoPopup(Table)` were moved from the worldscreen to the util package.

Third: The popups were inconsistent. In CameraStageBaseScreen, there was a check with 3 parts, one if any tutorial was showing, second if any child is a TradePopup, and third if the boolean field "hasPopupOpen" is true.

However, all of these checks were, in the end, `Popup(Table)`s on the screen. So, this check has simply been changed to check if any child is a `Popup(Table)`. All the other checks and their relating code could simply be removed.
2020-01-20 19:13:21 +02:00
lyrjie
0a12062c70 Fix: "Pick construction" tutorial never completes (#1693) 2020-01-14 15:28:18 +02:00
lyrjie
81258297d5 Fix: ability to buy the same building multiple times (#1692) 2020-01-14 15:21:12 +02:00
r3versi
a1b03849ec Fix city screen (#1657)
* Last CityScreen fix

* Atlas & Translations
2020-01-11 22:46:17 +02:00
r3versi
2daf27278d WIP Construction Queue (#1648)
* Construction Queue

* Added constructionQueue in addition to currentConstruction: if currentConstruction is done, next construction from Queue is started; if Queue is empty invoke ConstructionAutomation
* Queue utility methods: add, remove, higher prio, lower prio
* Icons to move constructions in queue
* Top left city stats moved to top right panel
* Added current construction and queue construction to top left
* Extended selected construction (containing description) moved to bottom right, it is now displayed alternatively to selected tile
* Max queue size, cannot change queue in puppet city or in other player turn
* Queue and current construction reset on puppeting city

* Cleanup again

* CityStatsTable is a separate class so we can play around with where it's located with minimal code changes

* Rejection reason wrap & removing nothing on enqueue a construction

* Crude UI proposal

* Tutorial updates for queues

Co-authored-by: Yair Morgenstern <yairm210@hotmail.com>
2020-01-10 11:41:43 +02:00
r3versi
12a98aa4bb City construction queue (#1479)
* Construction Queue

* Added constructionQueue in addition to currentConstruction: if currentConstruction is done, next construction from Queue is started; if Queue is empty invoke ConstructionAutomation
* Queue utility methods: add, remove, higher prio, lower prio
* Icons to move constructions in queue
* Top left city stats moved to top right panel
* Added current construction and queue construction to top left
* Extended selected construction (containing description) moved to bottom right, it is now displayed alternatively to selected tile

Rework

* Max queue size, cannot change queue in puppet city or in other player turn

* Queue and current construction reset on puppeting city

Co-authored-by: Yair Morgenstern <yairm210@hotmail.com>
2020-01-09 20:58:15 +02:00
Yair Morgenstern
977fcfb97e Code cleanup - when{} instead of if-else chains, toLabel() instead of Label(...) 2020-01-09 20:54:33 +02:00
lyrjie
fe837d78ee Fix: player being able to buy tiles outside the 3-tile radius (#1643) 2020-01-09 20:18:03 +02:00
drwhut
a13570f109 Added a growth progress bar to CityButton. (#1626)
* Added temporary growth number to CityButton.

* Added a growth bar to CityButton.

* Made relevant changes based on comments in pull request #1626

* Added the unicode infinity symbol to reflect no growth.

* New growth functions now return null instead of -1.

* Adjusted the population group width to account for large numbers.

* Changed the colour of the growth number.
2020-01-07 18:55:38 +02:00
lyrjie
2af847b3a6 Fix: "Sell the building" button being randomly disabled (#1611)
* Fix: "Sell the building" button being randomly disabled based on the sell price

* Fix: `sellBuildingButton` being enabled in puppet cities

Co-authored-by: dumichno <57294813+dumichno@users.noreply.github.com>
2020-01-04 21:01:06 +02:00
r3versi
f7b5a506fd HexMath is a singleton (#1603) 2020-01-03 10:33:01 +02:00
r3versi
a1b0c1dcd4 TileMapHolder refactor & Map Editor update (#1584)
* TileMapHolder renamed to MapHolder
* EditorMapHolder and WorldMapHolder inherits from ZoomableScrollPane
* MapEditor Brush Size (from 1 to 5)
* MapEditor painting mode (dragging the pointer on screen paints continuously)
2020-01-02 20:02:38 +02:00
Vladimir Tanakov
03aee45fe3 Refactor sounds and unitactions data class (#1596) 2020-01-02 19:01:51 +02:00
Yair Morgenstern
87830bf8b2 Code cleanup - ruleset maps are now lowercased 2019-12-26 22:00:49 +02:00
Yair Morgenstern
8a229c502c Can no longer purchase constructions from cities in resistance 2019-12-26 18:04:02 +02:00
Vladimir Tanakov
7f06ae0cce Refactor Tutorials and fix some issues, write tests (#1524) 2019-12-26 11:40:48 +02:00
Yair Morgenstern
3627d4e6e2 Now load only necessary translations
Since loading all the translation files was taking around 2.5 seconds on my phone, and I assume much longer on older phones, we now only load the translations of the currently selected file, and if we need to find the translation percentage of all the files we deal with that separately. Down to around 200-300 ms on my phone =)
Also Translations is no longer part of the Ruleset, instead meing located in UncivGame
2019-12-18 23:32:31 +02:00