123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145 |
- using System.Collections.Generic;
- using Core.Language;
- using Excel2Json;
- using Fort23.Core;
- using Fort23.UTool;
- using GameLogic.Combat;
- using GameLogic.Hero;
- namespace Fort23.Mono
- {
- [UIBinding(prefab = "HeroBreakthroughPanel")]
- public partial class HeroBreakthroughPanel : UIPanel
- {
- HeroPowerUpConfig heroPowerUpConfig;
- List<BreakthroughItemWidget> breakthroughItemWidgets = new List<BreakthroughItemWidget>();
- private HeroInfo heroInfo = new HeroInfo();
- private void Init()
- {
- }
- protected override void AddEvent()
- {
- }
- protected override void DelEvent()
- {
- }
- public override void AddButtonEvent()
- {
- Btn_Close.onClick.AddListener(() => { UIManager.Instance.HideUIUIPanel(this); });
- Btn_Cancel.onClick.AddListener(() => { UIManager.Instance.HideUIUIPanel(this); });
- Btn_StartCombat.onClick.AddListener(() =>
- {
- if (PlayerManager.Instance.myHero.heroData.isCombat)
- return;
- UIManager.Instance.HindCurrAllShowPanel();
- CombatDrive.Instance.LoadLevelBattleCombat(heroPowerUpConfig.DujieLevelbattleID,
- delegate(bool isWin)
- {
- LogTool.Log("战斗完成" + isWin);
- if (isWin)
- {
- PlayerManager.Instance.myHero.heroData.isCombat = true;
- AccountFileInfo.Instance.SavePlayerData();
- UIManager.Instance.ShowLastHindAllShowPanel();
- }
- });
- });
- }
- public async CTask CustomInit()
- {
- heroPowerUpConfig = PlayerManager.Instance.myHero.powerUpConfig;
- heroInfo.InitHero(PlayerManager.Instance.myHero.heroData.heroModelId, PlayerManager.Instance.myHero.heroData.heroPowerId + 1);
- Text_CurrrentJIngjie.text = LanguageManager.Instance.Text(PlayerManager.Instance.myHero.powerUpConfig.jingjieLanIDs[0]) +
- LanguageManager.Instance.Text(PlayerManager.Instance.myHero.powerUpConfig.jingjieLanIDs[1]) +
- LanguageManager.Instance.Text(PlayerManager.Instance.myHero.powerUpConfig.jingjieLanIDs[2]);
- Text_NextJinfjie.text = LanguageManager.Instance.Text(heroInfo.powerUpConfig.jingjieLanIDs[0]) +
- LanguageManager.Instance.Text(heroInfo.powerUpConfig.jingjieLanIDs[1]) +
- LanguageManager.Instance.Text(heroInfo.powerUpConfig.jingjieLanIDs[2]);
- if (heroPowerUpConfig.DujieLevelbattleID != -1)
- {
- CombatRoot.gameObject.SetActive(true);
- if (PlayerManager.Instance.myHero.heroData.isCombat)
- {
- Btn_StartCombat.gameObject.SetActive(false);
- CombatTrue.gameObject.SetActive(true);
- }
- else
- {
- Btn_StartCombat.gameObject.SetActive(true);
- CombatTrue.gameObject.SetActive(false);
- }
- }
- else
- {
- CombatRoot.gameObject.SetActive(false);
- }
- RefenceSuccessProbability();
- //选择丹药
- BreakthroughItemWidget breakthroughItemWidget = await UIManager.Instance.CreateGComponent<BreakthroughItemWidget>(null, Content);
- breakthroughItemWidget.CustomInit(1, 0);
- breakthroughItemWidgets.Add(breakthroughItemWidget);
- //必选道具
- for (var i = 0; i < heroPowerUpConfig.DujieMustItemIDs.Length; i++)
- {
- breakthroughItemWidget = await UIManager.Instance.CreateGComponent<BreakthroughItemWidget>(null, Content);
- breakthroughItemWidget.CustomInit(2, heroPowerUpConfig.DujieMustItemIDs[i]);
- breakthroughItemWidgets.Add(breakthroughItemWidget);
- }
- //可选道具
- for (var i = 0; i < heroPowerUpConfig.DujieItemIDs.Length; i++)
- {
- breakthroughItemWidget = await UIManager.Instance.CreateGComponent<BreakthroughItemWidget>(null, Content);
- breakthroughItemWidget.CustomInit(2, heroPowerUpConfig.DujieItemIDs[i]);
- breakthroughItemWidgets.Add(breakthroughItemWidget);
- }
- }
- private void RefenceSuccessProbability()
- {
- int allBl = 0;
- if (heroPowerUpConfig.DujieLevelbattleID != -1 && PlayerManager.Instance.myHero.heroData.isCombat)
- {
- allBl += heroPowerUpConfig.DujieRateviaBattle;
- }
- Text_SucceedDesc.text = $"成功几率:{10 + allBl}%";
- }
- public async static CTask<HeroBreakthroughPanel> OpenPanel()
- {
- HeroBreakthroughPanel heroBreakthroughPanel = await UIManager.Instance.LoadAndOpenPanel<HeroBreakthroughPanel>(null);
- heroBreakthroughPanel.CustomInit();
- return heroBreakthroughPanel;
- }
- public override void Close()
- {
- foreach (var breakthroughItemWidget in breakthroughItemWidgets)
- {
- UIManager.Instance.DormancyGComponent(breakthroughItemWidget);
- }
- breakthroughItemWidgets.Clear();
- base.Close();
- }
- }
- }
|