| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262 | 
							- using System.Collections.Generic;
 
- using Animancer;
 
- using Animancer.TransitionLibraries;
 
- using Core.Language;
 
- using Excel2Json;
 
- using Fort23.Core;
 
- using Fort23.UTool;
 
- using GameLogic.Hero;
 
- using OfficeOpenXml.FormulaParsing.Excel.Functions.Logical;
 
- using UnityEngine;
 
- namespace Fort23.Mono
 
- {
 
-     [UIBinding(prefab = "MainHeroPanel")]
 
-     public partial class MainHeroPanel : UIPanel
 
-     {
 
-         List<BtnFaBaoWidget> btnFaBaoWidgets = new List<BtnFaBaoWidget>();
 
-         private GameObjectPool modelObj;
 
-         private void Init()
 
-         {
 
-             isAddStack = true;
 
-             IsShowAppBar = true;
 
-         }
 
-         protected override void AddEvent()
 
-         {
 
-         }
 
-         protected override void DelEvent()
 
-         {
 
-         }
 
-         public override CTask GetFocus()
 
-         {
 
-             TitlePanel.OpenPanel(new List<int>() { 1001, 1002 });
 
-             AppBarPanel.OpenPanel(this);
 
-             return base.GetFocus();
 
-         }
 
-         public override CTask LoseFocus()
 
-         {
 
-             // TitlePanel.ClosePanel();
 
-             // AppBarPanel.ClosePanel();
 
-             return base.LoseFocus();
 
-         }
 
-         private HeroInfo heroInfo;
 
-         private List<HeroAttributeWidget> HeroAttributeWidgets = new List<HeroAttributeWidget>();
 
-         public override void AddButtonEvent()
 
-         {
 
-             Btn_Close.onClick.AddListener(() => { UIManager.Instance.HideUIUIPanel(this); });
 
-             Btn_Sentiment.onClick.AddListener(() => { SentimentPanel.OpenPanel(); });
 
-         }
 
-         private async CTask CreatHero()
 
-         {
 
-             modelObj = await GObjectPool.Instance.FetchAsync<GameObjectPool>(
 
-                 PlayerManager.Instance.myHero.modelConfig.model + ".prefab", null);
 
-             modelObj.own.transform.parent = CameraRoot;
 
-             modelObj.own.transform.localEulerAngles = new Vector3(0, 167.575f, 0.118f);
 
-             modelObj.own.transform.localPosition = new Vector3(-4, -211, 1482);
 
-             modelObj.own.transform.localScale = Vector3.one * 330;
 
-             ChangeLayerRecursively(modelObj.own, LayerMask.NameToLayer("UiModle"));
 
-             var modelAnimComponent = modelObj.own.GetComponent<AnimancerComponent>();
 
-             int max = modelAnimComponent.Transitions.Library.Count;
 
-             for (int i = 0; i < max; i++)
 
-             {
 
-                 if (modelAnimComponent.Transitions.Library.TryGetTransition(i,
 
-                         out TransitionModifierGroup transition))
 
-                 {
 
-                     var modelIdleClip = transition.Transition as TransitionAsset;
 
-                     if (modelIdleClip != null && modelIdleClip.name == "idle")
 
-                     {
 
-                         modelAnimComponent.Play(modelIdleClip);
 
-                         break;
 
-                     }
 
-                 }
 
-             }
 
-         }
 
-         public void ChangeLayerRecursively(GameObject obj, int newLayer)
 
-         {
 
-             if (obj == null || obj.layer == newLayer) return;
 
-             // 修改当前对象的 Layer
 
-             obj.layer = newLayer;
 
-             // 遍历所有子对象,递归修改
 
-             foreach (Transform child in obj.transform)
 
-             {
 
-                 ChangeLayerRecursively(child.gameObject, newLayer);
 
-             }
 
-         }
 
-         public override CTask<bool> AsyncInit(object[] uiData)
 
-         {
 
-             CreatHero();
 
-             return base.AsyncInit(uiData);
 
-         }
 
-         public async void CustomInit()
 
-         {
 
-             for (int i = 0; i < 4; i++)
 
-             {
 
-                 BtnFaBaoWidget btnFaBaoWidget =
 
-                     await UIManager.Instance.CreateGComponent<BtnFaBaoWidget>(null, FaBaoRoot);
 
-                 btnFaBaoWidget.CustomInit(i);
 
-                 btnFaBaoWidget.OnClick = OnClick;
 
-                 btnFaBaoWidgets.Add(btnFaBaoWidget);
 
-             }
 
-             heroInfo = PlayerManager.Instance.myHero;
 
-             HeroAttributeWidget heroAttributeWidget =
 
-                 await UIManager.Instance.CreateGComponentForObject<HeroAttributeWidget>(HeroAttributeWidgetGam, null,
 
-                     Content, isInstance: true);
 
-             heroAttributeWidget.CustomInit(new HeroAttributeData("生命", "",
 
-                 PlayerManager.Instance.myHero.hp.Value.ToString()));
 
-             HeroAttributeWidgets.Add(heroAttributeWidget);
 
-             heroAttributeWidget =
 
-                 await UIManager.Instance.CreateGComponentForObject<HeroAttributeWidget>(HeroAttributeWidgetGam, null,
 
-                     Content, isInstance: true);
 
-             heroAttributeWidget.CustomInit(new HeroAttributeData("攻击", "",
 
-                 PlayerManager.Instance.myHero.attack.Value.ToString()));
 
-             HeroAttributeWidgets.Add(heroAttributeWidget);
 
-             heroAttributeWidget =
 
-                 await UIManager.Instance.CreateGComponentForObject<HeroAttributeWidget>(HeroAttributeWidgetGam, null,
 
-                     Content, isInstance: true);
 
-             heroAttributeWidget.CustomInit(new HeroAttributeData("防御", "",
 
-                 PlayerManager.Instance.myHero.defense.Value.ToString()));
 
-             HeroAttributeWidgets.Add(heroAttributeWidget);
 
-             heroAttributeWidget =
 
-                 await UIManager.Instance.CreateGComponentForObject<HeroAttributeWidget>(HeroAttributeWidgetGam, null,
 
-                     Content, isInstance: true);
 
-             heroAttributeWidget.CustomInit(new HeroAttributeData("攻击速度", "",
 
-                 PlayerManager.Instance.myHero.attSpeed.Value.ToString()));
 
-             HeroAttributeWidgets.Add(heroAttributeWidget);
 
-             heroAttributeWidget =
 
-                 await UIManager.Instance.CreateGComponentForObject<HeroAttributeWidget>(HeroAttributeWidgetGam, null,
 
-                     Content, isInstance: true);
 
-             heroAttributeWidget.CustomInit(new HeroAttributeData("金灵根", "",
 
-                 PlayerManager.Instance.myHero.Metal.ToString()));
 
-             HeroAttributeWidgets.Add(heroAttributeWidget);
 
-             heroAttributeWidget =
 
-                 await UIManager.Instance.CreateGComponentForObject<HeroAttributeWidget>(HeroAttributeWidgetGam, null,
 
-                     Content, isInstance: true);
 
-             heroAttributeWidget.CustomInit(new HeroAttributeData("木灵根", "",
 
-                 PlayerManager.Instance.myHero.Wood.ToString()));
 
-             HeroAttributeWidgets.Add(heroAttributeWidget);
 
-             heroAttributeWidget =
 
-                 await UIManager.Instance.CreateGComponentForObject<HeroAttributeWidget>(HeroAttributeWidgetGam, null,
 
-                     Content, isInstance: true);
 
-             heroAttributeWidget.CustomInit(new HeroAttributeData("水灵根", "",
 
-                 PlayerManager.Instance.myHero.Water.ToString()));
 
-             HeroAttributeWidgets.Add(heroAttributeWidget);
 
-             heroAttributeWidget =
 
-                 await UIManager.Instance.CreateGComponentForObject<HeroAttributeWidget>(HeroAttributeWidgetGam, null,
 
-                     Content, isInstance: true);
 
-             heroAttributeWidget.CustomInit(new HeroAttributeData("火灵根", "",
 
-                 PlayerManager.Instance.myHero.Fire.ToString()));
 
-             HeroAttributeWidgets.Add(heroAttributeWidget);
 
-             heroAttributeWidget =
 
-                 await UIManager.Instance.CreateGComponentForObject<HeroAttributeWidget>(HeroAttributeWidgetGam, null,
 
-                     Content, isInstance: true);
 
-             heroAttributeWidget.CustomInit(new HeroAttributeData("土灵根", "",
 
-                 PlayerManager.Instance.myHero.Earth.ToString()));
 
-             HeroAttributeWidgets.Add(heroAttributeWidget);
 
-         }
 
-         private async void OnClick(ItemWidgetBasic obj)
 
-         {
 
-             BtnFaBaoWidget btnFaBaoWidget = obj as BtnFaBaoWidget;
 
-             if (btnFaBaoWidget.index > PlayerManager.Instance.myHero.powerUpConfig.MaxFabaoNum - 1)
 
-             {
 
-                 HeroPowerUpConfig[] heroPowerUpConfigs = ConfigComponent.Instance.GetAll<HeroPowerUpConfig>();
 
-                 foreach (var heroPowerUpConfig in heroPowerUpConfigs)
 
-                 {
 
-                     if (heroPowerUpConfig.MaxFabaoNum > PlayerManager.Instance.myHero.powerUpConfig.MaxFabaoNum)
 
-                     {
 
-                         TipMessagePanel.OpenTipMessagePanel(LanguageManager.Instance.Text(10331,
 
-                             LanguageManager.Instance.Text(heroPowerUpConfig.jingjieLanIDs[0]) +
 
-                             LanguageManager.Instance.Text(heroPowerUpConfig.jingjieLanIDs[1]) +
 
-                             LanguageManager.Instance.Text(heroPowerUpConfig.jingjieLanIDs[2])));
 
-                         return;
 
-                     }
 
-                 }
 
-                 TipMessagePanel.OpenTipMessagePanel("当前位置未解锁");
 
-                 return;
 
-             }
 
-             int redDotID = 9;
 
-             AccountFileInfo.RedDot redDot = RedDotManager.Instance.GetRedDot(redDotID);
 
-             if (redDot == null)
 
-             {
 
-                 redDot = new AccountFileInfo.RedDot();
 
-                 redDot.id = redDotID;
 
-             }
 
-             if (!redDot.Params.Contains(btnFaBaoWidget.index.ToString()))
 
-             {
 
-                 redDot.Params.Add(btnFaBaoWidget.index.ToString());
 
-                 RedDotManager.Instance.AddRedDot(redDot);
 
-                 RedDotManager.Instance.ChangeStateRedDot(redDotID, 0);
 
-             }
 
-             SelectFaBaoPanel selectFaBaoPanel = await SelectFaBaoPanel.OpenPanel(btnFaBaoWidget.index);
 
-             await selectFaBaoPanel.UIClosed();
 
-             foreach (var b in btnFaBaoWidgets)
 
-             {
 
-                 b.CustomInit(b.index);
 
-             }
 
-         }
 
-         public async static CTask<MainHeroPanel> OpenPanel()
 
-         {
 
-             MainHeroPanel mainHeroPanel =
 
-                 await UIManager.Instance.LoadAndOpenPanel<MainHeroPanel>(null, isFullUI: true);
 
-             mainHeroPanel.CustomInit();
 
-             return mainHeroPanel;
 
-         }
 
-         public async override CTask Close()
 
-         {
 
-             UIManager.Instance.DormancyGComponent(modelObj);
 
-             modelObj = null;
 
-             foreach (var btnFaBaoWidget in btnFaBaoWidgets)
 
-             {
 
-                 UIManager.Instance.DormancyGComponent(btnFaBaoWidget);
 
-             }
 
-             btnFaBaoWidgets.Clear();
 
-             foreach (var heroAttributeWidget in HeroAttributeWidgets)
 
-             {
 
-                 UIManager.Instance.DormancyGComponent(heroAttributeWidget);
 
-             }
 
-             HeroAttributeWidgets.Clear();
 
-             await base.Close();
 
-         }
 
-     }
 
- }
 
 
  |