dev #17
@ -8,6 +8,12 @@ public class Settings
|
|||||||
[JsonPropertyName("scale")]
|
[JsonPropertyName("scale")]
|
||||||
public double Scale { get; set; } = 1;
|
public double Scale { get; set; } = 1;
|
||||||
[JsonInclude]
|
[JsonInclude]
|
||||||
|
[JsonPropertyName("api_domain")]
|
||||||
|
public string Domain { get; set; } = "api.beta.luski.jacobtech.com";
|
||||||
|
[JsonInclude]
|
||||||
|
[JsonPropertyName("api_v")]
|
||||||
|
public string Version { get; set; } = "v1";
|
||||||
|
[JsonInclude]
|
||||||
[JsonPropertyName("perscrollpixels")]
|
[JsonPropertyName("perscrollpixels")]
|
||||||
public uint PerScrollPixels { get; set; } = 20;
|
public uint PerScrollPixels { get; set; } = 20;
|
||||||
[JsonInclude]
|
[JsonInclude]
|
||||||
|
@ -15,7 +15,7 @@ public class UpdaterSettings
|
|||||||
|
|
||||||
[JsonInclude]
|
[JsonInclude]
|
||||||
[JsonPropertyName("branch")]
|
[JsonPropertyName("branch")]
|
||||||
public Branch Branch { get; set; } = Branch.Beta;
|
public string Branch { get; set; } = "beta";
|
||||||
|
|
||||||
[JsonInclude]
|
[JsonInclude]
|
||||||
[JsonPropertyName("platform")]
|
[JsonPropertyName("platform")]
|
||||||
|
@ -6,13 +6,16 @@ using GraphicsManager.Enums;
|
|||||||
using GraphicsManager.Interfaces;
|
using GraphicsManager.Interfaces;
|
||||||
using GraphicsManager.Objects;
|
using GraphicsManager.Objects;
|
||||||
using GraphicsManager.Objects.Core;
|
using GraphicsManager.Objects.Core;
|
||||||
|
using JacobTechEncryption;
|
||||||
using Luski.GUI.MainScreen.Interfaces;
|
using Luski.GUI.MainScreen.Interfaces;
|
||||||
using Luski.GUI.MainScreen.UI;
|
using Luski.GUI.MainScreen.UI;
|
||||||
using Luski.GUI.StartPage.UI;
|
using Luski.GUI.StartPage.UI;
|
||||||
using Luski.net;
|
using Luski.net;
|
||||||
using Luski.net.Enums;
|
using Luski.net.Enums;
|
||||||
|
using Luski.net.Enums.Main;
|
||||||
using Luski.net.Interfaces;
|
using Luski.net.Interfaces;
|
||||||
using Luski.net.JsonTypes;
|
using Luski.net.JsonTypes;
|
||||||
|
using Luski.net.Structures.Main;
|
||||||
using OpenTK.Graphics.OpenGL4;
|
using OpenTK.Graphics.OpenGL4;
|
||||||
using OpenTK.Mathematics;
|
using OpenTK.Mathematics;
|
||||||
using OpenTK.Windowing.Desktop;
|
using OpenTK.Windowing.Desktop;
|
||||||
@ -101,7 +104,7 @@ public class MainScreen : Window
|
|||||||
|
|
||||||
Thread t = new(_ =>
|
Thread t = new(_ =>
|
||||||
{
|
{
|
||||||
Encryption.GenerateKeys();
|
Globals.Luski.MainServer.EncryptionHandler.GenerateKeys();
|
||||||
|
|
||||||
});
|
});
|
||||||
t.Start();
|
t.Start();
|
||||||
@ -131,7 +134,7 @@ public class MainScreen : Window
|
|||||||
return Task.CompletedTask;
|
return Task.CompletedTask;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void AddGroup(SocketGroupChannel group)
|
public void AddGroup(MainSocketGroupChannel group)
|
||||||
{
|
{
|
||||||
Group friend = new(group);
|
Group friend = new(group);
|
||||||
friend.ClickCon += ChannelOnClickCon;
|
friend.ClickCon += ChannelOnClickCon;
|
||||||
@ -143,20 +146,20 @@ public class MainScreen : Window
|
|||||||
private List<IChannelPick> chans = new();
|
private List<IChannelPick> chans = new();
|
||||||
private Dictionary<long, int> FR_Index = new();
|
private Dictionary<long, int> FR_Index = new();
|
||||||
|
|
||||||
public void AddFriendRequest(SocketRemoteUser user)
|
public void AddFriendRequest(MainSocketRemoteUser user)
|
||||||
{
|
{
|
||||||
FriendRequest frui = new(this, user);
|
FriendRequest frui = new(this, user);
|
||||||
FR_Index.Add(user.Id, friend_request!.Controls.Length);
|
FR_Index.Add(user.Id, friend_request!.Controls.Length);
|
||||||
friend_request.Controls.Add(frui);
|
friend_request.Controls.Add(frui);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void RemoveFriendRequest(SocketRemoteUser user)
|
public void RemoveFriendRequest(MainSocketRemoteUser user)
|
||||||
{
|
{
|
||||||
if (!FR_Index.ContainsKey(user.Id)) return;
|
if (!FR_Index.ContainsKey(user.Id)) return;
|
||||||
friend_request!.Controls.Remove(friend_request!.Controls[FR_Index[user.Id]]);
|
friend_request!.Controls.Remove(friend_request!.Controls[FR_Index[user.Id]]);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void AddFriend(SocketRemoteUser user)
|
public void AddFriend(MainSocketRemoteUser user)
|
||||||
{
|
{
|
||||||
Friend friend2 = new(user);
|
Friend friend2 = new(user);
|
||||||
friend2.ClickCon += ChannelOnClickCon;
|
friend2.ClickCon += ChannelOnClickCon;
|
||||||
@ -202,16 +205,14 @@ public class MainScreen : Window
|
|||||||
channelCancellationToken.Cancel(false);
|
channelCancellationToken.Cancel(false);
|
||||||
}
|
}
|
||||||
channelCancellationToken = new CancellationTokenSource();
|
channelCancellationToken = new CancellationTokenSource();
|
||||||
Globals.Luski.ChangeChannel(arg.Channel.Id, channelCancellationToken.Token, Globals.Luski.CurrentUser.Servers.First()).Wait();
|
//Globals.Luski.ChangeChannel(arg.Channel.Id, channelCancellationToken.Token).Wait();
|
||||||
Invoke(new Action(() =>
|
Invoke(new Action(() =>
|
||||||
{
|
{
|
||||||
chat!.Clear();
|
chat!.Clear();
|
||||||
}));
|
}));
|
||||||
IReadOnlyList<SocketMessage> messages = arg.Channel.GetMessages(channelCancellationToken.Token, Globals.Settings.LoadPerChannel).Result;
|
IReadOnlyList<MainSocketMessage> messages = arg.Channel.GetMessages(channelCancellationToken.Token, Globals.Settings.LoadPerChannel).Result;
|
||||||
|
|
||||||
|
foreach (MainSocketMessage message in messages.Reverse())
|
||||||
|
|
||||||
foreach (SocketMessage message in messages.Reverse())
|
|
||||||
{
|
{
|
||||||
if (channelCancellationToken is null || channelCancellationToken.Token.IsCancellationRequested) return;
|
if (channelCancellationToken is null || channelCancellationToken.Token.IsCancellationRequested) return;
|
||||||
Invoke(new Action(() =>
|
Invoke(new Action(() =>
|
||||||
@ -249,7 +250,7 @@ public class MainScreen : Window
|
|||||||
// Luski.net.Encryption.File.Channels.AddKey(69, Private);
|
// Luski.net.Encryption.File.Channels.AddKey(69, Private);
|
||||||
//Clip
|
//Clip
|
||||||
// Console.WriteLine(Public);
|
// Console.WriteLine(Public);
|
||||||
Globals.Luski.SetMultiThreadPercent(Globals.Settings.MultiThreadPercent);
|
//Globals.Luski.SetMultiThreadPercent(Globals.Settings.MultiThreadPercent);
|
||||||
Size = new((int)(1332 * Globals.Settings.Scale), (int)(866 * Globals.Settings.Scale));
|
Size = new((int)(1332 * Globals.Settings.Scale), (int)(866 * Globals.Settings.Scale));
|
||||||
DateTime start = DateTime.Now;
|
DateTime start = DateTime.Now;
|
||||||
CenterWindow(0);
|
CenterWindow(0);
|
||||||
@ -258,18 +259,12 @@ public class MainScreen : Window
|
|||||||
BackgroundColor = new Color4(34, 34, 34, 255);
|
BackgroundColor = new Color4(34, 34, 34, 255);
|
||||||
Rectangle u=new Rectangle(TextureManager.AddTexture(Tools.GetResourceBytes(Assembly.GetExecutingAssembly(),
|
Rectangle u=new Rectangle(TextureManager.AddTexture(Tools.GetResourceBytes(Assembly.GetExecutingAssembly(),
|
||||||
"Luski.Resources.Textures.Status.png"))) { Anchor = ObjectAnchor.Bottom | ObjectAnchor.Left, Size = new((int)(46 * Globals.Settings.Scale)), Location = new((int)(62 * Globals.Settings.Scale), (int)(812 * Globals.Settings.Scale))};
|
"Luski.Resources.Textures.Status.png"))) { Anchor = ObjectAnchor.Bottom | ObjectAnchor.Left, Size = new((int)(46 * Globals.Settings.Scale)), Location = new((int)(62 * Globals.Settings.Scale), (int)(812 * Globals.Settings.Scale))};
|
||||||
Texture uut = TextureManager.AddTexture(Globals.Luski.CurrentUser.GetAvatar(CancellationToken.None, Globals.Luski.CurrentUser.Servers.First()).Result);
|
Texture uut = TextureManager.AddTexture(Globals.Luski.MainServer.User.GetAvatar(CancellationToken.None).Result);
|
||||||
uut.Unit = TextureUnit.Texture1;
|
uut.Unit = TextureUnit.Texture1;
|
||||||
u.Shader = Rectangle.DefaultAlphaTextureShader[Context];
|
u.Shader = Rectangle.DefaultAlphaTextureShader[Context];
|
||||||
u.Textures.Add(uut);
|
u.Textures.Add(uut);
|
||||||
Controls.Add(u);
|
Controls.Add(u);
|
||||||
Globals.Luski.CurrentUser.AddServer(SocketServer.GetServer("TCLL.LuskiServers.JacobTech.com"));
|
Label ul = new Label(){ Font = Globals.DefaultFont, Anchor = ObjectAnchor.Bottom | ObjectAnchor.Left, Location = new(0, (int)(826 * Globals.Settings.Scale)), Text = Globals.Luski.MainServer.User.DisplayName };
|
||||||
foreach (SocketServer Server in Globals.Luski.CurrentUser.Servers)
|
|
||||||
{
|
|
||||||
Console.WriteLine("Loading Server: {0}", Server.Domain);
|
|
||||||
//add server to UI
|
|
||||||
}
|
|
||||||
Label ul = new Label(){ Font = Globals.DefaultFont, Anchor = ObjectAnchor.Bottom | ObjectAnchor.Left, Location = new(0, (int)(826 * Globals.Settings.Scale)), Text = Globals.Luski.CurrentUser.Username};
|
|
||||||
FlowLayout ser;
|
FlowLayout ser;
|
||||||
ul.Location = new((int)(112 * Globals.Settings.Scale),
|
ul.Location = new((int)(112 * Globals.Settings.Scale),
|
||||||
(u.Location.Y + (u.Size.Y/2) - (ul.PostiveTrueHeight/2) - ul.Size.Y + ul.TrueHeight));
|
(u.Location.Y + (u.Size.Y/2) - (ul.PostiveTrueHeight/2) - ul.Size.Y + ul.TrueHeight));
|
||||||
@ -316,24 +311,24 @@ public class MainScreen : Window
|
|||||||
channelpicker.Controls.Add(FriendManagerBtn = new RoundedButton() { Font = Globals.DefaultFont, Text = "Friends", Size = new((int)(52* Globals.Settings.Scale)), InsideColor = new(28, 28, 28, 255), BorderColor = Color4.DarkCyan});
|
channelpicker.Controls.Add(FriendManagerBtn = new RoundedButton() { Font = Globals.DefaultFont, Text = "Friends", Size = new((int)(52* Globals.Settings.Scale)), InsideColor = new(28, 28, 28, 255), BorderColor = Color4.DarkCyan});
|
||||||
FriendManagerBtn.Clicked += FriendManagerBtnOnClicked;
|
FriendManagerBtn.Clicked += FriendManagerBtnOnClicked;
|
||||||
Console.WriteLine("Templates loaded in " + (DateTime.Now - start).TotalSeconds + " seconds");
|
Console.WriteLine("Templates loaded in " + (DateTime.Now - start).TotalSeconds + " seconds");
|
||||||
foreach (SocketGroupChannel ch in Globals.Luski.CurrentUser.Channels.Where(s => s is SocketGroupChannel).Cast<SocketGroupChannel>())
|
foreach (MainSocketGroupChannel ch in Globals.Luski.MainServer.User.Channels.Where(s => s is MainSocketGroupChannel).Cast<MainSocketGroupChannel>())
|
||||||
{
|
{
|
||||||
AddGroup(ch);
|
AddGroup(ch);
|
||||||
}
|
}
|
||||||
foreach (SocketRemoteUser item in Globals.Luski.CurrentUser.Friends)
|
foreach (MainSocketRemoteUser item in Globals.Luski.MainServer.User.Friends)
|
||||||
{
|
{
|
||||||
if (item.Channel is not null) AddFriend(item);
|
if (item.Channel is not null) AddFriend(item);
|
||||||
}
|
}
|
||||||
Console.WriteLine("Channels done in " + (DateTime.Now - start).TotalSeconds + " seconds");
|
Console.WriteLine("Channels done in " + (DateTime.Now - start).TotalSeconds + " seconds");
|
||||||
|
|
||||||
SocketTextChannel chan = Globals.Luski.GetChannel<SocketTextChannel>(Globals.Luski.CurrentUser.SelectedChannel, CancellationToken.None, Globals.Luski.CurrentUser.Servers.First()).Result;
|
MainSocketTextChannel chan = Globals.Luski.MainServer.GetChannel<MainSocketTextChannel>(Globals.Luski.MainServer.User.SelectedChannel, CancellationToken.None).Result;
|
||||||
chat.UpdateTitle(chans.First(s => s.Channel.Id == chan.Id));
|
chat.UpdateTitle(chans.First(s => s.Channel.Id == chan.Id));
|
||||||
chat.MessageFlow.BlockDraw = true;
|
chat.MessageFlow.BlockDraw = true;
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
IReadOnlyList<SocketMessage> messages = chan.GetMessages(CancellationToken.None, Globals.Settings.LoadPerChannel).Result;
|
IReadOnlyList<MainSocketMessage> messages = chan.GetMessages(CancellationToken.None, Globals.Settings.LoadPerChannel).Result;
|
||||||
Console.WriteLine("Messages done in " + (DateTime.Now - start).TotalSeconds + " seconds");
|
Console.WriteLine("Messages done in " + (DateTime.Now - start).TotalSeconds + " seconds");
|
||||||
foreach (SocketMessage message in messages.Reverse())
|
foreach (MainSocketMessage message in messages.Reverse())
|
||||||
{
|
{
|
||||||
chat.AddMessage(TextureManager, message);
|
chat.AddMessage(TextureManager, message);
|
||||||
}
|
}
|
||||||
@ -348,7 +343,7 @@ public class MainScreen : Window
|
|||||||
chat.MessageFlow.BlockDraw = false;
|
chat.MessageFlow.BlockDraw = false;
|
||||||
|
|
||||||
Console.WriteLine("Messages Fonts done in " + (DateTime.Now - start).TotalSeconds + " seconds");
|
Console.WriteLine("Messages Fonts done in " + (DateTime.Now - start).TotalSeconds + " seconds");
|
||||||
foreach (SocketRemoteUser cufr in Globals.Luski.CurrentUser.FriendRequests)
|
foreach (MainSocketRemoteUser cufr in Globals.Luski.MainServer.User.FriendRequests)
|
||||||
{
|
{
|
||||||
AddFriendRequest(cufr);
|
AddFriendRequest(cufr);
|
||||||
}
|
}
|
||||||
@ -363,10 +358,10 @@ public class MainScreen : Window
|
|||||||
|
|
||||||
private Task OnMainShow()
|
private Task OnMainShow()
|
||||||
{
|
{
|
||||||
Globals.Luski.OnError += LuskiOnOnError;
|
Globals.Luski.MainServer.OnError += LuskiOnOnError;
|
||||||
Globals.Luski.UserStatusUpdate += LuskiOnUserStatusUpdate;
|
Globals.Luski.MainServer.UserStatusUpdate += LuskiOnUserStatusUpdate;
|
||||||
Globals.Luski.ReceivedFriendRequest += LuskiOnReceivedFriendRequest;
|
Globals.Luski.MainServer.ReceivedFriendRequest += LuskiOnReceivedFriendRequest;
|
||||||
Globals.Luski.FriendRequestResult += LuskiOnFriendRequestResult;
|
Globals.Luski.MainServer.FriendRequestResult += LuskiOnFriendRequestResult;
|
||||||
return Task.CompletedTask;
|
return Task.CompletedTask;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -378,7 +373,7 @@ public class MainScreen : Window
|
|||||||
return Task.CompletedTask;
|
return Task.CompletedTask;
|
||||||
}
|
}
|
||||||
|
|
||||||
private Task LuskiOnFriendRequestResult(SocketRemoteUser arg1, bool arg2)
|
private Task LuskiOnFriendRequestResult(MainSocketRemoteUser arg1, bool arg2)
|
||||||
{
|
{
|
||||||
Console.WriteLine("new result");
|
Console.WriteLine("new result");
|
||||||
Invoke(new Action(() =>
|
Invoke(new Action(() =>
|
||||||
@ -389,7 +384,7 @@ public class MainScreen : Window
|
|||||||
return Task.CompletedTask;
|
return Task.CompletedTask;
|
||||||
}
|
}
|
||||||
|
|
||||||
private Task LuskiOnReceivedFriendRequest(SocketRemoteUser arg)
|
private Task LuskiOnReceivedFriendRequest(MainSocketRemoteUser arg)
|
||||||
{
|
{
|
||||||
Invoke(new Action(() =>
|
Invoke(new Action(() =>
|
||||||
{
|
{
|
||||||
@ -402,7 +397,7 @@ public class MainScreen : Window
|
|||||||
{
|
{
|
||||||
Console.WriteLine(before);
|
Console.WriteLine(before);
|
||||||
Console.WriteLine(After);
|
Console.WriteLine(After);
|
||||||
if (before is not SocketRemoteUser Before || Before.FriendStatus != FriendStatus.Friends || Before.Id == 0) return Task.CompletedTask;
|
if (before is not MainSocketRemoteUser Before || Before.FriendStatus != FriendStatus.Friends || Before.Id == 0) return Task.CompletedTask;
|
||||||
Friend per = fr.Where(s => s.User.Id == before.Id).First()!;
|
Friend per = fr.Where(s => s.User.Id == before.Id).First()!;
|
||||||
Label stat = per.Status;
|
Label stat = per.Status;
|
||||||
Invoke(new Action(() =>
|
Invoke(new Action(() =>
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
using Luski.net.JsonTypes;
|
using Luski.net.Structures.Main;
|
||||||
|
|
||||||
namespace Luski.GUI.MainScreen.Interfaces;
|
namespace Luski.GUI.MainScreen.Interfaces;
|
||||||
|
|
||||||
public interface IChannelPick
|
public interface IChannelPick
|
||||||
{
|
{
|
||||||
public SocketTextChannel Channel { get; }
|
public MainSocketTextChannel Channel { get; }
|
||||||
}
|
}
|
@ -1,6 +1,6 @@
|
|||||||
using GraphicsManager.Enums;
|
using GraphicsManager.Enums;
|
||||||
using GraphicsManager.Objects;
|
using GraphicsManager.Objects;
|
||||||
using Luski.net.JsonTypes;
|
using Luski.net.Structures.Main;
|
||||||
using OpenTK.Mathematics;
|
using OpenTK.Mathematics;
|
||||||
using OpenTK.Windowing.Common;
|
using OpenTK.Windowing.Common;
|
||||||
using OpenTK.Windowing.GraphicsLibraryFramework;
|
using OpenTK.Windowing.GraphicsLibraryFramework;
|
||||||
@ -31,15 +31,15 @@ public class AddFriendPage : FlowLayout
|
|||||||
Input.BorderColor = Color4.Red;
|
Input.BorderColor = Color4.Red;
|
||||||
return Task.CompletedTask;
|
return Task.CompletedTask;
|
||||||
}
|
}
|
||||||
SocketRemoteUser? result = Globals.Luski.SendFriendRequest(code, CancellationToken.None).Result;
|
// MainSocketRemoteUser? result = Globals.Luski.MainServer.SendFriendRequest(code, CancellationToken.None).Result;
|
||||||
if (result is null) Input.BorderColor = Color4.Red;
|
//if (result is null) Input.BorderColor = Color4.Red;
|
||||||
else
|
// else
|
||||||
{
|
// {
|
||||||
if (result.Channel is null)
|
// if (result.Channel is null)
|
||||||
Screen.AddFriendRequest(result);
|
// Screen.AddFriendRequest(result);
|
||||||
else
|
// else
|
||||||
Screen.AddFriend(result);
|
// Screen.AddFriend(result);
|
||||||
}
|
//}
|
||||||
return Task.CompletedTask;
|
return Task.CompletedTask;
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -5,7 +5,9 @@ using GraphicsManager.Objects.Core;
|
|||||||
using Luski.GUI.MainScreen.Interfaces;
|
using Luski.GUI.MainScreen.Interfaces;
|
||||||
using Luski.net;
|
using Luski.net;
|
||||||
using Luski.net.Enums;
|
using Luski.net.Enums;
|
||||||
|
using Luski.net.Enums.Main;
|
||||||
using Luski.net.JsonTypes;
|
using Luski.net.JsonTypes;
|
||||||
|
using Luski.net.Structures.Main;
|
||||||
using OpenTK.Mathematics;
|
using OpenTK.Mathematics;
|
||||||
using OpenTK.Windowing.Common;
|
using OpenTK.Windowing.Common;
|
||||||
using OpenTK.Windowing.GraphicsLibraryFramework;
|
using OpenTK.Windowing.GraphicsLibraryFramework;
|
||||||
@ -17,7 +19,7 @@ public class Chat : UserControl
|
|||||||
public FlowLayout MessageFlow;
|
public FlowLayout MessageFlow;
|
||||||
private Label title, desc;
|
private Label title, desc;
|
||||||
private Textbox tb;
|
private Textbox tb;
|
||||||
private SocketTextChannel? Channel;
|
private MainSocketTextChannel? Channel;
|
||||||
public Chat()
|
public Chat()
|
||||||
{
|
{
|
||||||
UserControl titlecon;
|
UserControl titlecon;
|
||||||
@ -50,7 +52,7 @@ public class Chat : UserControl
|
|||||||
Anchor = ObjectAnchor.Bottom | ObjectAnchor.Left | ObjectAnchor.Right
|
Anchor = ObjectAnchor.Bottom | ObjectAnchor.Left | ObjectAnchor.Right
|
||||||
});
|
});
|
||||||
tb.KeyPress += TbOnKeyPress;
|
tb.KeyPress += TbOnKeyPress;
|
||||||
Globals.Luski.MessageReceived += LuskiOnMessageReceived;
|
Globals.Luski.MainServer.MessageReceived += LuskiOnMessageReceived;
|
||||||
}
|
}
|
||||||
|
|
||||||
private Task TbOnKeyPress(KeyboardKeyEventArgs arg)
|
private Task TbOnKeyPress(KeyboardKeyEventArgs arg)
|
||||||
@ -63,11 +65,11 @@ public class Chat : UserControl
|
|||||||
|
|
||||||
private void Thr()
|
private void Thr()
|
||||||
{
|
{
|
||||||
Globals.Luski.SendMessage(tb.Text, Channel!.Id, Globals.Luski.CurrentUser.Servers.First(), CancellationToken.None);
|
//Globals.Luski.MainServer.SendMessage(tb.Text, Channel!.Id, CancellationToken.None);
|
||||||
Window!.Invoke(() => { tb.Text = string.Empty; });
|
Window!.Invoke(() => { tb.Text = string.Empty; });
|
||||||
}
|
}
|
||||||
|
|
||||||
private Task LuskiOnMessageReceived(SocketMessage arg)
|
private Task LuskiOnMessageReceived(MainSocketMessage arg)
|
||||||
{
|
{
|
||||||
if (Channel!.Id != arg.ChannelID) return Task.CompletedTask;
|
if (Channel!.Id != arg.ChannelID) return Task.CompletedTask;
|
||||||
IRenderObject? reff = null;
|
IRenderObject? reff = null;
|
||||||
@ -92,7 +94,7 @@ public class Chat : UserControl
|
|||||||
title.Text = channelPick.Channel.Title;
|
title.Text = channelPick.Channel.Title;
|
||||||
tb.WatermarkFont = Globals.DefaultFont;
|
tb.WatermarkFont = Globals.DefaultFont;
|
||||||
if (channelPick.Channel.Type == ChannelType.DM)
|
if (channelPick.Channel.Type == ChannelType.DM)
|
||||||
title.Text = (channelPick.Channel as SocketDMChannel)!.User.Username;
|
title.Text = (channelPick.Channel as MainSocketDMChannel)!.User.DisplayName;
|
||||||
tb.WatermarkText = "Message " + title.Text;
|
tb.WatermarkText = "Message " + title.Text;
|
||||||
if (channelPick.Channel.Description is not null)
|
if (channelPick.Channel.Description is not null)
|
||||||
{
|
{
|
||||||
@ -106,11 +108,11 @@ public class Chat : UserControl
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private SocketMessage? lastm;
|
private MainSocketMessage? lastm;
|
||||||
private long? lastUser;
|
private long? lastUser;
|
||||||
private ChatMessage? LastChatMessage;
|
private ChatMessage? LastChatMessage;
|
||||||
|
|
||||||
public void AddMessage(TextureManager m, SocketMessage Message)
|
public void AddMessage(TextureManager m, MainSocketMessage Message)
|
||||||
{
|
{
|
||||||
bool hasbeentenmin = false;
|
bool hasbeentenmin = false;
|
||||||
if (lastm is not null)
|
if (lastm is not null)
|
||||||
|
@ -6,8 +6,10 @@ using GraphicsManager.Objects;
|
|||||||
using GraphicsManager.Objects.Core;
|
using GraphicsManager.Objects.Core;
|
||||||
using Luski.net;
|
using Luski.net;
|
||||||
using Luski.net.Enums;
|
using Luski.net.Enums;
|
||||||
|
using Luski.net.Enums.Main;
|
||||||
using Luski.net.Interfaces;
|
using Luski.net.Interfaces;
|
||||||
using Luski.net.JsonTypes;
|
using Luski.net.JsonTypes;
|
||||||
|
using Luski.net.Structures.Main;
|
||||||
using OpenTK.Graphics.OpenGL4;
|
using OpenTK.Graphics.OpenGL4;
|
||||||
using OpenTK.Mathematics;
|
using OpenTK.Mathematics;
|
||||||
|
|
||||||
@ -17,12 +19,12 @@ public class ChatMessage : UserControl
|
|||||||
{
|
{
|
||||||
readonly int padding = 2;
|
readonly int padding = 2;
|
||||||
private static Font TimeFont = Font.MakeFontFromSystem(13);
|
private static Font TimeFont = Font.MakeFontFromSystem(13);
|
||||||
private SocketMessage Msg { get; }
|
private MainSocketMessage Msg { get; }
|
||||||
private Label label2, lastm;
|
private Label label2, lastm;
|
||||||
private static Dictionary<SocketRemoteUser, ContextMenu> Menues = new();
|
private static Dictionary<MainSocketRemoteUser, ContextMenu> Menues = new();
|
||||||
private static Dictionary<SocketRemoteUser, List<ChatMessage>> Messages = new();
|
private static Dictionary<MainSocketRemoteUser, List<ChatMessage>> Messages = new();
|
||||||
|
|
||||||
public ChatMessage(TextureManager tm, SocketMessage message)
|
public ChatMessage(TextureManager tm, MainSocketMessage message)
|
||||||
{
|
{
|
||||||
Label label1;
|
Label label1;
|
||||||
Size = new((int)(723.5 * Globals.Settings.Scale), (int)(37 * Globals.Settings.Scale));
|
Size = new((int)(723.5 * Globals.Settings.Scale), (int)(37 * Globals.Settings.Scale));
|
||||||
@ -32,7 +34,7 @@ public class ChatMessage : UserControl
|
|||||||
IUser user = message.GetAuthor(CancellationToken.None).Result;
|
IUser user = message.GetAuthor(CancellationToken.None).Result;
|
||||||
Anchor = ObjectAnchor.Left | ObjectAnchor.Right;
|
Anchor = ObjectAnchor.Left | ObjectAnchor.Right;
|
||||||
|
|
||||||
Controls.Add(label1 = new Label() { Font = Globals.DefaultFont, Location = new((int)(54 * Globals.Settings.Scale), (int)(6 * Globals.Settings.Scale)), Text = user.Username});
|
Controls.Add(label1 = new Label() { Font = Globals.DefaultFont, Location = new((int)(54 * Globals.Settings.Scale), (int)(6 * Globals.Settings.Scale)), Text = user.DisplayName});
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -53,7 +55,7 @@ public class ChatMessage : UserControl
|
|||||||
Controls.Add(new Label() { Scale = 0.8f, Font = Globals.DefaultFont, Location = new(label1.Location.X + label1.Size.X + 4, label1.Location.Y), Text = timestr});
|
Controls.Add(new Label() { Scale = 0.8f, Font = Globals.DefaultFont, Location = new(label1.Location.X + label1.Size.X + 4, label1.Location.Y), Text = timestr});
|
||||||
Rectangle r = new Rectangle(tm.AddTexture(Tools.GetResourceBytes(Assembly.GetExecutingAssembly(),
|
Rectangle r = new Rectangle(tm.AddTexture(Tools.GetResourceBytes(Assembly.GetExecutingAssembly(),
|
||||||
"Luski.Resources.Textures.Status.png"))) { Location = new((int)(10 * Globals.Settings.Scale), (int)(2 * Globals.Settings.Scale)), Size = new((int)(38 * Globals.Settings.Scale)) };
|
"Luski.Resources.Textures.Status.png"))) { Location = new((int)(10 * Globals.Settings.Scale), (int)(2 * Globals.Settings.Scale)), Size = new((int)(38 * Globals.Settings.Scale)) };
|
||||||
Texture tex = tm.AddTexture(user.GetAvatar(CancellationToken.None, Globals.Luski.CurrentUser.Servers.First()).Result);
|
Texture tex = tm.AddTexture(user.GetAvatar(CancellationToken.None).Result);
|
||||||
tex.Unit = TextureUnit.Texture1;
|
tex.Unit = TextureUnit.Texture1;
|
||||||
r.Shader = Rectangle.DefaultAlphaTextureShader[Globals.ms.Context];
|
r.Shader = Rectangle.DefaultAlphaTextureShader[Globals.ms.Context];
|
||||||
r.Textures.Add(tex);
|
r.Textures.Add(tex);
|
||||||
@ -82,7 +84,7 @@ public class ChatMessage : UserControl
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (user is SocketRemoteUser u && u.FriendStatus == FriendStatus.NotFriends)
|
if (user is MainSocketRemoteUser u && u.FriendStatus == FriendStatus.NotFriends)
|
||||||
{
|
{
|
||||||
Tag = u;
|
Tag = u;
|
||||||
if (!Menues.ContainsKey(u))
|
if (!Menues.ContainsKey(u))
|
||||||
@ -107,7 +109,7 @@ public class ChatMessage : UserControl
|
|||||||
|
|
||||||
private Task DOnClicked(IRenderObject arg)
|
private Task DOnClicked(IRenderObject arg)
|
||||||
{
|
{
|
||||||
if (arg.Tag is ChatMessage u && u.Tag is SocketRemoteUser uu)
|
if (arg.Tag is ChatMessage u && u.Tag is MainSocketRemoteUser uu)
|
||||||
{
|
{
|
||||||
foreach (ChatMessage cm in Messages[uu])
|
foreach (ChatMessage cm in Messages[uu])
|
||||||
{
|
{
|
||||||
@ -118,18 +120,18 @@ public class ChatMessage : UserControl
|
|||||||
|
|
||||||
Messages.Remove(uu);
|
Messages.Remove(uu);
|
||||||
Menues.Remove(uu);
|
Menues.Remove(uu);
|
||||||
SocketRemoteUser result = Globals.Luski
|
// MainSocketRemoteUser result = Globals.Luski.MainServer
|
||||||
.SendFriendRequest(long.Parse(uu.friend_codes.First()), CancellationToken.None).Result;
|
// .SendFriendRequest(long.Parse(uu.friend_codes.First()), CancellationToken.None).Result;
|
||||||
if (result.Channel is null)
|
// if (result.Channel is null)
|
||||||
Globals.ms.AddFriendRequest(result);
|
// Globals.ms.AddFriendRequest(result);
|
||||||
else
|
// else
|
||||||
Globals.ms.AddFriend(result);
|
// Globals.ms.AddFriend(result);
|
||||||
}
|
}
|
||||||
|
|
||||||
return Task.CompletedTask;
|
return Task.CompletedTask;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void AddMessage(SocketMessage msg)
|
public void AddMessage(MainSocketMessage msg)
|
||||||
{
|
{
|
||||||
Label newLabel = new()
|
Label newLabel = new()
|
||||||
{
|
{
|
||||||
@ -169,7 +171,7 @@ public class ChatMessage : UserControl
|
|||||||
private Task NewLabel_MouseLeave(IRenderObject sender)
|
private Task NewLabel_MouseLeave(IRenderObject sender)
|
||||||
{
|
{
|
||||||
if (sender is not Label label) return Task.CompletedTask;
|
if (sender is not Label label) return Task.CompletedTask;
|
||||||
if (label.Tag is not SocketMessage Message) return Task.CompletedTask;
|
if (label.Tag is not MainSocketMessage Message) return Task.CompletedTask;
|
||||||
DateTime time = new DateTime(2022, 1, 1, 0, 0, 0, 0).AddMilliseconds(Message.Id >> 22).ToLocalTime();
|
DateTime time = new DateTime(2022, 1, 1, 0, 0, 0, 0).AddMilliseconds(Message.Id >> 22).ToLocalTime();
|
||||||
string b = time.ToString("h:mm tt");
|
string b = time.ToString("h:mm tt");
|
||||||
Label[] l = Labels.Where(s => s.Text == b).ToArray();
|
Label[] l = Labels.Where(s => s.Text == b).ToArray();
|
||||||
@ -185,7 +187,7 @@ public class ChatMessage : UserControl
|
|||||||
private Task NewLabel_MouseEnter(IRenderObject sender)
|
private Task NewLabel_MouseEnter(IRenderObject sender)
|
||||||
{
|
{
|
||||||
if (sender is not Label label) return Task.CompletedTask;
|
if (sender is not Label label) return Task.CompletedTask;
|
||||||
if (label.Tag is not SocketMessage Message) return Task.CompletedTask;
|
if (label.Tag is not MainSocketMessage Message) return Task.CompletedTask;
|
||||||
DateTime time = new DateTime(2022, 1, 1, 0, 0, 0, 0).AddMilliseconds(Message.Id >> 22).ToLocalTime();
|
DateTime time = new DateTime(2022, 1, 1, 0, 0, 0, 0).AddMilliseconds(Message.Id >> 22).ToLocalTime();
|
||||||
Label m = new()
|
Label m = new()
|
||||||
{
|
{
|
||||||
|
@ -2,7 +2,7 @@ using System.Reflection;
|
|||||||
using GraphicsManager;
|
using GraphicsManager;
|
||||||
using GraphicsManager.Interfaces;
|
using GraphicsManager.Interfaces;
|
||||||
using GraphicsManager.Objects;
|
using GraphicsManager.Objects;
|
||||||
using File = Luski.net.JsonTypes.File;
|
using File = Luski.net.Structures.File;
|
||||||
|
|
||||||
namespace Luski.GUI.MainScreen.UI;
|
namespace Luski.GUI.MainScreen.UI;
|
||||||
|
|
||||||
|
@ -8,6 +8,7 @@ using Luski.GUI.Windows;
|
|||||||
using Luski.net;
|
using Luski.net;
|
||||||
using Luski.net.Enums;
|
using Luski.net.Enums;
|
||||||
using Luski.net.JsonTypes;
|
using Luski.net.JsonTypes;
|
||||||
|
using Luski.net.Structures.Main;
|
||||||
using OpenTK.Graphics.OpenGL4;
|
using OpenTK.Graphics.OpenGL4;
|
||||||
using OpenTK.Mathematics;
|
using OpenTK.Mathematics;
|
||||||
using OpenTK.Windowing.GraphicsLibraryFramework;
|
using OpenTK.Windowing.GraphicsLibraryFramework;
|
||||||
@ -16,9 +17,9 @@ namespace Luski.GUI.MainScreen.UI;
|
|||||||
|
|
||||||
public class Friend : UserControl, IChannelPick
|
public class Friend : UserControl, IChannelPick
|
||||||
{
|
{
|
||||||
public SocketRemoteUser User;
|
public MainSocketRemoteUser User;
|
||||||
|
|
||||||
public SocketTextChannel Channel
|
public MainSocketTextChannel Channel
|
||||||
{
|
{
|
||||||
get
|
get
|
||||||
{
|
{
|
||||||
@ -27,13 +28,13 @@ public class Friend : UserControl, IChannelPick
|
|||||||
}
|
}
|
||||||
public Rectangle r, rr;
|
public Rectangle r, rr;
|
||||||
public Label Username, Status;
|
public Label Username, Status;
|
||||||
public Friend(SocketRemoteUser person)
|
public Friend(MainSocketRemoteUser person)
|
||||||
{
|
{
|
||||||
User = person;
|
User = person;
|
||||||
Size = new((int)(240 * Globals.Settings.Scale), (int)(62* Globals.Settings.Scale));
|
Size = new((int)(240 * Globals.Settings.Scale), (int)(62* Globals.Settings.Scale));
|
||||||
BackgroundColor = new(34, 34, 34, 255);
|
BackgroundColor = new(34, 34, 34, 255);
|
||||||
|
|
||||||
Controls.Add(Username = new Label() { Font = Globals.DefaultFont, Text = person.Username, Location = new((int)(58 * Globals.Settings.Scale),(int)(14 * Globals.Settings.Scale))});
|
Controls.Add(Username = new Label() { Font = Globals.DefaultFont, Text = person.DisplayName, Location = new((int)(58 * Globals.Settings.Scale),(int)(14 * Globals.Settings.Scale))});
|
||||||
Controls.Add(Status = new Label() { Scale = 0.8f, Font = Globals.DefaultFont, Text = person.Status.ToString(), Location = new((int)(58 * Globals.Settings.Scale),(int)(34* Globals.Settings.Scale))});
|
Controls.Add(Status = new Label() { Scale = 0.8f, Font = Globals.DefaultFont, Text = person.Status.ToString(), Location = new((int)(58 * Globals.Settings.Scale),(int)(34* Globals.Settings.Scale))});
|
||||||
|
|
||||||
|
|
||||||
@ -55,7 +56,7 @@ public class Friend : UserControl, IChannelPick
|
|||||||
UserStatus.Offline or UserStatus.Invisible or _ => Color4.LightGray
|
UserStatus.Offline or UserStatus.Invisible or _ => Color4.LightGray
|
||||||
};
|
};
|
||||||
r = new Rectangle(this.rr.Textures.First()) { Location = new(this.rr.Location.X + 4,this.rr.Location.Y + 4), Size = new(this.rr.Size.X - 8)};
|
r = new Rectangle(this.rr.Textures.First()) { Location = new(this.rr.Location.X + 4,this.rr.Location.Y + 4), Size = new(this.rr.Size.X - 8)};
|
||||||
Texture t = Globals.ms.TextureManager.AddTexture(person.GetAvatar(CancellationToken.None, Globals.Luski.CurrentUser.Servers.First()).Result);
|
Texture t = Globals.ms.TextureManager.AddTexture(person.GetAvatar(CancellationToken.None).Result);
|
||||||
t.Unit = TextureUnit.Texture1;
|
t.Unit = TextureUnit.Texture1;
|
||||||
r.Textures.Add(t);
|
r.Textures.Add(t);
|
||||||
r.Shader = Rectangle.DefaultAlphaTextureShader[Globals.ms.Context];
|
r.Shader = Rectangle.DefaultAlphaTextureShader[Globals.ms.Context];
|
||||||
|
@ -6,7 +6,9 @@ using GraphicsManager.Objects;
|
|||||||
using GraphicsManager.Objects.Core;
|
using GraphicsManager.Objects.Core;
|
||||||
using Luski.net;
|
using Luski.net;
|
||||||
using Luski.net.Enums;
|
using Luski.net.Enums;
|
||||||
|
using Luski.net.Enums.Main;
|
||||||
using Luski.net.JsonTypes;
|
using Luski.net.JsonTypes;
|
||||||
|
using Luski.net.Structures.Main;
|
||||||
using OpenTK.Graphics.OpenGL4;
|
using OpenTK.Graphics.OpenGL4;
|
||||||
using OpenTK.Mathematics;
|
using OpenTK.Mathematics;
|
||||||
|
|
||||||
@ -15,10 +17,10 @@ namespace Luski.GUI.MainScreen.UI;
|
|||||||
public class FriendRequest : UserControl
|
public class FriendRequest : UserControl
|
||||||
{
|
{
|
||||||
private MainScreen Screen;
|
private MainScreen Screen;
|
||||||
public SocketRemoteUser User;
|
public MainSocketRemoteUser User;
|
||||||
public Rectangle? Accept, Reject;
|
public Rectangle? Accept, Reject;
|
||||||
|
|
||||||
public FriendRequest(MainScreen Parent, SocketRemoteUser User)
|
public FriendRequest(MainScreen Parent, MainSocketRemoteUser User)
|
||||||
{
|
{
|
||||||
this.User = User;
|
this.User = User;
|
||||||
this.Screen = Parent;
|
this.Screen = Parent;
|
||||||
@ -32,11 +34,11 @@ public class FriendRequest : UserControl
|
|||||||
Size = new ((int)(42 * Globals.Settings.Scale))
|
Size = new ((int)(42 * Globals.Settings.Scale))
|
||||||
});
|
});
|
||||||
rr.BackgroundColor = BackgroundColor;
|
rr.BackgroundColor = BackgroundColor;
|
||||||
Texture t = Globals.ms.TextureManager.AddTexture(User.GetAvatar(CancellationToken.None, Globals.Luski.CurrentUser.Servers.First()).Result);
|
Texture t = Globals.ms.TextureManager.AddTexture(User.GetAvatar(CancellationToken.None).Result);
|
||||||
t.Unit = TextureUnit.Texture1;
|
t.Unit = TextureUnit.Texture1;
|
||||||
rr.Textures.Add(t);
|
rr.Textures.Add(t);
|
||||||
rr.Shader = Rectangle.DefaultAlphaTextureShader[Globals.ms.Context];
|
rr.Shader = Rectangle.DefaultAlphaTextureShader[Globals.ms.Context];
|
||||||
Controls.Add(new Label() { Font = Globals.DefaultFont, Text = User.Username, Location = new((int)(50 * Globals.Settings.Scale),(int)(14 * Globals.Settings.Scale))});
|
Controls.Add(new Label() { Font = Globals.DefaultFont, Text = User.DisplayName, Location = new((int)(50 * Globals.Settings.Scale),(int)(14 * Globals.Settings.Scale))});
|
||||||
Controls.Add(new Label() { Font = Globals.DefaultFont, Text = User.FriendStatus.ToString(), Location = new((int)(50 * Globals.Settings.Scale),(int)(32 * Globals.Settings.Scale))});
|
Controls.Add(new Label() { Font = Globals.DefaultFont, Text = User.FriendStatus.ToString(), Location = new((int)(50 * Globals.Settings.Scale),(int)(32 * Globals.Settings.Scale))});
|
||||||
if (User.FriendStatus == FriendStatus.PendingIn)
|
if (User.FriendStatus == FriendStatus.PendingIn)
|
||||||
{
|
{
|
||||||
@ -57,14 +59,14 @@ public class FriendRequest : UserControl
|
|||||||
|
|
||||||
private Task RejectOnClicked(IRenderObject arg)
|
private Task RejectOnClicked(IRenderObject arg)
|
||||||
{
|
{
|
||||||
_ = Globals.Luski.SendFriendResult(User.Id, false, CancellationToken.None).Result;
|
//_ = Globals.Luski.SendFriendResult(User.Id, false, CancellationToken.None).Result;
|
||||||
Screen.RemoveFriendRequest(User);
|
Screen.RemoveFriendRequest(User);
|
||||||
return Task.CompletedTask;
|
return Task.CompletedTask;
|
||||||
}
|
}
|
||||||
|
|
||||||
private Task AcceptOnClicked(IRenderObject arg)
|
private Task AcceptOnClicked(IRenderObject arg)
|
||||||
{
|
{
|
||||||
Screen.AddFriend(Globals.Luski.SendFriendResult(User.Id, true, CancellationToken.None).Result);
|
//Screen.AddFriend(Globals.Luski.SendFriendResult(User.Id, true, CancellationToken.None).Result);
|
||||||
Screen.RemoveFriendRequest(User);
|
Screen.RemoveFriendRequest(User);
|
||||||
return Task.CompletedTask;
|
return Task.CompletedTask;
|
||||||
}
|
}
|
||||||
|
@ -3,8 +3,8 @@ using GraphicsManager;
|
|||||||
using GraphicsManager.Interfaces;
|
using GraphicsManager.Interfaces;
|
||||||
using GraphicsManager.Objects;
|
using GraphicsManager.Objects;
|
||||||
using GraphicsManager.Objects.Core;
|
using GraphicsManager.Objects.Core;
|
||||||
using Luski.net.JsonTypes;
|
|
||||||
using Luski.GUI.MainScreen.Interfaces;
|
using Luski.GUI.MainScreen.Interfaces;
|
||||||
|
using Luski.net.Structures.Main;
|
||||||
using OpenTK.Graphics.OpenGL4;
|
using OpenTK.Graphics.OpenGL4;
|
||||||
using OpenTK.Mathematics;
|
using OpenTK.Mathematics;
|
||||||
|
|
||||||
@ -12,9 +12,9 @@ namespace Luski.GUI.MainScreen.UI;
|
|||||||
|
|
||||||
public class Group : UserControl, IChannelPick
|
public class Group : UserControl, IChannelPick
|
||||||
{
|
{
|
||||||
public SocketTextChannel Channel { get; set; }
|
public MainSocketTextChannel Channel { get; set; }
|
||||||
// private string members = "";
|
// private string members = "";
|
||||||
public Group(SocketGroupChannel chan)
|
public Group(MainSocketGroupChannel chan)
|
||||||
{
|
{
|
||||||
Label Status, Username;
|
Label Status, Username;
|
||||||
Rectangle r, rr;
|
Rectangle r, rr;
|
||||||
|
@ -15,7 +15,7 @@ namespace Luski.GUI.StartPage.UI;
|
|||||||
public class CreateAccount : UserControl
|
public class CreateAccount : UserControl
|
||||||
{
|
{
|
||||||
private RoundedButton button;
|
private RoundedButton button;
|
||||||
private Textbox Password, Email, Username;
|
private Textbox Password, UsernameTextbox, DisplaynameTextBox;
|
||||||
private Rectangle rec;
|
private Rectangle rec;
|
||||||
private string? pfp;
|
private string? pfp;
|
||||||
|
|
||||||
@ -30,23 +30,23 @@ public class CreateAccount : UserControl
|
|||||||
Controls.Add(t=new Label() { Scale = 1.6f * (float)Globals.Settings.Scale, Font = Globals.DefaultFont, Location = new((int)(199*Globals.Settings.Scale)), Text = "Luski", Color = new(243, 119, 53, 255) });
|
Controls.Add(t=new Label() { Scale = 1.6f * (float)Globals.Settings.Scale, Font = Globals.DefaultFont, Location = new((int)(199*Globals.Settings.Scale)), Text = "Luski", Color = new(243, 119, 53, 255) });
|
||||||
t.Location = new((Size.X / 2) - (t.Size.X / 2), t.Location.Y);
|
t.Location = new((Size.X / 2) - (t.Size.X / 2), t.Location.Y);
|
||||||
tt.Location = new((Size.X / 2) - (tt.Size.X / 2), tt.Location.Y);
|
tt.Location = new((Size.X / 2) - (tt.Size.X / 2), tt.Location.Y);
|
||||||
Controls.Add(Email = new Textbox() { TextLocation = TextLocation.TrueCenterLeft, WatermarkFont = Globals.DefaultFont, WatermarkText = "Email", Font = Globals.DefaultFont, Location = new((int)(27 * Globals.Settings.Scale),(int)(280 * Globals.Settings.Scale)), Size = new((int)(261 * Globals.Settings.Scale),(int)(27 * Globals.Settings.Scale)), InsideColor = new(28,28,28,255), BorderColor = Color4.DarkCyan });
|
Controls.Add(UsernameTextbox = new Textbox() { TextLocation = TextLocation.TrueCenterLeft, WatermarkFont = Globals.DefaultFont, WatermarkText = "Username", Font = Globals.DefaultFont, Location = new((int)(27 * Globals.Settings.Scale),(int)(280 * Globals.Settings.Scale)), Size = new((int)(261 * Globals.Settings.Scale),(int)(27 * Globals.Settings.Scale)), InsideColor = new(28,28,28,255), BorderColor = Color4.DarkCyan });
|
||||||
Controls.Add(Password = new Textbox() { TextLocation = TextLocation.TrueCenterLeft, WatermarkFont = Globals.DefaultFont, WatermarkText = "Password", Font = Globals.DefaultFont, PasswordChar = '●', Location = new(Email.Location.X,(int)(346 * Globals.Settings.Scale)), Size = new(Email.Size.X, Email.Location.X), InsideColor = new(28, 28, 28, 255), BorderColor = Color4.DarkCyan });
|
Controls.Add(Password = new Textbox() { TextLocation = TextLocation.TrueCenterLeft, WatermarkFont = Globals.DefaultFont, WatermarkText = "Password", Font = Globals.DefaultFont, PasswordChar = '●', Location = new(UsernameTextbox.Location.X,(int)(346 * Globals.Settings.Scale)), Size = new(UsernameTextbox.Size.X, UsernameTextbox.Location.X), InsideColor = new(28, 28, 28, 255), BorderColor = Color4.DarkCyan });
|
||||||
Controls.Add(Username = new Textbox() { TextLocation = TextLocation.TrueCenterLeft, WatermarkFont = Globals.DefaultFont, WatermarkText = "Username", Font = Globals.DefaultFont, Location = new(Email.Location.X,(int)(400 * Globals.Settings.Scale)), Size = new((int)(196 * Globals.Settings.Scale), Email.Location.X), InsideColor = new(28, 28, 28, 255), BorderColor = Color4.DarkCyan });
|
Controls.Add(DisplaynameTextBox = new Textbox() { TextLocation = TextLocation.TrueCenterLeft, WatermarkFont = Globals.DefaultFont, WatermarkText = "Displayname", Font = Globals.DefaultFont, Location = new(UsernameTextbox.Location.X,(int)(400 * Globals.Settings.Scale)), Size = new((int)(196 * Globals.Settings.Scale), UsernameTextbox.Location.X), InsideColor = new(28, 28, 28, 255), BorderColor = Color4.DarkCyan });
|
||||||
Controls.Add(button = new() { Font = Globals.DefaultFont, Text = "Create Account", Location = new(Email.Location.X, (int)(456 * Globals.Settings.Scale)), Size = new(Email.Size.X, (int)(46 * Globals.Settings.Scale)), InsideColor = new(28, 28, 28, 255), BorderColor = Color4.DarkCyan });
|
Controls.Add(button = new() { Font = Globals.DefaultFont, Text = "Create Account", Location = new(UsernameTextbox.Location.X, (int)(456 * Globals.Settings.Scale)), Size = new(UsernameTextbox.Size.X, (int)(46 * Globals.Settings.Scale)), InsideColor = new(28, 28, 28, 255), BorderColor = Color4.DarkCyan });
|
||||||
Controls.Add(rec = new Rectangle(){ Location = new((int)(228 * Globals.Settings.Scale), (int)(384 * Globals.Settings.Scale)), Size = new((int)(50 * Globals.Settings.Scale)), BackgroundColor = Color4.Red});
|
Controls.Add(rec = new Rectangle(){ Location = new((int)(228 * Globals.Settings.Scale), (int)(384 * Globals.Settings.Scale)), Size = new((int)(50 * Globals.Settings.Scale)), BackgroundColor = Color4.Red});
|
||||||
Password.KeyPress += PasswordOnKeyPress;
|
Password.KeyPress += PasswordOnKeyPress;
|
||||||
Email.KeyPress += EmailOnKeyPress;
|
UsernameTextbox.KeyPress += UsernameTextboxOnKeyPress;
|
||||||
button.Clicked += ButtonOnClicked;
|
button.Clicked += ButtonOnClicked;
|
||||||
Username.KeyPress += UsernameOnKeyPress;
|
DisplaynameTextBox.KeyPress += DisplaynameTextBoxOnKeyPress;
|
||||||
rec.FilesDroped += RecOnFilesDroped;
|
rec.FilesDroped += RecOnFilesDroped;
|
||||||
}
|
}
|
||||||
|
|
||||||
private Task UsernameOnKeyPress(KeyboardKeyEventArgs arg)
|
private Task DisplaynameTextBoxOnKeyPress(KeyboardKeyEventArgs arg)
|
||||||
{
|
{
|
||||||
if (arg.Key != Keys.Enter && arg.Key != Keys.KeyPadEnter && arg.Key != Keys.Tab) return Task.CompletedTask;
|
if (arg.Key != Keys.Enter && arg.Key != Keys.KeyPadEnter && arg.Key != Keys.Tab) return Task.CompletedTask;
|
||||||
if (arg.Key == Keys.Tab && arg.Shift) { Password.Focus(); return Task.CompletedTask; }
|
if (arg.Key == Keys.Tab && arg.Shift) { Password.Focus(); return Task.CompletedTask; }
|
||||||
if (arg.Key == Keys.Enter || arg.Key == Keys.KeyPadEnter) ButtonOnClicked(Username);
|
if (arg.Key == Keys.Enter || arg.Key == Keys.KeyPadEnter) ButtonOnClicked(DisplaynameTextBox);
|
||||||
return Task.CompletedTask;
|
return Task.CompletedTask;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -79,7 +79,7 @@ public class CreateAccount : UserControl
|
|||||||
}
|
}
|
||||||
|
|
||||||
private bool tab;
|
private bool tab;
|
||||||
private Task EmailOnKeyPress(KeyboardKeyEventArgs arg)
|
private Task UsernameTextboxOnKeyPress(KeyboardKeyEventArgs arg)
|
||||||
{
|
{
|
||||||
if (arg.Key != Keys.Tab) return Task.CompletedTask;
|
if (arg.Key != Keys.Tab) return Task.CompletedTask;
|
||||||
if (arg.Key == Keys.Tab){ Password.Focus(); tab = true;}
|
if (arg.Key == Keys.Tab){ Password.Focus(); tab = true;}
|
||||||
@ -94,8 +94,8 @@ public class CreateAccount : UserControl
|
|||||||
return Task.CompletedTask;
|
return Task.CompletedTask;
|
||||||
};
|
};
|
||||||
if (arg.Key != Keys.Enter && arg.Key != Keys.KeyPadEnter && arg.Key != Keys.Tab) return Task.CompletedTask;
|
if (arg.Key != Keys.Enter && arg.Key != Keys.KeyPadEnter && arg.Key != Keys.Tab) return Task.CompletedTask;
|
||||||
if (arg.Key == Keys.Tab && arg.Shift) { Email.Focus(); return Task.CompletedTask; }
|
if (arg.Key == Keys.Tab && arg.Shift) { UsernameTextbox.Focus(); return Task.CompletedTask; }
|
||||||
if (arg.Key == Keys.Tab ){ Username.Focus(); return Task.CompletedTask; }
|
if (arg.Key == Keys.Tab ){ DisplaynameTextBox.Focus(); return Task.CompletedTask; }
|
||||||
return Task.CompletedTask;
|
return Task.CompletedTask;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -105,13 +105,13 @@ public class CreateAccount : UserControl
|
|||||||
{
|
{
|
||||||
string[] arr = new string[]
|
string[] arr = new string[]
|
||||||
{
|
{
|
||||||
Email.Text,
|
UsernameTextbox.Text,
|
||||||
Password.Text,
|
Password.Text,
|
||||||
Username.Text,
|
DisplaynameTextBox.Text,
|
||||||
pfp!
|
pfp!
|
||||||
};
|
};
|
||||||
if (arr.Any(s => string.IsNullOrEmpty(s))) return Task.CompletedTask;
|
if (arr.Any(s => string.IsNullOrEmpty(s))) return Task.CompletedTask;
|
||||||
Globals.Luski = Server.CreateAccount(Email.Text, Password.Text, Username.Text, pfp!, CancellationToken.None, Globals.UpdaterSettings.Branch);
|
Globals.Luski.MainServer.CreateAccount(UsernameTextbox.Text, Password.Text, DisplaynameTextBox.Text, pfp!, CancellationToken.None);
|
||||||
ChangeToApp!.Invoke();
|
ChangeToApp!.Invoke();
|
||||||
}
|
}
|
||||||
catch (Exception e)
|
catch (Exception e)
|
||||||
|
@ -11,7 +11,7 @@ namespace Luski.GUI.StartPage.UI;
|
|||||||
public class Login : UserControl
|
public class Login : UserControl
|
||||||
{
|
{
|
||||||
private RoundedButton button;
|
private RoundedButton button;
|
||||||
private Textbox Password, Email;
|
private Textbox Password, UsernameTextbox;
|
||||||
private Label ca;
|
private Label ca;
|
||||||
public event Func<Task>? ChangeToApp;
|
public event Func<Task>? ChangeToApp;
|
||||||
public event Func<Task>? ChangeToCa;
|
public event Func<Task>? ChangeToCa;
|
||||||
@ -24,12 +24,12 @@ public class Login : UserControl
|
|||||||
Controls.Add(t=new Label() { Scale = 1.6f, Font = Globals.DefaultFont, Location = new((int)(199*Globals.Settings.Scale)), Text = "Luski", Color = new(243, 119, 53, 255) });
|
Controls.Add(t=new Label() { Scale = 1.6f, Font = Globals.DefaultFont, Location = new((int)(199*Globals.Settings.Scale)), Text = "Luski", Color = new(243, 119, 53, 255) });
|
||||||
t.Location = new((Size.X / 2) - (t.Size.X / 2), t.Location.Y);
|
t.Location = new((Size.X / 2) - (t.Size.X / 2), t.Location.Y);
|
||||||
tt.Location = new((Size.X / 2) - (tt.Size.X / 2), tt.Location.Y);
|
tt.Location = new((Size.X / 2) - (tt.Size.X / 2), tt.Location.Y);
|
||||||
Controls.Add(Email = new Textbox() { TextLocation = TextLocation.TrueCenterLeft, WatermarkFont = Globals.DefaultFont, WatermarkText = "Email", Font = Globals.DefaultFont, Location = new((int)(27*Globals.Settings.Scale),(int)(280 * Globals.Settings.Scale)), Size = new((int)(261 * Globals.Settings.Scale),(int)(27 * Globals.Settings.Scale)), InsideColor = new(28,28,28,255), BorderColor = Color4.DarkCyan });
|
Controls.Add(UsernameTextbox = new Textbox() { TextLocation = TextLocation.TrueCenterLeft, WatermarkFont = Globals.DefaultFont, WatermarkText = "Username", Font = Globals.DefaultFont, Location = new((int)(27*Globals.Settings.Scale),(int)(280 * Globals.Settings.Scale)), Size = new((int)(261 * Globals.Settings.Scale),(int)(27 * Globals.Settings.Scale)), InsideColor = new(28,28,28,255), BorderColor = Color4.DarkCyan });
|
||||||
Controls.Add(Password = new Textbox() { TextLocation = TextLocation.TrueCenterLeft, WatermarkFont = Globals.DefaultFont, WatermarkText = "Password", Font = Globals.DefaultFont, PasswordChar = '●', Location = new(Email.Location.X,(int)(365 * Globals.Settings.Scale)), Size = Email.Size, InsideColor = new(28, 28, 28, 255), BorderColor = Color4.DarkCyan });
|
Controls.Add(Password = new Textbox() { TextLocation = TextLocation.TrueCenterLeft, WatermarkFont = Globals.DefaultFont, WatermarkText = "Password", Font = Globals.DefaultFont, PasswordChar = '●', Location = new(UsernameTextbox.Location.X,(int)(365 * Globals.Settings.Scale)), Size = UsernameTextbox.Size, InsideColor = new(28, 28, 28, 255), BorderColor = Color4.DarkCyan });
|
||||||
Controls.Add(ca = new Label() { Font = Globals.DefaultFont, Location = new(Email.Location.X,(int)(419 * Globals.Settings.Scale)), Text = "Create Account" });
|
Controls.Add(ca = new Label() { Font = Globals.DefaultFont, Location = new(UsernameTextbox.Location.X,(int)(419 * Globals.Settings.Scale)), Text = "Create Account" });
|
||||||
Controls.Add(button = new() { Font = Globals.DefaultFont, Text = "Login", Location = new(Email.Location.X, (int)(455 * Globals.Settings.Scale)), Size = new(Email.Size.X,(int)(46 * Globals.Settings.Scale)), InsideColor = new(28, 28, 28, 255), BorderColor = Color4.DarkCyan });
|
Controls.Add(button = new() { Font = Globals.DefaultFont, Text = "Login", Location = new(UsernameTextbox.Location.X, (int)(455 * Globals.Settings.Scale)), Size = new(UsernameTextbox.Size.X,(int)(46 * Globals.Settings.Scale)), InsideColor = new(28, 28, 28, 255), BorderColor = Color4.DarkCyan });
|
||||||
Password.KeyPress += PasswordOnKeyPress;
|
Password.KeyPress += PasswordOnKeyPress;
|
||||||
Email.KeyPress += EmailOnKeyPress;
|
UsernameTextbox.KeyPress += UsernameTextboxOnKeyPress;
|
||||||
button.Clicked += ButtonOnClicked;
|
button.Clicked += ButtonOnClicked;
|
||||||
ca.Clicked += CaOnClicked;
|
ca.Clicked += CaOnClicked;
|
||||||
this.WindowLoaded += OnWindowLoaded;
|
this.WindowLoaded += OnWindowLoaded;
|
||||||
@ -37,7 +37,7 @@ public class Login : UserControl
|
|||||||
|
|
||||||
private Task OnWindowLoaded(IRenderObject arg)
|
private Task OnWindowLoaded(IRenderObject arg)
|
||||||
{
|
{
|
||||||
Email.Focus();
|
UsernameTextbox.Focus();
|
||||||
return Task.CompletedTask;
|
return Task.CompletedTask;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -47,7 +47,7 @@ public class Login : UserControl
|
|||||||
return Task.CompletedTask;
|
return Task.CompletedTask;
|
||||||
}
|
}
|
||||||
|
|
||||||
private Task EmailOnKeyPress(KeyboardKeyEventArgs arg)
|
private Task UsernameTextboxOnKeyPress(KeyboardKeyEventArgs arg)
|
||||||
{
|
{
|
||||||
if (arg.Key != Keys.Tab) return Task.CompletedTask;
|
if (arg.Key != Keys.Tab) return Task.CompletedTask;
|
||||||
Password.Focus();
|
Password.Focus();
|
||||||
@ -57,7 +57,7 @@ public class Login : UserControl
|
|||||||
private Task PasswordOnKeyPress(KeyboardKeyEventArgs arg)
|
private Task PasswordOnKeyPress(KeyboardKeyEventArgs arg)
|
||||||
{
|
{
|
||||||
if (arg.Key != Keys.Enter && arg.Key != Keys.KeyPadEnter && arg.Key != Keys.Tab) return Task.CompletedTask;
|
if (arg.Key != Keys.Enter && arg.Key != Keys.KeyPadEnter && arg.Key != Keys.Tab) return Task.CompletedTask;
|
||||||
if (arg.Key == Keys.Tab && arg.Shift) Email.Focus();
|
if (arg.Key == Keys.Tab && arg.Shift) UsernameTextbox.Focus();
|
||||||
if (arg.Key != Keys.Tab ) ButtonOnClicked(Password);
|
if (arg.Key != Keys.Tab ) ButtonOnClicked(Password);
|
||||||
return Task.CompletedTask;
|
return Task.CompletedTask;
|
||||||
}
|
}
|
||||||
@ -66,7 +66,7 @@ public class Login : UserControl
|
|||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
Globals.Luski = Server.Login(Email.Text, Password.Text, CancellationToken.None, Globals.UpdaterSettings.Branch).Result;
|
Globals.Luski.MainServer.Login(UsernameTextbox.Text, Password.Text, CancellationToken.None);
|
||||||
ChangeToApp!.Invoke();
|
ChangeToApp!.Invoke();
|
||||||
}
|
}
|
||||||
catch (Exception e)
|
catch (Exception e)
|
||||||
@ -75,7 +75,7 @@ public class Login : UserControl
|
|||||||
{
|
{
|
||||||
BlockDraw = true;
|
BlockDraw = true;
|
||||||
Password.BorderColor = Color4.DarkRed;
|
Password.BorderColor = Color4.DarkRed;
|
||||||
Email.BorderColor = Color4.DarkRed;
|
UsernameTextbox.BorderColor = Color4.DarkRed;
|
||||||
BlockDraw = false;
|
BlockDraw = false;
|
||||||
TryDraw();
|
TryDraw();
|
||||||
}
|
}
|
||||||
|
@ -2,7 +2,7 @@ using GraphicsManager;
|
|||||||
using GraphicsManager.Enums;
|
using GraphicsManager.Enums;
|
||||||
using Luski.GUI.MainScreen.Interfaces;
|
using Luski.GUI.MainScreen.Interfaces;
|
||||||
using Luski.GUI.MainScreen.UI;
|
using Luski.GUI.MainScreen.UI;
|
||||||
using Luski.net.JsonTypes;
|
using Luski.net.Structures.Main;
|
||||||
using OpenTK.Windowing.Common;
|
using OpenTK.Windowing.Common;
|
||||||
using OpenTK.Windowing.Desktop;
|
using OpenTK.Windowing.Desktop;
|
||||||
|
|
||||||
@ -33,9 +33,9 @@ public class ChatWindow : Window
|
|||||||
Anchor = ObjectAnchor.All
|
Anchor = ObjectAnchor.All
|
||||||
});
|
});
|
||||||
c.UpdateTitle(pick);
|
c.UpdateTitle(pick);
|
||||||
IReadOnlyList<SocketMessage> messages = pick.Channel.GetMessages(CancellationToken.None, Globals.Settings.LoadPerChannel).Result;
|
IReadOnlyList<MainSocketMessage> messages = pick.Channel.GetMessages(CancellationToken.None, Globals.Settings.LoadPerChannel).Result;
|
||||||
|
|
||||||
foreach (SocketMessage message in messages.Reverse())
|
foreach (MainSocketMessage message in messages.Reverse())
|
||||||
{
|
{
|
||||||
c!.AddMessage(TextureManager, message);
|
c!.AddMessage(TextureManager, message);
|
||||||
}
|
}
|
||||||
|
@ -12,7 +12,7 @@ public class Globals
|
|||||||
{
|
{
|
||||||
#pragma warning disable CS8618
|
#pragma warning disable CS8618
|
||||||
public static bool Download { get; set; } = false;
|
public static bool Download { get; set; } = false;
|
||||||
public static Server Luski { get; set; } = null!;
|
public static API Luski { get; } = new();
|
||||||
public static MainScreen ms;
|
public static MainScreen ms;
|
||||||
|
|
||||||
public static Settings Settings { get; set; }
|
public static Settings Settings { get; set; }
|
||||||
|
@ -20,7 +20,7 @@
|
|||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Include="GraphicsManager" Version="1.0.5-alpha74" />
|
<PackageReference Include="GraphicsManager" Version="1.0.5-alpha74" />
|
||||||
<PackageReference Include="Luski.net" Version="1.1.3-alpha23" />
|
<PackageReference Include="Luski.net" Version="1.1.3-alpha25" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
@ -11,6 +11,10 @@ using Image = OpenTK.Windowing.Common.Input.Image;
|
|||||||
try
|
try
|
||||||
{
|
{
|
||||||
Globals.Settings = Globals.GetSettings(Path.Combine(Globals.LuskiPath, "Settings.json"), SettingsContext.Default.Settings);
|
Globals.Settings = Globals.GetSettings(Path.Combine(Globals.LuskiPath, "Settings.json"), SettingsContext.Default.Settings);
|
||||||
|
_ = Globals.Luski.GetMainServer(Globals.Settings.Domain, Globals.Settings.Version);
|
||||||
|
_ = Globals.Luski.GetPublicServer("TCLL.Luski.JacobTech.com", Globals.Settings.Version);
|
||||||
|
Console.WriteLine("Conecting to main server '{0}' using API {1}", Globals.Luski.MainServer.Domain, Globals.Luski.MainServer.ApiVersion);
|
||||||
|
Console.WriteLine("Conecting to public server '{0}' using API {1}", Globals.Luski.LoadedServers.First().Domain, Globals.Luski.LoadedServers.First().ApiVersion);
|
||||||
Globals.UpdaterSettings = Globals.GetSettings(Path.Combine(Globals.LuskiPath, "UpdaterSettings.json"), UpdaterSettingsContext.Default.UpdaterSettings);
|
Globals.UpdaterSettings = Globals.GetSettings(Path.Combine(Globals.LuskiPath, "UpdaterSettings.json"), UpdaterSettingsContext.Default.UpdaterSettings);
|
||||||
Assembly assembly = Assembly.GetExecutingAssembly();
|
Assembly assembly = Assembly.GetExecutingAssembly();
|
||||||
Stream? resource_stream = assembly.GetManifestResourceStream($"Luski.Resources.Textures.Luski.png");
|
Stream? resource_stream = assembly.GetManifestResourceStream($"Luski.Resources.Textures.Luski.png");
|
||||||
@ -18,7 +22,6 @@ try
|
|||||||
resource_stream?.CopyTo(ms);
|
resource_stream?.CopyTo(ms);
|
||||||
var Logo = SixLabors.ImageSharp.Image.Load<Rgba32>(ms.ToArray());
|
var Logo = SixLabors.ImageSharp.Image.Load<Rgba32>(ms.ToArray());
|
||||||
|
|
||||||
//List<byte> pixels = new List<byte>(4 * Logo.Width * Logo.Height);
|
|
||||||
Span<byte> pixels = new byte[4 * Logo.Width * Logo.Height].AsSpan();
|
Span<byte> pixels = new byte[4 * Logo.Width * Logo.Height].AsSpan();
|
||||||
Logo.CopyPixelDataTo(pixels);
|
Logo.CopyPixelDataTo(pixels);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user