Fix UI
This commit is contained in:
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|
||||||
|
|||||||
17381
Scenes/MainMenu.unity
17381
Scenes/MainMenu.unity
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
@@ -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
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
7
UI/UI_Canvas.prefab.meta
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 8f73add37dd781d47af917c56220d19b
|
||||||
|
PrefabImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
Reference in New Issue
Block a user