//--------------------------------------------------------
|
// [Author]: 第二世界
|
// [ Date ]: Wednesday, March 20, 2019
|
//--------------------------------------------------------
|
|
using System;
|
using System.Collections;
|
using System.Collections.Generic;
|
using UnityEngine;
|
using UnityEngine.UI;
|
|
namespace vnxbqy.UI
|
{
|
|
public class RealmTakeExpWin : Window
|
{
|
[SerializeField] Text m_TotalExp;
|
[SerializeField] Text m_ExpRate;
|
[SerializeField] Button m_TakeExp;
|
[SerializeField] Button m_Close;
|
|
RealmModel model
|
{
|
get { return ModelCenter.Instance.GetModel<RealmModel>(); }
|
}
|
#region Built-in
|
protected override void BindController()
|
{
|
}
|
|
protected override void AddListeners()
|
{
|
m_TakeExp.AddListener(TakeExp);
|
m_Close.AddListener(CloseClick);
|
}
|
|
protected override void OnPreOpen()
|
{
|
Display();
|
GlobalTimeEvent.Instance.secondEvent += PerSecond;
|
}
|
|
protected override void OnAfterOpen()
|
{
|
}
|
|
protected override void OnPreClose()
|
{
|
GlobalTimeEvent.Instance.secondEvent -= PerSecond;
|
}
|
|
protected override void OnAfterClose()
|
{
|
}
|
#endregion
|
|
void Display()
|
{
|
DisplayExp();
|
DisplayRate();
|
}
|
|
void DisplayExp()
|
{
|
var config = RealmConfig.Get(PlayerDatas.Instance.baseData.realmLevel);
|
var expLabel = UIHelper.ReplaceLargeNum(model.totalExp);
|
var expLimitLabel = UIHelper.ReplaceLargeNum(config.expLimit);
|
m_TotalExp.text = StringUtility.Contact(expLabel, "/", expLimitLabel);
|
}
|
|
void DisplayRate()
|
{
|
var config = RealmConfig.Get(PlayerDatas.Instance.baseData.realmLevel);
|
float expRate = config.expRate;
|
if (model.IsBuffActive(TimeUtility.ServerNow))
|
{
|
expRate = expRate + expRate * (model.buffAddRate / 10000f);
|
}
|
|
m_ExpRate.text = Language.Get("RealmExpRate", model.realmExpTime, UIHelper.ReplaceLargeNum(expRate));
|
}
|
|
private void PerSecond()
|
{
|
DisplayExp();
|
DisplayRate();
|
}
|
|
private void TakeExp()
|
{
|
CA521_tagCMTakeOutRealmExp pak = new CA521_tagCMTakeOutRealmExp();
|
GameNetSystem.Instance.SendInfo(pak);
|
CloseImmediately();
|
}
|
|
}
|
|
}
|
|
|
|
|