mirror of
https://github.com/NuclearPowered/Reactor.git
synced 2026-10-19 15:51:54 +00:00
69 lines
1.9 KiB
C#
69 lines
1.9 KiB
C#
using BepInEx.Unity.IL2CPP.Utils;
|
|
using Reactor.Debugger.AutoJoin;
|
|
using Reactor.Debugger.Utilities;
|
|
using UnityEngine;
|
|
|
|
namespace Reactor.Debugger.Window.Tabs;
|
|
|
|
internal sealed class AutoJoinTab : BaseTab
|
|
{
|
|
public override string Name => "AutoJoin";
|
|
|
|
public override void OnGUI()
|
|
{
|
|
if (AutoJoinConnectionManager.Server is { } server)
|
|
{
|
|
GUILayout.Label($"Hosting ({server.Clients.Count} clients)");
|
|
|
|
if (GUILayout.Button("Stop"))
|
|
{
|
|
server.Dispose();
|
|
}
|
|
|
|
if (AmongUsClient.Instance)
|
|
{
|
|
if (GUILayout.Button("Create an online game"))
|
|
{
|
|
AmongUsClient.Instance.StartCoroutine(AmongUsClient.Instance.CoCreateOnlineGame());
|
|
}
|
|
|
|
if (GUILayout.Button("Create a local game"))
|
|
{
|
|
AmongUsClient.Instance.StartCoroutine(AmongUsClient.Instance.CoCreateLocalGame());
|
|
}
|
|
|
|
if (
|
|
AmongUsClient.Instance.AmConnected &&
|
|
AmongUsClient.Instance.NetworkMode != NetworkModes.FreePlay &&
|
|
GUILayout.Button("Join me")
|
|
)
|
|
{
|
|
server.SendJoinMe(AmongUsClient.Instance);
|
|
}
|
|
}
|
|
}
|
|
else if (AutoJoinConnectionManager.Client is { } client)
|
|
{
|
|
GUILayout.Label("Connected");
|
|
|
|
if (GUILayout.Button("Disconnect"))
|
|
{
|
|
AutoJoinConnectionManager.Client = null;
|
|
client.Dispose();
|
|
}
|
|
|
|
if (GUILayout.Button("Request join"))
|
|
{
|
|
client.SendRequestJoin();
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (GUILayout.Button("Connect"))
|
|
{
|
|
AutoJoinConnectionManager.StartOrConnect();
|
|
}
|
|
}
|
|
}
|
|
}
|