HeroList.ts 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. import { _decorator, Label, Node } from 'cc';
  2. import { BaseView } from '../../../framework/layer/BaseView';
  3. import List from '../../../framework/list/List';
  4. import { StringUtil } from '../../../framework/util/StringUtil';
  5. import { HeroListItem, heroListItemData } from './HeroListItem';
  6. import { RoleManager } from '../../manager/RoleManager';
  7. import { EquipManager } from '../../manager/EquipManager';
  8. import { Framework } from '../../../framework/Framework';
  9. const { ccclass, property } = _decorator;
  10. @ccclass('HeroList')
  11. export class HeroList extends BaseView {
  12. @property({ type: Label, tooltip: "标题" })
  13. titleTx: Label = null;
  14. @property({ type: List, tooltip: "滑动容器" })
  15. sv: List = null;
  16. private _herosData: Array<heroListItemData> = [];
  17. protected onLoad() {
  18. super.onLoad();
  19. this.titleTx.string = StringUtil.getLanguageData('英雄列表');
  20. let herodata = RoleManager.getRolesRaceGroup();
  21. let equipData = EquipManager.getEquipWearRaceGroup();
  22. for (let index = 0; index < 4; index++) {
  23. let t: heroListItemData = { race: index + 1, heros: herodata[index + 1], equips: equipData[index + 1] }
  24. this._herosData.push(t);
  25. }
  26. this.sv.numItems = this._herosData.length;
  27. }
  28. protected onDestroy() {
  29. }
  30. //UI开打时会调用,如果有初始化代码应该放到此函数
  31. onOpen() {
  32. }
  33. //UI关闭时会调用,该函数在onDestroy前调用
  34. onClose() {
  35. }
  36. //框架管理UI层级时会调用,可根据UI情况修改
  37. onShow() {
  38. super.onShow();
  39. }
  40. //框架管理UI层级时会调用,可根据UI情况修改
  41. onHide() {
  42. super.onHide();
  43. }
  44. //UI事件处理
  45. private onTouchButton(event: Event) {
  46. //Framework.audio.playEffect(AudioID.Click);
  47. let target: any = event.target;
  48. if (target.name == 'close_btn') {
  49. Framework.layer.close(this)
  50. }
  51. }
  52. onEventList(item, idx) {
  53. item.getComponent(HeroListItem).refreshItem(this._herosData[idx]);
  54. }
  55. }