/// <summary> /// 通过网络包创建装备信息 /// </summary> /// <param name="net_info"></param> /// <returns></returns> public EquipInfo CreateEquipFromNet(PkgGoodsInfo net_info, uint bind = 0) { // pre check if (!IsEquipEidExist(net_info.gid)) { GameDebug.LogWarning("装备Eid找不到:" + net_info.gid); return(null); } var equip = new EquipInfo(net_info); equip.Bind = bind; // // foreach (var ap_attr in net_info.equip.effects) // { // equip.EffectAttrs.Add(ap_attr.id, ap_attr.vals, ap_attr.ep_type); // } // // foreach (var base_attr in net_info.equip.base_attrs) // { // equip.BasicAttrs.Add(base_attr.attr_id, base_attr.val, 0); // } // // // // equip.StrongLv = net_info.equip.sgth_lv; // equip.StrongAdd = (float)net_info.equip.sgth_rate / 100.0f;//除100得到真实值 // equip.StrongStar = EquipHelper.GetStrongStar(net_info.equip.sgth_rate , net_info.equip.sgth_lv); // equip.GemInfo = net_info.equip.gems; // equip.WashScore = net_info.equip.enchant_score; // // equip.ProtectedTime = net_info.protect_time; // equip.DisEnableTime = net_info.equip.disable_time; return(equip); }
public EquipInfo GetEquipInfoByOid(ulong oid) { EquipInfo result = null; if (AllEquips.TryGetValue(oid, out result)) { return(result); } if (BagEquips.TryGetValue(oid, out result)) { return(result); } if (TmpBagEquips.TryGetValue(oid, out result)) { return(result); } if (WarehouseEquips.TryGetValue(oid, out result)) { return(result); } if (TrashEquips.TryGetValue(oid, out result)) { return(result); } return(null); }
/// <summary> /// 脱下装备 /// </summary> /// <param name="equip"></param> public void UnInstallEquip(EquipInfo equip) { if (LocalPlayerManager.Instance.InBallteStatus) { UINotice.Instance.ShowMessage(xc.TextHelper.GetConstText("CODE_TEXT_LOCALIZATION_59")); return; } var pack = new C2SEquipUninstall(); NetClient.GetBaseClient().SendData <C2SEquipUninstall>(NetMsg.MSG_EQUIP_UNINSTALL, pack); }
/// <summary> /// 通过网络包更新现有装备 /// </summary> /// <param name="equip"></param> /// <param name="net_info"></param> protected void UpdateEquipFromNet(EquipInfo equip, PkgGoodsInfo net_info) { equip.LegendAttrs.Clear(); // foreach (var ap_attr in net_info.equip.effects) // { // // 只更新附魔后的属性 // equip.EffectAttrs.Add(ap_attr.id, ap_attr.vals, ap_attr.ep_type); // } // // equip.BasicAttrs.Clear(); // foreach (var base_attr in net_info.equip.base_attrs) // { // equip.BasicAttrs.Add(base_attr.attr_id, base_attr.val , 0); // } // equip.Bind = net_info.bind; // equip.StrongLv = net_info.equip.sgth_lv; // equip.StrongAdd = (float)net_info.equip.sgth_rate / 100.0f;//除100得到真实值 // equip.StrongStar = EquipHelper.GetStrongStar(net_info.equip.sgth_rate , net_info.equip.sgth_lv); // equip.GemInfo = net_info.equip.gems; // equip.WashScore = net_info.equip.enchant_score; // // equip.ProtectedTime = net_info.protect_time; // equip.DisEnableTime = net_info.equip.disable_time; // 更新附魔状态 //foreach (var ap_attr in net_info.ap_attrs) //{ // equip.EquipAttrs.SetEquipAttrEnchant(ap_attr.id, ap_attr.is_enc == 1); //} // FIXME 确定下更新装备信息时,其基础属性会不会变 ClientEventMgr.Instance.FireEvent((int)ClientEvent.CE_EQUIP_INFO_CHANGED, new CEventBaseArgs(equip)); if (equip.IsInstalled) { ClientEventMgr.Instance.FireEvent((int)ClientEvent.CE_INSTALLED_EQUIP_INFO_CHANGED, new CEventBaseArgs(equip)); } }
/// <summary> /// 穿戴装备 /// </summary> /// <param name="equip"></param> public void InstallEquip(EquipInfo equip) { if (LocalPlayerManager.Instance.InBallteStatus) { UINotice.Instance.ShowMessage(xc.TextHelper.GetConstText("CODE_TEXT_LOCALIZATION_58")); return; } // if(equip.Lv > LocalPlayerManager.instance.LocalActorAttribute.Level) // { // UINotice.instance.ShowMessage("无法装备,该装备等级超过玩家等级!"); // return; // } // // if (equip.HiLv > LocalPlayerManager.instance.LocalActorAttribute.HiLevel) // { // UINotice.instance.ShowMessage("无法装备,该装备巅峰等级超过玩家巅峰等级!"); // return; // } var pack = new C2SEquipInstall(); NetClient.GetBaseClient().SendData <C2SEquipInstall>(NetMsg.MSG_EQUIP_INSTALL, pack); }
public CEquipStarEventArgs(EquipInfo equip, List <PkgGoodsGidnum> materials) { Equip = equip; Materials = materials; }