This commit is contained in:
Dominik G.
2025-10-28 14:49:02 +01:00
parent d0a16d1e44
commit 2c283c6623
7 changed files with 17471 additions and 17182 deletions

View File

@@ -404,7 +404,7 @@ BlendTree:
m_Name: MoveTree m_Name: MoveTree
m_Childs: m_Childs:
- serializedVersion: 2 - serializedVersion: 2
m_Motion: {fileID: 3094330708855449807, guid: c133e3c197c12e04a9dd23bd0966910f, type: 3} m_Motion: {fileID: 3094330708855449807, guid: 6deac83e30d8acd4cbb8c7d8a11545bd, type: 3}
m_Threshold: 0 m_Threshold: 0
m_Position: {x: 0, y: 1} m_Position: {x: 0, y: 1}
m_TimeScale: 1 m_TimeScale: 1
@@ -412,7 +412,7 @@ BlendTree:
m_DirectBlendParameter: m_DirectBlendParameter:
m_Mirror: 0 m_Mirror: 0
- serializedVersion: 2 - serializedVersion: 2
m_Motion: {fileID: 3094330708855449807, guid: f1f1135ca9cfa8c47bf81718bb0d6873, type: 3} m_Motion: {fileID: 3094330708855449807, guid: a8e6c7cf678a13541a726c2ae9ec00e3, type: 3}
m_Threshold: 0 m_Threshold: 0
m_Position: {x: 0, y: -1} m_Position: {x: 0, y: -1}
m_TimeScale: 1 m_TimeScale: 1
@@ -420,7 +420,7 @@ BlendTree:
m_DirectBlendParameter: m_DirectBlendParameter:
m_Mirror: 0 m_Mirror: 0
- serializedVersion: 2 - serializedVersion: 2
m_Motion: {fileID: 3094330708855449807, guid: b702e254d5e77904da0429cfcbc77709, type: 3} m_Motion: {fileID: 3094330708855449807, guid: 9f9dbe8815370164d8a2214328af4f13, type: 3}
m_Threshold: 0 m_Threshold: 0
m_Position: {x: -1, y: 0} m_Position: {x: -1, y: 0}
m_TimeScale: 1 m_TimeScale: 1
@@ -428,7 +428,7 @@ BlendTree:
m_DirectBlendParameter: m_DirectBlendParameter:
m_Mirror: 0 m_Mirror: 0
- serializedVersion: 2 - serializedVersion: 2
m_Motion: {fileID: 3094330708855449807, guid: 2cd37dc84c089ac4981cd6d36abd33eb, type: 3} m_Motion: {fileID: 3094330708855449807, guid: 9f9dbe8815370164d8a2214328af4f13, type: 3}
m_Threshold: 0 m_Threshold: 0
m_Position: {x: 1, y: 0} m_Position: {x: 1, y: 0}
m_TimeScale: 1 m_TimeScale: 1
@@ -436,7 +436,7 @@ BlendTree:
m_DirectBlendParameter: m_DirectBlendParameter:
m_Mirror: 0 m_Mirror: 0
- serializedVersion: 2 - serializedVersion: 2
m_Motion: {fileID: 3094330708855449807, guid: 3a4cf5e04ded562489d1c3b2da8c2d7a, type: 3} m_Motion: {fileID: 3094330708855449807, guid: 2d491dc6ab8cc5045919954fe2601203, type: 3}
m_Threshold: 0 m_Threshold: 0
m_Position: {x: -0.707, y: 0.707} m_Position: {x: -0.707, y: 0.707}
m_TimeScale: 1 m_TimeScale: 1
@@ -444,7 +444,7 @@ BlendTree:
m_DirectBlendParameter: m_DirectBlendParameter:
m_Mirror: 0 m_Mirror: 0
- serializedVersion: 2 - serializedVersion: 2
m_Motion: {fileID: 3094330708855449807, guid: dd9cde7e792f5f946b091935d7903296, type: 3} m_Motion: {fileID: 3094330708855449807, guid: 152af2cd00aaae34e816ebb8deb4b68e, type: 3}
m_Threshold: 0 m_Threshold: 0
m_Position: {x: 0.707, y: 0.707} m_Position: {x: 0.707, y: 0.707}
m_TimeScale: 1 m_TimeScale: 1
@@ -452,7 +452,7 @@ BlendTree:
m_DirectBlendParameter: m_DirectBlendParameter:
m_Mirror: 0 m_Mirror: 0
- serializedVersion: 2 - serializedVersion: 2
m_Motion: {fileID: 3094330708855449807, guid: 5dcc71b9770f2554e8fd3ea0d6c1e1f4, type: 3} m_Motion: {fileID: 3094330708855449807, guid: 02fe127be7c987640bef36b78efaf2cf, type: 3}
m_Threshold: 0 m_Threshold: 0
m_Position: {x: -0.707, y: -0.707} m_Position: {x: -0.707, y: -0.707}
m_TimeScale: 1 m_TimeScale: 1
@@ -460,7 +460,7 @@ BlendTree:
m_DirectBlendParameter: m_DirectBlendParameter:
m_Mirror: 0 m_Mirror: 0
- serializedVersion: 2 - serializedVersion: 2
m_Motion: {fileID: 3094330708855449807, guid: 55d43189338018e4c9e0c2ce1f608563, type: 3} m_Motion: {fileID: 3094330708855449807, guid: ca7bf50d255ff5749a3a9ff602076af8, type: 3}
m_Threshold: 0 m_Threshold: 0
m_Position: {x: 0.707, y: -0.707} m_Position: {x: 0.707, y: -0.707}
m_TimeScale: 1 m_TimeScale: 1

