//--------------------------------------------------------
|
// [Author]: 第二世界
|
// [ Date ]: Tuesday, November 28, 2017
|
//--------------------------------------------------------
|
|
using System;
|
using System.Collections;
|
using System.Collections.Generic;
|
using UnityEngine;
|
using UnityEngine.UI;
|
|
namespace Snxxz.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;
|
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(int _billionsExperience, ulong unitExperience)
|
{
|
string Str = null;
|
float Number = 0;
|
if (_billionsExperience != 0)
|
{
|
Number = (float)Math.Round((double)unitExperience / 100000000, 2);
|
Str = ((float)Math.Round((double)_billionsExperience + Number, 2)).ToString() + Language.Get("KnapS115");
|
return Str;
|
}
|
else
|
{
|
|
if (unitExperience >= 100000000)
|
{
|
Number = (float)Math.Round((double)unitExperience / 100000000, 2);
|
Str = Number.ToString() + Language.Get("KnapS115");
|
return Str;
|
}
|
else if (unitExperience >= 10000 && unitExperience < 100000000)
|
{
|
Number = (float)Math.Round((double)unitExperience / 10000, 2);
|
Str = Number.ToString() + Language.Get("KnapS114");
|
return Str;
|
}
|
else if (unitExperience < 10000)
|
{
|
if (unitExperience != 0)
|
{
|
Str = unitExperience.ToString();
|
return Str;
|
}
|
else
|
{
|
return string.Empty;
|
}
|
|
}
|
}
|
return null;
|
}
|
protected override void LateUpdate()
|
{
|
coentTime += Time.deltaTime;
|
if (coentTime >= TIME)
|
{
|
|
if (ExperienceIntegration(billionsExperience, unitExperience) != string.Empty)
|
{
|
m_ExperienceObj.SetActive(true);
|
m_ExperienceText.text = ExperienceIntegration(billionsExperience, unitExperience);
|
}
|
else
|
{
|
Close();
|
}
|
coentTime = 0;
|
billionsExperience = 0;
|
unitExperience = 0;
|
}
|
}
|
|
#endregion
|
|
}
|
|
}
|
|
|
|
|