12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- using FL.Data.Items;
- using System.Collections.Generic;
- using XGame.Database;
- using XGame.Framework.Network;
- namespace FL.Network
- {
- public class ActEquipLsListPushCtrl : MsgController<ActEquipLsListPush>
- {
- protected override void OnProcess(ActEquipLsListPush message, object context)
- {
- //XGame.Log.Info("消息201501 ActEquipLsListPushCtrl");
- if (message?.list?.Count > 0)
- {
- bool bNew = false;
- HashSet<long> changEquipIdList = new HashSet<long>();
- foreach (var item in message.list)
- {
- changEquipIdList.Add(item.xhid);
- EquipAttr equipData = EquipData.Instance.GetBagEquipItem(item.xhid);
- if (equipData == null)
- {
- // 非更换装备,新增掉落装备数据
- equipData = new EquipAttr();
- bNew = true;
- }
- else
- {
- bNew = false;
- }
- equipData.Init(EquipmentTableRepo.Get(item.equipId), item.xhid);
- equipData.Level = item.level;
- equipData.FightingPower = item.power;
- equipData.Attributes.Clear();
- foreach (var attr in item.eps)
- {
- equipData.Attributes.SetValue((EAttributeType)attr.epid, attr.val);
- }
- if (bNew)
- {
- EquipData.Instance.AddTemporaryEquip(equipData);
- }
- EquipData.Instance.UpdataBagEquipData(equipData);
- }
- if (changEquipIdList.Count > 0)
- EventSingle.Instance.Notify(EventDefine.WearEquipSucess, changEquipIdList);
- }
- }
- }
- }
|