Files
Fishing2NetTest/Assets/Plugins/FairyGUI/Examples/VirtualList/VirtualListMain.cs
2026-03-05 18:07:55 +08:00

48 lines
1.3 KiB
C#

using UnityEngine;
using FairyGUI;
public class VirtualListMain : MonoBehaviour
{
GComponent _mainView;
GList _list;
void Awake()
{
UIPackage.AddPackage("UI/VirtualList");
UIObjectFactory.SetPackageItemExtension("ui://VirtualList/mailItem", typeof(MailItem));
}
void Start()
{
Application.targetFrameRate = 60;
Stage.inst.onKeyDown.Add(OnKeyDown);
_mainView = this.GetComponent<UIPanel>().ui;
_mainView.GetChild("n6").onClick.Add(() => { _list.AddSelection(500, true); });
_mainView.GetChild("n7").onClick.Add(() => { _list.scrollPane.ScrollTop(); });
_mainView.GetChild("n8").onClick.Add(() => { _list.scrollPane.ScrollBottom(); });
_list = _mainView.GetChild("mailList").asList;
_list.SetVirtual();
_list.itemRenderer = RenderListItem;
_list.numItems = 1000;
}
void RenderListItem(int index, GObject obj)
{
MailItem item = (MailItem)obj;
item.setFetched(index % 3 == 0);
item.setRead(index % 2 == 0);
item.setTime("5 Nov 2015 16:24:33");
item.title = index + " Mail title here";
}
void OnKeyDown(EventContext context)
{
if (context.inputEvent.keyCode == KeyCode.Escape)
{
Application.Quit();
}
}
}