Skip to content

Commit 85a4e4a

Browse files
authored
Merge pull request #93 from DrMeepso/dev
Fetch username with getter to update players usernames when changed
2 parents 7434f5f + e0a2e66 commit 85a4e4a

File tree

5 files changed

+19
-8
lines changed

5 files changed

+19
-8
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,3 +13,4 @@ bin/
1313
WFServer/worlds/main_zone.tscn
1414
Cove/worlds/main_zone.tscn
1515
/.idea
16+
CoveServer.sln.DotSettings.user

Cove/Server/Actor/Player.cs

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -29,15 +29,26 @@ public class WFPlayer : WFActor
2929
{
3030
public CSteamID SteamId { get; set; }
3131
public string FisherID { get; set; }
32-
public string Username { get; set; }
32+
33+
public string Username
34+
{
35+
get
36+
{
37+
if (overrideUsername != "")
38+
return overrideUsername;
39+
return SteamFriends.GetFriendPersonaName(SteamId);
40+
}
41+
init => overrideUsername = value;
42+
}
43+
44+
private string overrideUsername = ""; // for if we need to override a players username
3345
public List<CSteamID> blockedPlayers = new List<CSteamID>();
3446
public SteamNetworkingIdentity identity;
35-
public WFPlayer(CSteamID id, string fisherName, SteamNetworkingIdentity identity) : base(0, "player", Vector3.zero)
47+
public WFPlayer(CSteamID id, SteamNetworkingIdentity identity) : base(0, "player", Vector3.zero)
3648
{
3749
SteamId = id;
3850
string randomID = new string(Enumerable.Range(0, 3).Select(_ => "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"[new Random().Next(36)]).ToArray());
3951
FisherID = randomID;
40-
Username = fisherName;
4152

4253
owner = id;
4354

Cove/Server/Server.Commands.cs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -152,7 +152,7 @@ public void RegisterDefaultCommands()
152152
previousPlayer = PreviousPlayers.ToList().Find(p => $"#{p.FisherID}".Equals(playerIdent, StringComparison.OrdinalIgnoreCase));
153153
if (previousPlayer != null)
154154
{
155-
playerToBan = new WFPlayer(previousPlayer.SteamId, previousPlayer.Username, new SteamNetworkingIdentity())
155+
playerToBan = new WFPlayer(previousPlayer.SteamId, new SteamNetworkingIdentity())
156156
{
157157
FisherID = previousPlayer.FisherID,
158158
Username = previousPlayer.Username,
@@ -216,7 +216,6 @@ public void RegisterDefaultCommands()
216216
CSteamID steamId = new CSteamID(Convert.ToUInt64(forgivenPlayer));
217217
var player = new WFPlayer(
218218
steamId,
219-
Steamworks.SteamFriends.GetFriendPersonaName(steamId),
220219
new SteamNetworkingIdentity()
221220
);
222221
if (isPlayerBanned(steamId))

Cove/Server/Server.Punish.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ public partial class CoveServer
3333

3434
public void banPlayer(CSteamID id, bool saveToFile = false, string banReason = "")
3535
{
36-
var player = new WFPlayer(id, Steamworks.SteamFriends.GetFriendPersonaName(id), new SteamNetworkingIdentity());
36+
var player = new WFPlayer(id, new SteamNetworkingIdentity());
3737

3838
Dictionary<string, object> banPacket = new();
3939
banPacket["type"] = "client_was_banned";

Cove/Server/Server.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -246,7 +246,7 @@ public async void Init()
246246
return;
247247
}
248248

249-
serverPlayer = new WFPlayer(SteamUser.GetSteamID(), SteamFriends.GetPersonaName(), new SteamNetworkingIdentity());
249+
serverPlayer = new WFPlayer(SteamUser.GetSteamID(), new SteamNetworkingIdentity()) { Username = SteamFriends.GetPersonaName() };
250250

251251
// thread for running steamworks callbacks
252252
cbThread.IsBackground = true;
@@ -480,7 +480,7 @@ out chatEntryType
480480
bool suc = SteamMatchmaking.SendLobbyChatMsg(new CSteamID(callback.m_ulSteamIDLobby), acceptData, acceptData.Count());
481481

482482
// make the player a wfplayer
483-
WFPlayer player = new WFPlayer(userId, SteamFriends.GetFriendPersonaName(userId), new SteamNetworkingIdentity());
483+
WFPlayer player = new WFPlayer(userId, new SteamNetworkingIdentity());
484484
AllPlayers.Add(player);
485485

486486
// if there is already a player with the same FisherID, remove them from the previous players list to prevent duplicates

0 commit comments

Comments
 (0)