NoticeManger.ts 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. import { PopName } from "../EventName/EventName";
  2. import PopManger from "./PopManger";
  3. //通知管理器
  4. const { ccclass, property } = cc._decorator;
  5. interface Item {
  6. Id: number; // 项目的唯一标识符
  7. State: number; // 状态 0失去 1获得
  8. Type: number; // 0职级 1装扮 2荣誉
  9. Data: {
  10. Id: number; // 数据的唯一标识符
  11. Name: string; // 数据的名称
  12. Picture: string; // 数据的图片 URL
  13. };
  14. }
  15. @ccclass
  16. export default class NoticeManger {
  17. private static instance: NoticeManger;
  18. public static getInstance(): NoticeManger {
  19. if (!NoticeManger.instance) {
  20. NoticeManger.instance = new NoticeManger();
  21. }
  22. return NoticeManger.instance;
  23. }
  24. //通知数组
  25. private _NoticeList: Item[] = [];
  26. public get NoticeList(): Item[] {
  27. return this._NoticeList;
  28. }
  29. public set NoticeList(value: Item[]) {
  30. this._NoticeList = value;
  31. }
  32. Pop() {
  33. let temp = this.NoticeList.pop()
  34. if (!temp) {
  35. return
  36. }
  37. switch (temp.Type) {
  38. case 0://0职级
  39. // HrNotice
  40. PopManger.getInstance().Pop(PopName.HrNotice, {
  41. animation: true,
  42. Data: temp
  43. })
  44. break;
  45. case 1://1装扮
  46. PopManger.getInstance().Pop(PopName.DressUpPop, {
  47. animation: true,
  48. Data: temp
  49. })
  50. break;
  51. case 2://2荣誉
  52. // FullAttendance
  53. PopManger.getInstance().Pop(PopName.FullAttendance, {
  54. animation: true,
  55. Data: temp
  56. })
  57. break;
  58. default:
  59. break;
  60. }
  61. }
  62. }