//--------------------------------------------------------
|
// [Author]: 第二世界
|
// [ Date ]: Monday, November 12, 2018
|
//--------------------------------------------------------
|
|
using System;
|
using System.Collections;
|
using System.Collections.Generic;
|
using UnityEngine;
|
using UnityEngine.UI;
|
using TableConfig;
|
using EnhancedUI.EnhancedScroller;
|
|
namespace Snxxz.UI {
|
|
public class IceCrystalVeinWin : Window
|
{
|
[SerializeField] ScrollerController m_ScrollerController;
|
[SerializeField] Button m_CloseButton;
|
[SerializeField] Button m_SweepingButton;//扫荡
|
[SerializeField] Button m_ChallengeButton;//挑战
|
[SerializeField] Transform m_GridMiddle;//中间组
|
[SerializeField] Transform m_GridBottom;//底层组
|
ItemTipsModel _itemTipsModel;
|
ItemTipsModel itemTipsModel { get { return _itemTipsModel ?? (_itemTipsModel = ModelCenter.Instance.GetModel<ItemTipsModel>()); } }
|
private int IndexSelect = 1;
|
private List<int> IceCrystalVeinMiddle = new List<int>();
|
private List<int> IceCrystalVeinStarBottom = new List<int>();
|
private List<int> IceCrystalVeinBottom = new List<int>();
|
#region Built-in
|
protected override void BindController()
|
{
|
m_ScrollerController.OnRefreshCell += OnRefreshGridCell;
|
var _IceCrystalVeinReward = Config.Instance.Get<FuncConfigConfig>("IceCrystalVeinReward");
|
int[] IceCrystalVeinReward = ConfigParse.GetMultipleStr<int>(_IceCrystalVeinReward.Numerical1);
|
for (int i = 0; i < IceCrystalVeinReward.Length; i++)
|
{
|
IceCrystalVeinMiddle.Add(IceCrystalVeinReward[i]);
|
}
|
var _IceCrystalVeinStarReward = Config.Instance.Get<FuncConfigConfig>("IceCrystalVeinStarReward");
|
int[] _IceCrystalVeinStarBottom = ConfigParse.GetMultipleStr<int>(_IceCrystalVeinStarReward.Numerical1);
|
for (int i = 0; i < _IceCrystalVeinStarBottom.Length; i++)
|
{
|
IceCrystalVeinStarBottom.Add(_IceCrystalVeinStarBottom[i]);
|
}
|
int[] _IceCrystalVeinBottom = ConfigParse.GetMultipleStr<int>(_IceCrystalVeinStarReward.Numerical2);
|
for (int i = 0; i < _IceCrystalVeinBottom.Length; i++)
|
{
|
IceCrystalVeinBottom.Add(_IceCrystalVeinBottom[i]);
|
}
|
}
|
|
protected override void AddListeners()
|
{
|
m_CloseButton.AddListener(OnClickClose);
|
m_SweepingButton.AddListener(OnClickSweeping);
|
m_ChallengeButton.AddListener(OnClickChallenge);
|
}
|
|
protected override void OnPreOpen()
|
{
|
OnCreateGridLineCell(m_ScrollerController);
|
SetGridMiddle();
|
SetGridBotton();
|
}
|
|
protected override void OnAfterOpen()
|
{
|
}
|
|
protected override void OnPreClose()
|
{
|
}
|
|
protected override void OnAfterClose()
|
{
|
}
|
#endregion
|
private void OnClickClose()
|
{
|
Close();
|
}
|
private void OnClickSweeping()
|
{
|
|
}
|
private void OnClickChallenge()
|
{
|
|
}
|
void OnCreateGridLineCell(ScrollerController gridCtrl)
|
{
|
gridCtrl.Refresh();
|
for (int i = 0; i < 5; i++)
|
{
|
gridCtrl.AddCell(ScrollerDataType.Header, i);
|
}
|
gridCtrl.Restart();
|
}
|
private void OnRefreshGridCell(ScrollerDataType type, CellView cell)
|
{
|
GameObject Obj1 = cell.transform.Find("TargetBox_1").gameObject;
|
GameObject Obj2 = cell.transform.Find("TargetBox_2").gameObject;
|
int Index = cell.index;
|
if (Index == IndexSelect)
|
{
|
Obj1.SetActive(true);
|
Obj2.SetActive(false);
|
IceCrystalVeinCell iceCrystal = Obj1.GetComponent<IceCrystalVeinCell>();
|
iceCrystal.SetIceCrystalVeinCell(Index);
|
iceCrystal._Button.SetListener(()=>
|
{
|
IndexSelect = Index;
|
m_ScrollerController.m_Scorller.RefreshActiveCellViews();//刷新可见
|
});
|
}
|
else
|
{
|
Obj1.SetActive(false);
|
Obj2.SetActive(true);
|
IceCrystalVeinCell iceCrystal = Obj2.GetComponent<IceCrystalVeinCell>();
|
iceCrystal.SetIceCrystalVeinCell(Index);
|
iceCrystal._Button.SetListener(() =>
|
{
|
IndexSelect = Index;
|
m_ScrollerController.m_Scorller.RefreshActiveCellViews();//刷新可见
|
});
|
}
|
}
|
private void SetGridMiddle()
|
{
|
for (int i = 0; i < m_GridMiddle.childCount; i++)
|
{
|
GameObject ObjChild = m_GridMiddle.GetChild(i).gameObject;
|
if (i < IceCrystalVeinMiddle.Count)
|
{
|
ObjChild.SetActive(true);
|
ItemCell _ItemCell = ObjChild.GetComponent<ItemCell>();
|
ItemCellModel cellModel = new ItemCellModel(IceCrystalVeinMiddle[i], true, (ulong)1);
|
_ItemCell.Init(cellModel);
|
int type = i;
|
_ItemCell.cellBtn.SetListener(()=>
|
{
|
ItemAttrData attrData = new ItemAttrData(IceCrystalVeinMiddle[type], false, (ulong)1);
|
itemTipsModel.SetItemTipsModel(attrData);
|
});
|
}
|
else
|
{
|
ObjChild.SetActive(false);
|
}
|
}
|
|
}
|
private void SetGridBotton()
|
{
|
for (int i = 0; i < m_GridBottom.childCount; i++)
|
{
|
|
GameObject ObjChild = m_GridBottom.GetChild(i).gameObject;
|
if (i < IceCrystalVeinBottom.Count)
|
{
|
ObjChild.SetActive(true);
|
ItemCell _ItemCell = ObjChild.transform.Find("ItemCell_1").GetComponent<ItemCell>();
|
Text TextStar= ObjChild.transform.Find("Text_Star").GetComponent<Text>();
|
TextStar.text = "0/"+IceCrystalVeinStarBottom[i];
|
ItemCellModel cellModel = new ItemCellModel(IceCrystalVeinBottom[i], true, (ulong)1);
|
_ItemCell.Init(cellModel);
|
int type = i;
|
_ItemCell.cellBtn.SetListener(() =>
|
{
|
ItemAttrData attrData = new ItemAttrData(IceCrystalVeinBottom[type], false, (ulong)1);
|
itemTipsModel.SetItemTipsModel(attrData);
|
});
|
}
|
else
|
{
|
ObjChild.SetActive(false);
|
}
|
}
|
}
|
}
|
|
}
|