GameConfig.ts 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. /*
  2. * @Author: dgflash
  3. * @Date: 2021-07-03 16:13:17
  4. * @LastEditors: dgflash
  5. * @LastEditTime: 2022-08-02 14:25:50
  6. */
  7. import { Logger } from "../../../../../extensions/oops-plugin-framework/assets/core/common/log/Logger";
  8. /* 游戏配置解析,对应 resources/config/config.json 配置 */
  9. export class GameConfig {
  10. /** 游戏配置路径 */
  11. getConfigPath(relative_path: string) {
  12. return "config/game/" + relative_path;
  13. }
  14. /** 角色资源路径 */
  15. getRolePath(name: string) {
  16. return `content/role/${name}`;
  17. }
  18. /** 客户端版本号配置 */
  19. get version(): string {
  20. return this._data["config"]["version"];
  21. }
  22. /** 包名 */
  23. get package(): string {
  24. return this._data["config"]["package"];
  25. }
  26. /** 游戏每秒传输帧数 */
  27. get frameRate(): number {
  28. return this._data.config.frameRate;
  29. }
  30. /** 本地存储内容加密 key */
  31. get localDataKey(): string {
  32. return this._data.config.localDataKey;
  33. }
  34. /** 本地存储内容加密 iv */
  35. get localDataIv(): string {
  36. return this._data.config.localDataIv;
  37. }
  38. /** Http 服务器地址 */
  39. get httpServer(): string {
  40. return this._data.config.httpServer;
  41. }
  42. /** Http 请求超时时间 */
  43. get httpTimeout(): number {
  44. return this._data.config.httpTimeout;
  45. }
  46. /** 获取当前客户端支持的语言类型 */
  47. get language(): Array<string> {
  48. return this._data.language.type || ["zh"];
  49. }
  50. get languagePathJson(): string {
  51. return this._data.language.path.json || "language/json";
  52. }
  53. get languagePathTexture(): string {
  54. return this._data.language.path.texture || "language/texture";
  55. }
  56. private _data: any = null;
  57. constructor(config: any) {
  58. let data = config.json;
  59. this._data = Object.freeze(data);
  60. Logger.logConfig(this._data, "游戏配置");
  61. }
  62. }