From 13cf4e8c195efe3b0d3336ae4629e98966cabacf Mon Sep 17 00:00:00 2001 From: dgflash Date: Mon, 4 Nov 2024 08:57:24 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E8=AE=BE=E5=A4=87=E5=B7=A5?= =?UTF-8?q?=E5=85=B7=E5=BA=93?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- assets/core/utils/DeviceUtil.ts | 63 ++++++++++++++++++++++++++++ assets/core/utils/DeviceUtil.ts.meta | 9 ++++ assets/libs/gui/language/Language.ts | 15 +++---- 3 files changed, 80 insertions(+), 7 deletions(-) create mode 100644 assets/core/utils/DeviceUtil.ts create mode 100644 assets/core/utils/DeviceUtil.ts.meta diff --git a/assets/core/utils/DeviceUtil.ts b/assets/core/utils/DeviceUtil.ts new file mode 100644 index 0000000..823b687 --- /dev/null +++ b/assets/core/utils/DeviceUtil.ts @@ -0,0 +1,63 @@ +import { sys } from "cc"; + +/** 设备工具 */ +export class DeviceUtil { + /** 返回手机屏幕安全区域,如果不是异形屏将默认返回设计分辨率尺寸。目前只支持安卓、iOS 原生平台和微信小游戏平台 */ + static getSafeAreaRect() { + return sys.getSafeAreaRect(); + } + + /** 当前平台 */ + static get platform() { return sys.platform; } + + /** 当前操作系统 */ + static get os() { return sys.os; } + + /** 是否为原生环境 */ + static get isNative() { return sys.isNative; } + + /** 是否为浏览器环境 */ + static get isBrowser() { return sys.isBrowser; } + + /** 是否为手机 */ + static get isMobile() { return sys.isMobile; } + + /** 是否为安卓手机 */ + static get isAndroid() { return sys.platform === sys.Platform.ANDROID; } + + /** 是否为苹果手机 */ + static get isIPhone() { return sys.platform === sys.Platform.IOS; } + + /** 是否为手机浏览器 */ + static get isMobileBrowser() { return sys.platform === sys.Platform.MOBILE_BROWSER; } + + /** 是否为桌面浏览器 */ + static get isDesktopBrowser() { return sys.platform === sys.Platform.DESKTOP_BROWSER; } + + /** 是否为微信小游戏 */ + static get isWeChat() { return sys.platform === sys.Platform.WECHAT_GAME; } + + /** 是否为字节小游戏 */ + static get isByteDance() { return sys.platform === sys.Platform.BYTEDANCE_MINI_GAME; } + + /** 是否为百度小游戏 */ + static get isBaidu() { return sys.platform === sys.Platform.BAIDU_MINI_GAME; } + + /** 是否为 vivo 小游戏 */ + static get isVivo() { return sys.platform === sys.Platform.VIVO_MINI_GAME; } + + /** 是否为 OPPO 小游戏 */ + static get isOPPO() { return sys.platform === sys.Platform.OPPO_MINI_GAME; } + + /** 是否为小米小游戏 */ + static get isXiaomi() { return sys.platform === sys.Platform.XIAOMI_QUICK_GAME; } + + /** 是否为华为小游戏 */ + static get isHuawei() { return sys.platform === sys.Platform.HUAWEI_QUICK_GAME; } + + /** 是否为支付宝小游戏 */ + static get isAlipay() { return sys.platform === sys.Platform.ALIPAY_MINI_GAME; } + + /** 是否为开源鸿蒙小游戏 */ + static get isOpenHarmony() { return sys.platform === sys.Platform.OPENHARMONY; } +} diff --git a/assets/core/utils/DeviceUtil.ts.meta b/assets/core/utils/DeviceUtil.ts.meta new file mode 100644 index 0000000..a2bdc83 --- /dev/null +++ b/assets/core/utils/DeviceUtil.ts.meta @@ -0,0 +1,9 @@ +{ + "ver": "4.0.24", + "importer": "typescript", + "imported": true, + "uuid": "287a3a07-243d-4eac-aafa-769ea27709fd", + "files": [], + "subMetas": {}, + "userData": {} +} diff --git a/assets/libs/gui/language/Language.ts b/assets/libs/gui/language/Language.ts index 29eed4b..c5fda52 100644 --- a/assets/libs/gui/language/Language.ts +++ b/assets/libs/gui/language/Language.ts @@ -1,12 +1,13 @@ -import {Logger} from "../../../core/common/log/Logger"; -import {LanguageData} from "./LanguageData"; -import {LanguagePack} from "./LanguagePack"; +import { sys } from "cc"; +import { Logger } from "../../../core/common/log/Logger"; +import { LanguageData } from "./LanguageData"; +import { LanguagePack } from "./LanguagePack"; /** 多语言管理器 */ export class LanguageManager { - private _languages: Array = ["zh", "en", "tr"]; // 支持的语言 - private _languagePack: LanguagePack = new LanguagePack(); // 语言包 - private _defaultLanguage: string = "zh"; // 默认语言 + private _languages: Array = [sys.Language.CHINESE, sys.Language.ENGLISH]; // 支持的语言 + private _languagePack: LanguagePack = new LanguagePack(); // 语言包 + private _defaultLanguage: string = sys.Language.CHINESE; // 默认语言 /** 支持的多种语言列表 */ get languages(): string[] { @@ -18,7 +19,7 @@ export class LanguageManager { /** 设置的当前语言列表中没有配置时,使用默认语言 */ set default(lang: string) { - this._defaultLanguage = lang || "zh"; + this._defaultLanguage = lang || sys.Language.CHINESE; } /** 获取当前语种 */