//--------------------------------------------------------
|
// [Author]: 第二世界
|
// [ Date ]: Monday, January 22, 2018
|
//--------------------------------------------------------
|
|
using System;
|
using System.Collections;
|
using System.Collections.Generic;
|
|
using UnityEngine;
|
using UnityEngine.UI;
|
//资源找回框
|
namespace vnxbqy.UI
|
{
|
|
public class FindNumberWin : Window
|
{
|
|
#region Built-in
|
[SerializeField] Button m_CloseBtn;//关闭按钮
|
[SerializeField] Button m_CancelBtn;//取消
|
[SerializeField] Button m_ConfirmBtn;//确定
|
[SerializeField] Button m_BtnReduce;//减
|
[SerializeField] Button m_BtnPlus;//加
|
[SerializeField] Slider m_Slider;
|
|
[SerializeField] Text m_ResourceName;//资源名
|
[SerializeField] Text m_RequiredPrice;//所需价格
|
[SerializeField] Text m_specialText;//特殊显示
|
[SerializeField] Text m_UpToNumberTxt;//所需的次数
|
private bool IsOpenBool = true;
|
private int NeedCostJade = 0;//所需的绑玉
|
private int NeedCostCopper = 0;//所需的铜钱
|
private bool _isBool = false;//仙玉找回/铜钱找回
|
private int number = 0;//找回的次数
|
|
protected override void BindController()
|
{
|
}
|
|
protected override void AddListeners()
|
{
|
m_CloseBtn.AddListener(OnClickCloseButon);
|
m_CancelBtn.AddListener(OnClickCancelBtnButton);
|
m_ConfirmBtn.AddListener(OnClickConfirmButton);
|
m_BtnReduce.AddListener(OnClickReduceButton);
|
m_BtnPlus.AddListener(OnClickPlusButton);
|
m_Slider.onValueChanged.AddListener(FindNumberSlider);
|
}
|
|
protected override void OnPreOpen()
|
{
|
IsOpenBool = true;
|
FindNumberSlider();
|
}
|
|
protected override void OnAfterOpen()
|
{
|
}
|
|
protected override void OnPreClose()
|
{
|
}
|
|
protected override void OnAfterClose()
|
{
|
}
|
#endregion
|
|
ResourcesBackModel resourcesBackModel { get { return ModelCenter.Instance.GetModel<ResourcesBackModel>(); } }
|
void OnClickCloseButon()
|
{
|
Close();
|
}
|
void OnClickCancelBtnButton()
|
{
|
Close();
|
}
|
|
void OnClickConfirmButton()
|
{
|
if (_isBool)
|
{
|
RegardsFairyJadeBack();
|
}
|
else
|
{
|
CMRecoverGain(1, resourcesBackModel.ResourcesBackId, number);
|
Close();
|
}
|
|
}
|
|
void RegardsFairyJadeBack()
|
{
|
var own = (int)UIHelper.GetMoneyCnt(1);//拥有的仙玉
|
var need = NeedCostJade;
|
var strLanguage = Language.Get("FairyLand_Func13", NeedCostJade);
|
ConfirmCancel.ShowPopConfirm(Language.Get("Mail101"), strLanguage, (bool isOk) =>
|
{
|
if (isOk)
|
{
|
if (own >= need)
|
{
|
CMRecoverGain(0, resourcesBackModel.ResourcesBackId, number);
|
Close();
|
}
|
else
|
{
|
if (VersionConfig.Get().isBanShu)
|
{
|
SysNotifyMgr.Instance.ShowTip("GoldErr");
|
return;
|
}
|
WindowCenter.Instance.Open<RechargeTipWin>();
|
}
|
}
|
});
|
}
|
|
void OnClickReduceButton()
|
{
|
m_Slider.value -= 1;
|
}
|
|
void OnClickPlusButton()
|
{
|
m_Slider.value += 1;
|
}
|
|
void FindNumberSlider(float _float = 0f)
|
{
|
_isBool = ResourcesBackBoxBack.isBool;
|
var resourcesBackID = resourcesBackModel.ResourcesBackId;
|
if (_isBool)
|
{
|
FairyJadeFind(resourcesBackID);//仙玉
|
}
|
else
|
{
|
CopperCashFind(resourcesBackID);//铜钱
|
}
|
}
|
|
private void FairyJadeFind(int ResourcesBackID)
|
{
|
var resourcesBackClass = resourcesBackModel.ResourcesBackDic[ResourcesBackID];
|
m_Slider.interactable = true;
|
m_Slider.wholeNumbers = true;
|
int minNumber = 1;
|
int maxNumber = 0;
|
maxNumber += resourcesBackClass.RecoverCnt;
|
maxNumber += resourcesBackClass.ExtraCnt;
|
if (resourcesBackClass.ExtraCnt > 0)
|
{
|
m_ResourceName.text = resourcesBackClass.NameOfActivity + string.Format(Language.Get("ResourceBack_VipExtra"), resourcesBackClass.RecoverCnt, resourcesBackClass.ExtraCnt);
|
}
|
else
|
{
|
m_ResourceName.text = resourcesBackClass.NameOfActivity + string.Format(Language.Get("ResourceBack_NormalTimes"), resourcesBackClass.RecoverCnt);
|
}
|
|
m_Slider.minValue = minNumber;
|
m_Slider.maxValue = maxNumber;
|
number = Mathf.CeilToInt(m_Slider.value);
|
m_UpToNumberTxt.text = number.ToString();
|
int needFairyJade = 0;
|
if (IsOpenBool)
|
{
|
m_Slider.value = maxNumber;
|
IsOpenBool = false;
|
}
|
if (m_Slider.value > resourcesBackClass.RecoverCnt)
|
{
|
needFairyJade += resourcesBackClass.RecoverCnt * resourcesBackClass.NormalCostJade;
|
int vipNumber = (Mathf.CeilToInt(m_Slider.value)) - resourcesBackClass.RecoverCnt;
|
needFairyJade += vipNumber * resourcesBackClass.VipCostJade;
|
}
|
else
|
{
|
needFairyJade = (Mathf.CeilToInt(m_Slider.value)) * resourcesBackClass.NormalCostJade;
|
}
|
m_RequiredPrice.SetActive(true);
|
if (resourcesBackClass.ExtraCnt > 0)
|
{
|
m_RequiredPrice.text = string.Format(Language.Get("ResourceBack_JadeCostExtra"), needFairyJade, resourcesBackClass.NormalCostJade, resourcesBackClass.VipCostJade);
|
}
|
else
|
{
|
m_RequiredPrice.text = string.Format(Language.Get("ResourceBack_JadeCost"), needFairyJade, resourcesBackClass.NormalCostJade);
|
}
|
|
NeedCostJade = needFairyJade;
|
}
|
private void CopperCashFind(int resourcesBackID)
|
{
|
ResourcesBackClass resourcesBackClass = resourcesBackModel.ResourcesBackDic[resourcesBackID];
|
m_Slider.interactable = true;
|
m_Slider.wholeNumbers = true;
|
int minNumber = 1;
|
int maxNumber = 0;
|
maxNumber = resourcesBackClass.RecoverCnt;
|
|
m_ResourceName.text = resourcesBackClass.NameOfActivity + string.Format(Language.Get("ResourceBack_NormalTimes"), maxNumber);
|
number = Mathf.CeilToInt(m_Slider.value);
|
m_UpToNumberTxt.text = number.ToString();
|
m_Slider.minValue = minNumber;
|
m_Slider.maxValue = maxNumber;
|
int needCostCopper = 0;
|
if (IsOpenBool)
|
{
|
m_Slider.value = maxNumber;
|
IsOpenBool = false;
|
}
|
needCostCopper = (Mathf.CeilToInt(m_Slider.value)) * resourcesBackClass.CostCopper;
|
m_RequiredPrice.SetActive(false);
|
NeedCostCopper = needCostCopper;
|
}
|
|
private void CMRecoverGain(int type, int inedex, int _number)
|
{
|
var CA553 = new CA553_tagCMRecoverGain();
|
CA553.Type = (byte)type;
|
byte[] indexList = new byte[] { (byte)inedex };
|
CA553.Cnt = (byte)indexList.Length;
|
CA553.IndexList = indexList;
|
byte[] recoverCntList = new byte[] { (byte)number };
|
CA553.RecoverCntList = recoverCntList;
|
GameNetSystem.Instance.SendInfo(CA553);
|
}
|
|
}
|
|
}
|