//--------------------------------------------------------
|
// [Author]: 第二世界
|
// [ Date ]: Tuesday, July 17, 2018
|
//--------------------------------------------------------
|
|
using System;
|
using System.Collections;
|
using System.Collections.Generic;
|
using UnityEngine;
|
using UnityEngine.UI;
|
|
|
namespace vnxbqy.UI
|
{
|
|
public class RuneTowerSweepBuyWin : Window
|
{
|
|
[SerializeField] Text m_HighestFloor;
|
[SerializeField] Text m_SurplusTimes;
|
[SerializeField] Text m_MoneyTip;
|
[SerializeField] Button m_Buy;
|
[SerializeField] Button m_Close;
|
|
RuneTowerModel model { get { return ModelCenter.Instance.GetModel<RuneTowerModel>(); } }
|
DungeonModel dungeonModel { get { return ModelCenter.Instance.GetModel<DungeonModel>(); } }
|
DailyQuestModel dailyQuestModel { get { return ModelCenter.Instance.GetModel<DailyQuestModel>(); } }
|
|
#region Built-in
|
protected override void BindController()
|
{
|
}
|
|
protected override void AddListeners()
|
{
|
m_Buy.AddListener(BuyTime);
|
m_Close.AddListener(CloseClick);
|
}
|
|
protected override void OnPreOpen()
|
{
|
DisplayBaseInfo();
|
}
|
|
protected override void OnAfterOpen()
|
{
|
}
|
|
protected override void OnPreClose()
|
{
|
}
|
|
protected override void OnAfterClose()
|
{
|
}
|
#endregion
|
|
|
private void DisplayBaseInfo()
|
{
|
var floorConfig = RuneTowerFloorConfig.Get(model.yesterdayPassFloor);
|
var towerConfig = RuneTowerConfig.Get(floorConfig.TowerId);
|
m_HighestFloor.text = Language.Get("RuneTower17", StringUtility.Contact(towerConfig.TowerName, floorConfig.FloorName));
|
|
var completedTime = dailyQuestModel.GetDailyQuestCompletedTimes((int)DailyQuestType.RuneTowerSweep);
|
var surplusTime = GeneralDefine.runeTowerSweepBuyTimes - Mathf.Clamp(completedTime - 1, 0, int.MaxValue);
|
m_SurplusTimes.text = Language.Get("RuneTower18", surplusTime);
|
m_MoneyTip.text = Language.Get("RuneTower19", GeneralDefine.runeTowerSweepBuyPrice);
|
}
|
|
private void BuyTime()
|
{
|
var error = 0;
|
if (TestBuyTime(out error))
|
{
|
CloseClick();
|
dungeonModel.RequestSweep(new Dungeon(RuneTowerModel.RUNETOWER_MAPID, 0));
|
}
|
else
|
{
|
ProcessError(error);
|
}
|
}
|
|
private bool TestBuyTime(out int _error)
|
{
|
//1.仙玉不足;
|
var moneyNeed = GeneralDefine.runeTowerSweepBuyPrice;
|
var moneyOwn = PlayerDatas.Instance.baseData.diamond ;
|
if (moneyOwn < moneyNeed)
|
{
|
_error = 1;
|
return false;
|
}
|
|
_error = 0;
|
return true;
|
}
|
|
private void ProcessError(int _error)
|
{
|
switch (_error)
|
{
|
case 1:
|
CloseClick();
|
WindowCenter.Instance.Open<RechargeTipWin>();
|
break;
|
case 3:
|
break;
|
}
|
}
|
|
}
|
|
}
|
|
|
|
|