//收藏管理器 const { ccclass, property } = cc._decorator; export type CollectDetailsType = { Id: number; Name: string; Picture?: string; PositionLevelId?: number; PositionLevelIName?: string; Condition?: string;//"升级为[实习生]获得此装扮", Description?: string;//"实习生名牌", IsWear?: number; // 0 表示未穿戴,1 表示穿戴 IsHold?: number; // 0 表示未拥有,1 表示拥有 } @ccclass export default class CollectManger { private static instance: CollectManger; public static getInstance(): CollectManger { if (!CollectManger.instance) { CollectManger.instance = new CollectManger(); } return CollectManger.instance; } //当前选择的收藏 private _SelectCollect: CollectDetailsType[] = []; public get SelectCollect(): CollectDetailsType[] { return this._SelectCollect; } public set SelectCollect(value: CollectDetailsType[]) { this._SelectCollect = value; } //已有的收藏数组 private _hasCollectList: CollectDetailsType[] = []; public get HasCollectList(): CollectDetailsType[] { return this._hasCollectList; } public set HasCollectList(value: CollectDetailsType[]) { this._hasCollectList = value; } //全部的收藏数组 private _allCollectList: CollectDetailsType[] = []; public get AllCollectList(): CollectDetailsType[] { return this._allCollectList; } public set AllCollectList(value: CollectDetailsType[]) { this._allCollectList = value; } //拥有的数量 HoldNum = 0 //总共的数量 Total = 0 init(d) { //初始化 this.AllCollectList = d.Data.UserCollects this.HasCollectList = d.Data.UserCollects.filter((e: CollectDetailsType) => { return e.IsHold == 1 }) this.SelectCollect = d.Data.UserCollects.filter((e: CollectDetailsType) => { return e.IsWear == 1 }) this.HoldNum = d.Data.HoldNum this.Total = d.Data.Total } }