UIEnterRoom.ts 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. import { GameUILayers } from "../../scripts/GameUILayers";
  2. import { ModuleDef } from "../../scripts/ModuleDef";
  3. import { LobbyMgr } from "../scripts/LobbyMgr";
  4. import { Layout_UIEnterRoom } from "./Layout_UIEnterRoom";
  5. @tgx_class(ModuleDef.BASIC)
  6. export class UIEnterRoom extends tgx.UIController {
  7. constructor() {
  8. super('ui_enter_room/ui_enter_room', GameUILayers.POPUP, Layout_UIEnterRoom);
  9. }
  10. protected onCreated(): void {
  11. let layout = this._layout as Layout_UIEnterRoom;
  12. this.onButtonEvent(layout.btnClose, () => {
  13. this.close();
  14. });
  15. this.onButtonEvent(layout.btnEnter, this.onBtnCreateClicked, this);
  16. }
  17. async onBtnCreateClicked() {
  18. let layout = this._layout as Layout_UIEnterRoom;
  19. if (layout.edtId.string.length > 8) {
  20. tgx.UIAlert.show('ID 最多 8 个数字');
  21. return;
  22. }
  23. if (layout.edtPassword.string.length > 16) {
  24. tgx.UIAlert.show('密码最多16个字符');
  25. return;
  26. }
  27. tgx.UIWaiting.show();
  28. let roomId = layout.edtId.string;
  29. let password = layout.edtPassword.string;
  30. let ret = await LobbyMgr.inst.doTryEnterRoom(roomId,password);
  31. tgx.UIWaiting.hide();
  32. if(!ret.isSucc){
  33. tgx.UIAlert.show("进入失败");
  34. }
  35. }
  36. setFixedId(id:string){
  37. let layout = this._layout as Layout_UIEnterRoom;
  38. layout.edtId.string = id;
  39. layout.edtId.enabled = false;
  40. }
  41. }