111 lines
2.5 KiB
C#
111 lines
2.5 KiB
C#
#region Usings
|
|
using System;
|
|
using System.IO;
|
|
using System.Diagnostics;
|
|
using System.Threading;
|
|
using System.Windows.Forms;
|
|
#endregion
|
|
|
|
namespace NovetusURI
|
|
{
|
|
#region URI Loader
|
|
public partial class LoaderForm : Form
|
|
{
|
|
#region Private Variables
|
|
private DiscordRPC.EventHandlers handlers;
|
|
#endregion
|
|
|
|
#region Discord
|
|
public void ReadyCallback()
|
|
{
|
|
}
|
|
|
|
public void DisconnectedCallback(int errorCode, string message)
|
|
{
|
|
}
|
|
|
|
public void ErrorCallback(int errorCode, string message)
|
|
{
|
|
}
|
|
|
|
public void JoinCallback(string secret)
|
|
{
|
|
}
|
|
|
|
public void SpectateCallback(string secret)
|
|
{
|
|
}
|
|
|
|
public void RequestCallback(DiscordRPC.JoinRequest request)
|
|
{
|
|
}
|
|
|
|
void StartDiscord()
|
|
{
|
|
if (GlobalVars.UserConfiguration.DiscordPresence)
|
|
{
|
|
handlers = new DiscordRPC.EventHandlers();
|
|
handlers.readyCallback = ReadyCallback;
|
|
handlers.disconnectedCallback += DisconnectedCallback;
|
|
handlers.errorCallback += ErrorCallback;
|
|
handlers.joinCallback += JoinCallback;
|
|
handlers.spectateCallback += SpectateCallback;
|
|
handlers.requestCallback += RequestCallback;
|
|
DiscordRPC.Initialize(GlobalVars.appid, ref handlers, true, "");
|
|
|
|
GlobalFuncs.UpdateRichPresence(GlobalVars.LauncherState.LoadingURI, "", true);
|
|
}
|
|
}
|
|
#endregion
|
|
|
|
#region Constructor
|
|
public LoaderForm()
|
|
{
|
|
InitializeComponent();
|
|
}
|
|
#endregion
|
|
|
|
#region Form Events
|
|
void LoaderFormLoad(object sender, EventArgs e)
|
|
{
|
|
QuickConfigure main = new QuickConfigure();
|
|
main.ShowDialog();
|
|
System.Threading.Timer timer = new System.Threading.Timer(new TimerCallback(CheckIfFinished), null, 1, 0);
|
|
}
|
|
|
|
void StartGame()
|
|
{
|
|
GlobalFuncs.LaunchRBXClient(ScriptType.Client, false, true, new EventHandler(ClientExited), label1);
|
|
Visible = false;
|
|
}
|
|
|
|
void ClientExited(object sender, EventArgs e)
|
|
{
|
|
GlobalFuncs.UpdateRichPresence(GlobalVars.LauncherState.InLauncher, "");
|
|
Close();
|
|
}
|
|
|
|
private void CheckIfFinished(object state)
|
|
{
|
|
if (!LocalVars.ReadyToLaunch)
|
|
{
|
|
System.Threading.Timer timer = new System.Threading.Timer(new TimerCallback(CheckIfFinished), null, 1, 0);
|
|
}
|
|
else
|
|
{
|
|
Visible = true;
|
|
if (GlobalVars.UserConfiguration.DiscordPresence)
|
|
{
|
|
label1.Text = "Starting Discord Rich Presence...";
|
|
StartDiscord();
|
|
}
|
|
label1.Text = "Launching Game...";
|
|
LocalFuncs.SetupURIValues();
|
|
StartGame();
|
|
}
|
|
}
|
|
#endregion
|
|
}
|
|
#endregion
|
|
}
|