//--------------------------------------------------------
|
// [Author]: 第二世界
|
// [ Date ]: Thursday, June 06, 2019
|
//--------------------------------------------------------
|
|
using System;
|
using System.Collections;
|
using System.Collections.Generic;
|
using UnityEngine;
|
using UnityEngine.UI;
|
|
namespace vnxbqy.UI
|
{
|
|
public class VipPrivilegeInfoWin : Window
|
{
|
[SerializeField] ScrollRectGroup m_ScrollGroup;
|
[SerializeField] RectTransform m_ContainerPrivilegeTitles;
|
[SerializeField] RectTransform m_ContainerVip;
|
[SerializeField] RectTransform m_ContainerPrivileges;
|
|
[SerializeField] List<Text> m_VipLevels;
|
[SerializeField] List<VipPrivilegeTitleBehaviour> m_VipPrivilegeTitles;
|
[SerializeField] List<VipPrivilegeBehaviour> m_VipPrivileges;
|
|
[SerializeField] Button m_Close;
|
|
VipModel model { get { return ModelCenter.Instance.GetModel<VipModel>(); } }
|
|
#region Built-in
|
protected override void BindController()
|
{
|
}
|
|
protected override void AddListeners()
|
{
|
m_Close.AddListener(CloseClick);
|
}
|
|
protected override void OnPreOpen()
|
{
|
}
|
|
protected override void OnActived()
|
{
|
base.OnActived();
|
CreateVipElements((int)model.vipMaxLv + 1);
|
|
var configs = VipPrivilegeConfig.GetValues();
|
CreatePrivilegeElements(configs.Count);
|
|
m_ScrollGroup.Initialize();
|
Display();
|
}
|
|
protected override void OnAfterOpen()
|
{
|
}
|
|
protected override void OnPreClose()
|
{
|
}
|
|
protected override void OnAfterClose()
|
{
|
}
|
#endregion
|
|
void Display()
|
{
|
var configs = VipPrivilegeInfoConfig.GetValues();
|
for (int i = 0; i < m_VipPrivilegeTitles.Count; i++)
|
{
|
m_VipPrivilegeTitles[i].SetActive(i < configs.Count);
|
if (i < configs.Count)
|
{
|
m_VipPrivilegeTitles[i].Display(configs[i].name, i % 2 == 1);
|
}
|
}
|
|
for (int i = 0; i < m_VipPrivileges.Count; i++)
|
{
|
m_VipPrivileges[i].SetActive(i < configs.Count);
|
if (i < configs.Count)
|
{
|
m_VipPrivileges[i].Display(configs[i].id, i % 2 == 1);
|
}
|
}
|
|
for (int i = 0; i < m_VipLevels.Count; i++)
|
{
|
m_VipLevels[i].SetActive(i <= model.vipMaxLv);
|
if (i <= model.vipMaxLv)
|
{
|
m_VipLevels[i].text = "VIP" + i;
|
}
|
}
|
}
|
|
void CreateVipElements(int count)
|
{
|
for (int i = 0; i < m_VipPrivileges.Count; i++)
|
{
|
m_VipPrivileges[i].CreateElements(count);
|
}
|
if (count > m_VipLevels.Count)
|
{
|
var delta = count - m_VipLevels.Count;
|
for (int i = 0; i < delta; i++)
|
{
|
var go = GameObject.Instantiate(m_VipLevels[0]);
|
go.transform.SetParent(m_ContainerVip);
|
go.transform.localScale = Vector3.one;
|
var instance = go.GetComponent<Text>();
|
m_VipLevels.Add(instance);
|
}
|
}
|
}
|
|
void CreatePrivilegeElements(int count)
|
{
|
if (count > m_VipPrivilegeTitles.Count)
|
{
|
var delta = count - m_VipPrivilegeTitles.Count;
|
for (int i = 0; i < delta; i++)
|
{
|
var go = GameObject.Instantiate(m_VipPrivilegeTitles[0]);
|
go.transform.SetParent(m_ContainerPrivilegeTitles);
|
go.transform.localScale = Vector3.one;
|
var instance = go.GetComponent<VipPrivilegeTitleBehaviour>();
|
m_VipPrivilegeTitles.Add(instance);
|
}
|
}
|
|
if (count > m_VipPrivileges.Count)
|
{
|
var delta = count - m_VipPrivileges.Count;
|
for (int i = 0; i < delta; i++)
|
{
|
var go = GameObject.Instantiate(m_VipPrivileges[0]);
|
go.transform.SetParent(m_ContainerPrivileges);
|
go.transform.localScale = Vector3.one;
|
var instance = go.GetComponent<VipPrivilegeBehaviour>();
|
m_VipPrivileges.Add(instance);
|
}
|
}
|
}
|
}
|
}
|
|
|
|
|