HeroBagPanel.cs 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  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.RemoveEventListener(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.
  31. Instance.LoadAndOpenPanel<ProfessionEquipmentPanel>(null, isFullUI: true);
  32. professionEquipmentPanel.InitPanel();
  33. }
  34. private void OnMainLvUp(IEventData e)
  35. {
  36. // SimpleEventData data = e as SimpleEventData;
  37. UpdateMainLv();
  38. }
  39. private void OnclickClose()
  40. {
  41. UIManager.Instance.HideUIUIPanel(this);
  42. }
  43. private void UpdateMainLv()
  44. {
  45. txtMainLv.text = LanguageManager.Instance.Text(64, PlayerManager.Instance.heroController.mainLevel);
  46. }
  47. public void InitPanel()
  48. {
  49. InitMainHeroWidget();
  50. UpdateMainLv();
  51. }
  52. public List<WidgetHero> widgetHeroes = new List<WidgetHero>();
  53. private async void InitMainHeroWidget()
  54. {
  55. widgetHeroes.Clear();
  56. int i = 0;
  57. foreach (KeyValuePair<int,HeroInfo> keyValuePair in PlayerManager.Instance.heroController.heroDicInLead)
  58. {
  59. RectTransform rectTransform = mainHeroes[i] as RectTransform;
  60. WidgetHero itemHero = await UIManager.Instance.CreateGComponent<WidgetHero>(null,
  61. poolName: "WidgetHero", root: rectTransform);
  62. itemHero.InitHeroForBag(keyValuePair.Value);
  63. widgetHeroes.Add(itemHero);
  64. i++;
  65. }
  66. }
  67. }
  68. }