123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687 |
- import {
- _decorator,
- Component,
- instantiate,
- Node,
- Prefab,
- ScrollView,
- } from "cc";
- import BaseUI from "../base/BaseUI";
- import { ModuleDef } from "../../scripts/ModuleDef";
- import { GameUILayers } from "../../scripts/GameUILayers";
- import { AB } from "../base/AB";
- import { RankingPlayerItem } from "../ui_items/RankingPlayerItem";
- import { Lobby } from "./Lobby";
- import { CommonTabsTitle } from "../ui_base/CommonTabsTitle";
- const { ccclass, property } = _decorator;
- @ccclass("BallUIRanking")
- export class BallUIRanking extends BaseUI {
- static show() {
- tgx.UIMgr.inst.show(
- ModuleDef.BALL,
- "ui_lobby/ui_ranking",
- GameUILayers.POPUP
- );
- }
- protected onDestroy(): void {
- Lobby.ins.enter();
- }
- private _ScrollView: ScrollView;
- private _tpl: Node;
- private _tabs: CommonTabsTitle;
- protected onLoad(): void {
- super.onLoad();
- this._ScrollView = this.FindAs("ScrollView", ScrollView);
- this._tpl = this.FindNode("RankingPlayerItem");
- this._tpl.active = false;
- let self = this;
- this._tabs = this.getComponentInChildren(CommonTabsTitle);
- this._tabs.init(["RANKING", "SEASON RANKING"], {
- onTabClick(index) {
- self.tabSelect(index);
- },
- });
- }
- private tabSelect(tab: number) {
- this._tabs.setSelect(tab);
- this.refreshUI();
- }
- protected start(): void {
- this.tabSelect(0);
- }
- async refreshUI() {
- tgx.UIWaiting.show();
- await new Promise((resolve) => setTimeout(resolve, 500));
- let start_time = Date.now();
- this._ScrollView.content.removeAllChildren();
- this.initMyInfo();
- for (let i = 0; i < 100; i++) {
- let item = instantiate(this._tpl);
- item.active = true;
- let rankingPlayerItem = item.getComponent(RankingPlayerItem);
- let itemData = {
- rank: i + 1,
- name: "Player " + (i + 1),
- score: 1000 + i * 100,
- };
- item.setPosition(0, 0, 0);
- this._ScrollView.content.addChild(item);
- rankingPlayerItem.init(itemData);
- }
- await new Promise((resolve) => setTimeout(resolve, 500));
- tgx.UIWaiting.hide();
- }
- initMyInfo() {
- this.setText("lbl_player_name_my", "my little dog");
- this.setText("lbl_rank_my", "999+");
- this.setText("lbl_score_my", "0");
- }
- }
|