Expose game speeds to localisation.

This commit is contained in:
Matthias Mailänder
2022-10-23 19:32:44 +02:00
committed by abcdefg30
parent 425c678cd9
commit efe65701e4
7 changed files with 36 additions and 27 deletions

View File

@@ -86,7 +86,7 @@ namespace OpenRA.Mods.Common.Traits
techLevels, TechLevel, TechLevelDropdownLocked); techLevels, TechLevel, TechLevelDropdownLocked);
var gameSpeeds = Game.ModData.Manifest.Get<GameSpeeds>(); var gameSpeeds = Game.ModData.Manifest.Get<GameSpeeds>();
var speeds = gameSpeeds.Speeds.ToDictionary(s => s.Key, s => s.Value.Name); var speeds = gameSpeeds.Speeds.ToDictionary(s => s.Key, s => Game.ModData.Translation.GetString(s.Value.Name));
// NOTE: This is just exposing the UI, the backend logic for this option is hardcoded in World // NOTE: This is just exposing the UI, the backend logic for this option is hardcoded in World
yield return new LobbyOption("gamespeed", GameSpeedDropdownLabel, GameSpeedDropdownDescription, GameSpeedDropdownVisible, GameSpeedDropdownDisplayOrder, yield return new LobbyOption("gamespeed", GameSpeedDropdownLabel, GameSpeedDropdownDescription, GameSpeedDropdownVisible, GameSpeedDropdownDisplayOrder,

View File

@@ -314,12 +314,13 @@ namespace OpenRA.Mods.Common.Widgets.Logic
var speeds = modData.Manifest.Get<GameSpeeds>().Speeds; var speeds = modData.Manifest.Get<GameSpeeds>().Speeds;
gameSpeed = "default"; gameSpeed = "default";
gameSpeedButton.GetText = () => speeds[gameSpeed].Name; var speedText = new CachedTransform<string, string>(s => modData.Translation.GetString(speeds[s].Name));
gameSpeedButton.GetText = () => speedText.Update(gameSpeed);
gameSpeedButton.OnMouseDown = _ => gameSpeedButton.OnMouseDown = _ =>
{ {
var options = speeds.Select(s => new DropDownOption var options = speeds.Select(s => new DropDownOption
{ {
Title = s.Value.Name, Title = modData.Translation.GetString(s.Value.Name),
IsSelected = () => gameSpeed == s.Key, IsSelected = () => gameSpeed == s.Key,
OnClick = () => gameSpeed = s.Key OnClick = () => gameSpeed = s.Key
}); });

View File

@@ -254,27 +254,27 @@ GameSpeeds:
DefaultSpeed: default DefaultSpeed: default
Speeds: Speeds:
slowest: slowest:
Name: Slowest Name: slowest
Timestep: 80 Timestep: 80
OrderLatency: 2 OrderLatency: 2
slower: slower:
Name: Slower Name: slower
Timestep: 50 Timestep: 50
OrderLatency: 3 OrderLatency: 3
default: default:
Name: Normal Name: normal
Timestep: 40 Timestep: 40
OrderLatency: 3 OrderLatency: 3
fast: fast:
Name: Fast Name: fast
Timestep: 35 Timestep: 35
OrderLatency: 4 OrderLatency: 4
faster: faster:
Name: Faster Name: faster
Timestep: 30 Timestep: 30
OrderLatency: 4 OrderLatency: 4
fastest: fastest:
Name: Fastest Name: fastest
Timestep: 20 Timestep: 20
OrderLatency: 6 OrderLatency: 6

View File

@@ -1,3 +1,11 @@
## MapOptions, MissionBrowserLogic
slowest = Slowest
slower = Slower
normal = Normal
fast = Fast
faster = Faster
fastest = Fastest
## Server Orders ## Server Orders
custom-rules = This map contains custom rules. Game experience may change. custom-rules = This map contains custom rules. Game experience may change.
map-bots-disabled = Bots have been disabled on this map. map-bots-disabled = Bots have been disabled on this map.

View File

@@ -230,27 +230,27 @@ GameSpeeds:
DefaultSpeed: default DefaultSpeed: default
Speeds: Speeds:
slowest: slowest:
Name: Slowest Name: slowest
Timestep: 80 Timestep: 80
OrderLatency: 2 OrderLatency: 2
slower: slower:
Name: Slower Name: slower
Timestep: 50 Timestep: 50
OrderLatency: 3 OrderLatency: 3
default: default:
Name: Normal Name: normal
Timestep: 40 Timestep: 40
OrderLatency: 3 OrderLatency: 3
fast: fast:
Name: Fast Name: fast
Timestep: 35 Timestep: 35
OrderLatency: 4 OrderLatency: 4
faster: faster:
Name: Faster Name: faster
Timestep: 30 Timestep: 30
OrderLatency: 4 OrderLatency: 4
fastest: fastest:
Name: Fastest Name: fastest
Timestep: 20 Timestep: 20
OrderLatency: 6 OrderLatency: 6

View File

@@ -256,27 +256,27 @@ GameSpeeds:
DefaultSpeed: default DefaultSpeed: default
Speeds: Speeds:
slowest: slowest:
Name: Slowest Name: slowest
Timestep: 80 Timestep: 80
OrderLatency: 2 OrderLatency: 2
slower: slower:
Name: Slower Name: slower
Timestep: 50 Timestep: 50
OrderLatency: 3 OrderLatency: 3
default: default:
Name: Normal Name: normal
Timestep: 40 Timestep: 40
OrderLatency: 3 OrderLatency: 3
fast: fast:
Name: Fast Name: fast
Timestep: 35 Timestep: 35
OrderLatency: 4 OrderLatency: 4
faster: faster:
Name: Faster Name: faster
Timestep: 30 Timestep: 30
OrderLatency: 4 OrderLatency: 4
fastest: fastest:
Name: Fastest Name: fastest
Timestep: 20 Timestep: 20
OrderLatency: 6 OrderLatency: 6

View File

@@ -288,27 +288,27 @@ GameSpeeds:
DefaultSpeed: default DefaultSpeed: default
Speeds: Speeds:
slowest: slowest:
Name: Slowest Name: slowest
Timestep: 80 Timestep: 80
OrderLatency: 2 OrderLatency: 2
slower: slower:
Name: Slower Name: slower
Timestep: 50 Timestep: 50
OrderLatency: 3 OrderLatency: 3
default: default:
Name: Normal Name: normal
Timestep: 40 Timestep: 40
OrderLatency: 3 OrderLatency: 3
fast: fast:
Name: Fast Name: fast
Timestep: 35 Timestep: 35
OrderLatency: 4 OrderLatency: 4
faster: faster:
Name: Faster Name: faster
Timestep: 30 Timestep: 30
OrderLatency: 4 OrderLatency: 4
fastest: fastest:
Name: Fastest Name: fastest
Timestep: 20 Timestep: 20
OrderLatency: 6 OrderLatency: 6