mirror of
https://github.com/vrcx-team/VRCX.git
synced 2026-04-06 00:32:02 +02:00
Always run overlay when running VRCX in debug mode
This commit is contained in:
@@ -17,8 +17,10 @@ public static class OverlayClient
|
||||
private static readonly Uri WebsocketUri = new("ws://127.0.0.1:34582");
|
||||
private static WebsocketClient? _websocketClient;
|
||||
|
||||
public static bool Connected =>
|
||||
_websocketClient != null && _websocketClient.IsRunning;
|
||||
public static bool ConnectedAndActive =>
|
||||
_websocketClient != null && _websocketClient.IsRunning &&
|
||||
Connected &&
|
||||
OverlayProgram.VRCXVRInstance.IsActive();
|
||||
|
||||
public static async Task Init()
|
||||
|
||||
@@ -42,7 +42,9 @@ internal static class OverlayProgram
|
||||
private static async Task QuitProcess()
|
||||
{
|
||||
await Task.Delay(5000);
|
||||
while (OverlayClient.ConnectedAndActive)
|
||||
while (Program.LaunchDebug ?
|
||||
OverlayClient.Connected :
|
||||
OverlayClient.ConnectedAndActive)
|
||||
{
|
||||
await Task.Delay(500);
|
||||
}
|
||||
|
||||
@@ -16,20 +16,20 @@ namespace VRCX;
|
||||
public class OverlayServer
|
||||
{
|
||||
public static OverlayServer Instance { get; private set; }
|
||||
|
||||
|
||||
private static readonly Logger logger = LogManager.GetCurrentClassLogger();
|
||||
|
||||
|
||||
private static readonly Lock SendLock = new();
|
||||
private static readonly ConcurrentDictionary<WebSocket, byte> ConnectedWebSockets = new();
|
||||
private static CancellationTokenSource _cancellationToken;
|
||||
|
||||
|
||||
private static OverlayVars _overlayVars;
|
||||
|
||||
static OverlayServer()
|
||||
{
|
||||
Instance = new OverlayServer();
|
||||
}
|
||||
|
||||
|
||||
public async Task Init()
|
||||
{
|
||||
if (_cancellationToken != null && _cancellationToken.IsCancellationRequested)
|
||||
@@ -66,7 +66,7 @@ public class OverlayServer
|
||||
{
|
||||
if (_cancellationToken == null || _cancellationToken.IsCancellationRequested)
|
||||
return;
|
||||
|
||||
|
||||
foreach (var webSocket in ConnectedWebSockets.Keys)
|
||||
{
|
||||
if (webSocket == null || webSocket.State != WebSocketState.Open)
|
||||
@@ -90,7 +90,7 @@ public class OverlayServer
|
||||
{
|
||||
WebSocketContext webSocketContext;
|
||||
try
|
||||
{
|
||||
{
|
||||
webSocketContext = await listenerContext.AcceptWebSocketAsync(null);
|
||||
}
|
||||
catch (Exception e)
|
||||
@@ -100,7 +100,7 @@ public class OverlayServer
|
||||
logger.Error(e);
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
var webSocket = webSocketContext.WebSocket;
|
||||
try
|
||||
{
|
||||
@@ -117,7 +117,7 @@ public class OverlayServer
|
||||
var message = JsonSerializer.Deserialize<OverlayMessage>(text);
|
||||
HandleMessage(message);
|
||||
continue;
|
||||
|
||||
|
||||
case WebSocketMessageType.Close:
|
||||
await webSocket.CloseAsync(WebSocketCloseStatus.NormalClosure, string.Empty, CancellationToken.None);
|
||||
break;
|
||||
@@ -157,7 +157,7 @@ public class OverlayServer
|
||||
MainForm.Instance.Browser.CanExecuteJavascriptInMainFrame)
|
||||
MainForm.Instance.Browser.ExecuteScriptAsync("window?.$pinia?.vr.vrInit();");
|
||||
break;
|
||||
|
||||
|
||||
case OverlayMessageType.IsHmdAfk:
|
||||
var isHmdAfk = string.Equals(message.Data, "true", StringComparison.OrdinalIgnoreCase);
|
||||
if (MainForm.Instance?.Browser != null && !MainForm.Instance.Browser.IsLoading && MainForm.Instance.Browser.CanExecuteJavascriptInMainFrame)
|
||||
@@ -170,7 +170,7 @@ public class OverlayServer
|
||||
throw new ArgumentOutOfRangeException();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public void SendMessage(OverlayMessage message)
|
||||
{
|
||||
lock (SendLock)
|
||||
@@ -191,12 +191,12 @@ public class OverlayServer
|
||||
public void UpdateVars(OverlayVars overlayVars)
|
||||
{
|
||||
_overlayVars = overlayVars;
|
||||
if (!IsConnected() && overlayVars.Active)
|
||||
if (!IsConnected() && (overlayVars.Active || Program.LaunchDebug))
|
||||
{
|
||||
OverlayManager.StartOverlay();
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
var helloMessage = new OverlayMessage
|
||||
{
|
||||
Type = OverlayMessageType.UpdateVars,
|
||||
|
||||
@@ -418,6 +418,7 @@ export const useSharedFeedStore = defineStore('SharedFeed', () => {
|
||||
loadSharedFeed,
|
||||
sendSharedFeed,
|
||||
addEntry,
|
||||
addTag
|
||||
addTag,
|
||||
sharedFeedData
|
||||
};
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user