squidGame/tgx-games-client/assets/module_arean/ui_enter_room/UIEnterRoom.ts

53 lines
1.6 KiB
TypeScript

import { tgxUIAlert, tgxUIController, tgxUIWaiting, tgx_class } from "../../core_tgx/tgx";
import { GameUILayers } from "../../scripts/GameUILayers";
import { ModuleDef } from "../../scripts/ModuleDef";
import { UserMgr } from "../../module_basic/scripts/UserMgr";
import { Layout_UIEnterRoom } from "./Layout_UIEnterRoom";
@tgx_class(ModuleDef.BASIC)
export class UIEnterRoom extends tgxUIController {
constructor() {
super('ui_enter_room/ui_enter_room', GameUILayers.POPUP, Layout_UIEnterRoom);
}
protected onCreated(): void {
let layout = this.layout as Layout_UIEnterRoom;
this.onButtonEvent(layout.btnClose, () => {
this.close();
});
this.onButtonEvent(layout.btnEnter, this.onBtnCreateClicked, this);
}
async onBtnCreateClicked() {
let layout = this.layout as Layout_UIEnterRoom;
if (layout.edtId.string.length > 8) {
tgxUIAlert.show('ID 最多 8 个数字');
return;
}
if (layout.edtPassword.string.length > 16) {
tgxUIAlert.show('密码最多16个字符');
return;
}
tgxUIWaiting.show();
let roomId = layout.edtId.string;
let password = layout.edtPassword.string;
let ret = await UserMgr.inst.doTryEnterRoom(roomId,password);
tgxUIWaiting.hide();
if(!ret.isSucc){
tgxUIAlert.show("进入失败");
}
}
setFixedId(id:string){
let layout = this.layout as Layout_UIEnterRoom;
layout.edtId.string = id;
layout.edtId.enabled = false;
}
}