//--------------------------------------------------------
|
// [Author]: 第二世界
|
// [ Date ]: Friday, March 02, 2018
|
//--------------------------------------------------------
|
|
using System;
|
using System.Collections;
|
using System.Collections.Generic;
|
using UnityEngine;
|
using UnityEngine.UI;
|
|
//开服七天登入礼包
|
namespace vnxbqy.UI
|
{
|
|
public class InSevenDayWin : Window
|
{
|
|
#region Built-in
|
InSevenDayModel m_InSevenDayModel;
|
InSevenDayModel inSevenDay { get { return m_InSevenDayModel ?? (m_InSevenDayModel = ModelCenter.Instance.GetModel<InSevenDayModel>()); } }
|
private int SelectedDay = 1;
|
[SerializeField] ScrollerController m_ScrollerController;
|
[SerializeField] RewardInformation m_rewardInformation;
|
[SerializeField] Text m_TextName;
|
[SerializeField] Image m_ImageShow;
|
[SerializeField] Image m_ImageShowCH;
|
[SerializeField] UIEffect m_UIEffect1;
|
[SerializeField] UIEffect m_UIEffect2;
|
[SerializeField] UIEffect m_UIEffect3;
|
[SerializeField] Image m_ImageDay;
|
[SerializeField] Image m_ImageTex1;
|
[SerializeField] Image m_ImageTex2;
|
protected override void BindController()
|
{
|
}
|
|
protected override void AddListeners()
|
{
|
}
|
|
protected override void OnPreOpen()
|
{
|
m_ScrollerController.OnRefreshCell += OnRefreshGridCell;
|
InSevenDayModel.AwardMessageUpdate += AwardMessageUpdate;
|
SelectedDays();
|
ContentAssignment();
|
OnCreateGridLineCell(m_ScrollerController);
|
m_ScrollerController.JumpIndex(SelectedDay-1);
|
|
}
|
|
protected override void OnAfterOpen()
|
{
|
}
|
|
protected override void OnPreClose()
|
{
|
m_ScrollerController.OnRefreshCell -= OnRefreshGridCell;
|
InSevenDayModel.AwardMessageUpdate -= AwardMessageUpdate;
|
if (inSevenDay.redPointStre1.state == RedPointState.None)
|
{
|
inSevenDay.IsMainGo = false;
|
}
|
}
|
protected override void OnAfterClose()
|
{
|
}
|
private void AwardMessageUpdate()
|
{
|
if (inSevenDay.RewardForDic.ContainsKey(SelectedDay)
|
&& inSevenDay.RewardForDic[SelectedDay] == 1
|
&& SelectedDay < 7)
|
{
|
SelectedDay += 1;
|
}
|
m_ScrollerController.m_Scorller.RefreshActiveCellViews();//刷新可见
|
ContentAssignment();
|
}
|
|
|
void OnCreateGridLineCell(ScrollerController gridCtrl)//预制体创建
|
{
|
gridCtrl.Refresh();
|
|
foreach (int key in inSevenDay.InSevenDayDic.Keys)
|
{
|
gridCtrl.AddCell(ScrollerDataType.Header, key);
|
}
|
gridCtrl.Restart();
|
}
|
void OnRefreshGridCell(ScrollerDataType type, CellView cell)
|
{
|
FeaturesType featuresType = cell.GetComponent<FeaturesType>();
|
int day = cell.index;
|
featuresType.GetIsDays(day);
|
if (day == SelectedDay)
|
{
|
featuresType.ImageSelected.SetActive(true);
|
}
|
else
|
{
|
featuresType.ImageSelected.SetActive(false);
|
}
|
featuresType.Button.SetListener(()=>
|
{
|
SelectedDay = day;
|
m_ScrollerController.m_Scorller.RefreshActiveCellViews();//刷新可见
|
ContentAssignment();
|
});
|
}
|
|
|
private void SelectedDays()
|
{
|
foreach (var key in inSevenDay.RewardForDic.Keys)
|
{
|
if (inSevenDay.RewardForDic[key] == 0 || inSevenDay.RewardForDic[key] ==-1)
|
{
|
SelectedDay = key;
|
return;
|
}
|
}
|
SelectedDay = 1;
|
return ;
|
}
|
private void ContentAssignment()
|
{
|
var InsevenConfig = InSevenDaysConfig.Get(SelectedDay);
|
if (InsevenConfig == null)
|
{
|
return;
|
}
|
SetUIEffect();
|
m_rewardInformation.GetIsDays(SelectedDay);
|
m_TextName.text = InsevenConfig.RewardName;
|
if (InsevenConfig.IsTitle == 1)
|
{
|
m_ImageShow.SetActive(false);
|
m_ImageShowCH.SetActive(true);
|
m_ImageShowCH.SetSprite(InsevenConfig.Image);
|
m_ImageShowCH.SetNativeSize();
|
}
|
else
|
{
|
m_ImageShowCH.SetActive(false);
|
m_ImageShow.SetActive(true);
|
m_ImageShow.SetSprite(InsevenConfig.Image);
|
m_ImageShow.SetNativeSize();
|
}
|
|
m_ImageDay.SetSprite(InsevenConfig.DayIcon);
|
m_ImageDay.SetNativeSize();
|
m_ImageTex1.SetSprite(InsevenConfig.ImgTxt1);
|
m_ImageTex1.SetNativeSize();
|
m_ImageTex2.SetSprite(InsevenConfig.ImgTxt2);
|
m_ImageTex2.SetNativeSize();
|
}
|
private void SetUIEffect()
|
{
|
switch (SelectedDay)
|
{
|
case 1:
|
case 4:
|
case 6:
|
m_UIEffect1.SetActive(true);
|
m_UIEffect2.SetActive(false);
|
m_UIEffect3.SetActive(false);
|
break;
|
case 2:
|
case 3:
|
m_UIEffect1.SetActive(false);
|
m_UIEffect2.SetActive(true);
|
m_UIEffect3.SetActive(false);
|
break;
|
case 5:
|
case 7:
|
m_UIEffect1.SetActive(false);
|
m_UIEffect2.SetActive(false);
|
m_UIEffect3.SetActive(true);
|
break;
|
}
|
}
|
#endregion
|
|
}
|
|
}
|