localStorageManager.ts 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. import { sys } from "cc";
  2. import { constants } from "../data/constants";
  3. export const localStorageManagerKey = {
  4. musicVolume: "musicVolume",
  5. gameData: "gameData",
  6. };
  7. export class localStorageManager {
  8. private static _instance: localStorageManager;
  9. private constructor() { };
  10. public static get instance(): localStorageManager {
  11. if (!this._instance) {
  12. this._instance = new localStorageManager();
  13. }
  14. return this._instance;
  15. };
  16. getKey(key: string): string {
  17. return constants.gameName + "_" + key;
  18. }
  19. getMusicVolume() {
  20. let key = this.getKey(localStorageManagerKey.musicVolume);
  21. let tmp = sys.localStorage.getItem(key);
  22. let val = 1;
  23. if (tmp != undefined) {
  24. val = parseFloat(tmp);
  25. }
  26. return val;
  27. }
  28. setMusicVolume(val: number) {
  29. let key = this.getKey(localStorageManagerKey.musicVolume);
  30. sys.localStorage.setItem(key, val.toFixed(2));
  31. }
  32. getGameData() {
  33. let key = this.getKey(localStorageManagerKey.gameData);
  34. let data = sys.localStorage.getItem(key);
  35. if (data) {
  36. data = JSON.parse(data);
  37. return data;
  38. }
  39. return {};
  40. }
  41. setGameData(data) {
  42. let key = this.getKey(localStorageManagerKey.gameData);
  43. sys.localStorage.setItem(key, JSON.stringify(data));
  44. }
  45. }