45 lines
1.2 KiB
TypeScript
Raw Normal View History

2022-12-08 21:14:02 +08:00
import { _decorator, Component, EditBox, director } from "cc";
import { ApiMsgEnum } from "../Common";
import { SceneEnum } from "../Enum";
import DataManager from "../Global/DataManager";
import NetworkManager from "../Global/NetworkManager";
2022-12-01 22:26:41 +08:00
const { ccclass, property } = _decorator;
2022-12-08 21:14:02 +08:00
@ccclass("LoginManager")
2022-12-01 22:26:41 +08:00
export class LoginManager extends Component {
2022-12-08 21:14:02 +08:00
input: EditBox;
2022-12-01 22:26:41 +08:00
2022-12-08 21:14:02 +08:00
onLoad() {
this.input = this.node.getChildByName("Input").getComponent(EditBox);
director.preloadScene(SceneEnum.Hall);
}
2022-12-01 22:26:41 +08:00
2022-12-08 21:14:02 +08:00
async start() {
await NetworkManager.Instance.connect();
console.log("服务连接成功!");
}
2022-12-01 22:26:41 +08:00
2022-12-08 21:14:02 +08:00
async handleClick() {
if (!NetworkManager.Instance.isConnected) {
console.log("未连接!");
await NetworkManager.Instance.connect();
}
const nickname = this.input.string;
if (!nickname) {
console.log("请输入昵称!");
return;
}
let { success, res, error } = await NetworkManager.Instance.callApi(ApiMsgEnum.ApiPlayerJoin, {
nickname,
});
2022-12-01 22:26:41 +08:00
2022-12-08 21:14:02 +08:00
if (!success) {
console.log(error);
return;
2022-12-01 22:26:41 +08:00
}
2022-12-08 21:14:02 +08:00
DataManager.Instance.myPlayerId = res.player.id;
director.loadScene(SceneEnum.Hall);
}
}