| 12345678910111213141516171819202122232425262728293031323334353637383940414243 |
- import { _decorator, Component, Node, Prefab, Sprite, SpriteFrame } from 'cc';
- import { DataSystem } from '../core/data/DataSystem';
- import { Http } from '../core/net/Http';
- import { ResourceLoader } from '../core/resourceManager/ResourceLoader';
- import List from '../core/ui/virtualList/List';
- import { FriendItem } from './FriendItem';
- import { GodTowerData } from './GodTowerData';
- const { ccclass, property, requireComponent } = _decorator;
- /**查看好友 */
- @ccclass('FriendList')
- @requireComponent(Http)
- @requireComponent(ResourceLoader)
- export class FriendList extends Component {
- @property({ type: Sprite, tooltip: "标题" })
- titleSprite: Sprite;
- @property({ type: List, tooltip: "好友列表" })
- list: List;
- @property({ type: Prefab, tooltip: "Item预制体" })
- item: Prefab;
- private data = [];
- private infoData: GodTowerData;
- start() {
- this.infoData = DataSystem.getData(GodTowerData);
- }
- public async onOpenHandler(friendlv: number = 0) {
- let img = await this.getComponent(ResourceLoader).load<SpriteFrame>(`image/friendTitle/friendLvTitle_${friendlv + 1}/spriteFrame`, SpriteFrame);
- this.titleSprite.spriteFrame = img;
- friendlv = friendlv > 4 ? 0 : friendlv;
- this.data = this.infoData[`g${friendlv + 1}Members`];
- for (let i = 0; i < this.data.length; i++) {
- this.data[i].friendLv = friendlv;
- }
- this.list.numItems = this.data.length;
- }
- /**
- * 当列表项渲染
- */
- public onListRender(item: Node, index: number) {
- item.getComponent(FriendItem).onDataChange(this.data[index]);
- }
- }
|