//--------------------------------------------------------
|
// [Author]: 第二世界
|
// [ Date ]: Tuesday, November 28, 2017
|
//--------------------------------------------------------
|
|
using System;
|
using System.Collections;
|
using System.Collections.Generic;
|
using UnityEngine;
|
using UnityEngine.UI;
|
|
namespace vnxbqy.UI
|
{
|
|
public class ExperienceOpenWin : Window
|
{
|
//经验显示
|
#region Built-in
|
public float TIME = 60f;
|
private float coentTime = 0;
|
private int billionsExperience = 0;//获取亿经验
|
private ulong unitExperience = 0;//获取单位经验
|
[SerializeField] GameObject m_ExperienceObj;
|
[SerializeField] Text m_ExperienceText;
|
[SerializeField] RectTransform GameObject;
|
[SerializeField] RectTransform StartPoint;
|
[SerializeField] RectTransform EndPoint;
|
[SerializeField] UIEffect m_Uieffect;
|
protected override void BindController()
|
{
|
}
|
|
protected override void AddListeners()
|
{
|
}
|
|
protected override void OnPreOpen()
|
{
|
m_Uieffect.Play();
|
m_ExperienceObj.SetActive(false);
|
coentTime = 0;
|
billionsExperience = 0;
|
unitExperience = 0;
|
PlayerMainDate.Event_Experience += OnExperience;
|
ChatTip.OnChatUpEvent += OnChatUpEvent;
|
if(ChatTip.Inst != null)
|
PositionModification(ChatTip.Inst.IsChatUp);
|
}
|
|
|
|
protected override void OnAfterOpen()
|
{
|
}
|
|
protected override void OnPreClose()
|
{
|
PlayerMainDate.Event_Experience -= OnExperience;
|
ChatTip.OnChatUpEvent -= OnChatUpEvent;
|
}
|
|
protected override void OnAfterClose()
|
{
|
}
|
|
private void OnChatUpEvent()
|
{
|
PositionModification(ChatTip.Inst.IsChatUp);
|
}
|
|
private void PositionModification(bool _bool)
|
{
|
if (_bool)
|
{
|
GameObject.localPosition = EndPoint.localPosition;
|
}
|
else
|
{
|
GameObject.localPosition = StartPoint.localPosition;
|
}
|
}
|
private void OnExperience(int _source, int _ExpPoint, int _Exp)
|
{
|
if (_source == 2)
|
{
|
billionsExperience += _ExpPoint;
|
unitExperience += (ulong)_Exp;
|
}
|
|
}
|
|
string ExperienceIntegration(ulong unitExperience)
|
{
|
return UIHelper.ReplaceLargeNum(unitExperience);
|
}
|
protected override void LateUpdate()
|
{
|
coentTime += Time.deltaTime;
|
int tmpTime = (int)coentTime;
|
//10秒更新一次
|
if (tmpTime % 10 == 0 && tmpTime / 10 != 0)
|
{
|
ulong allExp = (ulong)((Constants.ExpPointValue * (ulong)billionsExperience + unitExperience) / coentTime * 60);
|
if (allExp > 0)
|
{
|
m_ExperienceObj.SetActive(true);
|
m_ExperienceText.text = ExperienceIntegration(allExp);
|
}
|
else
|
{
|
Close();
|
}
|
|
}
|
if (coentTime >= TIME)
|
{
|
|
coentTime = 0;
|
billionsExperience = 0;
|
unitExperience = 0;
|
}
|
}
|
|
#endregion
|
|
}
|
|
}
|
|
|
|
|