169 lines
4.3 KiB
C#
169 lines
4.3 KiB
C#
|
using System.Collections;
|
|||
|
using System.Collections.Generic;
|
|||
|
using UnityEngine;
|
|||
|
using UnityEngine.UI;
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// <20><><EFBFBD>йؿ<D0B9><D8BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>а<EFBFBD><D0B0><EFBFBD>Ϣ
|
|||
|
/// </summary>
|
|||
|
public class AllLevPanel : BasePanel
|
|||
|
{
|
|||
|
//<2F>ܹؿ<DCB9><D8BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD>ȱ仯
|
|||
|
public RectTransform imgLev;
|
|||
|
//<2F>ؿ<EFBFBD><D8BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
public float maxWidth=335f;
|
|||
|
|
|||
|
//<2F><><EFBFBD><EFBFBD>
|
|||
|
public Button btnLeft;
|
|||
|
//<2F>һ<EFBFBD>
|
|||
|
public Button btnRight;
|
|||
|
//<2F>رհ<D8B1>ť
|
|||
|
public Button btnClose;
|
|||
|
|
|||
|
//<2F>ؿ<EFBFBD><D8BF><EFBFBD>Χ
|
|||
|
public Text txtAllLev;
|
|||
|
|
|||
|
public Transform content;
|
|||
|
|
|||
|
//<2F><><EFBFBD>䷶Χ
|
|||
|
private int beginIndex;
|
|||
|
private int endIndex;
|
|||
|
|
|||
|
//<2F><><EFBFBD>ڴ洢<DAB4>ؿ<EFBFBD><D8BF><EFBFBD>ť<EFBFBD><C5A5>
|
|||
|
public List<GameObject> itemList = new List<GameObject>();
|
|||
|
|
|||
|
private List<AllLevData> levList;
|
|||
|
private int num;
|
|||
|
public override void Init()
|
|||
|
{
|
|||
|
UpdatePan();
|
|||
|
|
|||
|
btnClose.onClick.AddListener(() =>
|
|||
|
{
|
|||
|
UIManager.Instance.HidePanel<AllLevPanel>();
|
|||
|
});
|
|||
|
btnLeft.onClick.AddListener(() =>
|
|||
|
{
|
|||
|
beginIndex -= 30;
|
|||
|
endIndex -= 30;
|
|||
|
if (beginIndex<1)
|
|||
|
{
|
|||
|
beginIndex = levList.Count / 30 * 30+1;
|
|||
|
endIndex = levList.Count;
|
|||
|
}
|
|||
|
else if (endIndex%30!=0&&endIndex< levList.Count&& levList.Count>30)
|
|||
|
{
|
|||
|
endIndex = beginIndex / 30*30 + 30;
|
|||
|
}
|
|||
|
|
|||
|
UpdataPanel(beginIndex, endIndex);
|
|||
|
InitInfo(beginIndex, endIndex);
|
|||
|
UpdateImg(num, beginIndex / 30 + 1);
|
|||
|
});
|
|||
|
|
|||
|
btnRight.onClick.AddListener(() =>
|
|||
|
{
|
|||
|
beginIndex += 30;
|
|||
|
endIndex += 30;
|
|||
|
if (beginIndex > levList.Count)
|
|||
|
{
|
|||
|
beginIndex = 1;
|
|||
|
if (levList.Count >= 30)
|
|||
|
{
|
|||
|
endIndex = 30;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
endIndex = levList.Count;
|
|||
|
}
|
|||
|
}
|
|||
|
else if (endIndex > levList.Count&&beginIndex < levList.Count)
|
|||
|
{
|
|||
|
endIndex = levList.Count;
|
|||
|
}
|
|||
|
|
|||
|
UpdataPanel(beginIndex, endIndex);
|
|||
|
InitInfo(beginIndex, endIndex);
|
|||
|
UpdateImg(num, beginIndex / 30+1);
|
|||
|
});
|
|||
|
}
|
|||
|
|
|||
|
//һ<><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
|
|||
|
private void UpdatePan()
|
|||
|
{
|
|||
|
//<2F><>ȡ<EFBFBD>ؿ<EFBFBD><D8BF><EFBFBD>״̬<D7B4><CCAC>Ϣ
|
|||
|
levList = GameDataMgr.Instance.levList;
|
|||
|
|
|||
|
//<2F>õ<EFBFBD>һ<EFBFBD><D2BB>Ҫѭ<D2AA><D1AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ٸ<EFBFBD><D9B8><EFBFBD><EFBFBD>䰴ť
|
|||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1> +1 <20><><EFBFBD><EFBFBD> ƽ<><C6BD><EFBFBD>ֳ<EFBFBD><D6B3><EFBFBD>num<75><6D><EFBFBD><EFBFBD>ť
|
|||
|
if (levList.Count % 30 == 0)
|
|||
|
{
|
|||
|
num = levList.Count / 30;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
num = levList.Count / 30 + 1;
|
|||
|
}
|
|||
|
beginIndex = 1;
|
|||
|
if (levList.Count >= 30)
|
|||
|
{
|
|||
|
endIndex = 30;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
endIndex = levList.Count;
|
|||
|
}
|
|||
|
UpdateImg(num, beginIndex / 30 + 1);
|
|||
|
UpdataPanel(beginIndex, endIndex);
|
|||
|
InitInfo(beginIndex, endIndex);
|
|||
|
}
|
|||
|
public void InitInfo(int beginIndex, int endIndex)
|
|||
|
{
|
|||
|
//<2F><>¼<EFBFBD><C2BC>ǰ<EFBFBD><C7B0><EFBFBD>䰴ť<E4B0B4><C5A5> <20><><EFBFBD><EFBFBD>ֵ
|
|||
|
this.beginIndex = beginIndex;
|
|||
|
this.endIndex = endIndex;
|
|||
|
|
|||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
txtAllLev.text = "<22><>"+ beginIndex + " - " + endIndex + "<22><>";
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// <20>ṩ<EFBFBD><E1B9A9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ط<EFBFBD> <20><><EFBFBD>ڸ<EFBFBD><DAB8><EFBFBD> <20><>ǰѡ<C7B0><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҳఴť
|
|||
|
/// </summary>
|
|||
|
/// <param name="beginIndex"></param>
|
|||
|
/// <param name="endIndex"></param>
|
|||
|
public void UpdataPanel(int beginIndex, int endIndex)
|
|||
|
{
|
|||
|
//<2F><>һ<EFBFBD><D2BB><EFBFBD><EFBFBD>ɾ<EFBFBD><C9BE>֮ǰ<D6AE>ĵ<EFBFBD><C4B5><EFBFBD><EFBFBD><EFBFBD>ť
|
|||
|
for (int i = 0; i < itemList.Count; i++)
|
|||
|
{
|
|||
|
//ɾ<><C9BE>֮ǰ<D6AE><C7B0> <20><><EFBFBD><EFBFBD>
|
|||
|
Destroy(itemList[i]);
|
|||
|
}
|
|||
|
//ɾ<><C9BE><EFBFBD><EFBFBD><EFBFBD>ɺ<EFBFBD> һ<><D2BB>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD>
|
|||
|
itemList.Clear();
|
|||
|
|
|||
|
//<2F>ڶ<EFBFBD><DAB6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>µİ<C2B5>ť
|
|||
|
for (int i = beginIndex; i <= endIndex; i++)
|
|||
|
{
|
|||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ <20><><EFBFBD>°<EFBFBD>ť<EFBFBD><C5A5><EFBFBD><EFBFBD>
|
|||
|
GameObject levItem = Instantiate(Resources.Load<GameObject>("UI/LevItem1"));
|
|||
|
levItem.transform.SetParent(content, false);
|
|||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ <20><><EFBFBD>°<EFBFBD>ť<EFBFBD><C5A5><EFBFBD><EFBFBD>
|
|||
|
LevItem1 item = levItem.GetComponent<LevItem1>();
|
|||
|
item.InitInfo(levList[i-1]);
|
|||
|
|
|||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD><C9B9><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><C2BC><EFBFBD>б<EFBFBD><D0B1><EFBFBD>
|
|||
|
itemList.Add(levItem);
|
|||
|
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
private void UpdateImg(float f,int lenght)
|
|||
|
{
|
|||
|
// <20><><EFBFBD><EFBFBD> Image <20>Ŀ<EFBFBD><C4BF><EFBFBD>
|
|||
|
float newWidth = maxWidth * (lenght / f);
|
|||
|
imgLev.sizeDelta = new Vector2(newWidth, imgLev.sizeDelta.y);
|
|||
|
}
|
|||
|
}
|