ServerItem.ts 1.6 KB

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