ServerItem.ts 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. import { _decorator, Node } from 'cc';
  2. import { ResKeeper } from '../../../framework/res/ResKeeper';
  3. import { LoginMgr } from '../../common/LoginManager';
  4. import { Framework } from '../../../framework/Framework';
  5. import { ViewID } from '../../../framework/config/LayerConf';
  6. import { AudioID } from '../../../framework/config/AudioConf';
  7. import { UserData } from '../../data/UserData';
  8. const { ccclass, property } = _decorator;
  9. @ccclass('ServerItem')
  10. export class ServerItem extends ResKeeper {
  11. private ServetData = null
  12. private server_list = null;
  13. protected onLoad() {
  14. }
  15. init(data, ServetData) {
  16. this.ServetData = ServetData;
  17. if (this.ServetData) {
  18. this.server_list = data;
  19. this.Label.name.string = this.server_list.name;
  20. // this.Label.index.string = this.server_list.id
  21. }
  22. }
  23. protected onDestroy() {
  24. //如果该组件有事件自行取消注释
  25. //Framework.event.removeEvent(this);
  26. super.onDestroy();
  27. }
  28. //如果使用了池中的节点,在该函数内归还,该函数会在onDestroy前调用
  29. onClose() {
  30. }
  31. //UI事件处理
  32. private onTouchButton(event: Event) {
  33. Framework.audio.playEffect(AudioID.Click);
  34. let target: any = event.target;
  35. let _gateway_data = {
  36. openid: this.ServetData.openid, //上面获取到的openid
  37. openkey: this.ServetData.openkey, //上面获取到的openkey
  38. sid: this.server_list.id, // 选择的服务器列表信息中的id
  39. }
  40. UserData.save_locally('choose_server', this.server_list);
  41. LoginMgr.getGateway(_gateway_data, this.server_list.host, () => {
  42. if (UserData['mark'].first_login && UserData['mark'].first_login == 1) {
  43. Framework.layer.open(ViewID.MainUI, () => {
  44. Framework.layer.close(ViewID.LoginUI);
  45. Framework.layer.close(ViewID.SelectServer);
  46. Framework.layer.close(ViewID.LoadingUI);
  47. });
  48. } else {
  49. Framework.layer.open(ViewID.MainUI, () => {
  50. Framework.layer.close(ViewID.LoginUI);
  51. Framework.layer.close(ViewID.SelectServer);
  52. Framework.layer.close(ViewID.LoadingUI);
  53. });
  54. }
  55. })
  56. }
  57. }