1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- 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)
- {
- HashSet<long> changEquipIdList = new HashSet<long>();
- foreach (var item in message.list)
- {
- changEquipIdList.Add(item.xhid);
- EquipItem equipData = EquipData.Instance.GetBagEquipItem(item.xhid);
- if (equipData == null)
- {
- // 非更换装备,新增掉落装备数据
- EquipData.Instance.AddTemporaryEquip(EquipData.Instance.GetDropEquipData(item));
- }
- else
- {
- equipData.Init(EquipmentTableRepo.Get(item.equipId), equipData.Id);
- equipData.Level = item.level;
- equipData.FightingPower = EquipData.Instance.GetEquipPower(item.eps);
- equipData.Attributes.Clear();
- foreach (var attr in item.eps)
- {
- equipData.Attributes.SetValue((EAttributeType)attr.epid, attr.val);
- }
- EquipData.Instance.UpdataBagEquipData(equipData);
- }
- }
- if (changEquipIdList.Count > 0)
- EventSingle.Instance.Notify(EventDefine.WearEquipSucess, changEquipIdList);
- }
- }
- }
- }
|