public PlayerInfo Read(BinaryReader br) { Pid = br.ReadUInt64(); Uid = br.ReadUInt32(); if (br.ReadByte() == (byte)SerializeObjectMark.Common) { Name = br.ReadString(); } Level = br.ReadUInt32(); if (br.ReadByte() == (byte)SerializeObjectMark.Common) { Skill = (new PlayerInfoSkill()).Read(br); } if (br.ReadByte() == (byte)SerializeObjectMark.Common) { Item = (new PlayerInfoItem()).Read(br); } return(this); }
public async Task<bool> AskLearnSkill(ulong pid, uint skillId) { if (!await CheckValid(pid)) { return false; } using (var accesser = await Program.CacheService.GetPlayerInfoAccesser(pid)) { var infoSkill = await accesser.LoadSkillAtPlayerInfoAsync(); Console.WriteLine("LogicServiceImpl.AskLearnSkill load InfoSkill complete pid={0}", pid); if (infoSkill == null) { Console.WriteLine("LogicServiceImpl.AskLearnSkill InfoSkill is null pid={0}", pid); infoSkill = new PlayerInfoSkill() { SkillList = new List<uint>() }; } if (infoSkill.SkillList == null) { infoSkill.SkillList = new List<uint>(); } infoSkill.SkillList.Add(skillId); accesser.UpdateSkillAtPlayerInfo(infoSkill); await accesser.SubmitChanges(); Program.Logic2CliService.Forward(sessionId).ServerMessageOk(); return true; } }
public PlayerInfo Read(BinaryReader br) { Pid = br.ReadUInt64(); Uid = br.ReadUInt32(); if (br.ReadByte() == (byte)SerializeObjectMark.Common) { Name = br.ReadString(); } Level = br.ReadUInt32(); if (br.ReadByte() == (byte)SerializeObjectMark.Common) { Skill = (new PlayerInfoSkill()).Read(br); } if (br.ReadByte() == (byte)SerializeObjectMark.Common) { Item = (new PlayerInfoItem()).Read(br); } return this; }