public void SendMagicInfo(GameStruct.RoleMagicInfo info) { NetMsg.MsgMagicInfo magicinfo = new NetMsg.MsgMagicInfo(); magicinfo.Create(null, play.GetGamePackKeyEx()); magicinfo.id = play.GetTypeId(); magicinfo.magicid = (ushort)info.magicid; magicinfo.level = info.level; magicinfo.exp = info.exp; play.SendData(magicinfo.GetBuffer()); }
//添加幻兽技能 //magicid 技能id //magiclv 技能等级 //exp 技能经验 //ret 成功返回true 失败返回false public bool AddMagicInfo(ushort magicid, byte magiclv = 0, uint exp = 0) { GameStruct.MagicTypeInfo base_info = ConfigManager.Instance().GetMagicTypeInfo(magicid, magiclv); if (base_info == null) return false; bool bFind = false; for (int i = 0; i < mInfo.mListMagicInfo.Count; i++) { if (mInfo.mListMagicInfo[i].magicid == magicid) { mInfo.mListMagicInfo[i].level = magiclv; mInfo.mListMagicInfo[i].exp = exp; bFind = true; break; } } if (!bFind) { GameBase.Network.Internal.MagicInfo info = new GameBase.Network.Internal.MagicInfo(); info.id = 0; info.level = magiclv; info.magicid = magicid; info.exp = exp; info.ownerid =(int)mInfo.id; mInfo.mListMagicInfo.Add(info); } NetMsg.MsgMagicInfo net_info = new NetMsg.MsgMagicInfo(); net_info.id = this.GetTypeId(); net_info.magicid = magicid; net_info.level = magiclv; net_info.exp = exp; play.SendData(net_info.GetBuffer(), true); return true; }
//发送技能信息 public void SendMagicInfo() { for (int i = 0; i < mInfo.mListMagicInfo.Count; i++) { if (mInfo.mListMagicInfo[i].id == -1) return; //已删除的技能 NetMsg.MsgMagicInfo info = new NetMsg.MsgMagicInfo(); info.id = this.GetTypeId(); info.magicid = (ushort)mInfo.mListMagicInfo[i].magicid; info.exp = (uint)mInfo.mListMagicInfo[i].exp; play.SendData(info.GetBuffer(), true); } }