//--------------------------------------------------------
|
// [Author]: 第二世界
|
// [ Date ]: Saturday, December 08, 2018
|
//--------------------------------------------------------
|
|
using System;
|
using System.Collections;
|
using System.Collections.Generic;
|
using UnityEngine;
|
using UnityEngine.UI;
|
|
namespace vnxbqy.UI
|
{
|
public class DungeonNuwaRuleWin : Window
|
{
|
[SerializeField] Button m_ViewRule;
|
[SerializeField] Button m_ViewReward;
|
[SerializeField] Transform m_ContainerRule;
|
[SerializeField] ScrollerController m_FloorController;
|
[SerializeField] Transform m_ContainerReward;
|
[SerializeField] ScrollerController m_RewardController;
|
[SerializeField] Button m_Close;
|
|
int m_SelectIndex = 0;
|
int selectIndex
|
{
|
get { return m_SelectIndex; }
|
set
|
{
|
if (m_SelectIndex != value)
|
{
|
m_SelectIndex = value;
|
Display();
|
}
|
}
|
}
|
|
PlayerMainDate mainModel { get { return ModelCenter.Instance.GetModel<PlayerMainDate>(); } }
|
DungeonNuwaModel model { get { return ModelCenter.Instance.GetModel<DungeonNuwaModel>(); } }
|
|
#region Built-in
|
protected override void BindController()
|
{
|
}
|
|
protected override void AddListeners()
|
{
|
m_FloorController.OnRefreshCell += OnRefreshFloorCell;
|
m_RewardController.OnRefreshCell += OnRefreshRewardCell;
|
|
m_ViewRule.AddListener(() =>
|
{
|
selectIndex = 0;
|
});
|
m_ViewReward.AddListener(() =>
|
{
|
selectIndex = 1;
|
});
|
m_Close.AddListener(CloseClick);
|
}
|
|
protected override void OnPreOpen()
|
{
|
m_SelectIndex = 0;
|
|
Display();
|
}
|
|
protected override void OnAfterOpen()
|
{
|
}
|
|
protected override void OnPreClose()
|
{
|
}
|
|
protected override void OnAfterClose()
|
{
|
}
|
#endregion
|
|
void Display()
|
{
|
m_ContainerRule.SetActive(selectIndex == 0);
|
m_ContainerReward.SetActive(selectIndex == 1);
|
|
DisplayButtonState();
|
|
switch (selectIndex)
|
{
|
case 0:
|
DisplayFloorRule();
|
break;
|
case 1:
|
DisplayRewards();
|
break;
|
}
|
}
|
|
void DisplayFloorRule()
|
{
|
if (m_FloorController.GetNumberOfCells(m_FloorController.m_Scorller) == 0)
|
{
|
m_FloorController.Refresh();
|
for (int i = 1; i <= model.floorCount; i++)
|
{
|
m_FloorController.AddCell(ScrollerDataType.Header, i);
|
}
|
m_FloorController.Restart();
|
}
|
else
|
{
|
m_FloorController.m_Scorller.RefreshActiveCellViews();
|
m_FloorController.JumpIndex(0);
|
}
|
}
|
|
void DisplayRewards()
|
{
|
if (m_RewardController.GetNumberOfCells(m_RewardController.m_Scorller) == 0)
|
{
|
m_RewardController.Refresh();
|
for (int i = 1; i <= model.floorCount; i++)
|
{
|
m_RewardController.AddCell(ScrollerDataType.Header, i);
|
}
|
m_RewardController.Restart();
|
}
|
else
|
{
|
m_RewardController.m_Scorller.RefreshActiveCellViews();
|
m_RewardController.JumpIndex(0);
|
}
|
}
|
|
void DisplayButtonState()
|
{
|
m_ViewRule.image.SetSprite(selectIndex == 0 ? "XT_SZ_22" : "XT_SZ_23");
|
m_ViewReward.image.SetSprite(selectIndex == 1 ? "XT_SZ_22" : "XT_SZ_23");
|
}
|
|
private void OnRefreshFloorCell(ScrollerDataType type, CellView cell)
|
{
|
var nuwaRuleCell = cell as NuwaRuleFloorCell;
|
nuwaRuleCell.Display(cell.index);
|
}
|
|
private void OnRefreshRewardCell(ScrollerDataType type, CellView cell)
|
{
|
var nuwaRewardCell = cell as NuwaRuleRewardCell;
|
nuwaRewardCell.Display(cell.index);
|
}
|
}
|
}
|
|
|
|
|