123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121 |
- using System.Collections.Generic;
- using System.Threading.Tasks;
- using Common.Utility.CombatEvent;
- using Core.Utility;
- using Fort23.Core;
- using GameLogic.Bag;
- using GameLogic.Combat.CombatTool;
- using GameLogic.Combat.CombatType;
- using GameLogic.Hero;
- using UnityEngine;
- using Utility;
- namespace Fort23.Mono
- {
- [UIBinding(prefab = "MainUIPanel")]
- public partial class MainUIPanel : UIPanel
- {
- private void Init()
- {
- InitRes();
- InitBattleHeroWidget();
- }
- protected override void AddEvent()
- {
- CombatEventManager.Instance.AddEventListener(CombatEventType.CombatExpAlter, CombatExpAlter);
- EventManager.Instance.AddEventListener(CustomEventType.HeroPowerUp, OnHeroUpgrade);
- EventManager.Instance.AddEventListener(CustomEventType.ItemUpdate, OnItemUpdate);
- }
- protected override void DelEvent()
- {
- CombatEventManager.Instance.RemoveEventListener(CombatEventType.CombatExpAlter, CombatExpAlter);
- EventManager.Instance.RemoveEventListener(CustomEventType.HeroPowerUp, OnHeroUpgrade);
- EventManager.Instance.RemoveEventListener(CustomEventType.ItemUpdate, OnItemUpdate);
- }
- public override void AddButtonEvent()
- {
- }
-
-
- private void OnItemUpdate(IEventData e)
- {
- ItemUpdateData data = e as ItemUpdateData;
- if (data.ItemInfo.ID == GlobalParam.Item_Coin_ID)
- {
- txtCoin.text = BagController.Instance.GetItemInfo(GlobalParam.Item_Coin_ID).count.Value.ToStringEx();
- }
- else if (data.ItemInfo.ID == GlobalParam.Item_Diamond_ID)
- {
- txtDiamond.text = BagController.Instance.GetItemInfo(GlobalParam.Item_Diamond_ID).count.Value.ToStringEx();
- }
- else if (data.ItemInfo.ID == GlobalParam.Item_HeroExp_ID)
- {
- txtHeroExp.text = BagController.Instance.GetItemInfo(GlobalParam.Item_HeroExp_ID).count.Value.ToStringEx();
- }
-
- }
- private void CombatExpAlter(IEventData eventData)
- {
- ExpAlter();
- }
- private void ExpAlter()
- {
- if (CombatController.currActiveCombat == null || CombatController.currActiveCombat.CombatTypeBasic == null)
- {
- return;
- }
- LevelBattleCombatType levelBattleCombatType =
- CombatController.currActiveCombat.CombatTypeBasic as LevelBattleCombatType;
- float bl = (levelBattleCombatType.exp * 1.0f) / levelBattleCombatType.CurrMaxExp;
- exp.value = bl;
- TextExp.text = levelBattleCombatType.exp + "/" + levelBattleCombatType.CurrMaxExp;
- }
- private void OnHeroUpgrade(IEventData eventData)
- {
- HeroPowerUpEventData data = eventData as HeroPowerUpEventData;
- HeroInfo heroInfo = (HeroInfo)PlayerManager.Instance.GetHeroInfo(data.heroModelID);
- foreach (WidgetHero widgetHero in widgetHeroes)
- {
- if (widgetHero.heroInfo.modelID == heroInfo.modelID)
- {
- widgetHero.UpdateWidgetUI(heroInfo);
- break;
- }
- }
- }
-
- private List<WidgetHero> widgetHeroes = new List<WidgetHero>();
-
- private async void InitBattleHeroWidget()
- {
- widgetHeroes.Clear();
- for (int i = 0; i < PlayerManager.Instance.heroListInLead.Count; i++)
- {
- RectTransform rectTransform = hero_battle[i] as RectTransform;
- WidgetHero itemHero = await UIManager.Instance.CreateGComponent<WidgetHero>(null,
- poolName: "WidgetHero", root: rectTransform);
- itemHero.InitHero(PlayerManager.Instance.heroListInLead[i]);
-
- widgetHeroes.Add(itemHero);
- }
- }
- private void InitRes()
- {
- txtDiamond.text = BagController.Instance.GetItemInfo(GlobalParam.Item_Diamond_ID).count.Value.ToStringEx();
- txtCoin.text = BagController.Instance.GetItemInfo(GlobalParam.Item_Coin_ID).count.Value.ToStringEx();
- txtHeroExp.text = BagController.Instance.GetItemInfo(GlobalParam.Item_HeroExp_ID).count.Value.ToStringEx();
- }
- }
- }
|