EquipmentController.cs 2.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. using System.Collections.Generic;
  2. using Excel2Json;
  3. using GameLogic.Bag;
  4. using GameLogic.Player;
  5. namespace GameLogic.Equipment
  6. {
  7. public class EquipmentController
  8. {
  9. public List<EquipmentInfo> allEqInfo = new List<EquipmentInfo>();
  10. // private long curGUID;
  11. public void Init()
  12. {
  13. // curGUID = AccountFileInfo.Instance.playerData.eqGUID;
  14. }
  15. /// <summary>
  16. /// 生成装备的GUID
  17. /// </summary>
  18. /// <returns></returns>
  19. // public long GenerateGUID()
  20. // {
  21. // curGUID++;
  22. // AccountFileInfo.Instance.playerData.eqGUID = curGUID;
  23. // AccountFileInfo.Instance.SavePlayerData();
  24. // return curGUID;
  25. // }
  26. /// <summary>
  27. /// 通过品质获取装备的额外参数,装备属性会叠加这个值
  28. /// </summary>
  29. /// <param name="quality"></param>
  30. /// <returns></returns>
  31. public float GetEquipmentRarityAttributeFactor(int quality)
  32. {
  33. int[] factors = PlayerManager.Instance.gameConstantConfig.equipmentRarityAttributeFactor;
  34. return factors[quality - 1] / (float)100;
  35. }
  36. public ItemInfo BuildEquipment(int equipModelDropID, int qualityDropID, int lvDropID)
  37. {
  38. ItemInfo info = null;
  39. List<ItemInfo> equipModelDropItems = DropManager.Instance.DropItem(equipModelDropID);
  40. if (equipModelDropItems == null || equipModelDropItems.Count == 0)
  41. {
  42. return info;
  43. }
  44. ItemInfo equipModelInfo = equipModelDropItems[0];
  45. List<ItemInfo> qualityDropItems = DropManager.Instance.DropItem(qualityDropID);
  46. List<ItemInfo> lvDropItems = DropManager.Instance.DropItem(lvDropID);
  47. info = equipModelInfo;
  48. info.eqInfo = new EquipmentInfo();
  49. // info.eqInfo.InitEquipment(info.config,
  50. // lvDropItems[0].dropItemConfig.itemID[0],
  51. // qualityDropItems[0].dropItemConfig.itemID[0]);
  52. info.eqInfo.InitEquipment(equipModelInfo, lvDropItems[0], qualityDropItems[0]);
  53. return info;
  54. }
  55. // public EquipmentInfo BuildEquipment(ItemConfig itemConfig, int eLv, int quality)
  56. // {
  57. // EquipmentInfo info = new EquipmentInfo();
  58. //
  59. // DropManager.Instance.DropItem(1004);
  60. //
  61. // info.InitEquipment(itemConfig, eLv, quality);
  62. // return info;
  63. // }
  64. public void AddEquipment(EquipmentInfo eqInfo)
  65. {
  66. allEqInfo.Add(eqInfo);
  67. }
  68. public void RemoveEquipment(EquipmentInfo eqInfo)
  69. {
  70. allEqInfo.Remove(eqInfo);
  71. }
  72. }
  73. }