123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899 |
- import { _decorator, Component, isValid, Node, Vec3 } from "cc";
- import { ModuleDef } from "../../scripts/ModuleDef";
- import { GameUILayers } from "../../scripts/GameUILayers";
- import BaseUI from "../base/BaseUI";
- import { SceneUtil } from "../../core_tgx/base/SceneUtils";
- import { SceneDef } from "../../scripts/SceneDef";
- import { BallUISoloMatch } from "./BallUISoloMatch";
- import UIUtils from "../base/UIUtils";
- import { Lobby } from "./Lobby";
- const { ccclass, property } = _decorator;
- @ccclass("ChooseMode")
- export class ChooseMode extends BaseUI {
- static show() {
- tgx.UIMgr.inst.show(
- ModuleDef.BALL,
- "ui_lobby/ui_choose_mode",
- GameUILayers.POPUP
- );
- }
- protected onDestroy(): void {
- Lobby.ins.enter();
- }
- private _isLoading: boolean = false;
- protected closePage(): void {
- super.closePage();
- this._isLoading = false;
- }
- protected onLoad(): void {
- super.onLoad();
- let index = 0;
- let self = this;
- this.FindNode("content").children.forEach((child) => {
- self.playAnimation(child, index);
- index++;
- });
- }
- playAnimation(child: Node, index: number) {
- child.active = false;
- let moveY = 0;
- let moveX =0;
- child.setPosition(
- child.position.x + moveX,
- child.position.y + moveY,
- child.position.z
- );
- child.setScale(0.8, 0.8, 0.8);
- setTimeout(() => {
- if (!isValid(child)) {
- return;
- }
- child.active = true;
- UIUtils.AnimBezierMoveAndScale(
- child,
- new Vec3(
- child.position.x - moveX,
- child.position.y - moveY,
- child.position.z
- ),
- 1,
- 0.3,
- () => {}
- );
- }, index * 80);
- }
- protected simpleOnBtnClick(name: string): void {
- if (this._isLoading) {
- return;
- }
- this._isLoading = true;
- switch (name) {
- case "btn_close":
- this.closePage();
- break;
- case "btn_1":
- tgx.UIWaiting.show();
- SceneUtil.loadScene(SceneDef.GAME_LOCAL);
- setTimeout(() => {
- this.closePage();
- tgx.UIWaiting.hide();
- }, 2000);
- break;
- case "btn_2":
- tgx.UIMgr.inst.closeAll();
- BallUISoloMatch.show();
- this._isLoading = false;
- break;
- }
- }
- }
|