//--------------------------------------------------------
|
// [Author]: 第二世界
|
// [ Date ]: Tuesday, June 11, 2019
|
//--------------------------------------------------------
|
|
using System;
|
using System.Collections;
|
using System.Collections.Generic;
|
using UnityEngine;
|
using UnityEngine.UI;
|
|
namespace vnxbqy.UI
|
{
|
|
public class MonthWeekInvestWin : Window
|
{
|
[SerializeField] InvestCategory[] m_InvestCategories;
|
[SerializeField] Text m_TotalIncome;
|
[SerializeField] Text m_FirstIncome;
|
[SerializeField] Text m_DailyIncome;
|
[SerializeField] Transform m_UnInvestSymbol;
|
[SerializeField] Button m_Invest;
|
[SerializeField] Text m_InvestLabel;
|
[SerializeField] Text m_Price;
|
[SerializeField] Text m_Diamond;
|
[SerializeField] Transform m_CompleteSymbol;
|
[SerializeField] ScrollerController m_ScrollControl;
|
TextEx orgPrice;
|
|
MonthWeekInvestModel model { get { return ModelCenter.Instance.GetModel<MonthWeekInvestModel>(); } }
|
|
#region Built-in
|
protected override void BindController()
|
{
|
var obj = m_Invest.FindComponent("Text", "Txt_orgPrice");
|
if (obj != null)
|
orgPrice = obj as TextEx;
|
}
|
|
protected override void AddListeners()
|
{
|
m_ScrollControl.OnRefreshCell += OnRefreshCell;
|
m_Invest.AddListener(OnInvest);
|
}
|
|
protected override void OnPreOpen()
|
{
|
model.onSelectUpdate += OnSelectUpdate;
|
model.onInvestUpdate += OnInvestUpdate;
|
PlayerDatas.Instance.playerDataRefreshEvent += PlayerDataRefreshEvent;
|
}
|
|
protected override void OnActived()
|
{
|
base.OnActived();
|
Display();
|
|
model.SetDayRemind(model.selectType);
|
}
|
|
protected override void OnAfterOpen()
|
{
|
}
|
|
protected override void OnPreClose()
|
{
|
model.onSelectUpdate -= OnSelectUpdate;
|
model.onInvestUpdate -= OnInvestUpdate;
|
PlayerDatas.Instance.playerDataRefreshEvent -= PlayerDataRefreshEvent;
|
}
|
|
protected override void OnAfterClose()
|
{
|
}
|
#endregion
|
|
void Display()
|
{
|
DisplayBase();
|
DisplayInvests();
|
DisplayInvestState();
|
DisplayDiamond();
|
}
|
|
void DisplayBase()
|
{
|
for (int i = 0; i < m_InvestCategories.Length; i++)
|
{
|
m_InvestCategories[i].transform.SetActive(m_InvestCategories[i].type == model.selectType);
|
}
|
|
m_TotalIncome.text = model.GetTotalIncome(model.selectType).ToString();
|
m_FirstIncome.text = model.GetFirstIncome(model.selectType).ToString();
|
if (model.selectType == 8)
|
m_DailyIncome.text = string.Empty;
|
else
|
m_DailyIncome.text = model.GetDailyIncome(model.selectType).ToString();
|
|
var orderInfoId = model.GetOrderInfoId(model.selectType);
|
var config = OrderInfoConfig.Get(orderInfoId);
|
m_Price.text = Language.Get("MonthWeekPrice", UIHelper.GetMoneyFormat(config.PayRMBNum));
|
if (orgPrice != null)
|
{
|
orgPrice.SetActiveIL(PlayerDatas.Instance.baseData.IsActive90Off);
|
orgPrice.text = Language.Get("PayMoneyNum", UIHelper.GetMoneyFormat(config.m_PayRMBNum));
|
}
|
|
m_InvestLabel.text = Language.Get("MonthWeekInvestFunc_" + model.selectType);
|
|
Image moneyImg = this.GetComponent<Image>("Container_Default/Img_TopBottom/Img_4");
|
if (model.selectType == 8)
|
moneyImg.SetSprite("Money_Type_1");
|
else
|
moneyImg.SetSprite("Money_Type_2");
|
|
Image moneyImg2 = this.GetComponent<Image>("Container_Default/Img_TopBottom/Txt_DailyIncome/Img_6");
|
if (model.selectType == 8)
|
moneyImg2.SetSprite("SmallMoney1");
|
else
|
moneyImg2.SetSprite("SmallMoney2");
|
}
|
|
void DisplayInvests()
|
{
|
var jumpIndex = -1;
|
|
m_ScrollControl.Refresh();
|
Dictionary<int, List<Item>> dict;
|
if (model.TryGetInvestItems(model.selectType, out dict))
|
{
|
var index = 0;
|
foreach (var id in dict.Keys)
|
{
|
m_ScrollControl.AddCell(ScrollerDataType.Header, id);
|
|
var state = model.GetSingleInvestState(model.selectType, id);
|
if (state == 2)
|
{
|
jumpIndex = index;
|
}
|
if (jumpIndex == -1 && state == 1)
|
{
|
jumpIndex = index;
|
}
|
index++;
|
}
|
}
|
m_ScrollControl.Restart();
|
|
if (jumpIndex != -1)
|
{
|
m_ScrollControl.JumpIndex(jumpIndex);
|
}
|
}
|
|
void DisplayInvestState()
|
{
|
m_CompleteSymbol.SetActive(model.IsInvested(model.selectType));
|
m_UnInvestSymbol.SetActive(!model.IsInvested(model.selectType));
|
}
|
|
void DisplayDiamond()
|
{
|
|
if (PlayerDatas.Instance.baseData.bindDiamond > 0)
|
{
|
m_Diamond.text = ItemLogicUtility.Instance.OnChangeCoinsUnit(PlayerDatas.Instance.baseData.bindDiamond);
|
}
|
else
|
{
|
//存在负数的情况
|
m_Diamond.text = UIHelper.GetMoneyCntEx(2).ToString();
|
}
|
}
|
|
private void OnInvest()
|
{
|
model.SendInvest(model.selectType);
|
}
|
|
private void OnSelectUpdate()
|
{
|
Display();
|
model.SetDayRemind(model.selectType);
|
}
|
|
private void OnInvestUpdate()
|
{
|
m_ScrollControl.m_Scorller.RefreshActiveCellViews();
|
DisplayInvestState();
|
}
|
|
private void OnRefreshCell(ScrollerDataType type, CellView cell)
|
{
|
var investCell = cell as MonthWeekInvestCell;
|
investCell.Display(cell.index);
|
}
|
|
private void PlayerDataRefreshEvent(PlayerDataType dataType)
|
{
|
if (dataType == PlayerDataType.GoldPaper && dataType == PlayerDataType.default6)
|
{
|
DisplayDiamond();
|
}
|
}
|
|
[Serializable]
|
public class InvestCategory
|
{
|
public int type;
|
public Transform transform;
|
}
|
}
|
}
|
|
|
|
|