| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- import { _decorator, Component, Node, Label, Prefab, instantiate, UITransform } from 'cc';
- import { IFDataSource, InfiniteList } from '../../core/InfiniteList/InfiniteList';
- import { ChildListItem } from './ChildListItem';
- const { ccclass, property } = _decorator;
- @ccclass('ChildListWindow')
- export class ChildListWindow extends Component implements IFDataSource {
- @property({ type: Prefab, tooltip: "Item预制体" }) item: Prefab;
- @property({ type: InfiniteList, tooltip: "任务列表" }) list: InfiniteList;
- private memberData: Array<any> = [];
- private totleData: Array<any> = [];
- private prefabHeight: number = 0;
- start() {
- let prefab = instantiate(this.item);
- this.prefabHeight = prefab.getComponent(UITransform).height;
- }
- public onParams(data: any): void {
- this.totleData = data;
- this.memberData = data["g1Members"];
- this.list.Init(this);
- }
- public onTabbarChange(t: Node, index: number): void {
- this.memberData = this.totleData[`g${index}Members`];
- this.list.Reload();
- }
- //#region IFDataSource
- public GetCellData(dataIndex: number): any {
- return this.memberData[dataIndex];
- }
- public GetCellNumber(): number {
- return this.memberData.length;
- }
- public GetCellSize(index: number): number {
- return this.prefabHeight ? this.prefabHeight : 99;
- }
- public GetCellView(index: number): ChildListItem {
- let node = instantiate(this.item);
- return node.getComponent(ChildListItem);
- }
- public GetCellIdentifer(index: number): string {
- return "ChildListItem";
- }
- //#endregion
- }
|