EnergyWidget.cs 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. using Common.Utility.CombatEvent;
  2. using Core.Language;
  3. using Core.Utility;
  4. using Excel2Json;
  5. using Fort23.Core;
  6. using Fort23.UTool;
  7. using GameLogic.Bag;
  8. using UnityEngine;
  9. using UnityEngine.UI;
  10. using Utility;
  11. namespace Fort23.Mono
  12. {
  13. [UIBinding(prefab = "EnergyWidget")]
  14. public partial class EnergyWidget : UIComponent
  15. {
  16. public ItemConfig _itemConfig;
  17. private void Init()
  18. {
  19. }
  20. public override void AddEvent()
  21. {
  22. EventManager.Instance.AddEventListener(CustomEventType.ItemUpdate, Itemupdate);
  23. }
  24. private void Itemupdate(IEventData e)
  25. {
  26. ItemUpdateData data = e as ItemUpdateData;
  27. if (data.ItemInfo.itemID == _itemConfig.ID)
  28. {
  29. Text_Count.text = PlayerManager.Instance.BagController.GetItemCount(_itemConfig.ID).ToStringEx();
  30. LayoutRebuilder.ForceRebuildLayoutImmediate(Text_Count.GetComponent<RectTransform>());
  31. LayoutRebuilder.ForceRebuildLayoutImmediate(transform.GetComponent<RectTransform>());
  32. }
  33. }
  34. public override void DelEvent()
  35. {
  36. EventManager.Instance.RemoveEventListener(CustomEventType.ItemUpdate, Itemupdate);
  37. }
  38. public override void AddButtonEvent()
  39. {
  40. Btn_Coin.onClick.AddListener(() =>
  41. {
  42. if (_itemConfig.associateID == 3)
  43. {
  44. GongFaDetailsPanel.Open(new ItemInfo(_itemConfig.ID));
  45. }
  46. else if (_itemConfig.associateID == 4)
  47. {
  48. FaBaoDetailsPanel.OpenPanel(new ItemInfo(_itemConfig.ID));
  49. }
  50. else
  51. {
  52. ItemDetailsPanel.OpenPanel(new ItemInfo(_itemConfig.ID));
  53. }
  54. });
  55. }
  56. public void CustomInit(int id)
  57. {
  58. _itemConfig = ConfigComponent.Instance.Get<ItemConfig>(id);
  59. Icon_Energy.icon_name = _itemConfig.icon;
  60. Text_Count.text = PlayerManager.Instance.BagController.GetItemCount(id).ToStringEx();
  61. LayoutRebuilder.ForceRebuildLayoutImmediate(Text_Count.GetComponent<RectTransform>());
  62. LayoutRebuilder.ForceRebuildLayoutImmediate(transform.GetComponent<RectTransform>());
  63. }
  64. }
  65. }