Mark non-moddable translation strings as constant.

This commit is contained in:
Matthias Mailänder
2022-11-17 21:54:39 +01:00
committed by Gustas
parent 4f016f149f
commit 760a1245c5
58 changed files with 807 additions and 795 deletions

View File

@@ -29,6 +29,9 @@ namespace OpenRA
{ {
public static class Game public static class Game
{ {
[TranslationReference("filename")]
const string SavedScreenshot = "saved-screenshot";
public const int TimestepJankThreshold = 250; // Don't catch up for delays larger than 250ms public const int TimestepJankThreshold = 250; // Don't catch up for delays larger than 250ms
public static InstalledMods Mods { get; private set; } public static InstalledMods Mods { get; private set; }
@@ -571,9 +574,6 @@ namespace OpenRA
public static void RunAfterTick(Action a) { delayedActions.Add(a, RunTime); } public static void RunAfterTick(Action a) { delayedActions.Add(a, RunTime); }
public static void RunAfterDelay(int delayMilliseconds, Action a) { delayedActions.Add(a, RunTime + delayMilliseconds); } public static void RunAfterDelay(int delayMilliseconds, Action a) { delayedActions.Add(a, RunTime + delayMilliseconds); }
[TranslationReference("filename")]
static readonly string SavedScreenshot = "saved-screenshot";
static void TakeScreenshotInner() static void TakeScreenshotInner()
{ {
using (new PerfTimer("Renderer.SaveScreenshot")) using (new PerfTimer("Renderer.SaveScreenshot"))

View File

@@ -17,7 +17,7 @@ namespace OpenRA.Server
class PlayerMessageTracker class PlayerMessageTracker
{ {
[TranslationReference("remaining")] [TranslationReference("remaining")]
static readonly string ChatTemporaryDisabled = "chat-temp-disabled"; const string ChatTemporaryDisabled = "chat-temp-disabled";
readonly Dictionary<int, List<long>> messageTracker = new Dictionary<int, List<long>>(); readonly Dictionary<int, List<long>> messageTracker = new Dictionary<int, List<long>>();
readonly Server server; readonly Server server;

View File

@@ -46,6 +46,75 @@ namespace OpenRA.Server
public sealed class Server public sealed class Server
{ {
[TranslationReference]
const string CustomRules = "custom-rules";
[TranslationReference]
const string BotsDisabled = "bots-disabled";
[TranslationReference]
const string TwoHumansRequired = "two-humans-required";
[TranslationReference]
const string ErrorGameStarted = "error-game-started";
[TranslationReference]
const string RequiresPassword = "requires-password";
[TranslationReference]
const string IncorrectPassword = "incorrect-password";
[TranslationReference]
const string IncompatibleMod = "incompatible-mod";
[TranslationReference]
const string IncompatibleVersion = "incompatible-version";
[TranslationReference]
const string IncompatibleProtocol = "incompatible-protocol";
[TranslationReference]
const string Banned = "banned";
[TranslationReference]
const string TempBanned = "temp-banned";
[TranslationReference]
const string Full = "full";
[TranslationReference("player")]
const string Joined = "joined";
[TranslationReference]
const string RequiresForumAccount = "requires-forum-account";
[TranslationReference]
const string NoPermission = "no-permission";
[TranslationReference("command")]
const string UnknownServerCommand = "unknown-server-command";
[TranslationReference("player")]
const string LobbyDisconnected = "lobby-disconnected";
[TranslationReference("player")]
const string PlayerDisconnected = "player-disconnected";
[TranslationReference("player", "team")]
const string PlayerTeamDisconnected = "player-team-disconnected";
[TranslationReference("player")]
const string ObserverDisconnected = "observer-disconnected";
[TranslationReference("player")]
const string NewAdmin = "new-admin";
[TranslationReference]
const string YouWereKicked = "you-were-kicked";
[TranslationReference]
const string GameStarted = "game-started";
public readonly MersenneTwister Random = new MersenneTwister(); public readonly MersenneTwister Random = new MersenneTwister();
public readonly ServerType Type; public readonly ServerType Type;
@@ -81,75 +150,6 @@ namespace OpenRA.Server
readonly Stopwatch pingUpdated = Stopwatch.StartNew(); readonly Stopwatch pingUpdated = Stopwatch.StartNew();
readonly PlayerMessageTracker playerMessageTracker; readonly PlayerMessageTracker playerMessageTracker;
[TranslationReference]
static readonly string CustomRules = "custom-rules";
[TranslationReference]
static readonly string BotsDisabled = "bots-disabled";
[TranslationReference]
static readonly string TwoHumansRequired = "two-humans-required";
[TranslationReference]
static readonly string ErrorGameStarted = "error-game-started";
[TranslationReference]
static readonly string RequiresPassword = "requires-password";
[TranslationReference]
static readonly string IncorrectPassword = "incorrect-password";
[TranslationReference]
static readonly string IncompatibleMod = "incompatible-mod";
[TranslationReference]
static readonly string IncompatibleVersion = "incompatible-version";
[TranslationReference]
static readonly string IncompatibleProtocol = "incompatible-protocol";
[TranslationReference]
static readonly string Banned = "banned";
[TranslationReference]
static readonly string TempBanned = "temp-banned";
[TranslationReference]
static readonly string Full = "full";
[TranslationReference("player")]
static readonly string Joined = "joined";
[TranslationReference]
static readonly string RequiresForumAccount = "requires-forum-account";
[TranslationReference]
static readonly string NoPermission = "no-permission";
[TranslationReference("command")]
static readonly string UnknownServerCommand = "unknown-server-command";
[TranslationReference("player")]
static readonly string LobbyDisconnected = "lobby-disconnected";
[TranslationReference("player")]
static readonly string PlayerDisconnected = "player-disconnected";
[TranslationReference("player", "team")]
static readonly string PlayerTeamDisconnected = "player-team-disconnected";
[TranslationReference("player")]
static readonly string ObserverDisconnected = "observer-disconnected";
[TranslationReference("player")]
public static readonly string NewAdmin = "new-admin";
[TranslationReference]
static readonly string YouWereKicked = "you-were-kicked";
[TranslationReference]
public static readonly string GameStarted = "game-started";
public ServerState State public ServerState State
{ {
get => internalState; get => internalState;

View File

@@ -22,10 +22,10 @@ namespace OpenRA.Mods.Common.Commands
public class ChatCommands : INotifyChat public class ChatCommands : INotifyChat
{ {
public Dictionary<string, IChatCommand> Commands { get; }
[TranslationReference("name")] [TranslationReference("name")]
static readonly string InvalidCommand = "invalid-command"; const string InvalidCommand = "invalid-command";
public Dictionary<string, IChatCommand> Commands { get; }
public ChatCommands() public ChatCommands()
{ {

View File

@@ -24,19 +24,19 @@ namespace OpenRA.Mods.Common.Commands
public class DebugVisualizationCommands : IChatCommand, IWorldLoaded public class DebugVisualizationCommands : IChatCommand, IWorldLoaded
{ {
[TranslationReference] [TranslationReference]
static readonly string CombatGeometryDescription = "combat-geometry-description"; const string CombatGeometryDescription = "combat-geometry-description";
[TranslationReference] [TranslationReference]
static readonly string RenderGeometryDescription = "render-geometry-description"; const string RenderGeometryDescription = "render-geometry-description";
[TranslationReference] [TranslationReference]
static readonly string ScreenMapOverlayDescription = "screen-map-overlay-description"; const string ScreenMapOverlayDescription = "screen-map-overlay-description";
[TranslationReference] [TranslationReference]
static readonly string DepthBufferDescription = "depth-buffer-description"; const string DepthBufferDescription = "depth-buffer-description";
[TranslationReference] [TranslationReference]
static readonly string ActorTagsOverlayDescripition = "actor-tags-overlay-description"; const string ActorTagsOverlayDescripition = "actor-tags-overlay-description";
readonly IDictionary<string, (string Description, Action<DebugVisualizations, DeveloperMode> Handler)> commandHandlers = new Dictionary<string, (string Description, Action<DebugVisualizations, DeveloperMode> Handler)> readonly IDictionary<string, (string Description, Action<DebugVisualizations, DeveloperMode> Handler)> commandHandlers = new Dictionary<string, (string Description, Action<DebugVisualizations, DeveloperMode> Handler)>
{ {

View File

@@ -25,55 +25,55 @@ namespace OpenRA.Mods.Common.Commands
public class DevCommands : IChatCommand, IWorldLoaded public class DevCommands : IChatCommand, IWorldLoaded
{ {
[TranslationReference] [TranslationReference]
static readonly string CheatsDisabled = "cheats-disabled"; const string CheatsDisabled = "cheats-disabled";
[TranslationReference] [TranslationReference]
static readonly string InvalidCashAmount = "invalid-cash-amount"; const string InvalidCashAmount = "invalid-cash-amount";
[TranslationReference] [TranslationReference]
static readonly string ToggleVisiblityDescription = "toggle-visibility"; const string ToggleVisiblityDescription = "toggle-visibility";
[TranslationReference] [TranslationReference]
static readonly string GiveCashDescription = "give-cash"; const string GiveCashDescription = "give-cash";
[TranslationReference] [TranslationReference]
static readonly string GiveCashAllDescription = "give-cash-all"; const string GiveCashAllDescription = "give-cash-all";
[TranslationReference] [TranslationReference]
static readonly string InstantBuildingDescription = "instant-building"; const string InstantBuildingDescription = "instant-building";
[TranslationReference] [TranslationReference]
static readonly string BuildAnywhereDescription = "build-anywhere"; const string BuildAnywhereDescription = "build-anywhere";
[TranslationReference] [TranslationReference]
static readonly string UnlimitedPowerDescription = "unlimited-power"; const string UnlimitedPowerDescription = "unlimited-power";
[TranslationReference] [TranslationReference]
static readonly string EnableTechDescription = "enable-tech"; const string EnableTechDescription = "enable-tech";
[TranslationReference] [TranslationReference]
static readonly string FastChargeDescription = "fast-charge"; const string FastChargeDescription = "fast-charge";
[TranslationReference] [TranslationReference]
static readonly string DevCheatAllDescription = "dev-cheat-all"; const string DevCheatAllDescription = "dev-cheat-all";
[TranslationReference] [TranslationReference]
static readonly string DevCrashDescription = "dev-crash"; const string DevCrashDescription = "dev-crash";
[TranslationReference] [TranslationReference]
static readonly string LevelUpActorDescription = "levelup-actor"; const string LevelUpActorDescription = "levelup-actor";
[TranslationReference] [TranslationReference]
static readonly string PlayerExperienceDescription = "player-experience"; const string PlayerExperienceDescription = "player-experience";
[TranslationReference] [TranslationReference]
static readonly string PowerOutageDescription = "power-outage"; const string PowerOutageDescription = "power-outage";
[TranslationReference] [TranslationReference]
static readonly string KillSelectedActorsDescription = "kill-selected-actors"; const string KillSelectedActorsDescription = "kill-selected-actors";
[TranslationReference] [TranslationReference]
static readonly string DisposeSelectedActorsDescription = "dispose-selected-actors"; const string DisposeSelectedActorsDescription = "dispose-selected-actors";
readonly IDictionary<string, (string Description, Action<string, World> Handler)> commandHandlers = new Dictionary<string, (string, Action<string, World>)> readonly IDictionary<string, (string Description, Action<string, World> Handler)> commandHandlers = new Dictionary<string, (string, Action<string, World>)>
{ {

View File

@@ -21,17 +21,17 @@ namespace OpenRA.Mods.Common.Commands
public class HelpCommand : IChatCommand, IWorldLoaded public class HelpCommand : IChatCommand, IWorldLoaded
{ {
[TranslationReference]
const string AvailableCommands = "available-commands";
[TranslationReference]
const string NoDescription = "no-description";
[TranslationReference]
const string HelpDescription = "help-description";
readonly Dictionary<string, string> helpDescriptions; readonly Dictionary<string, string> helpDescriptions;
[TranslationReference]
static readonly string AvailableCommands = "available-commands";
[TranslationReference]
static readonly string NoDescription = "no-description";
[TranslationReference]
static readonly string HelpDescription = "help-description";
World world; World world;
ChatCommands console; ChatCommands console;

View File

@@ -20,14 +20,14 @@ namespace OpenRA.Mods.Common.Commands
public class PlayerCommands : IChatCommand, IWorldLoaded public class PlayerCommands : IChatCommand, IWorldLoaded
{ {
[TranslationReference]
const string PauseDescription = "pause-description";
[TranslationReference]
const string SurrenderDescription = "surrender-description";
World world; World world;
[TranslationReference]
static readonly string PauseDescription = "pause-description";
[TranslationReference]
static readonly string SurrenderDescription = "surrender-description";
public void WorldLoaded(World w, WorldRenderer wr) public void WorldLoaded(World w, WorldRenderer wr)
{ {
world = w; world = w;

View File

@@ -25,133 +25,133 @@ namespace OpenRA.Mods.Common.Server
public class LobbyCommands : ServerTrait, IInterpretCommand, INotifyServerStart, INotifyServerEmpty, IClientJoined public class LobbyCommands : ServerTrait, IInterpretCommand, INotifyServerStart, INotifyServerEmpty, IClientJoined
{ {
[TranslationReference] [TranslationReference]
static readonly string CustomRules = "custom-rules"; const string CustomRules = "custom-rules";
[TranslationReference] [TranslationReference]
static readonly string OnlyHostStartGame = "only-only-host-start-game"; const string OnlyHostStartGame = "only-only-host-start-game";
[TranslationReference] [TranslationReference]
static readonly string NoStartUntilRequiredSlotsFull = "no-start-until-required-slots-full"; const string NoStartUntilRequiredSlotsFull = "no-start-until-required-slots-full";
[TranslationReference] [TranslationReference]
static readonly string NoStartWithoutPlayers = "no-start-without-players"; const string NoStartWithoutPlayers = "no-start-without-players";
[TranslationReference] [TranslationReference]
static readonly string TwoHumansRequired = "two-humans-required"; const string TwoHumansRequired = "two-humans-required";
[TranslationReference] [TranslationReference]
static readonly string InsufficientEnabledSpawnPoints = "insufficient-enabled-spawnPoints"; const string InsufficientEnabledSpawnPoints = "insufficient-enabled-spawnPoints";
[TranslationReference("command")] [TranslationReference("command")]
static readonly string MalformedCommand = "malformed-command"; const string MalformedCommand = "malformed-command";
[TranslationReference] [TranslationReference]
static readonly string KickNone = "kick-none"; const string KickNone = "kick-none";
[TranslationReference] [TranslationReference]
static readonly string NoKickGameStarted = "no-kick-game-started"; const string NoKickGameStarted = "no-kick-game-started";
[TranslationReference("admin", "player")] [TranslationReference("admin", "player")]
static readonly string Kicked = "kicked"; const string Kicked = "kicked";
[TranslationReference("admin", "player")] [TranslationReference("admin", "player")]
static readonly string TempBan = "temp-ban"; const string TempBan = "temp-ban";
[TranslationReference] [TranslationReference]
static readonly string NoTransferAdmin = "only-host-transfer-admin"; const string NoTransferAdmin = "only-host-transfer-admin";
[TranslationReference] [TranslationReference]
static readonly string EmptySlot = "empty-slot"; const string EmptySlot = "empty-slot";
[TranslationReference("admin", "player")] [TranslationReference("admin", "player")]
static readonly string MoveSpectators = "move-spectators"; const string MoveSpectators = "move-spectators";
[TranslationReference("player", "name")] [TranslationReference("player", "name")]
static readonly string Nick = "nick"; const string Nick = "nick";
[TranslationReference] [TranslationReference]
static readonly string StateUnchangedReady = "state-unchanged-ready"; const string StateUnchangedReady = "state-unchanged-ready";
[TranslationReference("command")] [TranslationReference("command")]
static readonly string StateUnchangedGameStarted = "state-unchanged-game-started"; const string StateUnchangedGameStarted = "state-unchanged-game-started";
[TranslationReference("faction")] [TranslationReference("faction")]
static readonly string InvalidFactionSelected = "invalid-faction-selected"; const string InvalidFactionSelected = "invalid-faction-selected";
[TranslationReference("factions")] [TranslationReference("factions")]
static readonly string SupportedFactions = "supported-factions"; const string SupportedFactions = "supported-factions";
[TranslationReference] [TranslationReference]
static readonly string RequiresHost = "requires-host"; const string RequiresHost = "requires-host";
[TranslationReference] [TranslationReference]
static readonly string InvalidBotSlot = "invalid-bot-slot"; const string InvalidBotSlot = "invalid-bot-slot";
[TranslationReference] [TranslationReference]
static readonly string InvalidBotType = "invalid-bot-type"; const string InvalidBotType = "invalid-bot-type";
[TranslationReference] [TranslationReference]
static readonly string HostChangeMap = "only-host-change-map"; const string HostChangeMap = "only-host-change-map";
[TranslationReference] [TranslationReference]
static readonly string UnknownMap = "unknown-map"; const string UnknownMap = "unknown-map";
[TranslationReference] [TranslationReference]
static readonly string SearchingMap = "searching-map"; const string SearchingMap = "searching-map";
[TranslationReference] [TranslationReference]
static readonly string NotAdmin = "only-host-change-configuration"; const string NotAdmin = "only-host-change-configuration";
[TranslationReference] [TranslationReference]
static readonly string InvalidConfigurationCommand = "invalid-configuration-command"; const string InvalidConfigurationCommand = "invalid-configuration-command";
[TranslationReference("option")] [TranslationReference("option")]
static readonly string OptionLocked = "option-locked"; const string OptionLocked = "option-locked";
[TranslationReference("player", "map")] [TranslationReference("player", "map")]
static readonly string ChangedMap = "changed-map"; const string ChangedMap = "changed-map";
[TranslationReference] [TranslationReference]
static readonly string MapBotsDisabled = "map-bots-disabled"; const string MapBotsDisabled = "map-bots-disabled";
[TranslationReference("player", "name", "value")] [TranslationReference("player", "name", "value")]
static readonly string ValueChanged = "value-changed"; const string ValueChanged = "value-changed";
[TranslationReference] [TranslationReference]
static readonly string NoMoveSpectators = "only-host-move-spectators"; const string NoMoveSpectators = "only-host-move-spectators";
[TranslationReference] [TranslationReference]
static readonly string AdminOption = "admin-option"; const string AdminOption = "admin-option";
[TranslationReference("raw")] [TranslationReference("raw")]
static readonly string NumberTeams = "number-teams"; const string NumberTeams = "number-teams";
[TranslationReference] [TranslationReference]
static readonly string AdminClearSpawn = "admin-clear-spawn"; const string AdminClearSpawn = "admin-clear-spawn";
[TranslationReference] [TranslationReference]
static readonly string SpawnOccupied = "spawn-occupied"; const string SpawnOccupied = "spawn-occupied";
[TranslationReference] [TranslationReference]
static readonly string SpawnLocked = "spawn-locked"; const string SpawnLocked = "spawn-locked";
[TranslationReference] [TranslationReference]
static readonly string AdminLobbyInfo = "admin-lobby-info"; const string AdminLobbyInfo = "admin-lobby-info";
[TranslationReference] [TranslationReference]
static readonly string InvalidLobbyInfo = "invalid-lobby-info"; const string InvalidLobbyInfo = "invalid-lobby-info";
[TranslationReference] [TranslationReference]
static readonly string AdminKick = "admin-kick"; const string AdminKick = "admin-kick";
[TranslationReference] [TranslationReference]
static readonly string SlotClosed = "slot-closed"; const string SlotClosed = "slot-closed";
[TranslationReference("player")] [TranslationReference("player")]
public static readonly string NewAdmin = "new-admin"; const string NewAdmin = "new-admin";
[TranslationReference] [TranslationReference]
static readonly string YouWereKicked = "you-were-kicked"; const string YouWereKicked = "you-were-kicked";
readonly IDictionary<string, Func<S, Connection, Session.Client, string, bool>> commandHandlers = new Dictionary<string, Func<S, Connection, Session.Client, string, bool>> readonly IDictionary<string, Func<S, Connection, Session.Client, string, bool>> commandHandlers = new Dictionary<string, Func<S, Connection, Session.Client, string, bool>>
{ {

View File

@@ -31,17 +31,22 @@ namespace OpenRA.Mods.Common.Server
const int RateLimitInterval = 1000; const int RateLimitInterval = 1000;
[TranslationReference] [TranslationReference]
static readonly string NoPortForward = "no-port-forward"; const string NoPortForward = "no-port-forward";
[TranslationReference] [TranslationReference]
static readonly string BlacklistedTitle = "blacklisted-title"; const string BlacklistedTitle = "blacklisted-title";
[TranslationReference] [TranslationReference]
static readonly string InvalidErrorCode = "invalid-error-code"; const string InvalidErrorCode = "invalid-error-code";
[TranslationReference] [TranslationReference]
static readonly string Connected = "master-server-connected"; const string Connected = "master-server-connected";
[TranslationReference] [TranslationReference]
static readonly string Error = "master-server-error"; const string Error = "master-server-error";
[TranslationReference] [TranslationReference]
static readonly string GameOffline = "game-offline"; const string GameOffline = "game-offline";
static readonly Beacon LanGameBeacon; static readonly Beacon LanGameBeacon;
static readonly Dictionary<int, string> MasterServerErrors = new Dictionary<int, string>() static readonly Dictionary<int, string> MasterServerErrors = new Dictionary<int, string>()

View File

@@ -18,22 +18,22 @@ namespace OpenRA.Mods.Common.Server
{ {
public class PlayerPinger : ServerTrait, ITick public class PlayerPinger : ServerTrait, ITick
{ {
[TranslationReference]
const string PlayerDropped = "player-dropped";
[TranslationReference("player")]
const string ConnectionProblems = "connection-problems";
[TranslationReference("player")]
const string Timeout = "timeout";
[TranslationReference("player", "timeout")]
const string TimeoutIn = "timeout-in";
static readonly int PingInterval = 5000; // Ping every 5 seconds static readonly int PingInterval = 5000; // Ping every 5 seconds
static readonly int ConnReportInterval = 20000; // Report every 20 seconds static readonly int ConnReportInterval = 20000; // Report every 20 seconds
static readonly int ConnTimeout = 60000; // Drop unresponsive clients after 60 seconds static readonly int ConnTimeout = 60000; // Drop unresponsive clients after 60 seconds
[TranslationReference]
static readonly string PlayerDropped = "player-dropped";
[TranslationReference("player")]
static readonly string ConnectionProblems = "connection-problems";
[TranslationReference("player")]
static readonly string Timeout = "timeout";
[TranslationReference("player", "timeout")]
static readonly string TimeoutIn = "timeout-in";
long lastPing = 0; long lastPing = 0;
long lastConnReport = 0; long lastConnReport = 0;
bool isInitialPing = true; bool isInitialPing = true;

View File

@@ -72,6 +72,9 @@ namespace OpenRA.Mods.Common.Traits
public class DeveloperMode : IResolveOrder, ISync, INotifyCreated, IUnlocksRenderPlayer public class DeveloperMode : IResolveOrder, ISync, INotifyCreated, IUnlocksRenderPlayer
{ {
[TranslationReference("cheat", "player", "suffix")]
const string CheatUsed = "cheat-used";
readonly DeveloperModeInfo info; readonly DeveloperModeInfo info;
public bool Enabled { get; private set; } public bool Enabled { get; private set; }
@@ -106,9 +109,6 @@ namespace OpenRA.Mods.Common.Traits
bool enableAll; bool enableAll;
[TranslationReference("cheat", "player", "suffix")]
static readonly string CheatUsed = "cheat-used";
public DeveloperMode(DeveloperModeInfo info) public DeveloperMode(DeveloperModeInfo info)
{ {
this.info = info; this.info = info;

View File

@@ -22,6 +22,15 @@ namespace OpenRA.Mods.Common.Traits
[Desc("Configuration options for the lobby player color picker. Attach this to the world actor.")] [Desc("Configuration options for the lobby player color picker. Attach this to the world actor.")]
public class ColorPickerManagerInfo : TraitInfo<ColorPickerManager>, IRulesetLoaded public class ColorPickerManagerInfo : TraitInfo<ColorPickerManager>, IRulesetLoaded
{ {
[TranslationReference]
const string PlayerColorTerrain = "player-color-terrain";
[TranslationReference]
const string PlayerColorPlayer = "player-color-player";
[TranslationReference]
const string InvalidPlayerColor = "invalid-player-color";
[Desc("Minimum and maximum saturation levels that are valid for use.")] [Desc("Minimum and maximum saturation levels that are valid for use.")]
public readonly float[] HsvSaturationRange = { 0.3f, 0.95f }; public readonly float[] HsvSaturationRange = { 0.3f, 0.95f };
@@ -60,13 +69,6 @@ namespace OpenRA.Mods.Common.Traits
public Color Color; public Color Color;
[TranslationReference]
static readonly string PlayerColorTerrain = "player-color-terrain";
[TranslationReference]
static readonly string PlayerColorPlayer = "player-color-player";
[TranslationReference]
static readonly string InvalidPlayerColor = "invalid-player-color";
bool TryGetBlockingColor((float R, float G, float B) color, List<(float R, float G, float B)> candidateBlockers, out (float R, float G, float B) closestBlocker) bool TryGetBlockingColor((float R, float G, float B) color, List<(float R, float G, float B)> candidateBlockers, out (float R, float G, float B) closestBlocker)
{ {
var closestDistance = SimilarityThreshold; var closestDistance = SimilarityThreshold;

View File

@@ -34,6 +34,12 @@ namespace OpenRA.Mods.Common.Widgets.Logic
Unknown = 16 Unknown = 16
} }
[TranslationReference("length")]
const string LengthInSeconds = "length-in-seconds";
[TranslationReference]
const string AllPackages = "all-packages";
readonly string[] allowedExtensions; readonly string[] allowedExtensions;
readonly string[] allowedSpriteExtensions; readonly string[] allowedSpriteExtensions;
readonly string[] allowedModelExtensions; readonly string[] allowedModelExtensions;
@@ -71,12 +77,6 @@ namespace OpenRA.Mods.Common.Widgets.Logic
float modelScale; float modelScale;
AssetType assetTypesToDisplay = AssetType.Sprite | AssetType.Model | AssetType.Audio | AssetType.Video; AssetType assetTypesToDisplay = AssetType.Sprite | AssetType.Model | AssetType.Audio | AssetType.Video;
[TranslationReference("length")]
static readonly string LengthInSeconds = "length-in-seconds";
[TranslationReference]
static readonly string AllPackages = "all-packages";
readonly string allPackages; readonly string allPackages;
[ObjectCreator.UseCtor] [ObjectCreator.UseCtor]

View File

@@ -17,13 +17,13 @@ namespace OpenRA.Mods.Common.Widgets.Logic
{ {
public class ConnectionLogic : ChromeLogic public class ConnectionLogic : ChromeLogic
{ {
[TranslationReference("endpoint")]
const string ConnectingToEndpoint = "connecting-to-endpoint";
readonly Action onConnect; readonly Action onConnect;
readonly Action onAbort; readonly Action onAbort;
readonly Action<string> onRetry; readonly Action<string> onRetry;
[TranslationReference("endpoint")]
static readonly string ConnectingToEndpoint = "connecting-to-endpoint";
void ConnectionStateChanged(OrderManager om, string password, NetworkConnection connection) void ConnectionStateChanged(OrderManager om, string password, NetworkConnection connection)
{ {
if (connection.ConnectionState == ConnectionState.Connected) if (connection.ConnectionState == ConnectionState.Connected)
@@ -86,21 +86,21 @@ namespace OpenRA.Mods.Common.Widgets.Logic
public class ConnectionFailedLogic : ChromeLogic public class ConnectionFailedLogic : ChromeLogic
{ {
[TranslationReference("target")]
const string CouldNotConnectToTarget = "could-not-connect-to-target";
[TranslationReference]
const string UnknownError = "unknown-error";
[TranslationReference]
const string PasswordRequired = "password-required";
[TranslationReference]
const string ConnectionFailed = "connection-failed";
readonly PasswordFieldWidget passwordField; readonly PasswordFieldWidget passwordField;
bool passwordOffsetAdjusted; bool passwordOffsetAdjusted;
[TranslationReference("target")]
static readonly string CouldNotConnectToTarget = "could-not-connect-to-target";
[TranslationReference]
static readonly string UnknownError = "unknown-error";
[TranslationReference]
static readonly string PasswordRequired = "password-required";
[TranslationReference]
static readonly string ConnectionFailed = "connection-failed";
[ObjectCreator.UseCtor] [ObjectCreator.UseCtor]
public ConnectionFailedLogic(Widget widget, ModData modData, OrderManager orderManager, NetworkConnection connection, string password, Action onAbort, Action<string> onRetry) public ConnectionFailedLogic(Widget widget, ModData modData, OrderManager orderManager, NetworkConnection connection, string password, Action onAbort, Action<string> onRetry)
{ {
@@ -171,7 +171,7 @@ namespace OpenRA.Mods.Common.Widgets.Logic
public class ConnectionSwitchModLogic : ChromeLogic public class ConnectionSwitchModLogic : ChromeLogic
{ {
[TranslationReference] [TranslationReference]
static readonly string ModSwitchFailed = "mod-switch-failed"; const string ModSwitchFailed = "mod-switch-failed";
[ObjectCreator.UseCtor] [ObjectCreator.UseCtor]
public ConnectionSwitchModLogic(Widget widget, OrderManager orderManager, NetworkConnection connection, Action onAbort, Action<string> onRetry) public ConnectionSwitchModLogic(Widget widget, OrderManager orderManager, NetworkConnection connection, Action onAbort, Action<string> onRetry)

View File

@@ -20,6 +20,15 @@ namespace OpenRA.Mods.Common.Widgets.Logic
{ {
public class ActorEditLogic : ChromeLogic public class ActorEditLogic : ChromeLogic
{ {
[TranslationReference]
const string DuplicateActorId = "duplicate-actor-id";
[TranslationReference]
const string EnterActorId = "enter-actor-id";
[TranslationReference]
const string Owner = "owner";
// Error states define overlapping bits to simplify panel reflow logic // Error states define overlapping bits to simplify panel reflow logic
[Flags] [Flags]
enum ActorIDStatus { Normal = 0, Duplicate = 1, Empty = 3 } enum ActorIDStatus { Normal = 0, Duplicate = 1, Empty = 3 }
@@ -44,15 +53,6 @@ namespace OpenRA.Mods.Common.Widgets.Logic
readonly int editPanelPadding; // Padding between right edge of actor and the edit panel. readonly int editPanelPadding; // Padding between right edge of actor and the edit panel.
readonly long scrollVisibleTimeout = 100; // Delay after scrolling map before edit widget becomes visible again. readonly long scrollVisibleTimeout = 100; // Delay after scrolling map before edit widget becomes visible again.
[TranslationReference]
static readonly string DuplicateActorId = "duplicate-actor-id";
[TranslationReference]
static readonly string EnterActorId = "enter-actor-id";
[TranslationReference]
static readonly string Owner = "owner";
long lastScrollTime = 0; long lastScrollTime = 0;
int2 lastScrollPosition = int2.Zero; int2 lastScrollPosition = int2.Zero;

View File

@@ -21,6 +21,9 @@ namespace OpenRA.Mods.Common.Widgets.Logic
{ {
public class ActorSelectorLogic : CommonSelectorLogic public class ActorSelectorLogic : CommonSelectorLogic
{ {
[TranslationReference]
const string Type = "type";
class ActorSelectorActor class ActorSelectorActor
{ {
public readonly ActorInfo Actor; public readonly ActorInfo Actor;
@@ -42,9 +45,6 @@ namespace OpenRA.Mods.Common.Widgets.Logic
readonly ActorSelectorActor[] allActors; readonly ActorSelectorActor[] allActors;
readonly EditorCursorLayer editorCursor; readonly EditorCursorLayer editorCursor;
[TranslationReference]
static readonly string Type = "type";
PlayerReference selectedOwner; PlayerReference selectedOwner;
[ObjectCreator.UseCtor] [ObjectCreator.UseCtor]

View File

@@ -19,6 +19,18 @@ namespace OpenRA.Mods.Common.Widgets.Logic
{ {
public abstract class CommonSelectorLogic : ChromeLogic public abstract class CommonSelectorLogic : ChromeLogic
{ {
[TranslationReference]
const string None = "none";
[TranslationReference]
const string SearchResults = "search-results";
[TranslationReference]
const string All = "all";
[TranslationReference]
const string Multiple = "multiple";
protected readonly Widget Widget; protected readonly Widget Widget;
protected readonly ModData ModData; protected readonly ModData ModData;
protected readonly TextFieldWidget SearchTextField; protected readonly TextFieldWidget SearchTextField;
@@ -34,18 +46,6 @@ namespace OpenRA.Mods.Common.Widgets.Logic
protected string[] allCategories; protected string[] allCategories;
protected string searchFilter; protected string searchFilter;
[TranslationReference]
static readonly string None = "none";
[TranslationReference]
static readonly string SearchResults = "search-results";
[TranslationReference]
static readonly string All = "all";
[TranslationReference]
static readonly string Multiple = "multiple";
public CommonSelectorLogic(Widget widget, ModData modData, World world, WorldRenderer worldRenderer, string templateListId, string previewTemplateId) public CommonSelectorLogic(Widget widget, ModData modData, World world, WorldRenderer worldRenderer, string templateListId, string previewTemplateId)
{ {
Widget = widget; Widget = widget;

View File

@@ -43,34 +43,34 @@ namespace OpenRA.Mods.Common.Widgets.Logic
} }
[TranslationReference] [TranslationReference]
static readonly string SaveMapFailedTitle = "save-map-failed-title"; const string SaveMapFailedTitle = "save-map-failed-title";
[TranslationReference] [TranslationReference]
static readonly string SaveMapFailedPrompt = "save-map-failed-prompt"; const string SaveMapFailedPrompt = "save-map-failed-prompt";
[TranslationReference] [TranslationReference]
static readonly string SaveMapFailedAccept = "save-map-failed-accept"; const string SaveMapFailedAccept = "save-map-failed-accept";
[TranslationReference] [TranslationReference]
static readonly string Unpacked = "unpacked"; const string Unpacked = "unpacked";
[TranslationReference] [TranslationReference]
static readonly string OverwriteMapFailedTitle = "overwrite-map-failed-title"; const string OverwriteMapFailedTitle = "overwrite-map-failed-title";
[TranslationReference] [TranslationReference]
static readonly string OverwriteMapFailedPrompt = "overwrite-map-failed-prompt"; const string OverwriteMapFailedPrompt = "overwrite-map-failed-prompt";
[TranslationReference] [TranslationReference]
static readonly string SaveMapFailedConfirm = "overwrite-map-failed-confirm"; const string SaveMapFailedConfirm = "overwrite-map-failed-confirm";
[TranslationReference] [TranslationReference]
static readonly string OverwriteMapOutsideEditTitle = "overwrite-map-outside-edit-title"; const string OverwriteMapOutsideEditTitle = "overwrite-map-outside-edit-title";
[TranslationReference] [TranslationReference]
static readonly string OverwriteMapOutsideEditPrompt = "overwrite-map-outside-edit-prompt"; const string OverwriteMapOutsideEditPrompt = "overwrite-map-outside-edit-prompt";
[TranslationReference] [TranslationReference]
static readonly string SaveMapMapOutsideConfirm = "overwrite-map-outside-edit-confirm"; const string SaveMapMapOutsideConfirm = "overwrite-map-outside-edit-confirm";
[ObjectCreator.UseCtor] [ObjectCreator.UseCtor]
public SaveMapLogic(Widget widget, ModData modData, Action<string> onSave, Action onExit, public SaveMapLogic(Widget widget, ModData modData, Action<string> onSave, Action onExit,

View File

@@ -20,6 +20,45 @@ namespace OpenRA.Mods.Common.Widgets.Logic
{ {
public class GameSaveBrowserLogic : ChromeLogic public class GameSaveBrowserLogic : ChromeLogic
{ {
[TranslationReference]
const string RenameSaveTitle = "rename-save-title";
[TranslationReference]
const string RenameSavePrompt = "rename-save-prompt";
[TranslationReference]
const string RenameSaveAccept = "rename-save-accept";
[TranslationReference]
const string DeleteSaveTitle = "delete-save-title";
[TranslationReference("save")]
const string DeleteSavePrompt = "delete-save-prompt";
[TranslationReference]
const string DeleteSaveAccept = "delete-save-accept";
[TranslationReference]
const string DeleteAllSavesTitle = "delete-all-saves-title";
[TranslationReference("count")]
const string DeleteAllSavesPrompt = "delete-all-saves-prompt";
[TranslationReference]
const string DeleteAllSavesAccept = "delete-all-saves-accept";
[TranslationReference("savePath")]
const string SaveDeletionFailed = "save-deletion-failed";
[TranslationReference]
const string OverwriteSaveTitle = "overwrite-save-title";
[TranslationReference("file")]
const string OverwriteSavePrompt = "overwrite-save-prompt";
[TranslationReference]
const string OverwriteSaveAccpet = "overwrite-save-accept";
readonly Widget panel; readonly Widget panel;
readonly ScrollPanelWidget gameList; readonly ScrollPanelWidget gameList;
readonly TextFieldWidget saveTextField; readonly TextFieldWidget saveTextField;
@@ -33,45 +72,6 @@ namespace OpenRA.Mods.Common.Widgets.Logic
readonly string defaultSaveFilename; readonly string defaultSaveFilename;
string selectedSave; string selectedSave;
[TranslationReference]
static readonly string RenameSaveTitle = "rename-save-title";
[TranslationReference]
static readonly string RenameSavePrompt = "rename-save-prompt";
[TranslationReference]
static readonly string RenameSaveAccept = "rename-save-accept";
[TranslationReference]
static readonly string DeleteSaveTitle = "delete-save-title";
[TranslationReference("save")]
static readonly string DeleteSavePrompt = "delete-save-prompt";
[TranslationReference]
static readonly string DeleteSaveAccept = "delete-save-accept";
[TranslationReference]
static readonly string DeleteAllSavesTitle = "delete-all-saves-title";
[TranslationReference("count")]
static readonly string DeleteAllSavesPrompt = "delete-all-saves-prompt";
[TranslationReference]
static readonly string DeleteAllSavesAccept = "delete-all-saves-accept";
[TranslationReference("savePath")]
static readonly string SaveDeletionFailed = "save-deletion-failed";
[TranslationReference]
static readonly string OverwriteSaveTitle = "overwrite-save-title";
[TranslationReference("file")]
static readonly string OverwriteSavePrompt = "overwrite-save-prompt";
[TranslationReference]
static readonly string OverwriteSaveAccpet = "overwrite-save-accept";
[ObjectCreator.UseCtor] [ObjectCreator.UseCtor]
public GameSaveBrowserLogic(Widget widget, ModData modData, Action onExit, Action onStart, bool isSavePanel, World world) public GameSaveBrowserLogic(Widget widget, ModData modData, Action onExit, Action onStart, bool isSavePanel, World world)
{ {

View File

@@ -22,6 +22,21 @@ namespace OpenRA.Mods.Common.Widgets.Logic
class GameInfoLogic : ChromeLogic class GameInfoLogic : ChromeLogic
{ {
[TranslationReference]
const string Objectives = "objectives";
[TranslationReference]
const string Briefing = "briefing";
[TranslationReference]
const string Options = "options";
[TranslationReference]
const string Debug = "debug";
[TranslationReference]
const string Chat = "chat";
readonly World world; readonly World world;
readonly ModData modData; readonly ModData modData;
readonly Action<bool> hideMenu; readonly Action<bool> hideMenu;
@@ -29,21 +44,6 @@ namespace OpenRA.Mods.Common.Widgets.Logic
IngameInfoPanel activePanel; IngameInfoPanel activePanel;
readonly bool hasError; readonly bool hasError;
[TranslationReference]
static readonly string Objectives = "objectives";
[TranslationReference]
static readonly string Briefing = "briefing";
[TranslationReference]
static readonly string Options = "options";
[TranslationReference]
static readonly string Debug = "debug";
[TranslationReference]
static readonly string Chat = "chat";
[ObjectCreator.UseCtor] [ObjectCreator.UseCtor]
public GameInfoLogic(Widget widget, ModData modData, World world, IngameInfoPanel initialPanel, Action<bool> hideMenu) public GameInfoLogic(Widget widget, ModData modData, World world, IngameInfoPanel initialPanel, Action<bool> hideMenu)
{ {

View File

@@ -19,17 +19,17 @@ namespace OpenRA.Mods.Common.Widgets.Logic
{ {
class GameInfoObjectivesLogic : ChromeLogic class GameInfoObjectivesLogic : ChromeLogic
{ {
[TranslationReference]
const string InProgress = "in-progress";
[TranslationReference]
const string Accomplished = "accomplished";
[TranslationReference]
const string Failed = "failed";
readonly ContainerWidget template; readonly ContainerWidget template;
[TranslationReference]
static readonly string InProgress = "in-progress";
[TranslationReference]
static readonly string Accomplished = "accomplished";
[TranslationReference]
static readonly string Failed = "failed";
[ObjectCreator.UseCtor] [ObjectCreator.UseCtor]
public GameInfoObjectivesLogic(Widget widget, World world, ModData modData) public GameInfoObjectivesLogic(Widget widget, World world, ModData modData)
{ {

View File

@@ -23,40 +23,40 @@ namespace OpenRA.Mods.Common.Widgets.Logic
class GameInfoStatsLogic : ChromeLogic class GameInfoStatsLogic : ChromeLogic
{ {
[TranslationReference] [TranslationReference]
static readonly string Unmute = "unmute"; const string Unmute = "unmute";
[TranslationReference] [TranslationReference]
static readonly string Mute = "mute"; const string Mute = "mute";
[TranslationReference] [TranslationReference]
static readonly string Accomplished = "accomplished"; const string Accomplished = "accomplished";
[TranslationReference] [TranslationReference]
static readonly string Failed = "failed"; const string Failed = "failed";
[TranslationReference] [TranslationReference]
static readonly string InProgress = "in-progress"; const string InProgress = "in-progress";
[TranslationReference("team")] [TranslationReference("team")]
static readonly string TeamNumber = "team-number"; const string TeamNumber = "team-number";
[TranslationReference] [TranslationReference]
static readonly string NoTeam = "no-team"; const string NoTeam = "no-team";
[TranslationReference] [TranslationReference]
static readonly string Spectators = "spectators"; const string Spectators = "spectators";
[TranslationReference] [TranslationReference]
static readonly string Gone = "gone"; const string Gone = "gone";
[TranslationReference("player")] [TranslationReference("player")]
static readonly string KickTitle = "kick-title"; const string KickTitle = "kick-title";
[TranslationReference] [TranslationReference]
static readonly string KickPrompt = "kick-prompt"; const string KickPrompt = "kick-prompt";
[TranslationReference] [TranslationReference]
static readonly string KickAccept = "kick-accept"; const string KickAccept = "kick-accept";
[ObjectCreator.UseCtor] [ObjectCreator.UseCtor]
public GameInfoStatsLogic(Widget widget, ModData modData, World world, OrderManager orderManager, WorldRenderer worldRenderer, Action<bool> hideMenu) public GameInfoStatsLogic(Widget widget, ModData modData, World world, OrderManager orderManager, WorldRenderer worldRenderer, Action<bool> hideMenu)

View File

@@ -19,16 +19,16 @@ namespace OpenRA.Mods.Common.Widgets.Logic
public class GameTimerLogic : ChromeLogic public class GameTimerLogic : ChromeLogic
{ {
[TranslationReference] [TranslationReference]
static readonly string Paused = "paused"; const string Paused = "paused";
[TranslationReference] [TranslationReference]
static readonly string MaxSpeed = "max-speed"; const string MaxSpeed = "max-speed";
[TranslationReference("percentage")] [TranslationReference("percentage")]
static readonly string Speed = "speed"; const string Speed = "speed";
[TranslationReference("percentage")] [TranslationReference("percentage")]
static readonly string Complete = "complete"; const string Complete = "complete";
[ObjectCreator.UseCtor] [ObjectCreator.UseCtor]
public GameTimerLogic(Widget widget, ModData modData, OrderManager orderManager, World world) public GameTimerLogic(Widget widget, ModData modData, OrderManager orderManager, World world)

View File

@@ -17,6 +17,9 @@ namespace OpenRA.Mods.Common.Widgets.Logic
{ {
public class IngameCashCounterLogic : ChromeLogic public class IngameCashCounterLogic : ChromeLogic
{ {
[TranslationReference("usage", "capacity")]
const string SiloUsage = "silo-usage";
const float DisplayFracPerFrame = .07f; const float DisplayFracPerFrame = .07f;
const int DisplayDeltaPerFrame = 37; const int DisplayDeltaPerFrame = 37;
@@ -32,9 +35,6 @@ namespace OpenRA.Mods.Common.Widgets.Logic
string siloUsageTooltip = ""; string siloUsageTooltip = "";
[TranslationReference("usage", "capacity")]
static readonly string SiloUsage = "silo-usage";
[ObjectCreator.UseCtor] [ObjectCreator.UseCtor]
public IngameCashCounterLogic(Widget widget, ModData modData, World world) public IngameCashCounterLogic(Widget widget, ModData modData, World world)
{ {

View File

@@ -23,6 +23,18 @@ namespace OpenRA.Mods.Common.Widgets.Logic
[ChromeLogicArgsHotkeys("OpenTeamChat", "OpenGeneralChat")] [ChromeLogicArgsHotkeys("OpenTeamChat", "OpenGeneralChat")]
public class IngameChatLogic : ChromeLogic, INotificationHandler<TextNotification> public class IngameChatLogic : ChromeLogic, INotificationHandler<TextNotification>
{ {
[TranslationReference]
const string Team = "team";
[TranslationReference]
const string All = "all";
[TranslationReference("seconds")]
const string ChatAvailability = "chat-availability";
[TranslationReference]
const string ChatDisabled = "chat-disabled";
readonly Ruleset modRules; readonly Ruleset modRules;
readonly World world; readonly World world;
@@ -44,18 +56,6 @@ namespace OpenRA.Mods.Common.Widgets.Logic
readonly bool isMenuChat; readonly bool isMenuChat;
[TranslationReference]
static readonly string Team = "team";
[TranslationReference]
static readonly string All = "all";
[TranslationReference("seconds")]
static readonly string ChatAvailability = "chat-availability";
[TranslationReference]
static readonly string ChatDisabled = "chat-disabled";
[ObjectCreator.UseCtor] [ObjectCreator.UseCtor]
public IngameChatLogic(Widget widget, OrderManager orderManager, World world, ModData modData, bool isMenuChat, Dictionary<string, MiniYaml> logicArgs) public IngameChatLogic(Widget widget, OrderManager orderManager, World world, ModData modData, bool isMenuChat, Dictionary<string, MiniYaml> logicArgs)
{ {

View File

@@ -21,6 +21,102 @@ namespace OpenRA.Mods.Common.Widgets.Logic
{ {
public class IngameMenuLogic : ChromeLogic public class IngameMenuLogic : ChromeLogic
{ {
[TranslationReference]
const string Leave = "leave";
[TranslationReference]
const string AbortMission = "abort-mission";
[TranslationReference]
const string LeaveMissionTitle = "leave-mission-title";
[TranslationReference]
const string LeaveMissionPrompt = "leave-mission-prompt";
[TranslationReference]
const string LeaveMissionAccept = "leave-mission-accept";
[TranslationReference]
const string LeaveMissionCancel = "leave-mission-cancel";
[TranslationReference]
const string RestartButton = "restart-button";
[TranslationReference]
const string RestartMissionTitle = "restart-mission-title";
[TranslationReference]
const string RestartMissionPrompt = "restart-mission-prompt";
[TranslationReference]
const string RestartMissionAccept = "restart-mission-accept";
[TranslationReference]
const string RestartMissionCancel = "restart-mission-cancel";
[TranslationReference]
const string SurrenderButton = "surrender-button";
[TranslationReference]
const string SurrenderTitle = "surrender-title";
[TranslationReference]
const string SurrenderPrompt = "surrender-prompt";
[TranslationReference]
const string SurrenderAccept = "surrender-accept";
[TranslationReference]
const string SurrenderCancel = "surrender-cancel";
[TranslationReference]
const string LoadGameButton = "load-game-button";
[TranslationReference]
const string SaveGameButton = "save-game-button";
[TranslationReference]
const string MusicButton = "music-button";
[TranslationReference]
const string SettingsButton = "settings-button";
[TranslationReference]
const string ReturnToMap = "return-to-map";
[TranslationReference]
const string Resume = "resume";
[TranslationReference]
const string SaveMapButton = "save-map-button";
[TranslationReference]
const string ErrorMaxPlayerTitle = "error-max-player-title";
[TranslationReference("players", "max")]
const string ErrorMaxPlayerPrompt = "error-max-player-prompt";
[TranslationReference]
const string ErrorMaxPlayerAccept = "error-max-player-accept";
[TranslationReference]
const string ExitMapButton = "exit-map-button";
[TranslationReference]
const string ExitMapEditorTitle = "exit-map-editor-title";
[TranslationReference]
const string ExitMapEditorPromptUnsaved = "exit-map-editor-prompt-unsaved";
[TranslationReference]
const string ExitMapEditorPromptDeleted = "exit-map-editor-prompt-deleted";
[TranslationReference]
const string ExitMapEditorAnywayConfirm = "exit-map-editor-confirm-anyway";
[TranslationReference]
const string ExitMapEditorConfirm = "exit-map-editor-confirm";
readonly Widget menu; readonly Widget menu;
readonly Widget buttonContainer; readonly Widget buttonContainer;
readonly ButtonWidget buttonTemplate; readonly ButtonWidget buttonTemplate;
@@ -37,102 +133,6 @@ namespace OpenRA.Mods.Common.Widgets.Logic
bool leaving; bool leaving;
bool hideMenu; bool hideMenu;
[TranslationReference]
static readonly string Leave = "leave";
[TranslationReference]
static readonly string AbortMission = "abort-mission";
[TranslationReference]
static readonly string LeaveMissionTitle = "leave-mission-title";
[TranslationReference]
static readonly string LeaveMissionPrompt = "leave-mission-prompt";
[TranslationReference]
static readonly string LeaveMissionAccept = "leave-mission-accept";
[TranslationReference]
static readonly string LeaveMissionCancel = "leave-mission-cancel";
[TranslationReference]
static readonly string RestartButton = "restart-button";
[TranslationReference]
static readonly string RestartMissionTitle = "restart-mission-title";
[TranslationReference]
static readonly string RestartMissionPrompt = "restart-mission-prompt";
[TranslationReference]
static readonly string RestartMissionAccept = "restart-mission-accept";
[TranslationReference]
static readonly string RestartMissionCancel = "restart-mission-cancel";
[TranslationReference]
static readonly string SurrenderButton = "surrender-button";
[TranslationReference]
static readonly string SurrenderTitle = "surrender-title";
[TranslationReference]
static readonly string SurrenderPrompt = "surrender-prompt";
[TranslationReference]
static readonly string SurrenderAccept = "surrender-accept";
[TranslationReference]
static readonly string SurrenderCancel = "surrender-cancel";
[TranslationReference]
static readonly string LoadGameButton = "load-game-button";
[TranslationReference]
static readonly string SaveGameButton = "save-game-button";
[TranslationReference]
static readonly string MusicButton = "music-button";
[TranslationReference]
static readonly string SettingsButton = "settings-button";
[TranslationReference]
static readonly string ReturnToMap = "return-to-map";
[TranslationReference]
static readonly string Resume = "resume";
[TranslationReference]
static readonly string SaveMapButton = "save-map-button";
[TranslationReference]
static readonly string ErrorMaxPlayerTitle = "error-max-player-title";
[TranslationReference("players", "max")]
static readonly string ErrorMaxPlayerPrompt = "error-max-player-prompt";
[TranslationReference]
static readonly string ErrorMaxPlayerAccept = "error-max-player-accept";
[TranslationReference]
static readonly string ExitMapButton = "exit-map-button";
[TranslationReference]
static readonly string ExitMapEditorTitle = "exit-map-editor-title";
[TranslationReference]
static readonly string ExitMapEditorPromptUnsaved = "exit-map-editor-prompt-unsaved";
[TranslationReference]
static readonly string ExitMapEditorPromptDeleted = "exit-map-editor-prompt-deleted";
[TranslationReference]
static readonly string ExitMapEditorAnywayConfirm = "exit-map-editor-confirm-anyway";
[TranslationReference]
static readonly string ExitMapEditorConfirm = "exit-map-editor-confirm";
[ObjectCreator.UseCtor] [ObjectCreator.UseCtor]
public IngameMenuLogic(Widget widget, ModData modData, World world, Action onExit, WorldRenderer worldRenderer, public IngameMenuLogic(Widget widget, ModData modData, World world, Action onExit, WorldRenderer worldRenderer,
IngameInfoPanel initialPanel, Dictionary<string, MiniYaml> logicArgs) IngameInfoPanel initialPanel, Dictionary<string, MiniYaml> logicArgs)

View File

@@ -18,10 +18,10 @@ namespace OpenRA.Mods.Common.Widgets.Logic
public class IngamePowerBarLogic : ChromeLogic public class IngamePowerBarLogic : ChromeLogic
{ {
[TranslationReference("usage", "capacity")] [TranslationReference("usage", "capacity")]
static readonly string PowerUsage = "power-usage"; const string PowerUsage = "power-usage";
[TranslationReference] [TranslationReference]
static readonly string Infinite = "infinite-power"; const string Infinite = "infinite-power";
[ObjectCreator.UseCtor] [ObjectCreator.UseCtor]
public IngamePowerBarLogic(Widget widget, ModData modData, World world) public IngamePowerBarLogic(Widget widget, ModData modData, World world)

View File

@@ -18,10 +18,10 @@ namespace OpenRA.Mods.Common.Widgets.Logic
public class IngamePowerCounterLogic : ChromeLogic public class IngamePowerCounterLogic : ChromeLogic
{ {
[TranslationReference("usage", "capacity")] [TranslationReference("usage", "capacity")]
static readonly string PowerUsage = "power-usage"; const string PowerUsage = "power-usage";
[TranslationReference] [TranslationReference]
static readonly string Infinite = "infinite-power"; const string Infinite = "infinite-power";
[ObjectCreator.UseCtor] [ObjectCreator.UseCtor]
public IngamePowerCounterLogic(Widget widget, ModData modData, World world) public IngamePowerCounterLogic(Widget widget, ModData modData, World world)

View File

@@ -18,7 +18,7 @@ namespace OpenRA.Mods.Common.Widgets.Logic
public class IngameSiloBarLogic : ChromeLogic public class IngameSiloBarLogic : ChromeLogic
{ {
[TranslationReference("usage", "capacity")] [TranslationReference("usage", "capacity")]
static readonly string SiloUsage = "silo-usage"; const string SiloUsage = "silo-usage";
[ObjectCreator.UseCtor] [ObjectCreator.UseCtor]
public IngameSiloBarLogic(Widget widget, ModData modData, World world) public IngameSiloBarLogic(Widget widget, ModData modData, World world)

View File

@@ -23,6 +23,24 @@ namespace OpenRA.Mods.Common.Widgets.Logic
[ChromeLogicArgsHotkeys("CombinedViewKey", "WorldViewKey")] [ChromeLogicArgsHotkeys("CombinedViewKey", "WorldViewKey")]
public class ObserverShroudSelectorLogic : ChromeLogic public class ObserverShroudSelectorLogic : ChromeLogic
{ {
[TranslationReference]
const string CameraOptionAllPlayers = "camera-option-all-players";
[TranslationReference]
const string CameraOptionDisableShroud = "camera-option-disable-shroud";
[TranslationReference]
const string CameraOptionOther = "camera-option-other";
[TranslationReference]
const string Players = "players";
[TranslationReference("team")]
const string TeamNumber = "team-number";
[TranslationReference]
const string NoTeam = "no-team";
readonly CameraOption combined, disableShroud; readonly CameraOption combined, disableShroud;
readonly IOrderedEnumerable<IGrouping<int, CameraOption>> teams; readonly IOrderedEnumerable<IGrouping<int, CameraOption>> teams;
readonly bool limitViews; readonly bool limitViews;
@@ -35,24 +53,6 @@ namespace OpenRA.Mods.Common.Widgets.Logic
CameraOption selected; CameraOption selected;
readonly LabelWidget shroudLabel; readonly LabelWidget shroudLabel;
[TranslationReference]
static readonly string CameraOptionAllPlayers = "camera-option-all-players";
[TranslationReference]
static readonly string CameraOptionDisableShroud = "camera-option-disable-shroud";
[TranslationReference]
static readonly string CameraOptionOther = "camera-option-other";
[TranslationReference]
static readonly string Players = "players";
[TranslationReference("team")]
static readonly string TeamNumber = "team-number";
[TranslationReference]
static readonly string NoTeam = "no-team";
class CameraOption class CameraOption
{ {
public readonly Player Player; public readonly Player Player;

View File

@@ -27,6 +27,39 @@ namespace OpenRA.Mods.Common.Widgets.Logic
"StatisticsArmyGraphKey")] "StatisticsArmyGraphKey")]
public class ObserverStatsLogic : ChromeLogic public class ObserverStatsLogic : ChromeLogic
{ {
[TranslationReference]
const string InformationNone = "information-none";
[TranslationReference]
const string Basic = "basic";
[TranslationReference]
const string Economy = "economy";
[TranslationReference]
const string Production = "production";
[TranslationReference]
const string SupportPowers = "support-powers";
[TranslationReference]
const string Combat = "combat";
[TranslationReference]
const string Army = "army";
[TranslationReference]
const string EarningsGraph = "earnings-graph";
[TranslationReference]
const string ArmyGraph = "army-graph";
[TranslationReference("team")]
const string TeamNumber = "team-number";
[TranslationReference]
const string NoTeam = "no-team";
readonly ContainerWidget basicStatsHeaders; readonly ContainerWidget basicStatsHeaders;
readonly ContainerWidget economyStatsHeaders; readonly ContainerWidget economyStatsHeaders;
readonly ContainerWidget productionStatsHeaders; readonly ContainerWidget productionStatsHeaders;
@@ -54,39 +87,6 @@ namespace OpenRA.Mods.Common.Widgets.Logic
readonly string clickSound = ChromeMetrics.Get<string>("ClickSound"); readonly string clickSound = ChromeMetrics.Get<string>("ClickSound");
ObserverStatsPanel activePanel; ObserverStatsPanel activePanel;
[TranslationReference]
static readonly string InformationNone = "information-none";
[TranslationReference]
static readonly string Basic = "basic";
[TranslationReference]
static readonly string Economy = "economy";
[TranslationReference]
static readonly string Production = "production";
[TranslationReference]
static readonly string SupportPowers = "support-powers";
[TranslationReference]
static readonly string Combat = "combat";
[TranslationReference]
static readonly string Army = "army";
[TranslationReference]
static readonly string EarningsGraph = "earnings-graph";
[TranslationReference]
static readonly string ArmyGraph = "army-graph";
[TranslationReference("team")]
static readonly string TeamNumber = "team-number";
[TranslationReference]
static readonly string NoTeam = "no-team";
[ObjectCreator.UseCtor] [ObjectCreator.UseCtor]
public ObserverStatsLogic(World world, ModData modData, WorldRenderer worldRenderer, Widget widget, Dictionary<string, MiniYaml> logicArgs) public ObserverStatsLogic(World world, ModData modData, WorldRenderer worldRenderer, Widget widget, Dictionary<string, MiniYaml> logicArgs)
{ {

View File

@@ -19,7 +19,7 @@ namespace OpenRA.Mods.Common.Widgets.Logic
public class WorldTooltipLogic : ChromeLogic public class WorldTooltipLogic : ChromeLogic
{ {
[TranslationReference] [TranslationReference]
static readonly string UnrevealedTerrain = "unrevealed-terrain"; const string UnrevealedTerrain = "unrevealed-terrain";
[ObjectCreator.UseCtor] [ObjectCreator.UseCtor]
public WorldTooltipLogic(Widget widget, ModData modData, World world, TooltipContainerWidget tooltipContainer, ViewportControllerWidget viewport) public WorldTooltipLogic(Widget widget, ModData modData, World world, TooltipContainerWidget tooltipContainer, ViewportControllerWidget viewport)

View File

@@ -23,40 +23,40 @@ namespace OpenRA.Mods.Common.Widgets.Logic
{ {
public class DownloadPackageLogic : ChromeLogic public class DownloadPackageLogic : ChromeLogic
{ {
static readonly string[] SizeSuffixes = { "bytes", "KB", "MB", "GB", "TB", "PB", "EB", "ZB", "YB" };
[TranslationReference("title")] [TranslationReference("title")]
static readonly string Downloading = "downloading"; const string Downloading = "downloading";
[TranslationReference] [TranslationReference]
static readonly string FetchingMirrorList = "fetching-mirror-list"; const string FetchingMirrorList = "fetching-mirror-list";
[TranslationReference] [TranslationReference]
static readonly string UnknownHost = "unknown-host"; const string UnknownHost = "unknown-host";
[TranslationReference("host", "received", "suffix")] [TranslationReference("host", "received", "suffix")]
static readonly string DownloadingFrom = "downloading-from"; const string DownloadingFrom = "downloading-from";
[TranslationReference("host", "received", "total", "suffix", "progress")] [TranslationReference("host", "received", "total", "suffix", "progress")]
static readonly string DownloadingFromProgress = "downloading-from-progress"; const string DownloadingFromProgress = "downloading-from-progress";
[TranslationReference] [TranslationReference]
static readonly string VerifyingArchive = "verifying-archive"; const string VerifyingArchive = "verifying-archive";
[TranslationReference] [TranslationReference]
static readonly string ArchiveValidationFailed = "archive-validation-failed"; const string ArchiveValidationFailed = "archive-validation-failed";
[TranslationReference] [TranslationReference]
static readonly string Extracting = "extracting"; const string Extracting = "extracting";
[TranslationReference("entry")] [TranslationReference("entry")]
static readonly string ExtractingEntry = "extracting-entry"; const string ExtractingEntry = "extracting-entry";
[TranslationReference] [TranslationReference]
static readonly string ArchiveExtractionFailed = "archive-extraction-failed"; const string ArchiveExtractionFailed = "archive-extraction-failed";
[TranslationReference] [TranslationReference]
static readonly string MirrorSelectionFailed = "mirror-selection-failed"; const string MirrorSelectionFailed = "mirror-selection-failed";
static readonly string[] SizeSuffixes = { "bytes", "KB", "MB", "GB", "TB", "PB", "EB", "ZB", "YB" };
readonly ModData modData; readonly ModData modData;
readonly ModContent.ModDownload download; readonly ModContent.ModDownload download;

View File

@@ -21,6 +21,63 @@ namespace OpenRA.Mods.Common.Widgets.Logic
{ {
public class InstallFromSourceLogic : ChromeLogic public class InstallFromSourceLogic : ChromeLogic
{ {
[TranslationReference]
const string DetectingSources = "detecting-sources";
[TranslationReference]
const string CheckingSources = "checking-sources";
[TranslationReference("title")]
const string SearchingSourceFor = "searching-source-for";
[TranslationReference]
const string ContentPackageInstallation = "content-package-installation";
[TranslationReference]
const string GameSources = "game-sources";
[TranslationReference]
const string DigitalInstalls = "digital-installs";
[TranslationReference]
const string GameContentNotFound = "game-content-not-found";
[TranslationReference]
const string AlternativeContentSources = "alternative-content-sources";
[TranslationReference]
const string InstallingContent = "installing-content";
[TranslationReference("filename")]
public const string CopyingFilename = "copying-filename";
[TranslationReference("filename", "progress")]
public const string CopyingFilenameProgress = "copying-filename-progress";
[TranslationReference]
const string InstallationFailed = "installation-failed";
[TranslationReference]
const string CheckInstallLog = "check-install-log";
[TranslationReference("filename")]
public const string Extracing = "extracting-filename";
[TranslationReference("filename", "progress")]
public const string ExtracingProgress = "extracting-filename-progress";
[TranslationReference]
public const string Continue = "continue";
[TranslationReference]
const string Cancel = "cancel";
[TranslationReference]
const string Retry = "retry";
[TranslationReference]
const string Back = "back";
// Hide percentage indicators for files smaller than 25 MB // Hide percentage indicators for files smaller than 25 MB
public const int ShowPercentageThreshold = 26214400; public const int ShowPercentageThreshold = 26214400;
@@ -53,63 +110,6 @@ namespace OpenRA.Mods.Common.Widgets.Logic
Mode visible = Mode.Progress; Mode visible = Mode.Progress;
[TranslationReference]
static readonly string DetectingSources = "detecting-sources";
[TranslationReference]
static readonly string CheckingSources = "checking-sources";
[TranslationReference("title")]
static readonly string SearchingSourceFor = "searching-source-for";
[TranslationReference]
static readonly string ContentPackageInstallation = "content-package-installation";
[TranslationReference]
static readonly string GameSources = "game-sources";
[TranslationReference]
static readonly string DigitalInstalls = "digital-installs";
[TranslationReference]
static readonly string GameContentNotFound = "game-content-not-found";
[TranslationReference]
static readonly string AlternativeContentSources = "alternative-content-sources";
[TranslationReference]
static readonly string InstallingContent = "installing-content";
[TranslationReference("filename")]
public static readonly string CopyingFilename = "copying-filename";
[TranslationReference("filename", "progress")]
public static readonly string CopyingFilenameProgress = "copying-filename-progress";
[TranslationReference]
static readonly string InstallationFailed = "installation-failed";
[TranslationReference]
static readonly string CheckInstallLog = "check-install-log";
[TranslationReference("filename")]
public static readonly string Extracing = "extracting-filename";
[TranslationReference("filename", "progress")]
public static readonly string ExtracingProgress = "extracting-filename-progress";
[TranslationReference]
static readonly string Continue = "continue";
[TranslationReference]
static readonly string Cancel = "cancel";
[TranslationReference]
static readonly string Retry = "retry";
[TranslationReference]
static readonly string Back = "back";
[ObjectCreator.UseCtor] [ObjectCreator.UseCtor]
public InstallFromSourceLogic(Widget widget, ModData modData, ModContent content, Dictionary<string, ModContent.ModSource> sources) public InstallFromSourceLogic(Widget widget, ModData modData, ModContent content, Dictionary<string, ModContent.ModSource> sources)
{ {

View File

@@ -20,6 +20,9 @@ namespace OpenRA.Mods.Common.Widgets.Logic
{ {
public class ModContentLogic : ChromeLogic public class ModContentLogic : ChromeLogic
{ {
[TranslationReference]
const string ManualInstall = "manual-install";
readonly ModData modData; readonly ModData modData;
readonly ModContent content; readonly ModContent content;
readonly ScrollPanelWidget scrollPanel; readonly ScrollPanelWidget scrollPanel;
@@ -30,9 +33,6 @@ namespace OpenRA.Mods.Common.Widgets.Logic
bool sourceAvailable; bool sourceAvailable;
[TranslationReference]
static readonly string ManualInstall = "manual-install";
[ObjectCreator.UseCtor] [ObjectCreator.UseCtor]
public ModContentLogic(ModData modData, Widget widget, Manifest mod, ModContent content, Action onCancel) public ModContentLogic(ModData modData, Widget widget, Manifest mod, ModContent content, Action onCancel)
{ {

View File

@@ -20,15 +20,15 @@ namespace OpenRA.Mods.Common.Widgets.Logic
{ {
public class ModContentPromptLogic : ChromeLogic public class ModContentPromptLogic : ChromeLogic
{ {
[TranslationReference]
const string Continue = "continue";
[TranslationReference]
const string Quit = "quit";
readonly ModContent content; readonly ModContent content;
bool requiredContentInstalled; bool requiredContentInstalled;
[TranslationReference]
static readonly string Continue = "continue";
[TranslationReference]
static readonly string Quit = "quit";
[ObjectCreator.UseCtor] [ObjectCreator.UseCtor]
public ModContentPromptLogic(ModData modData, Widget widget, Manifest mod, ModContent content, Action continueLoading) public ModContentPromptLogic(ModData modData, Widget widget, Manifest mod, ModContent content, Action continueLoading)
{ {

View File

@@ -21,19 +21,20 @@ namespace OpenRA.Mods.Common.Widgets.Logic
// Increment the version number when adding new stats // Increment the version number when adding new stats
const int IntroductionVersion = 1; const int IntroductionVersion = 1;
[TranslationReference]
const string Classic = "classic";
[TranslationReference]
const string Modern = "modern";
readonly string classic;
readonly string modern;
public static bool ShouldShowPrompt() public static bool ShouldShowPrompt()
{ {
return Game.Settings.Game.IntroductionPromptVersion < IntroductionVersion; return Game.Settings.Game.IntroductionPromptVersion < IntroductionVersion;
} }
[TranslationReference]
static readonly string Classic = "classic";
readonly string classic;
[TranslationReference]
static readonly string Modern = "modern";
readonly string modern;
[ObjectCreator.UseCtor] [ObjectCreator.UseCtor]
public IntroductionPromptLogic(Widget widget, ModData modData, WorldRenderer worldRenderer, Action onComplete) public IntroductionPromptLogic(Widget widget, ModData modData, WorldRenderer worldRenderer, Action onComplete)
{ {

View File

@@ -17,7 +17,7 @@ namespace OpenRA.Mods.Common.Widgets.Logic
class KickClientLogic : ChromeLogic class KickClientLogic : ChromeLogic
{ {
[TranslationReference("player")] [TranslationReference("player")]
static readonly string KickClient = "kick-client"; const string KickClient = "kick-client";
[ObjectCreator.UseCtor] [ObjectCreator.UseCtor]
public KickClientLogic(ModData modData, Widget widget, string clientName, Action<bool> okPressed, Action cancelPressed) public KickClientLogic(ModData modData, Widget widget, string clientName, Action<bool> okPressed, Action cancelPressed)

View File

@@ -17,7 +17,7 @@ namespace OpenRA.Mods.Common.Widgets.Logic
class KickSpectatorsLogic : ChromeLogic class KickSpectatorsLogic : ChromeLogic
{ {
[TranslationReference("count")] [TranslationReference("count")]
static readonly string KickSpectators = "kick-spectators"; const string KickSpectators = "kick-spectators";
[ObjectCreator.UseCtor] [ObjectCreator.UseCtor]
public KickSpectatorsLogic(ModData modData, Widget widget, int clientCount, Action okPressed, Action cancelPressed) public KickSpectatorsLogic(ModData modData, Widget widget, int clientCount, Action okPressed, Action cancelPressed)

View File

@@ -22,6 +22,42 @@ namespace OpenRA.Mods.Common.Widgets.Logic
{ {
public class LobbyLogic : ChromeLogic, INotificationHandler<TextNotification> public class LobbyLogic : ChromeLogic, INotificationHandler<TextNotification>
{ {
[TranslationReference]
const string Add = "add";
[TranslationReference]
const string Remove = "remove";
[TranslationReference]
const string ConfigureBots = "configure-bots";
[TranslationReference("count")]
const string NumberTeams = "n-teams";
[TranslationReference]
const string HumanVsBots = "humans-vs-bots";
[TranslationReference]
const string FreeForAll = "free-for-all";
[TranslationReference]
const string ConfigureTeams = "configure-teams";
[TranslationReference]
const string Back = "back";
[TranslationReference]
const string Team = "team";
[TranslationReference]
const string All = "all";
[TranslationReference("seconds")]
const string ChatAvailability = "chat-availability";
[TranslationReference]
const string ChatDisabled = "chat-disabled";
static readonly Action DoNothing = () => { }; static readonly Action DoNothing = () => { };
readonly ModData modData; readonly ModData modData;
@@ -73,42 +109,6 @@ namespace OpenRA.Mods.Common.Widgets.Logic
bool MapIsPlayable => (mapStatus & Session.MapStatus.Playable) == Session.MapStatus.Playable; bool MapIsPlayable => (mapStatus & Session.MapStatus.Playable) == Session.MapStatus.Playable;
[TranslationReference]
static readonly string Add = "add";
[TranslationReference]
static readonly string Remove = "remove";
[TranslationReference]
static readonly string ConfigureBots = "configure-bots";
[TranslationReference("count")]
static readonly string NumberTeams = "n-teams";
[TranslationReference]
static readonly string HumanVsBots = "humans-vs-bots";
[TranslationReference]
static readonly string FreeForAll = "free-for-all";
[TranslationReference]
static readonly string ConfigureTeams = "configure-teams";
[TranslationReference]
static readonly string Back = "back";
[TranslationReference]
static readonly string Team = "team";
[TranslationReference]
static readonly string All = "all";
[TranslationReference("seconds")]
static readonly string ChatAvailability = "chat-availability";
[TranslationReference]
static readonly string ChatDisabled = "chat-disabled";
// Listen for connection failures // Listen for connection failures
void ConnectionStateChanged(OrderManager om, string password, NetworkConnection connection) void ConnectionStateChanged(OrderManager om, string password, NetworkConnection connection)
{ {

View File

@@ -20,6 +20,9 @@ namespace OpenRA.Mods.Common.Widgets.Logic
{ {
public class LobbyOptionsLogic : ChromeLogic public class LobbyOptionsLogic : ChromeLogic
{ {
[TranslationReference]
const string NotAvailable = "not-available";
readonly ModData modData; readonly ModData modData;
readonly ScrollPanelWidget panel; readonly ScrollPanelWidget panel;
readonly Widget optionsContainer; readonly Widget optionsContainer;
@@ -32,9 +35,6 @@ namespace OpenRA.Mods.Common.Widgets.Logic
readonly Func<bool> configurationDisabled; readonly Func<bool> configurationDisabled;
MapPreview mapPreview; MapPreview mapPreview;
[TranslationReference]
static readonly string NotAvailable = "not-available";
[ObjectCreator.UseCtor] [ObjectCreator.UseCtor]
internal LobbyOptionsLogic(ModData modData, Widget widget, OrderManager orderManager, Func<MapPreview> getMap, Func<bool> configurationDisabled) internal LobbyOptionsLogic(ModData modData, Widget widget, OrderManager orderManager, Func<MapPreview> getMap, Func<bool> configurationDisabled)
{ {

View File

@@ -24,19 +24,19 @@ namespace OpenRA.Mods.Common.Widgets.Logic
public static class LobbyUtils public static class LobbyUtils
{ {
[TranslationReference] [TranslationReference]
static readonly string Open = "open"; const string Open = "open";
[TranslationReference] [TranslationReference]
static readonly string Closed = "closed"; const string Closed = "closed";
[TranslationReference] [TranslationReference]
static readonly string Bots = "bots"; const string Bots = "bots";
[TranslationReference] [TranslationReference]
static readonly string BotsDisabled = "bots-disabled"; const string BotsDisabled = "bots-disabled";
[TranslationReference] [TranslationReference]
static readonly string Slot = "slot"; const string Slot = "slot";
class SlotDropDownOption class SlotDropDownOption
{ {

View File

@@ -19,28 +19,28 @@ namespace OpenRA.Mods.Common.Widgets.Logic
{ {
public class MapPreviewLogic : ChromeLogic public class MapPreviewLogic : ChromeLogic
{ {
[TranslationReference]
const string Connecting = "connecting";
[TranslationReference("size")]
const string Downloading = "downloading-map";
[TranslationReference("size", "progress")]
const string DownloadingPercentage = "downloading-map-progress";
[TranslationReference]
const string RetryInstall = "retry-install";
[TranslationReference]
const string RetrySearch = "retry-search";
[TranslationReference("author")]
const string CreatedBy = "created-by";
readonly int blinkTickLength = 10; readonly int blinkTickLength = 10;
bool installHighlighted; bool installHighlighted;
int blinkTick; int blinkTick;
[TranslationReference]
static readonly string Connecting = "connecting";
[TranslationReference("size")]
static readonly string Downloading = "downloading-map";
[TranslationReference("size", "progress")]
static readonly string DownloadingPercentage = "downloading-map-progress";
[TranslationReference]
static readonly string RetryInstall = "retry-install";
[TranslationReference]
static readonly string RetrySearch = "retry-search";
[TranslationReference("author")]
static readonly string CreatedBy = "created-by";
[ObjectCreator.UseCtor] [ObjectCreator.UseCtor]
internal MapPreviewLogic(Widget widget, ModData modData, OrderManager orderManager, Func<(MapPreview Map, Session.MapStatus Status)> getMap, internal MapPreviewLogic(Widget widget, ModData modData, OrderManager orderManager, Func<(MapPreview Map, Session.MapStatus Status)> getMap,
Action<MapPreviewWidget, MapPreview, MouseInput> onMouseDown, Func<Dictionary<int, SpawnOccupant>> getSpawnOccupants, Action<MapPreviewWidget, MapPreview, MouseInput> onMouseDown, Func<Dictionary<int, SpawnOccupant>> getSpawnOccupants,

View File

@@ -18,13 +18,13 @@ namespace OpenRA.Mods.Common.Widgets.Logic
public class SpawnSelectorTooltipLogic : ChromeLogic public class SpawnSelectorTooltipLogic : ChromeLogic
{ {
[TranslationReference] [TranslationReference]
static readonly string DisabledSpawn = "disabled-spawn"; const string DisabledSpawn = "disabled-spawn";
[TranslationReference] [TranslationReference]
static readonly string AvailableSpawn = "available-spawn"; const string AvailableSpawn = "available-spawn";
[TranslationReference("team")] [TranslationReference("team")]
static readonly string TeamNumber = "team-number"; const string TeamNumber = "team-number";
readonly CachedTransform<int, string> teamMessage; readonly CachedTransform<int, string> teamMessage;

View File

@@ -22,6 +22,15 @@ namespace OpenRA.Mods.Common.Widgets.Logic
{ {
public class MainMenuLogic : ChromeLogic public class MainMenuLogic : ChromeLogic
{ {
[TranslationReference]
const string LoadingNews = "loading-news";
[TranslationReference("message")]
const string NewsRetrivalFailed = "news-retrival-failed";
[TranslationReference("message")]
const string NewsParsingFailed = "news-parsing-failed";
protected enum MenuType { Main, Singleplayer, Extras, MapEditor, StartupPrompts, None } protected enum MenuType { Main, Singleplayer, Extras, MapEditor, StartupPrompts, None }
protected enum MenuPanel { None, Missions, Skirmish, Multiplayer, MapEditor, Replays, GameSaves } protected enum MenuPanel { None, Missions, Skirmish, Multiplayer, MapEditor, Replays, GameSaves }
@@ -33,15 +42,6 @@ namespace OpenRA.Mods.Common.Widgets.Logic
readonly LabelWidget newsStatus; readonly LabelWidget newsStatus;
readonly ModData modData; readonly ModData modData;
[TranslationReference]
static readonly string LoadingNews = "loading-news";
[TranslationReference("message")]
static readonly string NewsRetrivalFailed = "news-retrival-failed";
[TranslationReference("message")]
static readonly string NewsParsingFailed = "news-parsing-failed";
// Update news once per game launch // Update news once per game launch
static bool fetchedNews; static bool fetchedNews;

View File

@@ -19,56 +19,57 @@ namespace OpenRA.Mods.Common.Widgets.Logic
public class MapChooserLogic : ChromeLogic public class MapChooserLogic : ChromeLogic
{ {
[TranslationReference] [TranslationReference]
static readonly string AllMaps = "all-maps"; const string AllMaps = "all-maps";
readonly string allMaps;
[TranslationReference] [TranslationReference]
static readonly string NoMatches = "no-matches"; const string NoMatches = "no-matches";
[TranslationReference("players")] [TranslationReference("players")]
static readonly string Players = "player-players"; const string Players = "player-players";
[TranslationReference("author")] [TranslationReference("author")]
static readonly string CreatedBy = "created-by"; const string CreatedBy = "created-by";
[TranslationReference] [TranslationReference]
static readonly string MapSizeHuge = "map-size-huge"; const string MapSizeHuge = "map-size-huge";
[TranslationReference] [TranslationReference]
static readonly string MapSizeLarge = "map-size-large"; const string MapSizeLarge = "map-size-large";
[TranslationReference] [TranslationReference]
static readonly string MapSizeMedium = "map-size-medium"; const string MapSizeMedium = "map-size-medium";
[TranslationReference] [TranslationReference]
static readonly string MapSizeSmall = "map-size-small"; const string MapSizeSmall = "map-size-small";
[TranslationReference("map")] [TranslationReference("map")]
static readonly string MapDeletionFailed = "map-deletion-failed"; const string MapDeletionFailed = "map-deletion-failed";
[TranslationReference] [TranslationReference]
static readonly string DeleteMapTitle = "delete-map-title"; const string DeleteMapTitle = "delete-map-title";
[TranslationReference("title")] [TranslationReference("title")]
static readonly string DeleteMapPrompt = "delete-map-prompt"; const string DeleteMapPrompt = "delete-map-prompt";
[TranslationReference] [TranslationReference]
static readonly string DeleteMapAccept = "delete-map-accept"; const string DeleteMapAccept = "delete-map-accept";
[TranslationReference] [TranslationReference]
static readonly string DeleteAllMapsTitle = "delete-all-maps-title"; const string DeleteAllMapsTitle = "delete-all-maps-title";
[TranslationReference] [TranslationReference]
static readonly string DeleteAllMapsPrompt = "delete-all-maps-prompt"; const string DeleteAllMapsPrompt = "delete-all-maps-prompt";
[TranslationReference] [TranslationReference]
static readonly string DeleteAllMapsAccept = "delete-all-maps-accept"; const string DeleteAllMapsAccept = "delete-all-maps-accept";
[TranslationReference] [TranslationReference]
static readonly string OrderMapsByPlayers = "order-maps-players"; const string OrderMapsByPlayers = "order-maps-players";
[TranslationReference] [TranslationReference]
static readonly string OrderMapsByDate = "order-maps-date"; const string OrderMapsByDate = "order-maps-date";
readonly string allMaps;
readonly Widget widget; readonly Widget widget;
readonly DropDownButtonWidget gameModeDropdown; readonly DropDownButtonWidget gameModeDropdown;

View File

@@ -26,22 +26,22 @@ namespace OpenRA.Mods.Common.Widgets.Logic
enum PlayingVideo { None, Info, Briefing, GameStart } enum PlayingVideo { None, Info, Briefing, GameStart }
[TranslationReference] [TranslationReference]
static readonly string NoVideoTitle = "no-video-title"; const string NoVideoTitle = "no-video-title";
[TranslationReference] [TranslationReference]
static readonly string NoVideoPrompt = "no-video-prompt"; const string NoVideoPrompt = "no-video-prompt";
[TranslationReference] [TranslationReference]
static readonly string NoVideoCancel = "no-video-cancel"; const string NoVideoCancel = "no-video-cancel";
[TranslationReference] [TranslationReference]
static readonly string CantPlayTitle = "cant-play-title"; const string CantPlayTitle = "cant-play-title";
[TranslationReference] [TranslationReference]
static readonly string CantPlayPrompt = "cant-play-prompt"; const string CantPlayPrompt = "cant-play-prompt";
[TranslationReference] [TranslationReference]
static readonly string CantPlayCancel = "cant-play-cancel"; const string CantPlayCancel = "cant-play-cancel";
readonly ModData modData; readonly ModData modData;
readonly Action onStart; readonly Action onStart;

View File

@@ -19,10 +19,10 @@ namespace OpenRA.Mods.Common.Widgets.Logic
public class MusicPlayerLogic : ChromeLogic public class MusicPlayerLogic : ChromeLogic
{ {
[TranslationReference] [TranslationReference]
static readonly string SoundMuted = "sound-muted"; const string SoundMuted = "sound-muted";
[TranslationReference] [TranslationReference]
static readonly string NoSongPlaying = "no-song-playing"; const string NoSongPlaying = "no-song-playing";
readonly ScrollPanelWidget musicList; readonly ScrollPanelWidget musicList;
readonly ScrollItemWidget itemTemplate; readonly ScrollItemWidget itemTemplate;

View File

@@ -18,14 +18,14 @@ namespace OpenRA.Mods.Common.Widgets.Logic
[ChromeLogicArgsHotkeys("MuteAudioKey")] [ChromeLogicArgsHotkeys("MuteAudioKey")]
public class MuteHotkeyLogic : SingleHotkeyBaseLogic public class MuteHotkeyLogic : SingleHotkeyBaseLogic
{ {
[TranslationReference]
const string AudioMuted = "audio-muted";
[TranslationReference]
const string AudioUnmuted = "audio-unmuted";
readonly ModData modData; readonly ModData modData;
[TranslationReference]
static readonly string AudioMuted = "audio-muted";
[TranslationReference]
static readonly string AudioUnmuted = "audio-unmuted";
[ObjectCreator.UseCtor] [ObjectCreator.UseCtor]
public MuteHotkeyLogic(Widget widget, ModData modData, Dictionary<string, MiniYaml> logicArgs) public MuteHotkeyLogic(Widget widget, ModData modData, Dictionary<string, MiniYaml> logicArgs)
: base(widget, modData, "MuteAudioKey", "GLOBAL_KEYHANDLER", logicArgs) : base(widget, modData, "MuteAudioKey", "GLOBAL_KEYHANDLER", logicArgs)

View File

@@ -132,10 +132,10 @@ namespace OpenRA.Mods.Common.Widgets.Logic
public class RegisteredProfileTooltipLogic : ChromeLogic public class RegisteredProfileTooltipLogic : ChromeLogic
{ {
[TranslationReference] [TranslationReference]
static readonly string LoadingPlayerProfile = "loading-player-profile"; const string LoadingPlayerProfile = "loading-player-profile";
[TranslationReference] [TranslationReference]
static readonly string LoadingPlayerProfileFailed = "loading-player-profile-failed"; const string LoadingPlayerProfileFailed = "loading-player-profile-failed";
readonly PlayerDatabase playerDatabase; readonly PlayerDatabase playerDatabase;
PlayerProfile profile; PlayerProfile profile;

View File

@@ -26,82 +26,82 @@ namespace OpenRA.Mods.Common.Widgets.Logic
public class ReplayBrowserLogic : ChromeLogic public class ReplayBrowserLogic : ChromeLogic
{ {
[TranslationReference("time")] [TranslationReference("time")]
static readonly string Duration = "duration"; const string Duration = "duration";
[TranslationReference] [TranslationReference]
static readonly string Singleplayer = "singleplayer"; const string Singleplayer = "singleplayer";
[TranslationReference] [TranslationReference]
static readonly string Multiplayer = "multiplayer"; const string Multiplayer = "multiplayer";
[TranslationReference] [TranslationReference]
static readonly string Today = "today"; const string Today = "today";
[TranslationReference] [TranslationReference]
static readonly string LastWeek = "last-week"; const string LastWeek = "last-week";
[TranslationReference] [TranslationReference]
static readonly string LastFortnight = "last-fortnight"; const string LastFortnight = "last-fortnight";
[TranslationReference] [TranslationReference]
static readonly string LastMonth = "last-month"; const string LastMonth = "last-month";
[TranslationReference] [TranslationReference]
static readonly string ReplayDurationVeryShort = "replay-duration-very-short"; const string ReplayDurationVeryShort = "replay-duration-very-short";
[TranslationReference] [TranslationReference]
static readonly string ReplayDurationShort = "replay-duration-short"; const string ReplayDurationShort = "replay-duration-short";
[TranslationReference] [TranslationReference]
static readonly string ReplayDurationMedium = "replay-duration-medium"; const string ReplayDurationMedium = "replay-duration-medium";
[TranslationReference] [TranslationReference]
static readonly string ReplayDurationLong = "replay-duration-long"; const string ReplayDurationLong = "replay-duration-long";
[TranslationReference] [TranslationReference]
static readonly string RenameReplayTitle = "rename-replay-title"; const string RenameReplayTitle = "rename-replay-title";
[TranslationReference] [TranslationReference]
static readonly string RenameReplayPrompt = "rename-replay-prompt"; const string RenameReplayPrompt = "rename-replay-prompt";
[TranslationReference] [TranslationReference]
static readonly string RenameReplayAccept = "rename-replay-accept"; const string RenameReplayAccept = "rename-replay-accept";
[TranslationReference] [TranslationReference]
static readonly string DeleteReplayTitle = "delete-replay-title"; const string DeleteReplayTitle = "delete-replay-title";
[TranslationReference("replay")] [TranslationReference("replay")]
static readonly string DeleteReplayPrompt = "delete-replay-prompt"; const string DeleteReplayPrompt = "delete-replay-prompt";
[TranslationReference] [TranslationReference]
static readonly string DeleteReplayAccept = "delete-replay-accept"; const string DeleteReplayAccept = "delete-replay-accept";
[TranslationReference] [TranslationReference]
static readonly string DeleteAllReplaysTitle = "delete-all-replays-title"; const string DeleteAllReplaysTitle = "delete-all-replays-title";
[TranslationReference("count")] [TranslationReference("count")]
static readonly string DeleteAllReplaysPrompt = "delete-all-replays-prompt"; const string DeleteAllReplaysPrompt = "delete-all-replays-prompt";
[TranslationReference] [TranslationReference]
static readonly string DeleteAllReplaysAccept = "delete-all-replays-accept"; const string DeleteAllReplaysAccept = "delete-all-replays-accept";
[TranslationReference("file")] [TranslationReference("file")]
static readonly string ReplayDeletionFailed = "replay-deletion-failed"; const string ReplayDeletionFailed = "replay-deletion-failed";
[TranslationReference] [TranslationReference]
static readonly string Players = "players"; const string Players = "players";
[TranslationReference("team")] [TranslationReference("team")]
static readonly string TeamNumber = "team-number"; const string TeamNumber = "team-number";
[TranslationReference] [TranslationReference]
static readonly string NoTeam = "no-team"; const string NoTeam = "no-team";
[TranslationReference] [TranslationReference]
static readonly string Victory = "victory"; const string Victory = "victory";
[TranslationReference] [TranslationReference]
static readonly string Defeat = "defeat"; const string Defeat = "defeat";
static Filter filter = new Filter(); static Filter filter = new Filter();

View File

@@ -18,28 +18,28 @@ namespace OpenRA.Mods.Common.Widgets.Logic
public static class ReplayUtils public static class ReplayUtils
{ {
[TranslationReference] [TranslationReference]
static readonly string IncompatibleReplayTitle = "incompatible-replay-title"; const string IncompatibleReplayTitle = "incompatible-replay-title";
[TranslationReference] [TranslationReference]
static readonly string IncompatibleReplayPrompt = "incompatible-replay-prompt"; const string IncompatibleReplayPrompt = "incompatible-replay-prompt";
[TranslationReference] [TranslationReference]
static readonly string IncompatibleReplayAccept = "incompatible-replay-accept"; const string IncompatibleReplayAccept = "incompatible-replay-accept";
[TranslationReference] [TranslationReference]
static readonly string UnknownVersion = "incompatible-replay-unknown-version"; const string UnknownVersion = "incompatible-replay-unknown-version";
[TranslationReference] [TranslationReference]
static readonly string UnknownMod = "incompatible-replay-unknown-mod"; const string UnknownMod = "incompatible-replay-unknown-mod";
[TranslationReference("mod")] [TranslationReference("mod")]
static readonly string UnvailableMod = "incompatible-replay-unavailable-mod"; const string UnvailableMod = "incompatible-replay-unavailable-mod";
[TranslationReference("version")] [TranslationReference("version")]
static readonly string IncompatibleVersion = "incompatible-replay-incompatible-version"; const string IncompatibleVersion = "incompatible-replay-incompatible-version";
[TranslationReference("map")] [TranslationReference("map")]
static readonly string UnvailableMap = "incompatible-replay-unavailable-map"; const string UnvailableMap = "incompatible-replay-unavailable-map";
static readonly Action DoNothing = () => { }; static readonly Action DoNothing = () => { };

View File

@@ -20,37 +20,37 @@ namespace OpenRA.Mods.Common.Widgets.Logic
public class ServerCreationLogic : ChromeLogic public class ServerCreationLogic : ChromeLogic
{ {
[TranslationReference] [TranslationReference]
static readonly string InternetServerNatA = "internet-server-nat-A"; const string InternetServerNatA = "internet-server-nat-A";
[TranslationReference] [TranslationReference]
static readonly string InternetServerNatBenabled = "internet-server-nat-B-enabled"; const string InternetServerNatBenabled = "internet-server-nat-B-enabled";
[TranslationReference] [TranslationReference]
static readonly string InternetServerNatBnotSupported = "internet-server-nat-B-not-supported"; const string InternetServerNatBnotSupported = "internet-server-nat-B-not-supported";
[TranslationReference] [TranslationReference]
static readonly string InternetServerNatBdisabled = "internet-server-nat-B-disabled"; const string InternetServerNatBdisabled = "internet-server-nat-B-disabled";
[TranslationReference] [TranslationReference]
static readonly string InternetServerNatC = "internet-server-nat-C"; const string InternetServerNatC = "internet-server-nat-C";
[TranslationReference] [TranslationReference]
static readonly string LocalServer = "local-server"; const string LocalServer = "local-server";
[TranslationReference("port")] [TranslationReference("port")]
static readonly string ServerCreationFailedPrompt = "server-creation-failed-prompt"; const string ServerCreationFailedPrompt = "server-creation-failed-prompt";
[TranslationReference] [TranslationReference]
static readonly string ServerCreationFailedPortUsed = "server-creation-failed-port-used"; const string ServerCreationFailedPortUsed = "server-creation-failed-port-used";
[TranslationReference("message", "code")] [TranslationReference("message", "code")]
static readonly string ServerCreationFailedError = "server-creation-failed-error"; const string ServerCreationFailedError = "server-creation-failed-error";
[TranslationReference] [TranslationReference]
static readonly string ServerCreationFailedTitle = "server-creation-failed-title"; const string ServerCreationFailedTitle = "server-creation-failed-title";
[TranslationReference] [TranslationReference]
static readonly string ServerCreationFailedCancel = "server-creation-failed-cancel"; const string ServerCreationFailedCancel = "server-creation-failed-cancel";
readonly Widget panel; readonly Widget panel;
readonly ModData modData; readonly ModData modData;

View File

@@ -26,72 +26,73 @@ namespace OpenRA.Mods.Common.Widgets.Logic
public class ServerListLogic : ChromeLogic public class ServerListLogic : ChromeLogic
{ {
[TranslationReference] [TranslationReference]
static readonly string SearchStatusFailed = "search-status-failed"; const string SearchStatusFailed = "search-status-failed";
[TranslationReference] [TranslationReference]
static readonly string SearchStatusNoGames = "search-status-no-games"; const string SearchStatusNoGames = "search-status-no-games";
[TranslationReference("players")] [TranslationReference("players")]
static readonly string PlayersOnline = "players-online"; const string PlayersOnline = "players-online";
[TranslationReference] [TranslationReference]
static readonly string NoServerSelected = "no-server-selected"; const string NoServerSelected = "no-server-selected";
readonly string noServerSelected;
[TranslationReference] [TranslationReference]
static readonly string MapStatusSearching = "map-status-searching"; const string MapStatusSearching = "map-status-searching";
readonly string mapStatusSearching;
[TranslationReference] [TranslationReference]
static readonly string MapClassificationUnknown = "map-classification-unknown"; const string MapClassificationUnknown = "map-classification-unknown";
readonly string mapClassificationUnknown;
[TranslationReference("players")] [TranslationReference("players")]
static readonly string PlayersLabel = "players-label"; const string PlayersLabel = "players-label";
[TranslationReference("bots")] [TranslationReference("bots")]
static readonly string BotsLabel = "bots-label"; const string BotsLabel = "bots-label";
[TranslationReference("spectators")] [TranslationReference("spectators")]
static readonly string SpectatorsLabel = "spectators-label"; const string SpectatorsLabel = "spectators-label";
[TranslationReference] [TranslationReference]
static readonly string Players = "players"; const string Players = "players";
[TranslationReference("team")] [TranslationReference("team")]
static readonly string TeamNumber = "team-number"; const string TeamNumber = "team-number";
[TranslationReference] [TranslationReference]
static readonly string NoTeam = "no-team"; const string NoTeam = "no-team";
[TranslationReference] [TranslationReference]
static readonly string Spectators = "spectators"; const string Spectators = "spectators";
[TranslationReference("players")] [TranslationReference("players")]
static readonly string OtherPlayers = "n-other-players"; const string OtherPlayers = "n-other-players";
[TranslationReference] [TranslationReference]
static readonly string Playing = "playing"; const string Playing = "playing";
readonly string playing;
[TranslationReference] [TranslationReference]
static readonly string Waiting = "waiting"; const string Waiting = "waiting";
readonly string waiting;
[TranslationReference("minutes")] [TranslationReference("minutes")]
static readonly string InProgress = "in-progress-for"; const string InProgress = "in-progress-for";
[TranslationReference] [TranslationReference]
static readonly string PasswordProtected = "password-protected"; const string PasswordProtected = "password-protected";
[TranslationReference] [TranslationReference]
static readonly string WaitingForPlayers = "waiting-for-players"; const string WaitingForPlayers = "waiting-for-players";
[TranslationReference] [TranslationReference]
static readonly string ServerShuttingDown = "server-shutting-down"; const string ServerShuttingDown = "server-shutting-down";
[TranslationReference] [TranslationReference]
static readonly string UnknownServerState = "unknown-server-state"; const string UnknownServerState = "unknown-server-state";
readonly string noServerSelected;
readonly string mapStatusSearching;
readonly string mapClassificationUnknown;
readonly string playing;
readonly string waiting;
readonly Color incompatibleVersionColor; readonly Color incompatibleVersionColor;
readonly Color incompatibleProtectedGameColor; readonly Color incompatibleProtectedGameColor;

View File

@@ -23,48 +23,46 @@ namespace OpenRA.Mods.Common.Widgets.Logic
public class DisplaySettingsLogic : ChromeLogic public class DisplaySettingsLogic : ChromeLogic
{ {
[TranslationReference] [TranslationReference]
static readonly string Close = "close"; const string Close = "close";
[TranslationReference] [TranslationReference]
static readonly string Medium = "medium"; const string Medium = "medium";
[TranslationReference] [TranslationReference]
static readonly string Far = "far"; const string Far = "far";
[TranslationReference] [TranslationReference]
static readonly string Furthest = "furthest"; const string Furthest = "furthest";
[TranslationReference] [TranslationReference]
static readonly string Windowed = "windowed"; const string Windowed = "windowed";
[TranslationReference] [TranslationReference]
static readonly string LegacyFullscreen = "legacy-fullscreen"; const string LegacyFullscreen = "legacy-fullscreen";
readonly string legacyFullscreen;
[TranslationReference] [TranslationReference]
static readonly string Fullscreen = "fullscreen"; const string Fullscreen = "fullscreen";
readonly string fullscreen;
[TranslationReference("number")] [TranslationReference("number")]
static readonly string Display = "display"; const string Display = "display";
[TranslationReference] [TranslationReference]
static readonly string Standard = "standard"; const string Standard = "standard";
[TranslationReference] [TranslationReference]
static readonly string ShowOnDamage = "show-on-damage"; const string ShowOnDamage = "show-on-damage";
[TranslationReference] [TranslationReference]
static readonly string AlwaysShow = "always-show"; const string AlwaysShow = "always-show";
[TranslationReference] [TranslationReference]
static readonly string Automatic = "automatic"; const string Automatic = "automatic";
[TranslationReference] [TranslationReference]
static readonly string Manual = "manual"; const string Manual = "manual";
[TranslationReference] [TranslationReference]
static readonly string Disabled = "disabled"; const string Disabled = "disabled";
static readonly int OriginalVideoDisplay; static readonly int OriginalVideoDisplay;
static readonly WindowMode OriginalGraphicsMode; static readonly WindowMode OriginalGraphicsMode;
@@ -83,6 +81,9 @@ namespace OpenRA.Mods.Common.Widgets.Logic
readonly string manual; readonly string manual;
readonly string disabled; readonly string disabled;
readonly string legacyFullscreen;
readonly string fullscreen;
static DisplaySettingsLogic() static DisplaySettingsLogic()
{ {
var original = Game.Settings; var original = Game.Settings;

View File

@@ -18,42 +18,43 @@ namespace OpenRA.Mods.Common.Widgets.Logic
public class InputSettingsLogic : ChromeLogic public class InputSettingsLogic : ChromeLogic
{ {
[TranslationReference] [TranslationReference]
static readonly string Classic = "classic"; const string Classic = "classic";
readonly string classic;
[TranslationReference] [TranslationReference]
static readonly string Modern = "modern"; const string Modern = "modern";
readonly string modern;
[TranslationReference] [TranslationReference]
static readonly string Disabled = "disabled"; const string Disabled = "disabled";
[TranslationReference] [TranslationReference]
static readonly string Standard = "standard"; const string Standard = "standard";
[TranslationReference] [TranslationReference]
static readonly string Inverted = "inverted"; const string Inverted = "inverted";
[TranslationReference] [TranslationReference]
static readonly string Joystick = "joystick"; const string Joystick = "joystick";
[TranslationReference] [TranslationReference]
static readonly string Alt = "alt"; const string Alt = "alt";
[TranslationReference] [TranslationReference]
static readonly string Ctrl = "ctrl"; const string Ctrl = "ctrl";
[TranslationReference] [TranslationReference]
static readonly string Meta = "meta"; const string Meta = "meta";
[TranslationReference] [TranslationReference]
static readonly string Shift = "shift"; const string Shift = "shift";
[TranslationReference] [TranslationReference]
static readonly string None = "none"; const string None = "none";
static InputSettingsLogic() { } static InputSettingsLogic() { }
readonly string classic;
readonly string modern;
readonly ModData modData; readonly ModData modData;
[ObjectCreator.UseCtor] [ObjectCreator.UseCtor]

View File

@@ -20,37 +20,37 @@ namespace OpenRA.Mods.Common.Widgets.Logic
public class SettingsLogic : ChromeLogic public class SettingsLogic : ChromeLogic
{ {
[TranslationReference] [TranslationReference]
static readonly string SettingsSaveTitle = "settings-save-title"; const string SettingsSaveTitle = "settings-save-title";
[TranslationReference] [TranslationReference]
static readonly string SettingsSavePrompt = "settings-save-prompt"; const string SettingsSavePrompt = "settings-save-prompt";
[TranslationReference] [TranslationReference]
static readonly string SettingsSaveCancel = "settings-save-cancel"; const string SettingsSaveCancel = "settings-save-cancel";
[TranslationReference] [TranslationReference]
static readonly string RestartTitle = "restart-title"; const string RestartTitle = "restart-title";
[TranslationReference] [TranslationReference]
static readonly string RestartPrompt = "restart-prompt"; const string RestartPrompt = "restart-prompt";
[TranslationReference] [TranslationReference]
static readonly string RestartAccept = "restart-accept"; const string RestartAccept = "restart-accept";
[TranslationReference] [TranslationReference]
static readonly string RestartCancel = "restart-cancel"; const string RestartCancel = "restart-cancel";
[TranslationReference("panel")] [TranslationReference("panel")]
static readonly string ResetTitle = "reset-title"; const string ResetTitle = "reset-title";
[TranslationReference] [TranslationReference]
static readonly string ResetPrompt = "reset-prompt"; const string ResetPrompt = "reset-prompt";
[TranslationReference] [TranslationReference]
static readonly string ResetAccept = "reset-accept"; const string ResetAccept = "reset-accept";
[TranslationReference] [TranslationReference]
static readonly string ResetCancel = "reset-cancel"; const string ResetCancel = "reset-cancel";
readonly Dictionary<string, Func<bool>> leavePanelActions = new Dictionary<string, Func<bool>>(); readonly Dictionary<string, Func<bool>> leavePanelActions = new Dictionary<string, Func<bool>>();
readonly Dictionary<string, Action> resetPanelActions = new Dictionary<string, Action>(); readonly Dictionary<string, Action> resetPanelActions = new Dictionary<string, Action>();