//--------------------------------------------------------
|
// [Author]: 第二世界
|
// [ Date ]: Thursday, April 26, 2018
|
//--------------------------------------------------------
|
|
using System;
|
using System.Collections;
|
using System.Collections.Generic;
|
using UnityEngine;
|
using UnityEngine.UI;
|
|
//仙玉投资
|
namespace Snxxz.UI
|
{
|
|
public class FairyJadeInvestmentWin : Window
|
{
|
FairyJadeInvestmentModel m_FairyJadeInvestmentModel;
|
FairyJadeInvestmentModel fairyJadeInvestmentModel { get { return m_FairyJadeInvestmentModel ?? (m_FairyJadeInvestmentModel = ModelCenter.Instance.GetModel<FairyJadeInvestmentModel>()); } }
|
VipInvestModel m_VipInvestModel;
|
VipInvestModel VipInvestModel { get { return m_VipInvestModel ?? (m_VipInvestModel = ModelCenter.Instance.GetModel<VipInvestModel>()); } }
|
[SerializeField] ScrollerController m_ScrollerController;
|
[SerializeField] Button m_InvestmentButton;//投资按钮
|
[SerializeField] GameObject m_MaxInverstment;//最大投资上限
|
[SerializeField] Button m_RealizedInvestmentButton;//追加投资
|
[SerializeField] Button m_SelectButton;//额度选择
|
[SerializeField] Text m_TextNumber;
|
|
[SerializeField] Text m_FairyJadeText;//当前仙玉
|
[SerializeField] Text m_TieTheJadeText;//当前绑玉
|
|
[SerializeField] Text m_InvestmentText;//当前投资的价格
|
[SerializeField] Text m_JadeText;//所需投资仙玉
|
|
[SerializeField] Image m_Image_AD;//投资图片
|
|
[SerializeField] Image m_Image1;
|
[SerializeField] Image m_Image2;
|
[SerializeField] Image m_Image3;
|
[SerializeField] Text m_LvText;
|
public static event Action FairyJadeInvestmentRedPointEvent;
|
#region Built-in
|
private List<int> GearPositionList = new List<int>();
|
private string[] IconList1 = new string[4];
|
private string[] IconList2 = new string[4];
|
private string[] IconList3 = new string[4];
|
protected override void BindController()
|
{
|
var JadeInves = FuncConfigConfig.Get("JadeInvestIconKey");
|
int[] GearPosition = ConfigParse.GetMultipleStr<int>(JadeInves.Numerical1);
|
GearPositionList.Clear();
|
for (int i = 0; i < GearPosition.Length; i++)
|
{
|
GearPositionList.Add(GearPosition[i]);
|
}
|
IconList1 = ConfigParse.GetMultipleStr(JadeInves.Numerical2);
|
IconList2 = ConfigParse.GetMultipleStr(JadeInves.Numerical3);
|
IconList3 = ConfigParse.GetMultipleStr(JadeInves.Numerical4);
|
}
|
|
protected override void AddListeners()
|
{
|
m_InvestmentButton.AddListener(InvestmentButton);
|
m_RealizedInvestmentButton.AddListener(RealizedInvestment_Button);
|
m_SelectButton.AddListener(SelectButton);
|
}
|
|
protected override void OnPreOpen()
|
{
|
fairyJadeInvestmentModel.BinningType = fairyJadeInvestmentModel.GetFairyJadeType();
|
SetText();
|
int InvestGold = fairyJadeInvestmentModel.GetInvestGold();
|
if (InvestGold < fairyJadeInvestmentModel.RecordSelectNumberMax)
|
{
|
if (InvestGold < VipInvestModel.GetInvestGold(3, 0))
|
{
|
fairyJadeInvestmentModel.SelectNumber = VipInvestModel.GetInvestGold(3, 0);
|
}
|
else if (InvestGold < VipInvestModel.GetInvestGold(3, 1))
|
{
|
fairyJadeInvestmentModel.SelectNumber = VipInvestModel.GetInvestGold(3, 1);
|
}
|
else if (InvestGold < VipInvestModel.GetInvestGold(3, 2))
|
{
|
fairyJadeInvestmentModel.SelectNumber = VipInvestModel.GetInvestGold(3, 2);
|
}
|
else if (InvestGold < VipInvestModel.GetInvestGold(3, 3))
|
{
|
fairyJadeInvestmentModel.SelectNumber = VipInvestModel.GetInvestGold(3, 3);
|
}
|
m_SelectButton.gameObject.SetActive(true);
|
}
|
else
|
{
|
fairyJadeInvestmentModel.SelectNumber = fairyJadeInvestmentModel.RecordSelectNumberMax;
|
m_SelectButton.gameObject.SetActive(false);
|
}
|
if (InvestGold <= 0)
|
{
|
m_InvestmentText.text = Language.Get("FairyJadeInvestment_7");
|
}
|
else
|
{
|
m_InvestmentText.text = string.Format(Language.Get("FairyJadeInvestment_8"), InvestGold);
|
}
|
if (InvestGold >= fairyJadeInvestmentModel.RecordSelectNumberMax)
|
{
|
m_JadeText.gameObject.SetActive(false);
|
}
|
else
|
{
|
m_JadeText.gameObject.SetActive(true);
|
|
m_JadeText.text = string.Format(Language.Get("FairyJadeInvestment_9"), fairyJadeInvestmentModel.SelectNumber - InvestGold);
|
}
|
IsInvestment();
|
GetMoney();
|
SetIconKeyImage();
|
if (InvestGold >= fairyJadeInvestmentModel.RecordSelectNumberMax)
|
{
|
m_TextNumber.text = fairyJadeInvestmentModel.RecordSelectNumberMax.ToString();
|
}
|
else
|
{
|
m_TextNumber.text = (fairyJadeInvestmentModel.SelectNumber - InvestGold).ToString();
|
}
|
PlayerDatas.Instance.playerDataRefreshEvent += Updatefighting;//数据的刷新(h0418)
|
FairyJadeInvestmentModel.FairyJadeInfoSeriorsUpdate += FairyJadeInfoSeriorsUpdate;
|
FairyJadeInvestmentTipWin.SelectNumberRefresh += SelectNumberRefresh;
|
m_ScrollerController.OnRefreshCell += OnRefreshGridCell;
|
OnCreateGridLineCell(m_ScrollerController);
|
m_ScrollerController.JumpIndex(fairyJadeInvestmentModel.JumpInedx);
|
}
|
|
|
protected override void OnAfterOpen()
|
{
|
if (fairyJadeInvestmentModel.redPointStre1.state == RedPointState.Simple)
|
{
|
fairyJadeInvestmentModel.IsRedpoint = false;
|
if (FairyJadeInvestmentRedPointEvent != null)
|
{
|
FairyJadeInvestmentRedPointEvent();
|
}
|
}
|
}
|
|
protected override void OnPreClose()
|
{
|
PlayerDatas.Instance.playerDataRefreshEvent -= Updatefighting;//数据的刷新(h0418)
|
FairyJadeInvestmentModel.FairyJadeInfoSeriorsUpdate -= FairyJadeInfoSeriorsUpdate;
|
m_ScrollerController.OnRefreshCell -= OnRefreshGridCell;
|
FairyJadeInvestmentTipWin.SelectNumberRefresh -= SelectNumberRefresh;
|
}
|
|
private void SelectNumberRefresh()
|
{
|
int InvestGold = fairyJadeInvestmentModel.GetInvestGold();
|
if (InvestGold >= fairyJadeInvestmentModel.RecordSelectNumberMax)
|
{
|
m_TextNumber.text = fairyJadeInvestmentModel.RecordSelectNumberMax.ToString();
|
}
|
else
|
{
|
m_TextNumber.text = (fairyJadeInvestmentModel.SelectNumber - InvestGold).ToString();
|
}
|
SetIconKeyImage();
|
if (InvestGold >= fairyJadeInvestmentModel.RecordSelectNumberMax)
|
{
|
m_JadeText.gameObject.SetActive(false);
|
}
|
else
|
{
|
m_JadeText.gameObject.SetActive(true);
|
m_JadeText.text = string.Format(Language.Get("FairyJadeInvestment_9"), fairyJadeInvestmentModel.SelectNumber - InvestGold);
|
}
|
m_ScrollerController.m_Scorller.RefreshActiveCellViews();//刷新可见
|
}
|
|
protected override void OnAfterClose()
|
{
|
}
|
#endregion
|
private void FairyJadeInfoSeriorsUpdate()
|
{
|
int InvestGold = fairyJadeInvestmentModel.GetInvestGold();
|
if (InvestGold < fairyJadeInvestmentModel.RecordSelectNumberMax)
|
{
|
fairyJadeInvestmentModel.SelectNumber = fairyJadeInvestmentModel.RecordSelectNumberMax;
|
m_SelectButton.gameObject.SetActive(true);
|
}
|
else
|
{
|
fairyJadeInvestmentModel.SelectNumber = fairyJadeInvestmentModel.RecordSelectNumberMax;
|
m_SelectButton.gameObject.SetActive(false);
|
}
|
if (InvestGold <= 0)
|
{
|
m_InvestmentText.text = Language.Get("FairyJadeInvestment_7");
|
}
|
else
|
{
|
m_InvestmentText.text = string.Format(Language.Get("FairyJadeInvestment_8"), InvestGold);
|
}
|
if (InvestGold >= fairyJadeInvestmentModel.RecordSelectNumberMax)
|
{
|
m_JadeText.gameObject.SetActive(false);
|
}
|
else
|
{
|
m_JadeText.gameObject.SetActive(true);
|
m_JadeText.text = string.Format(Language.Get("FairyJadeInvestment_9"), fairyJadeInvestmentModel.SelectNumber - InvestGold);
|
}
|
|
if (InvestGold >= fairyJadeInvestmentModel.RecordSelectNumberMax)
|
{
|
m_TextNumber.text = fairyJadeInvestmentModel.RecordSelectNumberMax.ToString();
|
}
|
else
|
{
|
m_TextNumber.text = (fairyJadeInvestmentModel.SelectNumber - InvestGold).ToString();
|
}
|
SetIconKeyImage();
|
IsInvestment();
|
m_ScrollerController.m_Scorller.RefreshActiveCellViews();//刷新可见
|
}
|
|
void OnCreateGridLineCell(ScrollerController gridCtrl)//预制体创建
|
{
|
gridCtrl.Refresh();
|
int _type = fairyJadeInvestmentModel.BinningType;
|
if (!fairyJadeInvestmentModel.FairyJadeInvestmentTypeDic.ContainsKey(_type))
|
{
|
return;
|
}
|
var Dit = fairyJadeInvestmentModel.FairyJadeInvestmentTypeDic[_type];
|
foreach (int key in Dit.Keys)
|
{
|
gridCtrl.AddCell(ScrollerDataType.Header, key);
|
}
|
gridCtrl.Restart();
|
}
|
|
void OnRefreshGridCell(ScrollerDataType type, CellView cell)
|
{
|
FairyJadeInvestmentItem fairyJadeInvestmentItem = cell.GetComponent<FairyJadeInvestmentItem>();
|
int playerlv = cell.index;
|
fairyJadeInvestmentItem.GetPlayerLV(playerlv);
|
}
|
|
private void IsInvestment()//是否可投资
|
{
|
int InvestGold = fairyJadeInvestmentModel.GetInvestGold();
|
if (InvestGold < fairyJadeInvestmentModel.RecordSelectNumberMax)
|
{
|
m_MaxInverstment.SetActive(false);
|
|
if (InvestGold > 0)
|
{
|
m_Image_AD.SetSprite("XT_VIP_106");
|
m_InvestmentButton.gameObject.SetActive(false);
|
m_RealizedInvestmentButton.gameObject.SetActive(true);
|
}
|
else
|
{
|
m_Image_AD.SetSprite("XT_VIP_59");
|
m_InvestmentButton.gameObject.SetActive(true);
|
m_RealizedInvestmentButton.gameObject.SetActive(false);
|
}
|
}
|
else
|
{
|
m_Image_AD.SetSprite("XT_VIP_105");
|
m_MaxInverstment.SetActive(true);
|
m_InvestmentButton.gameObject.SetActive(false);
|
m_RealizedInvestmentButton.gameObject.SetActive(false);
|
}
|
}
|
|
private void InvestmentButton()//仙玉投资
|
{
|
int InvestGold = fairyJadeInvestmentModel.GetInvestGold();
|
//if (PlayerDatas.Instance.baseData.LV > 300)
|
//{
|
// ServerTipDetails.DisplayNormalTip(Language.Get("HasExceededTheInvestmentGrade_Z"));
|
// return;
|
//}
|
if (InvestGold > 0)
|
{
|
ConfirmCancel.ShowPopConfirm(Language.Get("Mail101"), string.Format(Language.Get("FairyJadeInvestment_2"), fairyJadeInvestmentModel.SelectNumber - InvestGold), (bool isOk) =>
|
{
|
if (isOk)
|
{
|
ConsumeFairyJade(fairyJadeInvestmentModel.SelectNumber);
|
}
|
});
|
}
|
else
|
{
|
ConfirmCancel.ShowPopConfirm(Language.Get("Mail101"), string.Format(Language.Get("FairyJadeInvestment_1"), fairyJadeInvestmentModel.SelectNumber), (bool isOk) =>
|
{
|
if (isOk)
|
{
|
ConsumeFairyJade(fairyJadeInvestmentModel.SelectNumber);
|
}
|
});
|
}
|
}
|
|
private void RealizedInvestment_Button()//追加投资按钮
|
{
|
int InvestGold = fairyJadeInvestmentModel.GetInvestGold();
|
if (InvestGold > 0)
|
{
|
ConfirmCancel.ShowPopConfirm(Language.Get("Mail101"), string.Format(Language.Get("FairyJadeInvestment_2"), fairyJadeInvestmentModel.SelectNumber - InvestGold), (bool isOk) =>
|
{
|
if (isOk)
|
{
|
ConsumeFairyJade(fairyJadeInvestmentModel.SelectNumber);
|
}
|
});
|
}
|
else
|
{
|
ConfirmCancel.ShowPopConfirm(Language.Get("Mail101"), string.Format(Language.Get("FairyJadeInvestment_1"), fairyJadeInvestmentModel.SelectNumber), (bool isOk) =>
|
{
|
if (isOk)
|
{
|
ConsumeFairyJade(fairyJadeInvestmentModel.SelectNumber);
|
}
|
});
|
}
|
|
|
}
|
|
private void ConsumeFairyJade(int fairyJade)
|
{
|
int InvestGold = fairyJadeInvestmentModel.GetInvestGold();
|
int getFairyJade = (int)UIHelper.GetMoneyCnt(1);
|
if (getFairyJade >= (fairyJade - InvestGold))
|
{
|
int type = fairyJadeInvestmentModel.BinningType;
|
fairyJadeInvestmentModel.InvestmentMonthlyInvestment(type, fairyJade);
|
}
|
else
|
{
|
WindowCenter.Instance.Open<RechargeTipWin>();
|
}
|
}
|
private void GetMoney()
|
{
|
m_FairyJadeText.text = UIHelper.GetMoneyCnt(1).ToString();
|
}
|
|
private void SelectButton()
|
{
|
WindowCenter.Instance.Open<FairyJadeInvestmentTipWin>();
|
}
|
|
void Updatefighting(PlayerDataType _tCDBPlayerRefresh)//数据的刷新
|
{
|
switch (_tCDBPlayerRefresh)
|
{
|
case PlayerDataType.Gold:
|
GetMoney();
|
break;
|
case PlayerDataType.GoldPaper:
|
GetMoney();
|
break;
|
default:
|
break;
|
}
|
}
|
|
private void SetText()
|
{
|
int Type= fairyJadeInvestmentModel.BinningType;
|
switch (Type)
|
{
|
case 3:
|
m_LvText.text = Language.Get("FairyJade_T1");
|
break;
|
case 4:
|
m_LvText.text = Language.Get("FairyJade_T2");
|
break;
|
case 5:
|
m_LvText.text = Language.Get("FairyJade_T3");
|
break;
|
|
}
|
}
|
|
private void SetIconKeyImage()
|
{
|
var money = fairyJadeInvestmentModel.SelectNumber;
|
int ype = fairyJadeInvestmentModel.BinningType;
|
if (fairyJadeInvestmentModel.InvestmentAmountTypeDic.ContainsKey(ype))
|
{
|
var dit = fairyJadeInvestmentModel.InvestmentAmountTypeDic[ype];
|
if (dit.ContainsKey(money))
|
{
|
var type = dit[money];
|
if (GearPositionList.Contains(type))
|
{
|
int Inedx = GearPositionList.IndexOf(type);
|
m_Image1.SetSprite(IconList1[Inedx]);
|
m_Image1.SetNativeSize();
|
m_Image2.SetSprite(IconList2[Inedx]);
|
m_Image2.SetNativeSize();
|
m_Image3.SetSprite(IconList3[Inedx]);
|
m_Image3.SetNativeSize();
|
}
|
}
|
}
|
}
|
}
|
|
}
|
|
|
|
|