2.10.9: beta notice in the MSCO menu and the in-game status bar
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -1,5 +1,11 @@
|
||||
# Changelog
|
||||
|
||||
## 2.10.9
|
||||
|
||||
- **Beta-Hinweis:** im MSCO-Menü steht „BETA“ neben dem Schriftzug und ein kurzer Hinweis, dass Fehler auftreten
|
||||
können; die Statusleiste im Spiel zeigt „MSCO BETA“
|
||||
- Die Statusleiste baut ihren Text nur noch bei Änderungen neu (nicht jedes Frame)
|
||||
|
||||
## 2.10.8
|
||||
|
||||
**Stabilität – weniger Hänger**
|
||||
|
||||
+15
@@ -73,6 +73,7 @@ namespace MSCO
|
||||
GUIStyle dangerStyle;
|
||||
GUIStyle windowBox, sidebarBox, rowBox, accentBox, pillStyle, pillMutedStyle, chipOnStyle, chipOffStyle;
|
||||
GUIStyle featuredRowBox, pillFeaturedStyle;
|
||||
GUIStyle betaPillStyle, betaNoteStyle;
|
||||
GUIStyle logoStyle, taglineStyle, navStyle, navActiveStyle, titleStyle, textStyle, captionStyle,
|
||||
fieldStyle, primaryStyle, secondaryStyle, statusStyle, tabStyle, headerCellStyle,
|
||||
rowNameStyle, rowTagStyle, badgeStyle, toggleStyle, placeholderStyle;
|
||||
@@ -193,6 +194,9 @@ namespace MSCO
|
||||
textX = r.x + S(72);
|
||||
}
|
||||
GUI.Label(new Rect(textX, r.y + S(24), r.xMax - textX, S(40)), "MSCO", logoStyle);
|
||||
// Beta-Abzeichen direkt hinter dem Schriftzug
|
||||
float logoWidth = logoStyle.CalcSize(new GUIContent("MSCO")).x;
|
||||
GUI.Box(new Rect(textX + logoWidth + S(6), r.y + S(36), S(40), S(18)), "BETA", betaPillStyle);
|
||||
GUI.Label(new Rect(r.x + S(22), r.y + S(70), r.width - S(30), S(20)), "MY SUMMER CAR ONLINE", taglineStyle);
|
||||
GUI.DrawTexture(new Rect(r.x + S(20), r.y + S(98), r.width - S(40), S(1)), texDivider);
|
||||
|
||||
@@ -206,6 +210,9 @@ namespace MSCO
|
||||
y += S(44);
|
||||
int modCount = ModLoader.All.Count;
|
||||
if (NavButton(new Rect(r.x, y, r.width, S(42)), "Mods" + (modCount > 0 ? " (" + modCount + ")" : ""), page == Page.Mods)) page = Page.Mods;
|
||||
y += S(54);
|
||||
GUI.Label(new Rect(r.x + S(22), y, r.width - S(40), S(64)),
|
||||
"MSCO is still in beta - bugs can happen. If something goes wrong, please tell us.", betaNoteStyle);
|
||||
|
||||
// Eigenes Hauptmenü: Spiel beenden (die Knöpfe des Spiel-Menüs sind ausgeblendet)
|
||||
if (quitConfirm)
|
||||
@@ -1120,6 +1127,14 @@ namespace MSCO
|
||||
|
||||
logoStyle = Label(P(28), Color.white, FontStyle.Bold);
|
||||
taglineStyle = Label(P(10), Muted, FontStyle.Bold);
|
||||
betaPillStyle = UiTheme.Panel9(UiTheme.Accent, 4);
|
||||
if (UiTheme.DynamicFont != null) betaPillStyle.font = UiTheme.DynamicFont;
|
||||
betaPillStyle.normal.textColor = new Color(0.1f, 0.07f, 0.02f);
|
||||
betaPillStyle.fontSize = P(10);
|
||||
betaPillStyle.fontStyle = FontStyle.Bold;
|
||||
betaPillStyle.alignment = TextAnchor.MiddleCenter;
|
||||
betaNoteStyle = Label(P(11), Muted, FontStyle.Normal);
|
||||
betaNoteStyle.wordWrap = true;
|
||||
titleStyle = Label(P(24), Color.white, FontStyle.Bold);
|
||||
textStyle = Label(P(13), Muted, FontStyle.Normal);
|
||||
textStyle.wordWrap = true;
|
||||
|
||||
@@ -11,7 +11,7 @@ namespace MSCO
|
||||
/// Version der Mod. Kleine Updates: nur die dritte Stelle erhöhen (2.9.1, 2.9.2 ...) - sie bleiben mit
|
||||
/// Servern und Mitspielern derselben ersten zwei Stellen kompatibel.
|
||||
/// </summary>
|
||||
public const string ModVersion = "2.10.8";
|
||||
public const string ModVersion = "2.10.9";
|
||||
/// <summary>
|
||||
/// Netzwerk-Version (die ersten beiden Stellen). Nur erhöhen, wenn sich das Protokoll inkompatibel ändert - dann
|
||||
/// auch GameServer.ModVersion im Server.
|
||||
|
||||
+11
-1
@@ -2725,12 +2725,22 @@ namespace MSCO
|
||||
InputLock.Set(overlays.AnyOpen && MenuHelper.InGame);
|
||||
}
|
||||
|
||||
string hudText;
|
||||
int hudTextKey;
|
||||
|
||||
void DrawHud()
|
||||
{
|
||||
// Statuszeile oben in der Mitte (links oben ist die Spielanzeige)
|
||||
string state = IsFullyConnected ? "CONNECTED" : IsPeerReady ? "SYNCING..." : "WAITING";
|
||||
string text = "MSCO • " + state + " • " + (dedicated ? "Server" : IsHost ? "Host" : "Client") + " • " +
|
||||
// Text nur neu bauen, wenn sich etwas geändert hat (nicht jedes Frame neue Strings)
|
||||
int key = (state.Length * 31 + players.Count) * 100003 + objects.Count + (dedicated ? 7 : IsHost ? 3 : 1) * 1000000007;
|
||||
if (hudText == null || key != hudTextKey)
|
||||
{
|
||||
hudTextKey = key;
|
||||
hudText = "MSCO BETA • " + state + " • " + (dedicated ? "Server" : IsHost ? "Host" : "Client") + " • " +
|
||||
players.Count + " player(s) • " + objects.Count + " synced objects";
|
||||
}
|
||||
string text = hudText;
|
||||
var rect = new Rect((Screen.width - 520) / 2f, 6, 520, 24);
|
||||
if (hudBox == null) hudBox = UiTheme.Panel9(new Color(0.06f, 0.06f, 0.07f, 0.85f), 8);
|
||||
GUI.Box(rect, GUIContent.none, hudBox);
|
||||
|
||||
Reference in New Issue
Block a user