saving player gender

This commit is contained in:
AlessandroCH 2025-03-08 15:26:54 +01:00
parent 69d2dbaa0e
commit 5f488b67d9
4 changed files with 18 additions and 4 deletions

View File

@ -42,6 +42,7 @@ namespace Campofinale.Database
public List<Scene> scenes = new(); public List<Scene> scenes = new();
public Dictionary<int, List<int>> bitsets = new(); public Dictionary<int, List<int>> bitsets = new();
public PlayerSafeZoneInfo savedSafeZone = new(); public PlayerSafeZoneInfo savedSafeZone = new();
public Gender gender = Gender.GenFemale;
} }
public class Account public class Account
{ {
@ -141,7 +142,8 @@ namespace Campofinale.Database
noSpawnAnymore = player.noSpawnAnymore, noSpawnAnymore = player.noSpawnAnymore,
scenes=player.sceneManager.scenes, scenes=player.sceneManager.scenes,
bitsets=player.bitsetManager.bitsets, bitsets=player.bitsetManager.bitsets,
savedSafeZone = player.savedSaveZone savedSafeZone = player.savedSaveZone,
gender=player.gender,
}; };
UpsertPlayerData(data); UpsertPlayerData(data);
} }

View File

@ -65,9 +65,18 @@ namespace Campofinale.Packets.Cs
session.Disconnect(); session.Disconnect();
return; return;
} }
session.Load(account.id); bool exist=session.Load(account.id);
rsp.Uid = ""+session.accountId; rsp.Uid = ""+session.accountId;
if (!exist)
{
rsp.IsFirstLogin = true;
//session.gender = Gender.GenInvalid;
//session.Send(ScMsgId.ScLogin, rsp);
//session.Send(new PacketScSyncBaseData(session));
//return;
}
session.Send(ScMsgId.ScLogin, rsp); session.Send(ScMsgId.ScLogin, rsp);
} }

View File

@ -20,7 +20,7 @@ namespace Campofinale.Packets.Sc
Level = client.level, Level = client.level,
Exp=client.xp, Exp=client.xp,
RoleName = client.nickname, RoleName = client.nickname,
Gender = Gender.GenFemale, Gender = client.gender,
ShortId="1", ShortId="1",
}; };

View File

@ -89,6 +89,7 @@ namespace Campofinale
public string accountId = ""; public string accountId = "";
public string nickname = "Endministrator"; public string nickname = "Endministrator";
public ulong roleId= 1; public ulong roleId= 1;
public Gender gender=Gender.GenFemale;
public uint level = 20; public uint level = 20;
public uint xp = 0; public uint xp = 0;
// //
@ -139,7 +140,7 @@ namespace Campofinale
{ {
return chars.FindAll(c=> teams[teamIndex].members.Contains(c.guid)); return chars.FindAll(c=> teams[teamIndex].members.Contains(c.guid));
} }
public void Load(string accountId) public bool Load(string accountId)
{ {
this.accountId = accountId; this.accountId = accountId;
PlayerData data = DatabaseManager.db.GetPlayerById(this.accountId); PlayerData data = DatabaseManager.db.GetPlayerById(this.accountId);
@ -161,6 +162,7 @@ namespace Campofinale
maxDashEnergy = data.maxDashEnergy; maxDashEnergy = data.maxDashEnergy;
curStamina = data.curStamina; curStamina = data.curStamina;
nextRecoverTime=data.nextRecoverTime; nextRecoverTime=data.nextRecoverTime;
if (data.gender > 0) gender = data.gender;
LoadCharacters(); LoadCharacters();
mails = DatabaseManager.db.LoadMails(roleId); mails = DatabaseManager.db.LoadMails(roleId);
inventoryManager.Load(); inventoryManager.Load();
@ -178,6 +180,7 @@ namespace Campofinale
} }
sceneManager.Load(); sceneManager.Load();
factoryManager.Load(); factoryManager.Load();
return (data != null);
} }
public void LoadCharacters() public void LoadCharacters()
{ {