View File

@@ -378,9 +378,36 @@ namespace MegaKoop.Steam
private void OnRichPresenceJoinRequestedCb(GameRichPresenceJoinRequested_t cb) private void OnRichPresenceJoinRequestedCb(GameRichPresenceJoinRequested_t cb)
{ {
// Some Steamworks.NET versions expose only m_rgchConnect here. // Parse steam://joinlobby/<appId>/<lobbyId>/<steamId> and join the lobby
// We cannot reliably parse lobby id across versions; log and rely on GameLobbyJoinRequested_t for lobby joins. string conn = cb.m_rgchConnect;
Debug.Log("[SteamLobbyService] RichPresence join requested - handle via GameLobbyJoinRequested or custom connect string."); if (!string.IsNullOrEmpty(conn))
{
try
{
var s = conn.Trim();
const string prefix = "steam://joinlobby/";
if (s.StartsWith(prefix, StringComparison.OrdinalIgnoreCase))
{
var rest = s.Substring(prefix.Length);
var parts = rest.Split('/');
// Expected: [appId, lobbyId, steamId]
if (parts.Length >= 2)
{
if (ulong.TryParse(parts[1], out var lobbyId))
{
var lobby = new CSteamID(lobbyId);
SteamMatchmaking.JoinLobby(lobby);
return;
}
}
}
}
catch (Exception ex)
{
Debug.LogWarning($"[SteamLobbyService] Failed to parse rich presence connect '{conn}': {ex.Message}");
}
}
Debug.LogWarning($"[SteamLobbyService] RichPresence join requested but could not parse connect '{conn}'.");
} }
#endregion #endregion

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

View File

@@ -87,6 +87,7 @@ namespace MegaKoop.UI
private string LobbyCode => steam != null ? steam.LobbyCode : string.Empty; private string LobbyCode => steam != null ? steam.LobbyCode : string.Empty;
private bool clientStartedFromSignal = false; private bool clientStartedFromSignal = false;
private bool leftDueToKick = false; private bool leftDueToKick = false;
private bool inviteOverlayRequested = false;
private void Awake() private void Awake()
{ {
@@ -456,8 +457,9 @@ namespace MegaKoop.UI
memberReadyCache.Clear(); memberReadyCache.Clear();
UpdateUIFromSteam(); UpdateUIFromSteam();
// Auto-open invite overlay for the host // Auto-open invite overlay for the host
if (steam != null && steam.IsInLobby && steam.IsHost) if (inviteOverlayRequested && steam != null && steam.IsInLobby && steam.IsHost)
{ {
inviteOverlayRequested = false;
steam.InviteFriends(); steam.InviteFriends();
if (!steam.IsOverlayEnabled()) ShowFriendsPanel(); if (!steam.IsOverlayEnabled()) ShowFriendsPanel();
} }
@@ -469,8 +471,9 @@ namespace MegaKoop.UI
memberReadyCache.Clear(); memberReadyCache.Clear();
UpdateUIFromSteam(); UpdateUIFromSteam();
// Auto-open invite overlay if we are the host entering our lobby // Auto-open invite overlay if we are the host entering our lobby
if (steam != null && steam.IsInLobby && steam.IsHost) if (inviteOverlayRequested && steam != null && steam.IsInLobby && steam.IsHost)
{ {
inviteOverlayRequested = false;
steam.InviteFriends(); steam.InviteFriends();
if (!steam.IsOverlayEnabled()) ShowFriendsPanel(); if (!steam.IsOverlayEnabled()) ShowFriendsPanel();
} }
@@ -481,6 +484,7 @@ namespace MegaKoop.UI
selectedPlayerSteamId = string.Empty; selectedPlayerSteamId = string.Empty;
memberReadyCache.Clear(); memberReadyCache.Clear();
UpdateUIFromSteam(); UpdateUIFromSteam();
inviteOverlayRequested = false;
} }
private void HandleLobbyCreatedSync() private void HandleLobbyCreatedSync()
@@ -579,6 +583,7 @@ namespace MegaKoop.UI
if (!IsInLobby) if (!IsInLobby)
{ {
// Create a lobby first; overlay will auto-open in callbacks // Create a lobby first; overlay will auto-open in callbacks
inviteOverlayRequested = true;
CreateLobby(); CreateLobby();
} }
else else

17162
UI/UI_Canvas.prefab Normal file

File diff suppressed because it is too large Load Diff

7
UI/UI_Canvas.prefab.meta Normal file
View File

@@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 8f73add37dd781d47af917c56220d19b
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant: