//--------------------------------------------------------
|
// [Author]: 第二世界
|
// [ Date ]: Thursday, April 18, 2019
|
//--------------------------------------------------------
|
|
using System;
|
using System.Collections;
|
using System.Collections.Generic;
|
using UnityEngine;
|
using UnityEngine.UI;
|
|
//节日总界面,功能按钮排序查看 holidayLabelOrder
|
namespace vnxbqy.UI {
|
|
public class HolidayWishesWin : OneLevelWin
|
{
|
HolidayMultiRechargeModel rechargeModel { get { return ModelCenter.Instance.GetModel<HolidayMultiRechargeModel>(); } }
|
|
int wishOrder = 0; // 如果外部存在跳转或者期望打开界面,则不根据红点跳转 第一个界面会被影响
|
int totleCount;
|
|
#region Built-in
|
|
protected override void BindController()
|
{
|
|
m_TitleIcon = this.GetComponent<Image>("Pivot/Container_BackGround/Img_Title");
|
m_Group = this.GetComponent<FunctionButtonGroup>("Pivot/Container_Functions");
|
m_Left = this.GetComponent<Button>("Pivot/Container_Buttons/Btn_Left");
|
m_Right = this.GetComponent<Button>("Pivot/Container_Buttons/Btn_Right");
|
m_Close = this.GetComponent<Button>("Pivot/Container_Buttons/Btn_Close");
|
|
m_Copper = this.GetComponent<Text>("Pivot/Container_BackGround/FollowStoreBottom/SilverCountBG/CountText");
|
if (m_Copper != null)
|
{
|
m_Diamond = this.GetComponent<Text>("Pivot/Container_BackGround/FollowStoreBottom/GoldCountBG/CountText");
|
m_BindDiamond = this.GetComponent<Text>("Pivot/Container_BackGround/FollowStoreBottom/GoldPaperCountBG/CountText");
|
}
|
m_SubWindowContainer = this.GetComponent<RectTransform>("Pivot/Container_SubWindow");
|
|
var name = this.gameObject.name;
|
var infos = WindowConfig.GetWindowFunctionInfos(name);
|
infos.Sort(CompareOrder);
|
foreach (var info in infos)
|
{
|
var title = Language.Get(info.titleKey);
|
if (title.Length == 2)
|
{
|
title = title.Insert(1, " ");
|
}
|
m_Group.AddFunction("FunctionButton_Pattern_1", info.order, info.functionId, title, info.redPointId);
|
}
|
|
m_TitleIcon.SetSprite(WindowConfig.GetTitleIconKey(name));
|
m_TitleIcon.SetNativeSize();
|
}
|
|
int CompareOrder(WindowConfig.OrderTable a, WindowConfig.OrderTable b)
|
{
|
int aOrder = a.order;
|
int bOrder = b.order;
|
int indexA = rechargeModel.holidayLabelOrder.IndexOf(aOrder);
|
int indexB = rechargeModel.holidayLabelOrder.IndexOf(bOrder);
|
if (indexA == indexB && indexA == -1)
|
{
|
return aOrder.CompareTo(bOrder);
|
}
|
|
return indexA.CompareTo(indexB);
|
}
|
|
//节日总界面,功能按钮排序查看 holidayLabelOrder
|
protected override void AddListeners()
|
{
|
base.AddListeners();
|
SetFunctionListener(0, ShowLoginWin);
|
SetFunctionListener(1, ShowHolidayWishPoolWin);
|
SetFunctionListener(2, ShowHolidayRechargeGiftWin);
|
SetFunctionListener(3, ShowHolidayTravelTaskWin);
|
SetFunctionListener(4, ShowHolidayDaySumRechargeWin);
|
SetFunctionListener(5, ShowHolidayCollectWordsWin);
|
SetFunctionListener(6, ShowHolidayLimitedTimePackageWin);
|
SetFunctionListener(7, ShowHolidayFlashRushToBuyWin);
|
SetFunctionListener(8, ShowHolidayFlashSaleWin);
|
SetFunctionListener(9, ShowHolidayConsumeRebateWin);
|
SetFunctionListener(10, ShowHolidayDaysAccumulateRechargeWin);
|
SetFunctionListener(11, ShowHolidayRefuseClassificationWin);
|
SetFunctionListener(12, ShowHolidayXianXiaMJLotterynWin);
|
SetFunctionListener(13, ShowWin1);
|
|
}
|
|
protected override void OnActived()
|
{
|
base.OnActived();
|
}
|
|
protected override void OnPreOpen()
|
{
|
totleCount = 14;
|
wishOrder = functionOrder;
|
base.OnPreOpen();
|
//控制按钮显隐
|
for (int i = 0; i < totleCount; i++)
|
{
|
SetFunctionButtonActive(i, true);
|
}
|
|
|
for (int i = 0; i < totleCount; i++)
|
{
|
if (i == 2)
|
{
|
//多日累充包含任意充值档位 开启
|
if (!OpenServerActivityCenter.Instance.IsActivityOpen(111, (int)OpenServerActivityCenter.ActivityType.AT_JRZF) || !rechargeModel.hasAnyRecharge())
|
{
|
SetFunctionButtonActive(i, false);
|
if (functionOrder == i) functionOrder = i + 1; //默认选中下一个显示的功能按钮
|
}
|
else if (wishOrder == 0)
|
{
|
//默认打开充值大礼界面
|
functionOrder = i;
|
}
|
}
|
else if (i == 10)
|
{
|
//由多日充值但只有任意档位的 不开启
|
if (!OpenServerActivityCenter.Instance.IsActivityOpen(111, (int)OpenServerActivityCenter.ActivityType.AT_JRZF) || !rechargeModel.MoreRecharge())
|
{
|
SetFunctionButtonActive(i, false);
|
if (functionOrder == i) functionOrder = i + 1; //默认选中下一个显示的功能按钮
|
}
|
}
|
else if (!OpenServerActivityCenter.Instance.IsActivityOpen(101 + i, (int)OpenServerActivityCenter.ActivityType.AT_JRZF))
|
{
|
SetFunctionButtonActive(i, false);
|
if (functionOrder == i) functionOrder = i + 1; //默认选中下一个显示的功能按钮
|
}
|
|
}
|
|
SelectOrder();
|
}
|
|
|
protected override void OnAfterOpen()
|
{
|
//显示后关闭 SetFunctionButtonActive 在preopen无效
|
for (int i = 0; i < totleCount; i++)
|
{
|
if (i == 2)
|
{
|
//任意充值界面由多日累充的第一档决定
|
if (!OpenServerActivityCenter.Instance.IsActivityOpen(111, (int)OpenServerActivityCenter.ActivityType.AT_JRZF) || !rechargeModel.hasAnyRecharge())
|
{
|
SetFunctionButtonActive(i, false);
|
}
|
|
}
|
else if (i == 10)
|
{
|
//由多日充值但只有任意档位的 不开启
|
if (!OpenServerActivityCenter.Instance.IsActivityOpen(111, (int)OpenServerActivityCenter.ActivityType.AT_JRZF) || !rechargeModel.MoreRecharge())
|
{
|
SetFunctionButtonActive(i, false);
|
}
|
}
|
else if (!OpenServerActivityCenter.Instance.IsActivityOpen(101 + i, (int)OpenServerActivityCenter.ActivityType.AT_JRZF))
|
{
|
SetFunctionButtonActive(i, false);
|
}
|
}
|
|
m_Left.SetActive(false);
|
m_Right.SetActive(false);
|
}
|
|
|
protected void SelectOrder()
|
{
|
//wishOrder 如果非0代表外部有传入期望开启的界面 第一个界面会被影响
|
if (wishOrder != 0) return;
|
var infos = WindowConfig.GetWindowFunctionInfos("HolidayWishesWin");
|
foreach (var info in infos)
|
{
|
if (RedpointCenter.Instance.GetRedpointState(info.redPointId) != RedPointState.None)
|
{
|
functionOrder = info.order;
|
break;
|
}
|
}
|
}
|
|
protected override void OnPreClose()
|
{
|
base.OnPreClose();
|
wishOrder = 0;
|
}
|
#endregion
|
|
|
private void ShowLoginWin()
|
{
|
CloseSubWindows();
|
WindowCenter.Instance.Open<HolidayLoginWin>();
|
functionOrder = 0;
|
}
|
|
private void ShowHolidayWishPoolWin()
|
{
|
CloseSubWindows();
|
WindowCenter.Instance.Open<HolidayWishPoolWin>();
|
functionOrder = 1;
|
}
|
|
private void ShowHolidayRechargeGiftWin()
|
{
|
CloseSubWindows();
|
WindowCenter.Instance.Open<HolidayRechargeGiftWin>();
|
functionOrder = 2;
|
}
|
|
private void ShowHolidayTravelTaskWin()
|
{
|
CloseSubWindows();
|
WindowCenter.Instance.Open<HolidayTravelTaskWin>();
|
functionOrder = 3;
|
}
|
|
private void ShowHolidayDaySumRechargeWin()
|
{
|
CloseSubWindows();
|
WindowCenter.Instance.Open<HolidayDaySumRechargeWin>();
|
functionOrder = 4;
|
}
|
|
private void ShowHolidayCollectWordsWin()
|
{
|
CloseSubWindows();
|
WindowCenter.Instance.Open<HolidayCollectWordsWin>();
|
functionOrder = 5;
|
}
|
|
private void ShowHolidayLimitedTimePackageWin()
|
{
|
CloseSubWindows();
|
WindowCenter.Instance.Open<HolidayLimitedTimePackageWin>();
|
functionOrder = 6;
|
}
|
|
private void ShowHolidayFlashRushToBuyWin()
|
{
|
CloseSubWindows();
|
WindowCenter.Instance.Open<HolidayFlashRushToBuyWin>();
|
functionOrder = 7;
|
}
|
|
private void ShowHolidayFlashSaleWin()
|
{
|
CloseSubWindows();
|
WindowCenter.Instance.Open<HolidayFlashSaleWin>();
|
functionOrder = 8;
|
}
|
|
private void ShowHolidayConsumeRebateWin()
|
{
|
CloseSubWindows();
|
WindowCenter.Instance.Open<HolidayConsumeRebateWin>();
|
functionOrder = 9;
|
}
|
|
private void ShowHolidayDaysAccumulateRechargeWin()
|
{
|
CloseSubWindows();
|
WindowCenter.Instance.Open<HolidayDaysAccumulateRechargeWin>();
|
functionOrder = 10;
|
}
|
|
private void ShowHolidayRefuseClassificationWin()
|
{
|
CloseSubWindows();
|
WindowCenter.Instance.Open("HolidayRefuseClassificationWin");
|
functionOrder = 11;
|
}
|
|
private void ShowHolidayXianXiaMJLotterynWin()
|
{
|
CloseSubWindows();
|
WindowCenter.Instance.Open("HolidayXianXiaMJLotterynWin");
|
functionOrder = 12;
|
}
|
|
private void ShowWin1()
|
{
|
CloseSubWindows();
|
WindowCenter.Instance.Open("HolidayRecharge2GiftWin");
|
functionOrder = 13;
|
}
|
|
private void ShowWin2()
|
{
|
}
|
|
private void ShowWin3()
|
{
|
}
|
|
private void ShowWin4()
|
{
|
}
|
|
private void ShowWin5()
|
{
|
}
|
}
|
|
}
|