UI_Rank.ts 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. import { UI_Dialog } from "../UI_Dialog";
  2. import { aa, UIController, UIElement } from "db://assets/scripts/aa";
  3. import { Transmission } from "db://assets/scripts/Component/data/Transmission";
  4. import { rootMgr } from "../../../scene/RootMgr";
  5. import { Player, RankType } from "../../../data/player/Player";
  6. type TransmissionType = {
  7. getRankByType:(type: number, cb?: (data: any, me: any) => void)=>void
  8. getNickName:(data: any)=>string
  9. }
  10. @UIController({ bundleName: 'dialog', path: 'rank/UI_Rank' })
  11. export class UI_Rank extends UI_Dialog {
  12. @UIElement(Transmission)
  13. transmission: Transmission
  14. protected onCreated(): void {
  15. super.onCreated()
  16. let player = rootMgr.dataControl.getCompent(Player)
  17. this.transmission.save({getRankByType:this.getRankByType.bind(this),getNickName:player.getNickName.bind(player)})
  18. }
  19. getRankByType(type: number,cb?:(data:any,me:any)=>void) {
  20. let palyer = rootMgr.dataControl.getCompent(Player)
  21. if (type == 2) {
  22. palyer.get_rank_list(RankType.stage, chsdk.updateType.none, (data, me) => {
  23. cb?.(data, me)
  24. }, this);
  25. } else {
  26. palyer.get_rank_province((data, me) => {
  27. cb?.(data, me)
  28. }, this);
  29. }
  30. }
  31. }