diff --git a/.config/dotnet-tools.json b/.config/dotnet-tools.json
index b3f7c67c51..97fcb52ab1 100644
--- a/.config/dotnet-tools.json
+++ b/.config/dotnet-tools.json
@@ -27,7 +27,7 @@
]
},
"ppy.localisationanalyser.tools": {
- "version": "2021.608.0",
+ "version": "2021.705.0",
"commands": [
"localisation"
]
diff --git a/osu.Android.props b/osu.Android.props
index 9067ae1cd9..9280eaf97c 100644
--- a/osu.Android.props
+++ b/osu.Android.props
@@ -51,8 +51,8 @@
-
-
+
+
diff --git a/osu.Game.Tests/Visual/Multiplayer/TestSceneMultiplayerReadyButton.cs b/osu.Game.Tests/Visual/Multiplayer/TestSceneMultiplayerReadyButton.cs
index 0e036e8868..820b403a10 100644
--- a/osu.Game.Tests/Visual/Multiplayer/TestSceneMultiplayerReadyButton.cs
+++ b/osu.Game.Tests/Visual/Multiplayer/TestSceneMultiplayerReadyButton.cs
@@ -113,10 +113,10 @@ namespace osu.Game.Tests.Visual.Multiplayer
});
addClickButtonStep();
- AddAssert("user is ready", () => Client.Room?.Users[0].State == MultiplayerUserState.Ready);
+ AddUntilStep("user is ready", () => Client.Room?.Users[0].State == MultiplayerUserState.Ready);
addClickButtonStep();
- AddAssert("user is idle", () => Client.Room?.Users[0].State == MultiplayerUserState.Idle);
+ AddUntilStep("user is idle", () => Client.Room?.Users[0].State == MultiplayerUserState.Idle);
}
[TestCase(true)]
@@ -132,7 +132,7 @@ namespace osu.Game.Tests.Visual.Multiplayer
});
addClickButtonStep();
- AddAssert("user is ready", () => Client.Room?.Users[0].State == MultiplayerUserState.Ready);
+ AddUntilStep("user is ready", () => Client.Room?.Users[0].State == MultiplayerUserState.Ready);
verifyGameplayStartFlow();
}
@@ -206,8 +206,9 @@ namespace osu.Game.Tests.Visual.Multiplayer
private void verifyGameplayStartFlow()
{
+ AddUntilStep("user is ready", () => Client.Room?.Users[0].State == MultiplayerUserState.Ready);
addClickButtonStep();
- AddAssert("user waiting for load", () => Client.Room?.Users[0].State == MultiplayerUserState.WaitingForLoad);
+ AddUntilStep("user waiting for load", () => Client.Room?.Users[0].State == MultiplayerUserState.WaitingForLoad);
AddAssert("ready button disabled", () => !button.ChildrenOfType().Single().Enabled.Value);
AddStep("transitioned to gameplay", () => readyClickOperation.Dispose());
@@ -218,7 +219,7 @@ namespace osu.Game.Tests.Visual.Multiplayer
Client.ChangeUserState(Client.Room?.Users[0].UserID ?? 0, MultiplayerUserState.FinishedPlay);
});
- AddAssert("ready button enabled", () => button.ChildrenOfType().Single().Enabled.Value);
+ AddUntilStep("ready button enabled", () => button.ChildrenOfType().Single().Enabled.Value);
}
}
}
diff --git a/osu.Game.Tests/Visual/Multiplayer/TestSceneMultiplayerSpectateButton.cs b/osu.Game.Tests/Visual/Multiplayer/TestSceneMultiplayerSpectateButton.cs
index 4966dfbe50..3d08d5da9e 100644
--- a/osu.Game.Tests/Visual/Multiplayer/TestSceneMultiplayerSpectateButton.cs
+++ b/osu.Game.Tests/Visual/Multiplayer/TestSceneMultiplayerSpectateButton.cs
@@ -122,10 +122,10 @@ namespace osu.Game.Tests.Visual.Multiplayer
public void TestToggleWhenIdle(MultiplayerUserState initialState)
{
addClickSpectateButtonStep();
- AddAssert("user is spectating", () => Client.Room?.Users[0].State == MultiplayerUserState.Spectating);
+ AddUntilStep("user is spectating", () => Client.Room?.Users[0].State == MultiplayerUserState.Spectating);
addClickSpectateButtonStep();
- AddAssert("user is idle", () => Client.Room?.Users[0].State == MultiplayerUserState.Idle);
+ AddUntilStep("user is idle", () => Client.Room?.Users[0].State == MultiplayerUserState.Idle);
}
[TestCase(MultiplayerRoomState.Closed)]
@@ -174,9 +174,9 @@ namespace osu.Game.Tests.Visual.Multiplayer
});
private void assertSpectateButtonEnablement(bool shouldBeEnabled)
- => AddAssert($"spectate button {(shouldBeEnabled ? "is" : "is not")} enabled", () => spectateButton.ChildrenOfType().Single().Enabled.Value == shouldBeEnabled);
+ => AddUntilStep($"spectate button {(shouldBeEnabled ? "is" : "is not")} enabled", () => spectateButton.ChildrenOfType().Single().Enabled.Value == shouldBeEnabled);
private void assertReadyButtonEnablement(bool shouldBeEnabled)
- => AddAssert($"ready button {(shouldBeEnabled ? "is" : "is not")} enabled", () => readyButton.ChildrenOfType().Single().Enabled.Value == shouldBeEnabled);
+ => AddUntilStep($"ready button {(shouldBeEnabled ? "is" : "is not")} enabled", () => readyButton.ChildrenOfType().Single().Enabled.Value == shouldBeEnabled);
}
}
diff --git a/osu.Game/.editorconfig b/osu.Game/.editorconfig
new file mode 100644
index 0000000000..46a3dafd04
--- /dev/null
+++ b/osu.Game/.editorconfig
@@ -0,0 +1,2 @@
+[*.cs]
+dotnet_diagnostic.OLOC001.prefix_namespace = osu.Game.Resources.Localisation
\ No newline at end of file
diff --git a/osu.Game/Localisation/ButtonSystem.ja.resx b/osu.Game/Localisation/ButtonSystem.ja.resx
deleted file mode 100644
index 02f3e7ce2f..0000000000
--- a/osu.Game/Localisation/ButtonSystem.ja.resx
+++ /dev/null
@@ -1,38 +0,0 @@
-
-
- text/microsoft-resx
-
-
- 1.3
-
-
- System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- ソロ
-
-
- プレイリスト
-
-
- 遊ぶ
-
-
- マルチ
-
-
- エディット
-
-
- ブラウズ
-
-
- 閉じる
-
-
- 設定
-
-
diff --git a/osu.Game/Localisation/ButtonSystem.resx b/osu.Game/Localisation/ButtonSystem.resx
deleted file mode 100644
index d72ffff8be..0000000000
--- a/osu.Game/Localisation/ButtonSystem.resx
+++ /dev/null
@@ -1,88 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- text/microsoft-resx
-
-
- 2.0
-
-
- System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- solo
-
-
- multi
-
-
- playlists
-
-
- play
-
-
- edit
-
-
- browse
-
-
- settings
-
-
- back
-
-
- exit
-
-
\ No newline at end of file
diff --git a/osu.Game/Localisation/ButtonSystemStrings.cs b/osu.Game/Localisation/ButtonSystemStrings.cs
index 8083f80782..ba4abf63a6 100644
--- a/osu.Game/Localisation/ButtonSystemStrings.cs
+++ b/osu.Game/Localisation/ButtonSystemStrings.cs
@@ -7,7 +7,7 @@ namespace osu.Game.Localisation
{
public static class ButtonSystemStrings
{
- private const string prefix = @"osu.Game.Localisation.ButtonSystem";
+ private const string prefix = @"osu.Game.Resources.Localisation.ButtonSystem";
///
/// "solo"
@@ -56,4 +56,4 @@ namespace osu.Game.Localisation
private static string getKey(string key) => $@"{prefix}:{key}";
}
-}
\ No newline at end of file
+}
diff --git a/osu.Game/Localisation/Chat.resx b/osu.Game/Localisation/Chat.resx
deleted file mode 100644
index 055e351463..0000000000
--- a/osu.Game/Localisation/Chat.resx
+++ /dev/null
@@ -1,67 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- text/microsoft-resx
-
-
- 2.0
-
-
- System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- chat
-
-
- join the real-time discussion
-
-
\ No newline at end of file
diff --git a/osu.Game/Localisation/ChatStrings.cs b/osu.Game/Localisation/ChatStrings.cs
index 636351470b..7bd284a94e 100644
--- a/osu.Game/Localisation/ChatStrings.cs
+++ b/osu.Game/Localisation/ChatStrings.cs
@@ -7,7 +7,7 @@ namespace osu.Game.Localisation
{
public static class ChatStrings
{
- private const string prefix = @"osu.Game.Localisation.Chat";
+ private const string prefix = @"osu.Game.Resources.Localisation.Chat";
///
/// "chat"
diff --git a/osu.Game/Localisation/Common.resx b/osu.Game/Localisation/Common.resx
deleted file mode 100644
index 59de16a037..0000000000
--- a/osu.Game/Localisation/Common.resx
+++ /dev/null
@@ -1,64 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- text/microsoft-resx
-
-
- 2.0
-
-
- System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- Cancel
-
-
\ No newline at end of file
diff --git a/osu.Game/Localisation/CommonStrings.cs b/osu.Game/Localisation/CommonStrings.cs
index ced0d80955..50e01f06fc 100644
--- a/osu.Game/Localisation/CommonStrings.cs
+++ b/osu.Game/Localisation/CommonStrings.cs
@@ -7,7 +7,7 @@ namespace osu.Game.Localisation
{
public static class CommonStrings
{
- private const string prefix = @"osu.Game.Localisation.Common";
+ private const string prefix = @"osu.Game.Resources.Localisation.Common";
///
/// "Cancel"
diff --git a/osu.Game/Localisation/Notifications.resx b/osu.Game/Localisation/Notifications.resx
deleted file mode 100644
index 08db240ba2..0000000000
--- a/osu.Game/Localisation/Notifications.resx
+++ /dev/null
@@ -1,67 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- text/microsoft-resx
-
-
- 2.0
-
-
- System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- notifications
-
-
- waiting for 'ya
-
-
\ No newline at end of file
diff --git a/osu.Game/Localisation/NotificationsStrings.cs b/osu.Game/Localisation/NotificationsStrings.cs
index ba28ef5560..382e0d81f4 100644
--- a/osu.Game/Localisation/NotificationsStrings.cs
+++ b/osu.Game/Localisation/NotificationsStrings.cs
@@ -7,7 +7,7 @@ namespace osu.Game.Localisation
{
public static class NotificationsStrings
{
- private const string prefix = @"osu.Game.Localisation.Notifications";
+ private const string prefix = @"osu.Game.Resources.Localisation.Notifications";
///
/// "notifications"
diff --git a/osu.Game/Localisation/NowPlaying.resx b/osu.Game/Localisation/NowPlaying.resx
deleted file mode 100644
index 40fda3e25b..0000000000
--- a/osu.Game/Localisation/NowPlaying.resx
+++ /dev/null
@@ -1,67 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- text/microsoft-resx
-
-
- 2.0
-
-
- System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- now playing
-
-
- manage the currently playing track
-
-
\ No newline at end of file
diff --git a/osu.Game/Localisation/NowPlayingStrings.cs b/osu.Game/Localisation/NowPlayingStrings.cs
index 47646b0f68..f334637338 100644
--- a/osu.Game/Localisation/NowPlayingStrings.cs
+++ b/osu.Game/Localisation/NowPlayingStrings.cs
@@ -7,7 +7,7 @@ namespace osu.Game.Localisation
{
public static class NowPlayingStrings
{
- private const string prefix = @"osu.Game.Localisation.NowPlaying";
+ private const string prefix = @"osu.Game.Resources.Localisation.NowPlaying";
///
/// "now playing"
diff --git a/osu.Game/Localisation/Settings.resx b/osu.Game/Localisation/Settings.resx
deleted file mode 100644
index 85c224cedf..0000000000
--- a/osu.Game/Localisation/Settings.resx
+++ /dev/null
@@ -1,67 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- text/microsoft-resx
-
-
- 2.0
-
-
- System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- settings
-
-
- change the way osu! behaves
-
-
\ No newline at end of file
diff --git a/osu.Game/Localisation/SettingsStrings.cs b/osu.Game/Localisation/SettingsStrings.cs
index f4b417fa28..aa2e2740eb 100644
--- a/osu.Game/Localisation/SettingsStrings.cs
+++ b/osu.Game/Localisation/SettingsStrings.cs
@@ -7,7 +7,7 @@ namespace osu.Game.Localisation
{
public static class SettingsStrings
{
- private const string prefix = @"osu.Game.Localisation.Settings";
+ private const string prefix = @"osu.Game.Resources.Localisation.Settings";
///
/// "settings"
diff --git a/osu.Game/osu.Game.csproj b/osu.Game/osu.Game.csproj
index 357aa89329..8a3c69e40c 100644
--- a/osu.Game/osu.Game.csproj
+++ b/osu.Game/osu.Game.csproj
@@ -31,13 +31,13 @@
-
+
all
runtime; build; native; contentfiles; analyzers; buildtransitive
-
-
+
+
diff --git a/osu.iOS.props b/osu.iOS.props
index e339e49187..2eea646c61 100644
--- a/osu.iOS.props
+++ b/osu.iOS.props
@@ -70,8 +70,8 @@
-
-
+
+
@@ -93,7 +93,7 @@
-
+