BallUITask.ts 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. import {
  2. _decorator,
  3. Component,
  4. instantiate,
  5. Label,
  6. Node,
  7. Prefab,
  8. ScrollView,
  9. } from "cc";
  10. import BaseUI from "../base/BaseUI";
  11. import { ModuleDef } from "../../scripts/ModuleDef";
  12. import { GameUILayers } from "../../scripts/GameUILayers";
  13. import { AB } from "../base/AB";
  14. import { RankingPlayerItem } from "../ui_items/RankingPlayerItem";
  15. import { TaskItem } from "../ui_items/BallUITaskItem";
  16. import { Lobby } from "./Lobby";
  17. import { CommonTabsTitle } from "../ui_base/CommonTabsTitle";
  18. const { ccclass, property } = _decorator;
  19. @ccclass("BallUITask")
  20. export class BallUITask extends BaseUI {
  21. static show() {
  22. tgx.UIMgr.inst.show(ModuleDef.BALL, "ui_lobby/ui_task", GameUILayers.POPUP);
  23. }
  24. protected onDestroy(): void {
  25. Lobby.ins.enter();
  26. }
  27. private static TAB_DAILY = 0;
  28. private static TAB_SEASON = 1;
  29. private _curTab: number = BallUITask.TAB_DAILY;
  30. private _ScrollView: ScrollView;
  31. private _tabs: CommonTabsTitle;
  32. protected onLoad(): void {
  33. super.onLoad();
  34. let self = this;
  35. this._ScrollView = this.FindAs("ScrollView", ScrollView);
  36. this._tabs = this.getComponentInChildren(CommonTabsTitle);
  37. this._tabs.init(["DAILY TASK", "SEASON TASK"], {
  38. onTabClick(index) {
  39. self.tabSelect(index);
  40. },
  41. });
  42. }
  43. protected start(): void {
  44. this.tabSelect(BallUITask.TAB_DAILY);
  45. }
  46. async refreshUI() {
  47. let self = this;
  48. this._ScrollView.content.removeAllChildren();
  49. let tpl = this.FindNode("TaskItem");
  50. tpl.active = false;
  51. let list = [];
  52. if (this._curTab == BallUITask.TAB_DAILY) {
  53. list = [
  54. { title: "1", isClaimed: false },
  55. { title: "2", isClaimed: true },
  56. { title: "3", isClaimed: false },
  57. { title: "4", isClaimed: false },
  58. ];
  59. } else if (this._curTab == BallUITask.TAB_SEASON) {
  60. list = [
  61. { title: "1", isClaimed: false },
  62. { title: "2", isClaimed: false },
  63. { title: "3", isClaimed: false },
  64. ];
  65. } else {
  66. list = [];
  67. }
  68. for (let i = 0; i < list.length; i++) {
  69. let item = instantiate(tpl);
  70. item.active = true;
  71. item.setPosition(0, 0, 0);
  72. this._ScrollView.content.addChild(item);
  73. let taskItem = item.getComponent(TaskItem);
  74. taskItem.init(list[i], () => {
  75. self.closePage();
  76. });
  77. }
  78. }
  79. private tabSelect(tab: number) {
  80. this._curTab = tab;
  81. this._tabs.setSelect(tab);
  82. this.refreshUI();
  83. }
  84. }