48 lines
1.3 KiB
C#
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();
|
|
}
|
|
}
|
|
} |