94 lines
3.6 KiB
C#
94 lines
3.6 KiB
C#
using System.Diagnostics;
|
|
using System.Reflection;
|
|
using GraphicsManager;
|
|
using Luski;
|
|
using Luski.Clesses;
|
|
using Luski.GUI.MainScreen;
|
|
using Luski.net;
|
|
using OpenTK.Windowing.Common.Input;
|
|
using SixLabors.ImageSharp;
|
|
using SixLabors.ImageSharp.PixelFormats;
|
|
using Image = OpenTK.Windowing.Common.Input.Image;
|
|
|
|
try
|
|
{
|
|
Globals.Settings = Globals.GetSettings(Path.Combine(Globals.LuskiPath, "Settings.json"), SettingsContext.Default.Settings);
|
|
ServerList serverlist = Globals.GetSettings(Path.Combine(Globals.LuskiPath, "Servers.json"), ServerListContext.Default.ServerList);
|
|
List<Task<PublicServer>> bbb = new();
|
|
if (serverlist.Server.Length > 0)
|
|
{
|
|
foreach (ServerInfo server in serverlist.Server)
|
|
{
|
|
switch (server.Main)
|
|
{
|
|
case false:
|
|
bbb.Add(Globals.Luski.GetPublicServer(server.Domain, server.Version, server.Secure));
|
|
break;
|
|
case true:
|
|
Globals.Luski.GetMainServer(server.Domain, server.Version);
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
|
|
//var ttttt = GraphicsManager.Tools.GetFamilyList("fc-list ':' family");
|
|
//var ffff = GraphicsManager.Tools.GetFontList($"fc-list ':'family='{ttttt[new Random().Next(0, ttttt.Length)]}' file");
|
|
|
|
Globals.UpdaterSettings = Globals.GetSettings(Path.Combine(Globals.LuskiPath, "UpdaterSettings.json"), UpdaterSettingsContext.Default.UpdaterSettings);
|
|
//Globals.Luski.LoadedServers.First().CreateAccount("JacobTech", "JacobGuin12173*", "JacobTech", "/home/jacob/Pictures/Logo.png", CancellationToken.None);
|
|
Task.WaitAll(bbb.ToArray());
|
|
if (!Globals.Luski.LoadedServers.First().IsLogedIn)
|
|
_ = Globals.Luski.LoadedServers.First().Login("JacobTech", "JacobGuin12173*", CancellationToken.None).Result;
|
|
Image<Rgba32> Logo = SixLabors.ImageSharp.Image.Load<Rgba32>(Tools.GetResourceStream(Assembly.GetExecutingAssembly(), "Luski.Resources.Textures.Luski.png"));
|
|
Logo.DangerousTryGetSinglePixelMemory(out Memory<Rgba32> m);
|
|
byte[] pixels = new byte[4 * Logo.Width * Logo.Height];
|
|
Logo.CopyPixelDataTo(pixels);
|
|
|
|
Globals.Icon = new WindowIcon(new Image(Logo.Width, Logo.Height, pixels));
|
|
|
|
Logo.Dispose();
|
|
Globals.ms = new MainScreen();
|
|
Globals.ms.CustomF11 = false;
|
|
Globals.ms.DrawFrame();
|
|
//Globals.ms.Cursor = new MouseCursor(0, 0, Logo.Width, Logo.Height, pixels);
|
|
pixels = Array.Empty<byte>();
|
|
Globals.ms.StartRender();
|
|
Globals.ms.Dispose();
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
Console.WriteLine(ex);
|
|
}
|
|
|
|
if (Globals.Download)
|
|
{
|
|
Console.WriteLine("Auto Update Starting");
|
|
List<string> arguments = new List<string>
|
|
{
|
|
"--process",
|
|
Process.GetCurrentProcess().ProcessName,
|
|
"--remotedirectory",
|
|
"Luski",
|
|
"--localdirectory",
|
|
AppDomain.CurrentDomain.BaseDirectory,
|
|
"--branch",
|
|
Globals.UpdaterSettings.Branch.ToString(),
|
|
"--selfcontained",
|
|
Globals.UpdaterSettings.SelfContained.ToString().ToLower(),
|
|
"--platform",
|
|
Globals.UpdaterSettings.Platform,
|
|
"--setconfig",
|
|
Path.Combine(Globals.LuskiPath, "UpdaterSettings.json")
|
|
};
|
|
if (Globals.UpdaterSettings.AutoLaunch)
|
|
{
|
|
arguments.Add("--dll");
|
|
arguments.Add(AppDomain.CurrentDomain.FriendlyName);
|
|
}
|
|
Process p = new();
|
|
p.StartInfo.FileName = Globals.UpdaterSettings.Updater;
|
|
p.StartInfo.WorkingDirectory = new FileInfo(Globals.UpdaterSettings.Updater!).Directory!.FullName;
|
|
p.StartInfo.Arguments = $"\"{string.Join("\" \"", arguments)}\"";
|
|
p.Start();
|
|
Environment.Exit(0);
|
|
} |