//-------------------------------------------------------- // [Author]: 第二世界 // [ Date ]: Thursday, May 23, 2019 //-------------------------------------------------------- using System; using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; namespace vnxbqy.UI { public class DemonDungeonChallengeConfirmWin : Window { [SerializeField] Text m_Remind; [SerializeField] Button m_GetFightPower; [SerializeField] Button m_GetDefense; [SerializeField] Button m_Challenge; [SerializeField] Button m_Close; public static int treasureId = 0; TreasureModel model { get { return ModelCenter.Instance.GetModel(); } } #region Built-in protected override void BindController() { } protected override void AddListeners() { m_GetFightPower.AddListener(GetFightPower); m_GetDefense.AddListener(GetDefense); m_Challenge.AddListener(Challenge); m_Close.AddListener(CloseClick); } protected override void OnPreOpen() { Display(); } protected override void OnAfterOpen() { } protected override void OnPreClose() { } protected override void OnAfterClose() { } #endregion void Display() { var fightPower = PlayerDatas.Instance.baseData.FightPoint; var defense = (int)UIHelper.GetPropertyValue(PropertyType.DEF); var recommandPower = 0; var recommandDefense = 0; TreasureDungeon treasureDungeon; if (model.TryGetTreasureDungeon(treasureId, out treasureDungeon)) { var dungeonInfo = treasureDungeon.Get(treasureDungeon.currentLevel + 1); if (!dungeonInfo.Equals(default(TreasureDungeonInfo))) { recommandPower = dungeonInfo.fightPower; recommandDefense = dungeonInfo.defense; } } m_GetFightPower.SetActive(fightPower < (ulong)recommandPower); m_GetDefense.SetActive(defense < recommandDefense); m_Challenge.SetActive(defense >= recommandDefense); if (fightPower < (ulong)recommandPower && defense < recommandDefense) { m_Remind.text = Language.Get("DemonDungeonNextError_1"); } else if (fightPower < (ulong)recommandPower) { m_Remind.text = Language.Get("DemonDungeonNextError_2"); } else { m_Remind.text = Language.Get("DemonDungeonNextError_3"); } } private void GetFightPower() { CloseImmediately(); WindowJumpMgr.Instance.WindowJumpTo(JumpUIType.RolePromote); } private void Challenge() { var config = TreasureConfig.Get(treasureId); ModelCenter.Instance.GetModel().SingleChallenge(TreasureModel.TREASURE_DATAMAPID, config.LineId); } private void GetDefense() { CloseImmediately(); RealmRecommandEquipGetWayWin.equipGetWays.Clear(); RealmRecommandEquipGetWayWin.equipGetWays.AddRange(GeneralDefine.defenseGetWays); WindowCenter.Instance.Open(); } } }