ServerItem.ts 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. import { _decorator, Label, Node, Sprite, SpriteFrame } from 'cc';
  2. import { ResKeeper } from '../../../framework/res/ResKeeper';
  3. import { Framework } from '../../../framework/Framework';
  4. import { GameEvent } from '../../data/GameEvent';
  5. import { StringUtil } from '../../../framework/util/StringUtil';
  6. import { AccountData } from '../../data/AccountData';
  7. const { ccclass, property } = _decorator;
  8. @ccclass('ServerItem')
  9. export class ServerItem extends ResKeeper {
  10. @property({ type: Label, tooltip: "名字" })
  11. nameTx: Label = null;
  12. @property({ type: Sprite, tooltip: "状态" })
  13. stateIco: Sprite = null;
  14. @property({ type: Node, tooltip: "当前背景" })
  15. nowBg: Node = null;
  16. @property({ type: Label, tooltip: "当前文字" })
  17. nowTx: Label = null;
  18. @property({ type: Label, tooltip: "角色信息" })
  19. userMsg: Label = null;
  20. @property({ type: [SpriteFrame], tooltip: "状态图" })
  21. stateFrame: SpriteFrame[] = [];
  22. private servetData = null
  23. protected onLoad() {
  24. }
  25. init(data) {
  26. this.servetData = data;
  27. this.nameTx.string = this.servetData.name;
  28. this.stateIco.spriteFrame = this.stateFrame[this.servetData.status];
  29. this.nowTx.string = StringUtil.getLanguageData('当前');
  30. let selectSid = AccountData.getSid();
  31. this.nowBg.active = (this.servetData.sid == selectSid);
  32. let str = "";
  33. if(this.servetData.role_name){
  34. str = `[${this.servetData.role_name}]${StringUtil.getLanguageData(`${this.servetData.lv}级`)}`
  35. }
  36. this.userMsg.string = str;
  37. }
  38. protected onDestroy() {
  39. //如果该组件有事件自行取消注释
  40. //Framework.event.removeEvent(this);
  41. super.onDestroy();
  42. }
  43. //如果使用了池中的节点,在该函数内归还,该函数会在onDestroy前调用
  44. onClose() {
  45. }
  46. //UI事件处理
  47. private onTouchButton(event: Event) {
  48. // Framework.audio.playEffect(AudioID.Click);
  49. let target: any = event.target;
  50. AccountData.setSid(this.servetData.sid,false);
  51. Framework.event.fireEvent(GameEvent.SelectServer);
  52. }
  53. }