GoodsData.ts 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. import { Framework } from "../../framework/Framework";
  2. import { ItemEnum } from "../common/InterfaceAddEnum";
  3. import { MaterialConf } from "../config/MaterialConf";
  4. import { GameEvent } from "./GameEvent";
  5. interface BaseItem {
  6. conf: {};
  7. id: string;
  8. count: number;
  9. type: ItemEnum;
  10. }
  11. class Data {
  12. private _goodsData: { [id: string]: BaseItem } = {};
  13. init(): void {
  14. this.reset();
  15. }
  16. reset(): void {
  17. this._goodsData = {};
  18. }
  19. purge(): void {
  20. this.reset();
  21. }
  22. setAllGoods(data) {
  23. this._goodsData = {};
  24. let conf = MaterialConf.data;
  25. for (const key in data) {
  26. if (Object.prototype.hasOwnProperty.call(data, key)) {
  27. const element = data[key];
  28. let mConf = conf[key];
  29. if (mConf) {
  30. let item = {
  31. id: key,
  32. count: Number(element),
  33. type: ItemEnum.material,
  34. conf: mConf,
  35. }
  36. this._goodsData[key] = item;
  37. }
  38. }
  39. }
  40. }
  41. getAllGoods() {
  42. return this._goodsData;
  43. }
  44. }
  45. export let GoodsData = new Data;