CollectManger.ts 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. //收藏管理器
  2. const { ccclass, property } = cc._decorator;
  3. export type CollectDetailsType = {
  4. Id: number;
  5. Name: string;
  6. Picture?: string;
  7. PositionLevelId?: number;
  8. PositionLevelIName?: string;
  9. Condition?: string;//"升级为[实习生]获得此装扮",
  10. Description?: string;//"实习生名牌",
  11. IsWear?: number; // 0 表示未穿戴,1 表示穿戴
  12. IsHold?: number; // 0 表示未拥有,1 表示拥有
  13. }
  14. @ccclass
  15. export default class CollectManger {
  16. private static instance: CollectManger;
  17. public static getInstance(): CollectManger {
  18. if (!CollectManger.instance) {
  19. CollectManger.instance = new CollectManger();
  20. }
  21. return CollectManger.instance;
  22. }
  23. //当前选择的收藏
  24. private _SelectCollect: CollectDetailsType[] = [];
  25. public get SelectCollect(): CollectDetailsType[] {
  26. return this._SelectCollect;
  27. }
  28. public set SelectCollect(value: CollectDetailsType[]) {
  29. this._SelectCollect = value;
  30. }
  31. //已有的收藏数组
  32. private _hasCollectList: CollectDetailsType[] = [];
  33. public get HasCollectList(): CollectDetailsType[] {
  34. return this._hasCollectList;
  35. }
  36. public set HasCollectList(value: CollectDetailsType[]) {
  37. this._hasCollectList = value;
  38. }
  39. //全部的收藏数组
  40. private _allCollectList: CollectDetailsType[] = [];
  41. public get AllCollectList(): CollectDetailsType[] {
  42. return this._allCollectList;
  43. }
  44. public set AllCollectList(value: CollectDetailsType[]) {
  45. this._allCollectList = value;
  46. }
  47. //拥有的数量
  48. HoldNum = 0
  49. //总共的数量
  50. Total = 0
  51. init(d) {
  52. //初始化
  53. this.AllCollectList = d.Data.UserCollects
  54. this.HasCollectList = d.Data.UserCollects.filter((e: CollectDetailsType) => {
  55. return e.IsHold == 1
  56. })
  57. this.SelectCollect = d.Data.UserCollects.filter((e: CollectDetailsType) => {
  58. return e.IsWear == 1
  59. })
  60. this.HoldNum = d.Data.HoldNum
  61. this.Total = d.Data.Total
  62. }
  63. }