1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 |
- using MongoDB.Driver;
- using NetCore;
- using NetCore.Protocol.MemoryPack;
- using NetServer.MongoDB;
- using NetServer.MongoDB.DBData;
- using NetServerCore.Attribute;
- using Protocol.Protocol.MemoryPack.MemoryMessage;
- namespace NetServer.ServerLogic.Login;
- [LogicEnrollAtt((int)GameSendType.Login, 100)]
- public class LoginLogic : GameLogicBasic
- {
- public override async Task GameLogic(MemoryRequest internalMemoryRequst, IConnection iConnection,
- InternalMemoryResponese internalMemoryResponese)
- {
- Console.WriteLine("登录成功");
- PlayerData playerData = await PlayerDataLink.PlayerDbLink.FindOneDataAsyncPlayerData(Builders<PlayerData>.Filter
- .Eq(r => r.account, internalMemoryRequst.LoginRequest.account));
- if (playerData == null)
- {
- playerData = new PlayerData();
- playerData.account = internalMemoryRequst.LoginRequest.account;
- playerData.password = internalMemoryRequst.LoginRequest.password;
- playerData.playerId = System.DateTime.Now.Ticks;
- playerData.playerLevel = 1;
- playerData.levelBattleId = 1;
- playerData.PlayerHero = new List<PlayerHero>();
- playerData.PlayerHero.Add(new PlayerHero() { heroId = 101, heroLevel = 1 });
- PlayerDataLink.PlayerDbLink.InsertPlayerData(playerData);
- }
- LoginResponse loginResponse = new LoginResponse();
- loginResponse.playerLevel = playerData.playerLevel;
- loginResponse.levelBattleId = playerData.levelBattleId;
- loginResponse.heroDatas = new List<HeroData>();
- for (int i = 0; i < playerData.PlayerHero.Count; i++)
- {
- loginResponse.heroDatas.Add(playerData.PlayerHeroToHeroData(playerData.PlayerHero[i]));
- }
- loginResponse.ItemDatas = new List<ItemData>();
- if (playerData.PlayerItemDatas != null)
- {
- for (int i = 0; i < playerData.PlayerItemDatas.Count; i++)
- {
- loginResponse.ItemDatas.Add(new ItemData()
- {
- itemId = playerData.PlayerItemDatas[i].itemId,
- itemCount = playerData.PlayerItemDatas[i].itemCount,
- guid = playerData.PlayerItemDatas[i].guid
- });
- }
- }
- loginResponse.EquipDatas = new List<EquipData>();
- if (playerData.PlayerItemDatas != null)
- {
- for (int i = 0; i < playerData.PlayerEquipDatas.Count; i++)
- {
- loginResponse.EquipDatas.Add(new EquipData()
- {
- itemId = playerData.PlayerEquipDatas[i].itemId,
- quality = playerData.PlayerEquipDatas[i].quality,
- zyEqId = playerData.PlayerEquipDatas[i].zyEqId,
- isEquip = playerData.PlayerEquipDatas[i].isEquip
- });
- }
- }
- MemoryResponse memoryResponse = new MemoryResponse();
- memoryResponse.LoginResponse = loginResponse;
- memoryResponse.GameSendType = GameSendType.Login;
- _logicManager.SendResponse(memoryResponse, internalMemoryResponese, iConnection);
- }
- }
|