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