HeroBagPanel.cs 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. using System.Collections.Generic;
  2. using Common.Utility.CombatEvent;
  3. using Core.Language;
  4. using Fort23.Core;
  5. using GameLogic.Hero;
  6. using UnityEngine;
  7. namespace Fort23.Mono
  8. {
  9. [UIBinding(prefab = "HeroBagPanel" )]
  10. public partial class HeroBagPanel : UIPanel
  11. {
  12. private void Init()
  13. {
  14. }
  15. protected override void AddEvent()
  16. {
  17. EventManager.Instance.AddEventListener(CustomEventType.MainLvUp, OnMainLvUp);
  18. }
  19. protected override void DelEvent()
  20. {
  21. EventManager.Instance.AddEventListener(CustomEventType.MainLvUp, OnMainLvUp);
  22. }
  23. public override void AddButtonEvent()
  24. {
  25. btnBack.onClick.AddListener(OnclickClose);
  26. btnEquip.onClick.AddListener(OnclickEquipment);
  27. }
  28. private async void OnclickEquipment()
  29. {
  30. ProfessionEquipmentPanel professionEquipmentPanel = await UIManager.Instance.LoadAndOpenPanel<ProfessionEquipmentPanel>(null);
  31. professionEquipmentPanel.InitPanel();
  32. }
  33. private void OnMainLvUp(IEventData e)
  34. {
  35. // SimpleEventData data = e as SimpleEventData;
  36. UpdateMainLv();
  37. }
  38. private void OnclickClose()
  39. {
  40. UIManager.Instance.HideUIUIPanel(this);
  41. }
  42. private void UpdateMainLv()
  43. {
  44. txtMainLv.text = LanguageManager.Instance.Text(64, PlayerManager.Instance.heroController.mainLevel);
  45. }
  46. public void InitPanel()
  47. {
  48. InitMainHeroWidget();
  49. UpdateMainLv();
  50. }
  51. public List<WidgetHero> widgetHeroes = new List<WidgetHero>();
  52. private async void InitMainHeroWidget()
  53. {
  54. widgetHeroes.Clear();
  55. int i = 0;
  56. foreach (KeyValuePair<int,HeroInfo> keyValuePair in PlayerManager.Instance.heroController.heroDicInLead)
  57. {
  58. RectTransform rectTransform = mainHeroes[i] as RectTransform;
  59. WidgetHero itemHero = await UIManager.Instance.CreateGComponent<WidgetHero>(null,
  60. poolName: "WidgetHero", root: rectTransform);
  61. itemHero.InitHeroForBag(keyValuePair.Value);
  62. widgetHeroes.Add(itemHero);
  63. i++;
  64. }
  65. }
  66. }
  67. }