* Refactor: Extract methods & reduce code duplication
* Refactor: Rename Sounds to SoundPlayer
* Refactor: Make UncivSound a data class
As far as I can see, UncivSoundConstants served no purpose
* Refactor: Reorder sounds
* Refactor: Split up ExtensionFunctions and move into own package
* Add multiplayer turn sound notification
* Refactor: Remove unnecessary double translation
* Refactor: Reduce code duplication
* Refactor: No if for boolean logic
* Bump version and create initial changelog entry
* Update French.properties (#7093)
* Update Italian.properties (#7092)
* Update German translation (#7087)
* Update Japanese.properties (#7086)
* Update Japanese.properties
Added about 20 lines of Japanese translation.
Didn't know where the 'fastlane_full_description' so good so put one there commented out for now.
* Update Japanese.properties
Replaced the commented out fastlane_full_description with appropriate \n for line breaks
* Update Japanese.properties
Various easy one line translations
* Update Spanish.properties (#7082)
* Update Catalan.properties (#7081)
* Update Indonesian.properties (#7079)
Co-authored-by: yairm210 <yairm210@users.noreply.github.com>
Co-authored-by: Ouaz <Ouaz@users.noreply.github.com>
Co-authored-by: Giuseppe D'Addio <41149920+Smashfanful@users.noreply.github.com>
Co-authored-by: MartinP <77325495+Mape6@users.noreply.github.com>
Co-authored-by: itmaru <34495311+itmaru@users.noreply.github.com>
Co-authored-by: Caballero Arepa <78449553+ArchDuque-Pancake@users.noreply.github.com>
Co-authored-by: Joan Josep <juanjo.ng.83@gmail.com>
Co-authored-by: kensvin <63847755+Kensvin28@users.noreply.github.com>
* Delete Oil WellC.png
Since now offshore platform is back again, the "coastal" oil rig is obsolete now.
* Adding spaceship parts sprites for FantasyHex tileset
* Add files via upload
* Add files via upload
* created files for friends list screen
* redone #3
* fixed some crashes and more additions
* changelog in the comment below
* Update .gitignore
included the FriendsList.json file
* changelog in the comment below, again
* optimized imports to hopefully fix the error in github build check
* replaced imports with the ones from master since OnlineMultiplayer.kt no longer exists
* imported ViewFriendsList
* used the right package for all friendsList related files and a little bit of cleanup
* check if friends list is empty before adding the select friend button
* check if the ID is correct when adding a new friend
* don't set null as playerID if no friend is selected
* added messageTexts for the input TextFields
* don't show already selected friends
* fixed checkmark not updating after selecting a friend
* you can't be your own friend! and other checks for edit button
* fix error
* replaced error type with enum, replaced nested ifs with when loop, added additional checks when editing friends
* fixed error, can't really tell how I managed to do this
* reorganized checks for adding and created settings variable to hopefully fix the github build error
* actually fixed github error
* it now removes selected friends from the list of selectable friends
* fixed not being able to change only the id of a friend
* made it look half decent
* cleanup + improved help button
* updated template.properties
* renamed variable
* some tweaks
* moved friends list to GameSettings
* tested every feature and fixed what didn't work
* removed redundant variables and final cleanup
* little improvements
* string improvements
* removed rightSideButton from ViewFriendsListScreen
* removed unnecesary uniformX and decreased padding to allow seeing more friends in ViewFriendsListScreen
* Add usesCleartextTrafic permission to Android manifest
* Add warning for starting a multiplayer game with the default Dropbox server
* Improve multiplayer server documentation
* Only update the current game if we're using a custom server or it's not our turn
* Refactor: Nicer variable name
* Fix compilation
* Fix type
Don't know what happened there
* Pillaging loots gold on certain improvements
* Add warning if improvement pillageGold > 0 and has UniqueType.Unpillagable
* Pillage yields as a UniqueType
* Forgot to undo demonstration
* Remove unused line
* Eliminate some redundancy
* Reword unique text
* Slight cleanup and add notification for pillage victim
* Reviews
* Made pillaging notifications more consistent with other hostile action notifications
* Missed a line
* Load and Save Game Screens rework - Linting
* Load and Save Game Screens rework - Modularize and Keyboard
* Load and Save Game Screens rework - error handling
* Load and Save Game Screens rework - Move other save/load code
* Load and Save Game Screens rework - More Keyboard
* Load and Save Game Screens rework - Increase clipboard limit
* Load and Save Game Screens rework - Post-merge patch
* Load and Save Game Screens rework - Home, End, harden
* Load and Save Game Screens rework - Post-merge patch again
* Load and Save Game Screens rework - reviews
* Improve suggestions when constructing an improvement is not possible
* Reimplement getImprovementBuildingProblems() as a generator function
* Update documentation of getImprovementBuildingProblems(); forgotten in the last commit
* ImprovementPickerScreen - tr
* Rename a variable for clarity
Co-authored-by: SomeTroglodyte <63000004+SomeTroglodyte@users.noreply.github.com>
The fix in #6901 caused `arrayIndex` to go out of sync, because the `continue` happened before `arrayIndex` was incremented. This caused a later game preview to be saved to the previous game name, overwriting and duplicating it.
* Handle subclassing of Events properly
Previously, you could only listen to the exact class
* Add relevant parent classes for the multiplayer events
* Refactor: use the old name as the main name in MultiplayerGameNameChanged event
* Add being able to stop listening to events in the EventBus
* Add tests for EventBus
* Refactor: Extract GameList into standalone file
* Refactor: safeUpdateIf to more generic throttle function
* Refactor: Extract multiplayer UI helper functions into separate file
* Refactor: Extract load/download multiplayer game into logic class from UI
* Make loading a multiplayer game automatically update the in-memory game in OnlineMultiplayer
* Refactor: Extract multiplayer settings into separate object
* Add multiplayer status display
* Fix error with multiplayer games not correctly being cleaned up after successful update
* Prevent loadLatestMultiplayerState() while next turn update is running
* Show "Working..." while waiting for next turn calculations instead of "Waiting for [civ]..."
* Fix race condition while updating online game state
* Refactor: change GameSaver from singleton to single instance pattern & move autosave logic info GameSaver
Singleton just doesn't make sense anymore when we have to `init(..)` with different arguments, then we should just make a normal class out of it
* Fix not correctly checking for missing external files dir
* Refactor: use more appropriate library method
* Add logging for external files dir