summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSarah B <git@sarahduck.ca>2023-12-24 21:45:26 -0800
committerSarah B <git@sarahduck.ca>2023-12-24 21:45:26 -0800
commita4874e186e24ce1736bfbda1deb0227597d2d690 (patch)
tree9bf11b6521237547c860cbc775110a49ef938b30
parent0206e04e0a3542b8f0fc97996f1d885f7604a6fa (diff)
Added seperate nekoname
-rw-r--r--ConfigFile.cs7
-rw-r--r--Mouse.cs4
-rw-r--r--MouseLocal.cs2
-rw-r--r--Net.cs1
-rw-r--r--NetClient.cs4
-rw-r--r--NetServer.cs4
-rw-r--r--OnekoLocal.cs2
-rw-r--r--OnekoNet.cs2
8 files changed, 23 insertions, 3 deletions
diff --git a/ConfigFile.cs b/ConfigFile.cs
index e0f1293..cfe77c9 100644
--- a/ConfigFile.cs
+++ b/ConfigFile.cs
@@ -15,6 +15,7 @@ class ConfigFile
Console.WriteLine("Config file does not exist, creating one.");
File.WriteAllText(Path, TopLine);
OptionChanged = true;
+ SaveFileDelayed(3000);
return;
}
@@ -29,6 +30,12 @@ class ConfigFile
}
}
+ public async void SaveFileDelayed(int delayInMilliseconds)
+ {
+ await Task.Delay(delayInMilliseconds);
+ SaveFile();
+ }
+
public void SaveFile()
{
if (!OptionChanged) return;
diff --git a/Mouse.cs b/Mouse.cs
index 71b79ca..a23d784 100644
--- a/Mouse.cs
+++ b/Mouse.cs
@@ -23,6 +23,10 @@ abstract class Mouse : Drawable
public override void Draw()
{
+ Vector2 NametagPosition = new(Position.X-(Name.Length*3)+4, Position.Y-13);
+ Raylib.DrawTextEx(OnekoOnline.DefaultFont, Name, NametagPosition+Directions.Down, 11, 0, Color.BLACK); //Shadow
+ Raylib.DrawTextEx(OnekoOnline.DefaultFont, Name, NametagPosition, 11, 0, Color.WHITE);
+
Raylib.DrawTexture(CursorTex, (int)Position.X, (int)Position.Y, Color.WHITE);
}
diff --git a/MouseLocal.cs b/MouseLocal.cs
index 0b38cd5..2b36ff3 100644
--- a/MouseLocal.cs
+++ b/MouseLocal.cs
@@ -12,6 +12,8 @@ class MouseLocal : Mouse
Client.UserConnected += user => {
MouseNet NewNetMouse = new(user);
};
+
+ Name = Client.UserName;
}
public override void Update(float delta)
diff --git a/Net.cs b/Net.cs
index 4bf984e..8384482 100644
--- a/Net.cs
+++ b/Net.cs
@@ -96,4 +96,5 @@ class User(int id)
//Oneko Stuff
public byte[]? SpriteSheet;
public string? Username;
+ public string? Nekoname;
} \ No newline at end of file
diff --git a/NetClient.cs b/NetClient.cs
index da287df..492c459 100644
--- a/NetClient.cs
+++ b/NetClient.cs
@@ -6,7 +6,7 @@ namespace OnekoOnline.Net;
class Client
{
- public static readonly string UserName = OnekoOnline.Config.GetValue("UserName", "Oneko");
+ public static readonly string UserName = OnekoOnline.Config.GetValue("UserName", "User");
public int Id {get; private set;} = -1;
public bool Connected => NetClient?.ConnectedPeersCount > 0 && Id != -1;
@@ -38,6 +38,7 @@ class Client
writer.Put(new PacketInfo(PacketType.UserInfo, Id));
writer.Put(UserName);
+ writer.Put(OnekoLocal.Instance!.Name);
writer.PutBytesWithLength(OnekoLocal.Instance!.SpriteSheet.Serialize());
peer.Send(writer, DeliveryMethod.ReliableUnordered);
};
@@ -73,6 +74,7 @@ class Client
else if (info.Type == PacketType.UserInfo) {
from.Username = reader.GetString();
+ from.Nekoname = reader.GetString();
from.SpriteSheet = reader.GetBytesWithLength();
Console.WriteLine($"User {from.Username} joined!");
from.Initialized = true;
diff --git a/NetServer.cs b/NetServer.cs
index a8e3130..875ddfd 100644
--- a/NetServer.cs
+++ b/NetServer.cs
@@ -53,6 +53,8 @@ class Server
if (info.Type == PacketType.UserInfo) {
user.Username = dataReader.GetString();
if (user.Username.Length > 40) user.Username = user.Username[0..40]; //Clamp username length
+ user.Nekoname = dataReader.GetString();
+ if (user.Nekoname.Length > 40) user.Nekoname = user.Nekoname[0..40]; //Clamp nekoname length
user.SpriteSheet = dataReader.GetBytesWithLength();
if (!user.Initialized) {
@@ -71,12 +73,14 @@ class Server
//Send all current users spritesheets to this user.
writer.ResetWithInfo(new PacketInfo(PacketType.UserInfo, toSend.Id));
writer.Put(toSend.Username);
+ writer.Put(toSend.Nekoname);
writer.PutBytesWithLength(toSend.SpriteSheet);
fromPeer.Send(writer, DeliveryMethod.ReliableUnordered);
//Send all current users this users spritesheet
writer.ResetWithInfo(new PacketInfo(PacketType.UserInfo, user.Id));
writer.Put(user.Username);
+ writer.Put(user.Nekoname);
writer.PutBytesWithLength(user.SpriteSheet);
toSend.Peer.Send(writer, DeliveryMethod.ReliableUnordered);
}
diff --git a/OnekoLocal.cs b/OnekoLocal.cs
index c33dd66..249c5d1 100644
--- a/OnekoLocal.cs
+++ b/OnekoLocal.cs
@@ -28,7 +28,7 @@ class OnekoLocal : Oneko
Client.UserConnected += OnekoNet.SpawnNetNeko;
- Name = Client.UserName;
+ Name = OnekoOnline.Config.GetValue("NekoName", "Oneko");
}
public override void Update(float delta)
diff --git a/OnekoNet.cs b/OnekoNet.cs
index a5b2008..d01bff3 100644
--- a/OnekoNet.cs
+++ b/OnekoNet.cs
@@ -15,7 +15,7 @@ class OnekoNet : Oneko
public OnekoNet(Bitmap bitmap, User user) : base(bitmap)
{
MyUser = user;
- Name = user.Username!;
+ Name = user.Nekoname!;
Client.UserDisconnected += disconnectedUser => {
if (disconnectedUser == MyUser) Dispose();