ActEquipChuanPushCtrl.cs 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. using FL.Data.Items;
  2. using System.Collections.Generic;
  3. using XGame.Database;
  4. using XGame.Framework.Network;
  5. namespace FL.Network
  6. {
  7. public class ActEquipChuanPushCtrl : MsgController<ActEquipChuanPush>
  8. {
  9. protected override void OnProcess(ActEquipChuanPush message, object context)
  10. {
  11. //XGame.Log.Info("接受到201301消息ActEquipChuanPushCtrl");
  12. if (message == null) return;
  13. List<EEquipType> changeEquipPartList = new List<EEquipType>();
  14. foreach (var item in message.chuan)
  15. {
  16. //XGame.Log.Info($"穿上的装备部位:{item.buwei}");
  17. EquipItem wearEquip = EquipData.Instance.GetWearEquipData((EEquipType)item.buwei);
  18. if (wearEquip == null)
  19. {
  20. EquipData.Instance.AddWearEquip((EEquipType)item.buwei, EquipData.Instance.GetNewWearEquipData(item));
  21. }
  22. else
  23. {
  24. wearEquip.Init(EquipmentTableRepo.Get(item.equipId), wearEquip.Id);
  25. wearEquip.Level = item.level;
  26. wearEquip.FightingPower = EquipData.Instance.GetEquipPower(item.eps);
  27. wearEquip.Attributes.Clear();
  28. foreach (var attr in item.eps)
  29. {
  30. wearEquip.Attributes.SetValue((EAttributeType)attr.epid, attr.val);
  31. }
  32. EquipData.Instance.ChangeWearEquipData((EEquipType)item.buwei, wearEquip);
  33. }
  34. changeEquipPartList.Add((EEquipType)item.buwei);
  35. EventSingle.Instance.Notify(EventDefine.OnChangeEquip, changeEquipPartList);
  36. }
  37. }
  38. }
  39. }