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

View File

@@ -378,9 +378,36 @@ namespace MegaKoop.Steam
private void OnRichPresenceJoinRequestedCb(GameRichPresenceJoinRequested_t cb)
{
// Some Steamworks.NET versions expose only m_rgchConnect here.
// We cannot reliably parse lobby id across versions; log and rely on GameLobbyJoinRequested_t for lobby joins.
Debug.Log("[SteamLobbyService] RichPresence join requested - handle via GameLobbyJoinRequested or custom connect string.");
// Parse steam://joinlobby/<appId>/<lobbyId>/<steamId> and join the lobby
string conn = cb.m_rgchConnect;
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

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 bool clientStartedFromSignal = false;
private bool leftDueToKick = false;
private bool inviteOverlayRequested = false;
private void Awake()
{
@@ -456,8 +457,9 @@ namespace MegaKoop.UI
memberReadyCache.Clear();
UpdateUIFromSteam();
// 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();
if (!steam.IsOverlayEnabled()) ShowFriendsPanel();
}
@@ -469,8 +471,9 @@ namespace MegaKoop.UI
memberReadyCache.Clear();
UpdateUIFromSteam();
// 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();
if (!steam.IsOverlayEnabled()) ShowFriendsPanel();
}
@@ -481,6 +484,7 @@ namespace MegaKoop.UI
selectedPlayerSteamId = string.Empty;
memberReadyCache.Clear();
UpdateUIFromSteam();
inviteOverlayRequested = false;
}
private void HandleLobbyCreatedSync()
@@ -579,6 +583,7 @@ namespace MegaKoop.UI
if (!IsInLobby)
{
// Create a lobby first; overlay will auto-open in callbacks
inviteOverlayRequested = true;
CreateLobby();
}
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: