Config.ts 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. /*
  2. * @Author: dgflash
  3. * @Date: 2021-07-03 16:13:17
  4. * @LastEditors: dgflash
  5. * @LastEditTime: 2022-06-14 18:43:22
  6. */
  7. import { game, JsonAsset } from "cc";
  8. import { resLoader } from "../../../../../extensions/oops-plugin-framework/assets/core/common/loader/ResLoader";
  9. import { oops } from "../../../../../extensions/oops-plugin-framework/assets/core/Oops";
  10. import { BuildTimeConstants } from "./BuildTimeConstants";
  11. import { GameConfig } from "./GameConfig";
  12. import { GameQueryConfig } from "./GameQueryConfig";
  13. import { UIConfigData } from "./GameUIConfig";
  14. /** 游戏配置静态访问类 */
  15. export class Config {
  16. /** 构建时环境常量 */
  17. public btc!: BuildTimeConstants;
  18. /** 配置数据,版本号、支持语种等数据 */
  19. public game!: GameConfig;
  20. /** 处理浏览器地址栏参数,包括服务器ip、端口等数据 */
  21. public query!: GameQueryConfig;
  22. public init(callback: Function) {
  23. let config_name = "config/config";
  24. resLoader.load(config_name, JsonAsset, () => {
  25. var config = resLoader.get(config_name);
  26. this.btc = new BuildTimeConstants();
  27. this.query = new GameQueryConfig();
  28. this.game = new GameConfig(config);
  29. // 初始化每秒传输帧数
  30. game.frameRate = this.game.frameRate;
  31. // Http 服务器地址
  32. oops.http.server = this.game.httpServer;
  33. // Http 请求超时时间
  34. oops.http.timeout = this.game.httpTimeout;
  35. // 初始化本地存储加密
  36. oops.storage.init(this.game.localDataKey, this.game.localDataIv);
  37. // 初始化界面窗口配置
  38. oops.gui.init(UIConfigData);
  39. callback();
  40. })
  41. }
  42. }
  43. export const config = new Config()