├── .gitignore ├── CHANGELOG.md ├── README.md ├── demo ├── Assets │ ├── Font.meta │ ├── Font │ │ ├── OPPOSans-Bold.ttf │ │ ├── OPPOSans-Bold.ttf.meta │ │ ├── OPPOSans-Medium.ttf │ │ ├── OPPOSans-Medium.ttf.meta │ │ ├── OPPOSans-Regular.ttf │ │ └── OPPOSans-Regular.ttf.meta │ ├── LitJson.meta │ ├── LitJson │ │ ├── IJsonWrapper.cs │ │ ├── IJsonWrapper.cs.meta │ │ ├── JsonData.cs │ │ ├── JsonData.cs.meta │ │ ├── JsonException.cs │ │ ├── JsonException.cs.meta │ │ ├── JsonMapper.cs │ │ ├── JsonMapper.cs.meta │ │ ├── JsonMockWrapper.cs │ │ ├── JsonMockWrapper.cs.meta │ │ ├── JsonReader.cs │ │ ├── JsonReader.cs.meta │ │ ├── JsonWriter.cs │ │ ├── JsonWriter.cs.meta │ │ ├── Lexer.cs │ │ ├── Lexer.cs.meta │ │ ├── Netstandard15Polyfill.cs │ │ ├── Netstandard15Polyfill.cs.meta │ │ ├── ParserToken.cs │ │ ├── ParserToken.cs.meta │ │ ├── litjson.png │ │ └── litjson.png.meta │ ├── OPPO-GAME-SDK.meta │ ├── OPPO-GAME-SDK │ │ ├── Editor.meta │ │ ├── Editor │ │ │ ├── BuildTool.meta │ │ │ ├── BuildTool │ │ │ │ ├── BuildConfigAsset.cs │ │ │ │ ├── BuildConfigAsset.cs.meta │ │ │ │ ├── BuildEditorWindow.cs │ │ │ │ ├── BuildEditorWindow.cs.meta │ │ │ │ ├── OpensslPlugin.cs │ │ │ │ └── OpensslPlugin.cs.meta │ │ │ ├── CmdRunner.cs │ │ │ ├── CmdRunner.cs.meta │ │ │ ├── EditorUtil.cs │ │ │ ├── EditorUtil.cs.meta │ │ │ ├── GlobalDefines.cs │ │ │ ├── GlobalDefines.cs.meta │ │ │ ├── OppoGameSDK_Editor.asmdef │ │ │ ├── OppoGameSDK_Editor.asmdef.meta │ │ │ ├── QGGameTools.cs │ │ │ ├── QGGameTools.cs.meta │ │ │ ├── ShaderTools.meta │ │ │ ├── ShaderTools │ │ │ │ ├── AutoSetScriptingDefineSymbols.cs │ │ │ │ ├── AutoSetScriptingDefineSymbols.cs.meta │ │ │ │ ├── ShaderRuntimeDetector.cs │ │ │ │ ├── ShaderRuntimeDetector.cs.meta │ │ │ │ ├── ShaderStaticDetector.cs │ │ │ │ └── ShaderStaticDetector.cs.meta │ │ │ ├── VersionInfo.cs │ │ │ └── VersionInfo.cs.meta │ │ ├── Plugins.meta │ │ ├── Plugins │ │ │ ├── qg.minigame.jslib │ │ │ └── qg.minigame.jslib.meta │ │ ├── Runtime.meta │ │ └── Runtime │ │ │ ├── ArTools │ │ │ ├── QGArManager.cs │ │ │ └── QGArManager.cs.meta │ │ │ ├── OppoGameSDK.asmdef │ │ │ ├── OppoGameSDK.asmdef.meta │ │ │ ├── QG.cs │ │ │ ├── QG.cs.meta │ │ │ ├── QGAudioPlayer.cs │ │ │ ├── QGAudioPlayer.cs.meta │ │ │ ├── QGBannerAd.cs │ │ │ ├── QGBannerAd.cs.meta │ │ │ ├── QGBaseAd.cs │ │ │ ├── QGBaseAd.cs.meta │ │ │ ├── QGBasePlayer.cs │ │ │ ├── QGBasePlayer.cs.meta │ │ │ ├── QGCallBackManager.cs │ │ │ ├── QGCallBackManager.cs.meta │ │ │ ├── QGCustomAd.cs │ │ │ ├── QGCustomAd.cs.meta │ │ │ ├── QGGameBannerAd.cs │ │ │ ├── QGGameBannerAd.cs.meta │ │ │ ├── QGGameDrawerAd.cs │ │ │ ├── QGGameDrawerAd.cs.meta │ │ │ ├── QGGamePortalAd.cs │ │ │ ├── QGGamePortalAd.cs.meta │ │ │ ├── QGInterstitialAd.cs │ │ │ ├── QGInterstitialAd.cs.meta │ │ │ ├── QGLog.cs │ │ │ ├── QGLog.cs.meta │ │ │ ├── QGMiniGameManager.cs │ │ │ ├── QGMiniGameManager.cs.meta │ │ │ ├── QGModel.cs │ │ │ ├── QGModel.cs.meta │ │ │ ├── QGRecordManager.cs │ │ │ ├── QGRecordManager.cs.meta │ │ │ ├── QGRewardedVideoAd.cs │ │ │ ├── QGRewardedVideoAd.cs.meta │ │ │ ├── QGVideoPlayer.cs │ │ │ ├── QGVideoPlayer.cs.meta │ │ │ ├── ShaderTools.meta │ │ │ ├── ShaderTools │ │ │ ├── ShaderAssets.cs │ │ │ ├── ShaderAssets.cs.meta │ │ │ ├── ShaderFinder.json │ │ │ ├── ShaderFinder.json.meta │ │ │ ├── ShaderListener.cs │ │ │ ├── ShaderListener.cs.meta │ │ │ ├── TempPrefabName.cs │ │ │ └── TempPrefabName.cs.meta │ │ │ ├── Utilities.meta │ │ │ └── Utilities │ │ │ ├── Utilities.cs │ │ │ └── Utilities.cs.meta │ ├── Resources.meta │ ├── Resources │ │ ├── BillingMode.json │ │ └── BillingMode.json.meta │ ├── Scenes.meta │ ├── Scenes │ │ ├── NewScenes.meta │ │ └── NewScenes │ │ │ ├── Interstitial.unity │ │ │ ├── Interstitial.unity.meta │ │ │ ├── InterstitialSettings.lighting │ │ │ ├── InterstitialSettings.lighting.meta │ │ │ ├── PlayerPrefs.unity │ │ │ ├── PlayerPrefs.unity.meta │ │ │ ├── StorageItem.unity │ │ │ ├── StorageItem.unity.meta │ │ │ ├── UserCloudStorageItem.unity │ │ │ ├── UserCloudStorageItem.unity.meta │ │ │ ├── audio.unity │ │ │ ├── audio.unity.meta │ │ │ ├── audioSettings.lighting │ │ │ ├── audioSettings.lighting.meta │ │ │ ├── banner.unity │ │ │ ├── banner.unity.meta │ │ │ ├── bannerSettings.lighting │ │ │ ├── bannerSettings.lighting.meta │ │ │ ├── custom.unity │ │ │ ├── custom.unity.meta │ │ │ ├── customSettings.lighting │ │ │ ├── customSettings.lighting.meta │ │ │ ├── deviceInfo.unity │ │ │ ├── deviceInfo.unity.meta │ │ │ ├── deviceInfoOther.unity │ │ │ ├── deviceInfoOther.unity.meta │ │ │ ├── deviceMotion.unity │ │ │ ├── deviceMotion.unity.meta │ │ │ ├── filemanager.unity │ │ │ ├── filemanager.unity.meta │ │ │ ├── gameBanner.unity │ │ │ ├── gameBanner.unity.meta │ │ │ ├── gameBannerSettings.lighting │ │ │ ├── gameBannerSettings.lighting.meta │ │ │ ├── gameDrawer.unity │ │ │ ├── gameDrawer.unity.meta │ │ │ ├── gameDrawerSettings.lighting │ │ │ ├── gameDrawerSettings.lighting.meta │ │ │ ├── gamePortal.unity │ │ │ ├── gamePortal.unity.meta │ │ │ ├── gamePortalSettings.lighting │ │ │ ├── gamePortalSettings.lighting.meta │ │ │ ├── login.unity │ │ │ ├── login.unity.meta │ │ │ ├── main.unity │ │ │ ├── main.unity.meta │ │ │ ├── mainSettings.lighting │ │ │ ├── mainSettings.lighting.meta │ │ │ ├── onAuthDialogShow.unity │ │ │ ├── onAuthDialogShow.unity.meta │ │ │ ├── onShow.unity │ │ │ ├── onShow.unity.meta │ │ │ ├── qgpay.unity │ │ │ ├── qgpay.unity.meta │ │ │ ├── recorder.unity │ │ │ ├── recorder.unity.meta │ │ │ ├── rewardedVideo.unity │ │ │ ├── rewardedVideo.unity.meta │ │ │ ├── rewardedVideoSettings.lighting │ │ │ ├── rewardedVideoSettings.lighting.meta │ │ │ ├── showModal.unity │ │ │ ├── showModal.unity.meta │ │ │ ├── systemInfo.unity │ │ │ ├── systemInfo.unity.meta │ │ │ ├── unityAudio.unity │ │ │ ├── unityAudio.unity.meta │ │ │ ├── vibrateShort.unity │ │ │ ├── vibrateShort.unity.meta │ │ │ ├── video.unity │ │ │ └── video.unity.meta │ ├── Script.meta │ ├── Script │ │ ├── demo.meta │ │ └── demo │ │ │ ├── Interstitial.cs │ │ │ ├── Interstitial.cs.meta │ │ │ ├── PlayerPrefs.cs │ │ │ ├── PlayerPrefs.cs.meta │ │ │ ├── banner.cs │ │ │ ├── banner.cs.meta │ │ │ ├── customAd.cs │ │ │ ├── customAd.cs.meta │ │ │ ├── filemanager.cs │ │ │ ├── filemanager.cs.meta │ │ │ ├── gameAudio.cs │ │ │ ├── gameAudio.cs.meta │ │ │ ├── gameAudioNew.cs │ │ │ ├── gameAudioNew.cs.meta │ │ │ ├── gameBanner.cs │ │ │ ├── gameBanner.cs.meta │ │ │ ├── gameDeviceInfo.cs │ │ │ ├── gameDeviceInfo.cs.meta │ │ │ ├── gameDeviceInfoOther.cs │ │ │ ├── gameDeviceInfoOther.cs.meta │ │ │ ├── gameDeviceMotion.cs │ │ │ ├── gameDeviceMotion.cs.meta │ │ │ ├── gameDrawer.cs │ │ │ ├── gameDrawer.cs.meta │ │ │ ├── gameLogin.cs │ │ │ ├── gameLogin.cs.meta │ │ │ ├── gameOnAuthDialogShow.cs │ │ │ ├── gameOnAuthDialogShow.cs.meta │ │ │ ├── gameOnShow.cs │ │ │ ├── gameOnShow.cs.meta │ │ │ ├── gamePlayerPrefs.cs │ │ │ ├── gamePlayerPrefs.cs.meta │ │ │ ├── gamePorta.cs │ │ │ ├── gamePorta.cs.meta │ │ │ ├── gameRecorder.cs │ │ │ ├── gameRecorder.cs.meta │ │ │ ├── gameSystemInfo.cs │ │ │ ├── gameSystemInfo.cs.meta │ │ │ ├── gameUnityAudio.cs │ │ │ ├── gameUnityAudio.cs.meta │ │ │ ├── gameVideo.cs │ │ │ ├── gameVideo.cs.meta │ │ │ ├── main_test.cs │ │ │ ├── main_test.cs.meta │ │ │ ├── qgpay.cs │ │ │ ├── qgpay.cs.meta │ │ │ ├── rewardedVideo.cs │ │ │ ├── rewardedVideo.cs.meta │ │ │ ├── showModal.cs │ │ │ ├── showModal.cs.meta │ │ │ ├── storageItem.cs │ │ │ ├── storageItem.cs.meta │ │ │ ├── test.cs │ │ │ ├── test.cs.meta │ │ │ ├── userCloudStorageItem.cs │ │ │ ├── userCloudStorageItem.cs.meta │ │ │ ├── vibrateShort.cs │ │ │ └── vibrateShort.cs.meta │ ├── Texture.meta │ └── Texture │ │ ├── bg1.jpg │ │ ├── bg1.jpg.meta │ │ ├── bg2.jpg │ │ ├── bg2.jpg.meta │ │ ├── bg3.jpeg │ │ ├── bg3.jpeg.meta │ │ ├── bg4.jpg │ │ ├── bg4.jpg.meta │ │ ├── bg5.png │ │ └── bg5.png.meta ├── Packages │ ├── manifest.json │ └── packages-lock.json ├── ProjectSettings │ ├── AudioManager.asset │ ├── AutoStreamingSettings.asset │ ├── ClusterInputManager.asset │ ├── DynamicsManager.asset │ ├── EditorBuildSettings.asset │ ├── EditorSettings.asset │ ├── GraphicsSettings.asset │ ├── InputManager.asset │ ├── MemorySettings.asset │ ├── NavMeshAreas.asset │ ├── PackageManagerSettings.asset │ ├── Physics2DSettings.asset │ ├── PresetManager.asset │ ├── ProjectSettings.asset │ ├── ProjectVersion.txt │ ├── QualitySettings.asset │ ├── SceneTemplateSettings.json │ ├── TagManager.asset │ ├── TimeManager.asset │ ├── UnityConnectSettings.asset │ ├── VFXManager.asset │ ├── VersionControlSettings.asset │ ├── XRSettings.asset │ └── boot.config └── logo.png ├── doc ├── API.md ├── AssetCache.md ├── CapabilitySupport.md ├── Demo.md ├── DevelopmentQA.md ├── IssueAndContact.md ├── OpensslPlugin.md ├── PublishQuickGame.md ├── RunQuickGame.md ├── SDKUpdate.md ├── ShaderCompatibilityDetect.md ├── Technique.md ├── Transform.md ├── TransformByCLI.md ├── TransformBySDK.md ├── UnityVersion.md ├── WebGL2.md └── image │ ├── AssetCacheExample_AddressablesGroups.png │ ├── AssetCacheExample_AddressablesProfiles.png │ ├── BuildToolEntry.png │ ├── BuildToolMain.png │ ├── CacheSystemFD.png │ ├── DemoAudio.png │ ├── DemoBannerAd.png │ ├── DemoHasShortcutInstalled.png │ ├── DemoLogin.png │ ├── DemoMain.png │ ├── DemoPay.png │ ├── DemoStorage.png │ ├── DeviceResolutionSetting.png │ ├── DeviceResolutions.png │ ├── GenerateCertificate.png │ ├── GenerateCertificateImport.png │ ├── GenerateCertificateParameters.png │ ├── GenerateCertificatePath.png │ ├── GenerateCertificatePath2.png │ ├── GenerateCertificateTip.png │ ├── GenerateCertificateTools.png │ ├── OpenCMD.png │ ├── OutputDirectory.png │ ├── QuickAppIcon.jpg │ ├── QuickGameList.png │ ├── QuickGameStructure.png │ ├── SDKUpdateArea.png │ ├── ShaderCompatibility.png │ ├── ShaderCompatibilityBuild.png │ ├── ShaderCompatibilityBuildError.png │ ├── ShaderCompatibilityBuildSuccess.png │ ├── ShaderCompatibilityConsole.png │ ├── ShaderCompatibilityError.png │ ├── ShaderCompatibilitySuccess.png │ ├── ShaderPhoneDetection.png │ ├── ShaderPhoneDetection02.png │ ├── ShaderPhoneDetection03.png │ ├── ShaderPhoneDetection04.png │ ├── UnityBuild.png │ ├── UnityGraphicsAPI.png │ ├── UnityPlatform.png │ ├── UnityPublishCompression.png │ ├── UnityWebGLTemplate.png │ ├── WebGL2Examine.png │ ├── WebGL2Setting.png │ ├── 地铁跑酷.png │ ├── 大圣顶住.png │ ├── 小小蚁国.png │ └── 巨兽战场.png └── tools ├── unity_webgl_rpk_oppo_v1.unitypackage ├── unity_webgl_rpk_oppo_v5.unitypackage ├── unity_webgl_rpk_oppo_v6.unitypackage ├── unity_webgl_rpk_oppo_v7.unitypackage ├── unity_webgl_rpk_oppo_v8.0.0.unitypackage ├── unity_webgl_rpk_oppo_v8.0.1.unitypackage ├── unity_webgl_rpk_oppo_v8.0.2.unitypackage ├── unity_webgl_rpk_oppo_v8.0.3.unitypackage ├── unity_webgl_rpk_oppo_v8.0.4.unitypackage ├── unity_webgl_rpk_oppo_v8.0.5.unitypackage ├── unity_webgl_rpk_oppo_v8.0.6.unitypackage ├── unity_webgl_rpk_oppo_v8.0.7.unitypackage ├── unity_webgl_rpk_oppo_v8.0.7_open_ability.unitypackage ├── unity_webgl_rpk_oppo_v8.0.8.unitypackage ├── unity_webgl_rpk_oppo_v8.0.9.unitypackage └── unity_webgl_rpk_oppo_v8.1.0.unitypackage /.gitignore: -------------------------------------------------------------------------------- 1 | /demo/Assets/OPPO-GAME-SDK-Dev 2 | /demo/Assets/OPPO-GAME-SDK-Dev.meta 3 | /demo/Assets/OPPO-GAME-SDK_UserData 4 | /demo/Assets/OPPO-GAME-SDK_UserData.meta 5 | /demo/Assets/Temp 6 | /demo/Assets/Temp.meta 7 | /demo/Assets/TextMesh Pro 8 | /demo/Assets/TextMesh Pro.meta 9 | /demo/Build 10 | /demo/Library 11 | /demo/Logs 12 | /demo/obj 13 | /demo/ShaderLog 14 | /demo/sign 15 | /demo/Temp 16 | /demo/UserSettings 17 | /demo/.vs 18 | /demo/.vsconfig 19 | /demo/*.csproj 20 | /demo/*.csproj.user 21 | /demo/*.sln 22 | /tools/version 23 | mklink.bat -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Unity WebGL OPPO 小游戏适配方案 2 | 3 | 欢迎使用 Unity WebGL OPPO 小游戏适配(转换)方案,本方案设计的目的是降低游戏转换的开发成本,即您无需更换 Unity 引擎,无需重写核心代码的情况下将原有的 Unity 游戏项目转换到 OPPO 小游戏 4 | 5 | > 支持微信小游戏一键转换OPPO小游戏 [详情](https://ie-activity-cn.heytapimage.com/static/minigame/CN/docs/index.html#/develop/games/wx-transfer) 6 | 7 | ## 方案特点 8 | 9 | - 对比 H5 小游戏方案,性能有明显提升 10 | - 保持原引擎工具链与技术栈 11 | - 无需重写核心代码,降低转换成本 12 | - 转换工具可视化,方便开发者进行发布项配置,快速打包小游戏 RPK 包 13 | - OPPO 小游戏平台能力以 C# SDK 方式提供给开发者,快速对接平台开放能力 14 | 15 | ## 转换案例 16 | 17 | | 小小蚁国 | 地铁跑酷 | 大圣顶住 | 巨兽战场 | 18 | | --- | --- | --- | --- | 19 | | 待补充 | 待补充 | 待补充| 待补充 | 20 | 21 | ## 目录导览 22 | 23 | ### 快速开始 24 | 25 | - [导出小游戏](doc/Transform.md) 26 | - [使用 SDK 导出](doc/TransformBySDK.md) 27 | - [使用命令行导出](doc/TransformByCLI.md) 28 | - [运行小游戏](doc/RunQuickGame.md) 29 | - [创建证书](doc/OpensslPlugin.md) 30 | - [发布小游戏](doc/PublishQuickGame.md) 31 | 32 | ### 基本 33 | 34 | - [Unity SDK API](doc/API.md) 35 | - [更新日志](CHANGELOG.md) 36 | 37 | ### 方案与兼容性 38 | 39 | - [技术原理](doc/Technique.md) 40 | - [推荐引擎版本](doc/UnityVersion.md) 41 | - [能力支持](doc/CapabilitySupport.md) 42 | - [Shader 兼容性检测](doc/ShaderCompatibilityDetect.md) 43 | - [使用WebGL2.0](doc/WebGL2.md) 44 | 45 | ### 版本管理 46 | 47 | - [SDK 自检更新](doc/SDKUpdate.md) 48 | 49 | ### 性能优化 50 | 51 | - [资源缓存](doc/AssetCache.md) 52 | 53 | ### 其他 54 | 55 | - [示例工程](doc/Demo.md) 56 | - [技术常见问题 QA](doc/DevelopmentQA.md) 57 | - [问题反馈与联系我们](doc/IssueAndContact.md) 58 | -------------------------------------------------------------------------------- /demo/Assets/Font.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 608883a6bc1abe740a2f73a98a16a48f 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /demo/Assets/Font/OPPOSans-Bold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oppominigame/unity-webgl-to-oppo-minigame/4576915ac5654945132f3355c64fa84bdd320100/demo/Assets/Font/OPPOSans-Bold.ttf -------------------------------------------------------------------------------- /demo/Assets/Font/OPPOSans-Bold.ttf.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e0732024d8484c44bbec3e4007c4a955 3 | TrueTypeFontImporter: 4 | externalObjects: {} 5 | serializedVersion: 4 6 | fontSize: 16 7 | forceTextureCase: -2 8 | characterSpacing: 0 9 | characterPadding: 1 10 | includeFontData: 1 11 | fontName: OPPO Sans 12 | fontNames: 13 | - OPPO Sans 14 | fallbackFontReferences: [] 15 | customCharacters: 16 | fontRenderingMode: 0 17 | ascentCalculationMode: 1 18 | useLegacyBoundsCalculation: 0 19 | shouldRoundAdvanceValue: 1 20 | userData: 21 | assetBundleName: 22 | assetBundleVariant: 23 | -------------------------------------------------------------------------------- /demo/Assets/Font/OPPOSans-Medium.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oppominigame/unity-webgl-to-oppo-minigame/4576915ac5654945132f3355c64fa84bdd320100/demo/Assets/Font/OPPOSans-Medium.ttf -------------------------------------------------------------------------------- /demo/Assets/Font/OPPOSans-Medium.ttf.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a2893cab864f6934d9c3e2e1cdc0291b 3 | TrueTypeFontImporter: 4 | externalObjects: {} 5 | serializedVersion: 4 6 | fontSize: 16 7 | forceTextureCase: -2 8 | characterSpacing: 0 9 | characterPadding: 1 10 | includeFontData: 1 11 | fontName: OPPO Sans 12 | fontNames: 13 | - OPPO Sans 14 | fallbackFontReferences: 15 | - {fileID: 12800000, guid: e0732024d8484c44bbec3e4007c4a955, type: 3} 16 | customCharacters: 17 | fontRenderingMode: 0 18 | ascentCalculationMode: 1 19 | useLegacyBoundsCalculation: 0 20 | shouldRoundAdvanceValue: 1 21 | userData: 22 | assetBundleName: 23 | assetBundleVariant: 24 | -------------------------------------------------------------------------------- /demo/Assets/Font/OPPOSans-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oppominigame/unity-webgl-to-oppo-minigame/4576915ac5654945132f3355c64fa84bdd320100/demo/Assets/Font/OPPOSans-Regular.ttf -------------------------------------------------------------------------------- /demo/Assets/Font/OPPOSans-Regular.ttf.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c42284fa6c63ce24ba0fbb502ccaf0e3 3 | TrueTypeFontImporter: 4 | externalObjects: {} 5 | serializedVersion: 4 6 | fontSize: 16 7 | forceTextureCase: -2 8 | characterSpacing: 0 9 | characterPadding: 1 10 | includeFontData: 1 11 | fontName: OPPO Sans 12 | fontNames: 13 | - OPPO Sans 14 | fallbackFontReferences: 15 | - {fileID: 12800000, guid: e0732024d8484c44bbec3e4007c4a955, type: 3} 16 | - {fileID: 12800000, guid: a2893cab864f6934d9c3e2e1cdc0291b, type: 3} 17 | customCharacters: 18 | fontRenderingMode: 0 19 | ascentCalculationMode: 1 20 | useLegacyBoundsCalculation: 0 21 | shouldRoundAdvanceValue: 1 22 | userData: 23 | assetBundleName: 24 | assetBundleVariant: 25 | -------------------------------------------------------------------------------- /demo/Assets/LitJson.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f88be62c2ce442343b06eaaccfd41e9b 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /demo/Assets/LitJson/IJsonWrapper.cs: -------------------------------------------------------------------------------- 1 | #region Header 2 | /** 3 | * IJsonWrapper.cs 4 | * Interface that represents a type capable of handling all kinds of JSON 5 | * data. This is mainly used when mapping objects through JsonMapper, and 6 | * it's implemented by JsonData. 7 | * 8 | * The authors disclaim copyright to this source code. For more details, see 9 | * the COPYING file included with this distribution. 10 | **/ 11 | #endregion 12 | 13 | 14 | using System.Collections; 15 | using System.Collections.Specialized; 16 | 17 | 18 | namespace LitJson 19 | { 20 | public enum JsonType 21 | { 22 | None, 23 | 24 | Object, 25 | Array, 26 | String, 27 | Int, 28 | Long, 29 | Double, 30 | Boolean 31 | } 32 | 33 | public interface IJsonWrapper : IList, IOrderedDictionary 34 | { 35 | bool IsArray { get; } 36 | bool IsBoolean { get; } 37 | bool IsDouble { get; } 38 | bool IsInt { get; } 39 | bool IsLong { get; } 40 | bool IsObject { get; } 41 | bool IsString { get; } 42 | 43 | bool GetBoolean (); 44 | double GetDouble (); 45 | int GetInt (); 46 | JsonType GetJsonType (); 47 | long GetLong (); 48 | string GetString (); 49 | 50 | void SetBoolean (bool val); 51 | void SetDouble (double val); 52 | void SetInt (int val); 53 | void SetJsonType (JsonType type); 54 | void SetLong (long val); 55 | void SetString (string val); 56 | 57 | string ToJson (); 58 | void ToJson (JsonWriter writer); 59 | } 60 | } 61 | -------------------------------------------------------------------------------- /demo/Assets/LitJson/IJsonWrapper.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e579c6cb757ea1146a47bfee2b5de54c 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /demo/Assets/LitJson/JsonData.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: bb3c389825b79414bba1daededbe827f 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /demo/Assets/LitJson/JsonException.cs: -------------------------------------------------------------------------------- 1 | #region Header 2 | /** 3 | * JsonException.cs 4 | * Base class throwed by LitJSON when a parsing error occurs. 5 | * 6 | * The authors disclaim copyright to this source code. For more details, see 7 | * the COPYING file included with this distribution. 8 | **/ 9 | #endregion 10 | 11 | 12 | using System; 13 | 14 | 15 | namespace LitJson 16 | { 17 | public class JsonException : 18 | #if NETSTANDARD1_5 19 | Exception 20 | #else 21 | ApplicationException 22 | #endif 23 | { 24 | public JsonException () : base () 25 | { 26 | } 27 | 28 | internal JsonException (ParserToken token) : 29 | base (String.Format ( 30 | "Invalid token '{0}' in input string", token)) 31 | { 32 | } 33 | 34 | internal JsonException (ParserToken token, 35 | Exception inner_exception) : 36 | base (String.Format ( 37 | "Invalid token '{0}' in input string", token), 38 | inner_exception) 39 | { 40 | } 41 | 42 | internal JsonException (int c) : 43 | base (String.Format ( 44 | "Invalid character '{0}' in input string", (char) c)) 45 | { 46 | } 47 | 48 | internal JsonException (int c, Exception inner_exception) : 49 | base (String.Format ( 50 | "Invalid character '{0}' in input string", (char) c), 51 | inner_exception) 52 | { 53 | } 54 | 55 | 56 | public JsonException (string message) : base (message) 57 | { 58 | } 59 | 60 | public JsonException (string message, Exception inner_exception) : 61 | base (message, inner_exception) 62 | { 63 | } 64 | } 65 | } 66 | -------------------------------------------------------------------------------- /demo/Assets/LitJson/JsonException.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 52d721dd1f6caa745813d65d2a759e3f 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /demo/Assets/LitJson/JsonMapper.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e5a0bd321e59b204ba64ecfa81f2bf49 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /demo/Assets/LitJson/JsonMockWrapper.cs: -------------------------------------------------------------------------------- 1 | #region Header 2 | /** 3 | * JsonMockWrapper.cs 4 | * Mock object implementing IJsonWrapper, to facilitate actions like 5 | * skipping data more efficiently. 6 | * 7 | * The authors disclaim copyright to this source code. For more details, see 8 | * the COPYING file included with this distribution. 9 | **/ 10 | #endregion 11 | 12 | 13 | using System; 14 | using System.Collections; 15 | using System.Collections.Specialized; 16 | 17 | 18 | namespace LitJson 19 | { 20 | public class JsonMockWrapper : IJsonWrapper 21 | { 22 | public bool IsArray { get { return false; } } 23 | public bool IsBoolean { get { return false; } } 24 | public bool IsDouble { get { return false; } } 25 | public bool IsInt { get { return false; } } 26 | public bool IsLong { get { return false; } } 27 | public bool IsObject { get { return false; } } 28 | public bool IsString { get { return false; } } 29 | 30 | public bool GetBoolean () { return false; } 31 | public double GetDouble () { return 0.0; } 32 | public int GetInt () { return 0; } 33 | public JsonType GetJsonType () { return JsonType.None; } 34 | public long GetLong () { return 0L; } 35 | public string GetString () { return ""; } 36 | 37 | public void SetBoolean (bool val) {} 38 | public void SetDouble (double val) {} 39 | public void SetInt (int val) {} 40 | public void SetJsonType (JsonType type) {} 41 | public void SetLong (long val) {} 42 | public void SetString (string val) {} 43 | 44 | public string ToJson () { return ""; } 45 | public void ToJson (JsonWriter writer) {} 46 | 47 | 48 | bool IList.IsFixedSize { get { return true; } } 49 | bool IList.IsReadOnly { get { return true; } } 50 | 51 | object IList.this[int index] { 52 | get { return null; } 53 | set {} 54 | } 55 | 56 | int IList.Add (object value) { return 0; } 57 | void IList.Clear () {} 58 | bool IList.Contains (object value) { return false; } 59 | int IList.IndexOf (object value) { return -1; } 60 | void IList.Insert (int i, object v) {} 61 | void IList.Remove (object value) {} 62 | void IList.RemoveAt (int index) {} 63 | 64 | 65 | int ICollection.Count { get { return 0; } } 66 | bool ICollection.IsSynchronized { get { return false; } } 67 | object ICollection.SyncRoot { get { return null; } } 68 | 69 | void ICollection.CopyTo (Array array, int index) {} 70 | 71 | 72 | IEnumerator IEnumerable.GetEnumerator () { return null; } 73 | 74 | 75 | bool IDictionary.IsFixedSize { get { return true; } } 76 | bool IDictionary.IsReadOnly { get { return true; } } 77 | 78 | ICollection IDictionary.Keys { get { return null; } } 79 | ICollection IDictionary.Values { get { return null; } } 80 | 81 | object IDictionary.this[object key] { 82 | get { return null; } 83 | set {} 84 | } 85 | 86 | void IDictionary.Add (object k, object v) {} 87 | void IDictionary.Clear () {} 88 | bool IDictionary.Contains (object key) { return false; } 89 | void IDictionary.Remove (object key) {} 90 | 91 | IDictionaryEnumerator IDictionary.GetEnumerator () { return null; } 92 | 93 | 94 | object IOrderedDictionary.this[int idx] { 95 | get { return null; } 96 | set {} 97 | } 98 | 99 | IDictionaryEnumerator IOrderedDictionary.GetEnumerator () { 100 | return null; 101 | } 102 | void IOrderedDictionary.Insert (int i, object k, object v) {} 103 | void IOrderedDictionary.RemoveAt (int i) {} 104 | } 105 | } 106 | -------------------------------------------------------------------------------- /demo/Assets/LitJson/JsonMockWrapper.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 74e91501746c4084894acfec55e13891 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /demo/Assets/LitJson/JsonReader.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 740afe8a9ab82de4f85d3b39912bfada 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /demo/Assets/LitJson/JsonWriter.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 13a98316077e71f49b48373154d4f2bd 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /demo/Assets/LitJson/Lexer.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8eb09d141d116ec4e8c63d3f8ae49ab9 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /demo/Assets/LitJson/Netstandard15Polyfill.cs: -------------------------------------------------------------------------------- 1 | #if NETSTANDARD1_5 2 | using System; 3 | using System.Reflection; 4 | namespace LitJson 5 | { 6 | internal static class Netstandard15Polyfill 7 | { 8 | internal static Type GetInterface(this Type type, string name) 9 | { 10 | return type.GetTypeInfo().GetInterface(name); 11 | } 12 | 13 | internal static bool IsClass(this Type type) 14 | { 15 | return type.GetTypeInfo().IsClass; 16 | } 17 | 18 | internal static bool IsEnum(this Type type) 19 | { 20 | return type.GetTypeInfo().IsEnum; 21 | } 22 | } 23 | } 24 | #endif -------------------------------------------------------------------------------- /demo/Assets/LitJson/Netstandard15Polyfill.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b40ea8428f319a54f939f35c6800d039 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /demo/Assets/LitJson/ParserToken.cs: -------------------------------------------------------------------------------- 1 | #region Header 2 | /** 3 | * ParserToken.cs 4 | * Internal representation of the tokens used by the lexer and the parser. 5 | * 6 | * The authors disclaim copyright to this source code. For more details, see 7 | * the COPYING file included with this distribution. 8 | **/ 9 | #endregion 10 | 11 | 12 | namespace LitJson 13 | { 14 | internal enum ParserToken 15 | { 16 | // Lexer tokens (see section A.1.1. of the manual) 17 | None = System.Char.MaxValue + 1, 18 | Number, 19 | True, 20 | False, 21 | Null, 22 | CharSeq, 23 | // Single char 24 | Char, 25 | 26 | // Parser Rules (see section A.2.1 of the manual) 27 | Text, 28 | Object, 29 | ObjectPrime, 30 | Pair, 31 | PairRest, 32 | Array, 33 | ArrayPrime, 34 | Value, 35 | ValueRest, 36 | String, 37 | 38 | // End of input 39 | End, 40 | 41 | // The empty rule 42 | Epsilon 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /demo/Assets/LitJson/ParserToken.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: cd484bf5cabdcc345943174d9dae0312 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /demo/Assets/LitJson/litjson.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oppominigame/unity-webgl-to-oppo-minigame/4576915ac5654945132f3355c64fa84bdd320100/demo/Assets/LitJson/litjson.png -------------------------------------------------------------------------------- /demo/Assets/LitJson/litjson.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2a2acdb22d2bbcb439019a1071f5a612 3 | TextureImporter: 4 | fileIDToRecycleName: {} 5 | externalObjects: {} 6 | serializedVersion: 9 7 | mipmaps: 8 | mipMapMode: 0 9 | enableMipMap: 0 10 | sRGBTexture: 1 11 | linearTexture: 0 12 | fadeOut: 0 13 | borderMipMap: 0 14 | mipMapsPreserveCoverage: 0 15 | alphaTestReferenceValue: 0.5 16 | mipMapFadeDistanceStart: 1 17 | mipMapFadeDistanceEnd: 3 18 | bumpmap: 19 | convertToNormalMap: 0 20 | externalNormalMap: 0 21 | heightScale: 0.25 22 | normalMapFilter: 0 23 | isReadable: 0 24 | streamingMipmaps: 0 25 | streamingMipmapsPriority: 0 26 | grayScaleToAlpha: 0 27 | generateCubemap: 6 28 | cubemapConvolution: 0 29 | seamlessCubemap: 0 30 | textureFormat: 1 31 | maxTextureSize: 2048 32 | textureSettings: 33 | serializedVersion: 2 34 | filterMode: -1 35 | aniso: -1 36 | mipBias: -100 37 | wrapU: 1 38 | wrapV: 1 39 | wrapW: 1 40 | nPOTScale: 0 41 | lightmap: 0 42 | compressionQuality: 50 43 | spriteMode: 1 44 | spriteExtrude: 1 45 | spriteMeshType: 1 46 | alignment: 0 47 | spritePivot: {x: 0.5, y: 0.5} 48 | spritePixelsToUnits: 100 49 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 50 | spriteGenerateFallbackPhysicsShape: 1 51 | alphaUsage: 1 52 | alphaIsTransparency: 1 53 | spriteTessellationDetail: -1 54 | textureType: 8 55 | textureShape: 1 56 | singleChannelComponent: 0 57 | maxTextureSizeSet: 0 58 | compressionQualitySet: 0 59 | textureFormatSet: 0 60 | platformSettings: 61 | - serializedVersion: 2 62 | buildTarget: DefaultTexturePlatform 63 | maxTextureSize: 2048 64 | resizeAlgorithm: 0 65 | textureFormat: -1 66 | textureCompression: 1 67 | compressionQuality: 50 68 | crunchedCompression: 0 69 | allowsAlphaSplitting: 0 70 | overridden: 0 71 | androidETC2FallbackOverride: 0 72 | spriteSheet: 73 | serializedVersion: 2 74 | sprites: [] 75 | outline: [] 76 | physicsShape: [] 77 | bones: [] 78 | spriteID: 79066d7d3e643f041a0aca8bb1c38106 79 | vertices: [] 80 | indices: 81 | edges: [] 82 | weights: [] 83 | spritePackingTag: 84 | pSDRemoveMatte: 0 85 | pSDShowRemoveMatteOption: 0 86 | userData: 87 | assetBundleName: 88 | assetBundleVariant: 89 | -------------------------------------------------------------------------------- /demo/Assets/OPPO-GAME-SDK.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0be4706078668bb448e8181fb9a42fc9 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /demo/Assets/OPPO-GAME-SDK/Editor.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f62b734fe0af0f84a9a4b0a077b09fc6 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /demo/Assets/OPPO-GAME-SDK/Editor/BuildTool.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 70cc70b9db1144943b8efa66477a60f5 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /demo/Assets/OPPO-GAME-SDK/Editor/BuildTool/BuildConfigAsset.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using UnityEditor; 4 | using UnityEngine; 5 | 6 | namespace QGMiniGame 7 | { 8 | [Serializable] 9 | public class BuildFundamentalConfig 10 | { 11 | public const int MIN_PLATFORM_VERSION = 1103; 12 | public const int MIN_PROJECT_VERSION = 1; 13 | 14 | public bool useCustomSign; 15 | public bool useRemoteStreamingAssets; 16 | public int minPlatformVersion = MIN_PLATFORM_VERSION; 17 | public int orientation; 18 | public int projectVersion = MIN_PROJECT_VERSION; 19 | public string exportPath; 20 | public string iconPath; 21 | public string packageName; 22 | public string projectName; 23 | public string projectVersionName; 24 | public string signCertificate; 25 | public string signPrivate; 26 | public string streamingAssetsURL; 27 | } 28 | 29 | [Serializable] 30 | public class BuildAssetCacheConfig 31 | { 32 | public bool enableBundleCache = true; 33 | public bool enableCacheLog; 34 | public bool keepOldVersion; 35 | public int bundleHashLength = 32; 36 | public int defaultReleaseSize = 30; 37 | public string bundlePathIdentifier; 38 | public string excludeClearFiles; 39 | public string excludeFileExtensions = ".json;.hash"; 40 | public bool unityUseWebGL2; 41 | public string gameCDNRoot; 42 | 43 | [NonSerialized] 44 | public bool available; 45 | } 46 | 47 | public class BuildConfigAsset : ScriptableObject 48 | { 49 | public static BuildFundamentalConfig Fundamentals => Instance.fundamentals; 50 | [SerializeField] 51 | private BuildFundamentalConfig fundamentals; 52 | 53 | public static BuildAssetCacheConfig AssetCache => Instance.assetCache; 54 | [SerializeField] 55 | private BuildAssetCacheConfig assetCache; 56 | 57 | private BuildConfigAsset() { } 58 | 59 | private const string ASSET_DIR_NAME = "OPPO-GAME-SDK_UserData"; 60 | private static readonly string asset_path = Path.Combine("Assets", ASSET_DIR_NAME, "BuildConfig.asset"); 61 | 62 | private static BuildConfigAsset Instance 63 | { 64 | get 65 | { 66 | if (!instance) 67 | { 68 | instance = AssetDatabase.LoadAssetAtPath(asset_path); 69 | if (!instance) 70 | { 71 | instance = CreateInstance(); 72 | instance.hideFlags = HideFlags.HideInInspector; 73 | if (!AssetDatabase.IsValidFolder(Path.Combine("Assets", ASSET_DIR_NAME))) 74 | { 75 | AssetDatabase.CreateFolder("Assets", ASSET_DIR_NAME); 76 | } 77 | AssetDatabase.CreateAsset(instance, asset_path); 78 | } 79 | } 80 | return instance; 81 | } 82 | } 83 | private static BuildConfigAsset instance; 84 | 85 | public static void Save() 86 | { 87 | if (!instance) return; 88 | EditorUtility.SetDirty(instance); 89 | #if UNITY_2020_3_OR_NEWER 90 | AssetDatabase.SaveAssetIfDirty(instance); 91 | #else 92 | AssetDatabase.SaveAssets(); 93 | #endif 94 | } 95 | } 96 | } -------------------------------------------------------------------------------- /demo/Assets/OPPO-GAME-SDK/Editor/BuildTool/BuildConfigAsset.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 4f6edf1651a4c404ab8b0519cff73132 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /demo/Assets/OPPO-GAME-SDK/Editor/BuildTool/BuildEditorWindow.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 82d4c84b007c03a49a11b103de3d07b9 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /demo/Assets/OPPO-GAME-SDK/Editor/BuildTool/OpensslPlugin.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e21cd0e77e4b18b439bf5f15e033ea9a 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /demo/Assets/OPPO-GAME-SDK/Editor/CmdRunner.cs: -------------------------------------------------------------------------------- 1 | using System.Diagnostics; 2 | using UnityEngine; 3 | 4 | namespace QGMiniGame 5 | { 6 | public static class CmdRunner 7 | { 8 | public static Process CreateShellExProcess(string cmd, string args, string cwd = "", bool noWindow = true) 9 | { 10 | var pStartInfo = new ProcessStartInfo(cmd) 11 | { 12 | Arguments = args, 13 | CreateNoWindow = noWindow, 14 | UseShellExecute = false, 15 | RedirectStandardError = false, 16 | RedirectStandardInput = false, 17 | RedirectStandardOutput = true 18 | }; 19 | if (cwd.IsValid()) 20 | { 21 | pStartInfo.WorkingDirectory = cwd; 22 | } 23 | return Process.Start(pStartInfo); 24 | } 25 | 26 | public static void RunBat(string batfile, string args, string workingDir = "") 27 | { 28 | var p = CreateShellExProcess(batfile, args, workingDir); 29 | p.Close(); 30 | } 31 | 32 | public static string FormatPath(string path) 33 | { 34 | path = path.Replace("/", "\\"); 35 | if (Application.platform == RuntimePlatform.OSXEditor) 36 | path = path.Replace("\\", "/"); 37 | return path; 38 | } 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /demo/Assets/OPPO-GAME-SDK/Editor/CmdRunner.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: deee6942da50c07409496c204c977d41 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /demo/Assets/OPPO-GAME-SDK/Editor/EditorUtil.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2b18e1175c67b164ebbf29ddb02d6d6e 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /demo/Assets/OPPO-GAME-SDK/Editor/GlobalDefines.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | 3 | namespace QGMiniGame 4 | { 5 | public static class GlobalDefines 6 | { 7 | public const string MINIGAME_MENU_ITEM_ROOT = "OPPO小游戏"; 8 | public const string BUILD_TOOL_MODULE = "BuildTool"; 9 | 10 | public static bool IsValid(this string str) => !string.IsNullOrEmpty(str); 11 | } 12 | } -------------------------------------------------------------------------------- /demo/Assets/OPPO-GAME-SDK/Editor/GlobalDefines.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a841d679c56f8b648becb1bff613e3ac 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /demo/Assets/OPPO-GAME-SDK/Editor/OppoGameSDK_Editor.asmdef: -------------------------------------------------------------------------------- 1 | { 2 | "name": "OppoGameSDK_Editor", 3 | "rootNamespace": "QGMiniGame", 4 | "references": [ 5 | "OppoGameSDK" 6 | ], 7 | "includePlatforms": [ 8 | "Editor" 9 | ], 10 | "excludePlatforms": [], 11 | "allowUnsafeCode": false, 12 | "overrideReferences": false, 13 | "precompiledReferences": [], 14 | "autoReferenced": true, 15 | "defineConstraints": [], 16 | "versionDefines": [], 17 | "noEngineReferences": false 18 | } -------------------------------------------------------------------------------- /demo/Assets/OPPO-GAME-SDK/Editor/OppoGameSDK_Editor.asmdef.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0bf4606b40483d24dbf83b6deec7e04e 3 | AssemblyDefinitionImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /demo/Assets/OPPO-GAME-SDK/Editor/QGGameTools.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 188141d705f3e0143a035dfeb5458638 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /demo/Assets/OPPO-GAME-SDK/Editor/ShaderTools.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c4f9bebce2740754d8e2cea7fd787300 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /demo/Assets/OPPO-GAME-SDK/Editor/ShaderTools/AutoSetScriptingDefineSymbols.cs: -------------------------------------------------------------------------------- 1 | using UnityEditor; 2 | using System.Collections.Generic; 3 | using UnityEngine; 4 | 5 | namespace QGMiniGame 6 | { 7 | public class AutoSetScriptingDefineSymbols : AssetPostprocessor 8 | { 9 | private static void OnPostprocessAllAssets(string[] importedAssets, string[] deletedAssets, string[] movedAssets, string[] movedFromAssetPaths) 10 | { 11 | Dictionary scoreDict = new Dictionary(); 12 | //Key 新增资源 Value 新增脚本宏 13 | scoreDict.Add("OppoGameSDK", "OppoGameSDK"); 14 | foreach (string importedAsset in importedAssets) 15 | { 16 | foreach (KeyValuePair kvp in scoreDict) 17 | { 18 | if (importedAsset.Contains(kvp.Key)) 19 | { 20 | SetScriptingDefineSymbols(kvp.Value); 21 | scoreDict.Clear(); 22 | break; 23 | } 24 | } 25 | } 26 | scoreDict.Clear(); 27 | } 28 | 29 | private static void SetScriptingDefineSymbols(string DefineSymbols) 30 | { 31 | // 获取当前的构建平台 32 | BuildTargetGroup targetGroup = EditorUserBuildSettings.selectedBuildTargetGroup; 33 | 34 | // 获取当前的脚本宏 35 | string currentDefines = PlayerSettings.GetScriptingDefineSymbolsForGroup(targetGroup); 36 | 37 | string[] splitStrings = currentDefines.Split(';'); 38 | 39 | if (splitStrings.Length > 0) 40 | { 41 | for (global::System.Int32 i = 0; i < splitStrings.Length; i++) 42 | { 43 | if (splitStrings[i] == DefineSymbols) 44 | { 45 | //当前已有这个脚本宏 46 | return; 47 | } 48 | } 49 | } 50 | // 添加新的脚本宏 51 | string newDefines = currentDefines + ";" + DefineSymbols; 52 | 53 | // 设置新的脚本宏 54 | PlayerSettings.SetScriptingDefineSymbolsForGroup(targetGroup, newDefines); 55 | } 56 | } 57 | } -------------------------------------------------------------------------------- /demo/Assets/OPPO-GAME-SDK/Editor/ShaderTools/AutoSetScriptingDefineSymbols.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6e90ef1d1bfefd04bb03d8d19fb229d9 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /demo/Assets/OPPO-GAME-SDK/Editor/ShaderTools/ShaderRuntimeDetector.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: bf9b17edde76af340bb7f001c0f5b9e5 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /demo/Assets/OPPO-GAME-SDK/Editor/ShaderTools/ShaderStaticDetector.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f97e3e16ff2ebf743a9bd8544fc96b96 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /demo/Assets/OPPO-GAME-SDK/Editor/VersionInfo.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | 3 | namespace QGMiniGame 4 | { 5 | public static class VersionInfo 6 | { 7 | /// 8 | /// @note: 版本更新记得升级版本号 9 | /// 10 | public const string VERSION = "8.1.0"; 11 | } 12 | } -------------------------------------------------------------------------------- /demo/Assets/OPPO-GAME-SDK/Editor/VersionInfo.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 196c8e1aa5e999545a855b1fea9d9aff 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /demo/Assets/OPPO-GAME-SDK/Plugins.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 83cd30e96cd7232448e751bc6e548dc3 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /demo/Assets/OPPO-GAME-SDK/Plugins/qg.minigame.jslib.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 13f10f1e406ed75429ed7dcd5100bbb9 3 | PluginImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | iconMap: {} 7 | executionOrder: {} 8 | defineConstraints: [] 9 | isPreloaded: 0 10 | isOverridable: 0 11 | isExplicitlyReferenced: 0 12 | validateReferences: 1 13 | platformData: 14 | - first: 15 | Any: 16 | second: 17 | enabled: 0 18 | settings: {} 19 | - first: 20 | Editor: Editor 21 | second: 22 | enabled: 0 23 | settings: 24 | DefaultValueInitialized: true 25 | - first: 26 | WebGL: WebGL 27 | second: 28 | enabled: 1 29 | settings: {} 30 | userData: 31 | assetBundleName: 32 | assetBundleVariant: 33 | -------------------------------------------------------------------------------- /demo/Assets/OPPO-GAME-SDK/Runtime.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 250ac078ab77ec744808db49aeb03a66 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /demo/Assets/OPPO-GAME-SDK/Runtime/ArTools/QGArManager.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 754dd393a37a5904babd65276e3d1d3a 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /demo/Assets/OPPO-GAME-SDK/Runtime/OppoGameSDK.asmdef: -------------------------------------------------------------------------------- 1 | { 2 | "name": "OppoGameSDK", 3 | "rootNamespace": "QGMiniGame", 4 | "references": [], 5 | "includePlatforms": [ 6 | "Editor", 7 | "WebGL" 8 | ], 9 | "excludePlatforms": [], 10 | "allowUnsafeCode": false, 11 | "overrideReferences": false, 12 | "precompiledReferences": [], 13 | "autoReferenced": true, 14 | "defineConstraints": [], 15 | "versionDefines": [], 16 | "noEngineReferences": false 17 | } -------------------------------------------------------------------------------- /demo/Assets/OPPO-GAME-SDK/Runtime/OppoGameSDK.asmdef.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 4f07a863d6a06924589ff792f0d14301 3 | AssemblyDefinitionImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /demo/Assets/OPPO-GAME-SDK/Runtime/QG.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2cd083e67a934664593e8843db0f35c1 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /demo/Assets/OPPO-GAME-SDK/Runtime/QGAudioPlayer.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using UnityEngine; 3 | 4 | 5 | namespace QGMiniGame 6 | { 7 | public class QGAudioPlayer : QGBasePlayer 8 | { 9 | public QGAudioPlayer(string playerId) : base(playerId) 10 | { 11 | 12 | } 13 | 14 | 15 | //volume 0~1 16 | public virtual void SetVolume(float volume) 17 | { 18 | QGMiniGameManager.Instance.AudioPlayerVolume(playerId, volume); 19 | } 20 | 21 | public virtual void SetLoop(bool bl) 22 | { 23 | QGMiniGameManager.Instance.AudioPlayerLoop(playerId, bl); 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /demo/Assets/OPPO-GAME-SDK/Runtime/QGAudioPlayer.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e4e1e6ab2f7ad684fa46fb14d71e915d 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /demo/Assets/OPPO-GAME-SDK/Runtime/QGBannerAd.cs: -------------------------------------------------------------------------------- 1 |  2 | using UnityEngine; 3 | using System; 4 | 5 | namespace QGMiniGame 6 | { 7 | public class QGBannerAd : QGBaseAd 8 | { 9 | public QGBannerAd(string adId) : base(adId) 10 | { 11 | 12 | } 13 | } 14 | } 15 | 16 | -------------------------------------------------------------------------------- /demo/Assets/OPPO-GAME-SDK/Runtime/QGBannerAd.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 58c16beecb328c54ea195e073c65bf82 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /demo/Assets/OPPO-GAME-SDK/Runtime/QGBaseAd.cs: -------------------------------------------------------------------------------- 1 |  2 | using System.Collections.Generic; 3 | using UnityEngine; 4 | using System; 5 | 6 | namespace QGMiniGame 7 | { 8 | public class QGBaseAd 9 | { 10 | 11 | public static Dictionary QGAds = new Dictionary(); 12 | 13 | public string adId; // 广告的唯一标识 14 | public Action onLoadAction; 15 | public Action onErrorAction; 16 | public Action onCloseAction; 17 | public Action onHideAction; 18 | 19 | public QGBaseAd(string adId) 20 | { 21 | this.adId = adId; 22 | QGAds.Add(adId, this); 23 | } 24 | 25 | public virtual void Show(Action success = null, Action failed = null) 26 | { 27 | QGMiniGameManager.Instance.ShowAd(adId, success, failed); 28 | } 29 | 30 | public virtual void Load(Action success = null, Action failed = null) 31 | { 32 | QGMiniGameManager.Instance.LoadAd(adId, success, failed); 33 | } 34 | 35 | public virtual void OnLoad(Action onLoad) 36 | { 37 | onLoadAction += onLoad; 38 | } 39 | 40 | 41 | public virtual void OffLoad(Action offLoad) 42 | { 43 | onLoadAction -= offLoad; 44 | } 45 | 46 | public void OnError(Action onError) 47 | { 48 | onErrorAction += onError; 49 | } 50 | 51 | public void OffError(Action offError) 52 | { 53 | onErrorAction -= offError; 54 | } 55 | 56 | public virtual void OnClose(Action onClose) 57 | { 58 | onCloseAction += onClose; 59 | } 60 | 61 | public virtual void OffClose(Action offClose) 62 | { 63 | onCloseAction -= offClose; 64 | } 65 | 66 | public void OnHide(Action onHide) 67 | { 68 | onHideAction += onHide; 69 | } 70 | 71 | public void OffHide(Action offHide) 72 | { 73 | onHideAction -= offHide; 74 | } 75 | 76 | public virtual void Hide(Action success = null, Action failed = null) 77 | { 78 | QGMiniGameManager.Instance.HideAd(adId, success, failed); 79 | } 80 | 81 | public void Destroy() 82 | { 83 | QGMiniGameManager.Instance.DestroyAd(adId); 84 | QGAds.Remove(adId); 85 | } 86 | 87 | } 88 | } 89 | -------------------------------------------------------------------------------- /demo/Assets/OPPO-GAME-SDK/Runtime/QGBaseAd.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 13034b9e733f6e047ab30edd0232d5ba 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /demo/Assets/OPPO-GAME-SDK/Runtime/QGBasePlayer.cs: -------------------------------------------------------------------------------- 1 |  2 | using System.Collections.Generic; 3 | using UnityEngine; 4 | using System; 5 | 6 | namespace QGMiniGame 7 | { 8 | public class QGBasePlayer 9 | { 10 | 11 | public static Dictionary QGPlayers = new Dictionary(); 12 | 13 | public string playerId; // 播放器的唯一标识 14 | public Action onPlayAction; 15 | public Action onCanPlayAction; 16 | public Action onPauseAction; 17 | public Action onStopAction; 18 | public Action onEndedAction; 19 | public Action onTimeUpdateAction; 20 | public Action onErrorAction; 21 | public Action onWaitingAction; 22 | public Action onSeekingAction; 23 | public Action onSeekedAction; 24 | 25 | public QGBasePlayer(string playerId) 26 | { 27 | this.playerId = playerId; 28 | QGPlayers.Add(playerId, this); 29 | } 30 | 31 | public virtual void Play() 32 | { 33 | QGMiniGameManager.Instance.PlayMedia(playerId); 34 | } 35 | 36 | public virtual void Pause() 37 | { 38 | QGMiniGameManager.Instance.PauseMedia(playerId); 39 | } 40 | 41 | public virtual void Stop() 42 | { 43 | QGMiniGameManager.Instance.StopMedia(playerId); 44 | } 45 | 46 | public virtual void Seek(float time) 47 | { 48 | QGMiniGameManager.Instance.SeekMedia(playerId,time); 49 | } 50 | 51 | public void Destroy() 52 | { 53 | QGMiniGameManager.Instance.DestroyMedia(playerId); 54 | QGPlayers.Remove(playerId); 55 | } 56 | 57 | public virtual void OnPlay(Action onPlay) 58 | { 59 | onPlayAction += onPlay; 60 | } 61 | 62 | public virtual void OffPlay(Action offPlay) 63 | { 64 | onPlayAction -= offPlay; 65 | } 66 | 67 | public virtual void OnCanPlay(Action onCanPlay) 68 | { 69 | onCanPlayAction += onCanPlay; 70 | } 71 | 72 | public virtual void OffCanPlay(Action offCanPlay) 73 | { 74 | onCanPlayAction -= offCanPlay; 75 | } 76 | 77 | public virtual void OnPause(Action onPause) 78 | { 79 | onPauseAction += onPause; 80 | } 81 | 82 | public virtual void OffPause(Action offPause) 83 | { 84 | onPauseAction -= offPause; 85 | } 86 | 87 | public virtual void OnStop(Action onStop) 88 | { 89 | onStopAction += onStop; 90 | } 91 | 92 | public virtual void OffStop(Action offStop) 93 | { 94 | onStopAction -= offStop; 95 | } 96 | 97 | public virtual void OnEnded(Action onEnded) 98 | { 99 | onEndedAction += onEnded; 100 | } 101 | 102 | public virtual void OffEnded(Action offEnded) 103 | { 104 | onEndedAction -= offEnded; 105 | } 106 | public virtual void OnTimeUpdate(Action onTimeUpdate) 107 | { 108 | onTimeUpdateAction += onTimeUpdate; 109 | } 110 | 111 | public virtual void OffTimeUpdate(Action offTimeUpdate) 112 | { 113 | onTimeUpdateAction -= offTimeUpdate; 114 | } 115 | public virtual void OnError(Action onError) 116 | { 117 | onErrorAction += onError; 118 | } 119 | 120 | public virtual void OffError(Action offError) 121 | { 122 | onErrorAction -= offError; 123 | } 124 | public virtual void OnWaiting(Action onWaiting) 125 | { 126 | onWaitingAction += onWaiting; 127 | } 128 | 129 | public virtual void OffWaiting(Action offWaiting) 130 | { 131 | onWaitingAction -= offWaiting; 132 | } 133 | public virtual void OnSeeking(Action onSeeking) 134 | { 135 | onSeekingAction += onSeeking; 136 | } 137 | 138 | public virtual void OffSeeking(Action offSeeking) 139 | { 140 | onSeekingAction -= offSeeking; 141 | } 142 | public virtual void OnSeeked(Action onSeeked) 143 | { 144 | onSeekedAction += onSeeked; 145 | } 146 | 147 | public virtual void OffSeeked(Action offSeeked) 148 | { 149 | onSeekedAction -= offSeeked; 150 | } 151 | } 152 | } 153 | -------------------------------------------------------------------------------- /demo/Assets/OPPO-GAME-SDK/Runtime/QGBasePlayer.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3975654284c9b134392cc46a74851ed5 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /demo/Assets/OPPO-GAME-SDK/Runtime/QGCallBackManager.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections; 3 | using System.Collections.Generic; 4 | using UnityEngine; 5 | 6 | namespace QGMiniGame 7 | { 8 | public class QGCallBackManager 9 | { 10 | public static readonly Hashtable responseCallBacks = new Hashtable(); 11 | 12 | private static int id = 0; 13 | 14 | private static int GenarateId() 15 | { 16 | if (id > 1000000) 17 | { 18 | id = 0; 19 | } 20 | id++; 21 | 22 | return id; 23 | } 24 | 25 | public static string Add(Action callback) 26 | where T : QGBaseResponse 27 | { 28 | if (callback == null) 29 | { 30 | return ""; 31 | } 32 | var key = getKey(); 33 | responseCallBacks.Add (key, callback); 34 | return key; 35 | } 36 | 37 | public static string getKey() 38 | { 39 | int id = GenarateId(); 40 | TimeSpan ts = DateTime.Now - new DateTime(1970, 1, 1, 0, 0, 0, 0); 41 | var time = Convert.ToInt64(ts.TotalSeconds); 42 | return (time.ToString() + '-' + id); 43 | } 44 | 45 | public static void InvokeResponseCallback(string str, bool remove = true) 46 | where T : QGBaseResponse 47 | { 48 | QGLog.LogWarning("remove = " + remove); 49 | if (str != null) 50 | { 51 | T res = JsonUtility.FromJson(str); 52 | var id = res.callbackId; 53 | if (responseCallBacks[id] != null) 54 | { 55 | var callback = (Action) responseCallBacks[id]; 56 | callback (res); 57 | if (remove) 58 | { 59 | responseCallBacks.Remove (id); 60 | } 61 | } 62 | else 63 | { 64 | QGLog 65 | .LogWarning("InvokeResponseCallback responseCallBacks get null id = " + 66 | id); 67 | } 68 | } 69 | else 70 | { 71 | QGLog.LogWarning("InvokeResponseCallback str is null"); 72 | } 73 | } 74 | } 75 | } 76 | -------------------------------------------------------------------------------- /demo/Assets/OPPO-GAME-SDK/Runtime/QGCallBackManager.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8d9aad28976d4dc47a782d3c20e517bf 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /demo/Assets/OPPO-GAME-SDK/Runtime/QGCustomAd.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using UnityEngine; 3 | 4 | 5 | namespace QGMiniGame 6 | { 7 | public class QGCustomAd : QGBaseAd 8 | { 9 | public Action onShowAction; 10 | 11 | public QGCustomAd(string adId) : base(adId) 12 | { 13 | 14 | } 15 | 16 | public void OnShow(Action onShow) 17 | { 18 | onShowAction += onShow; 19 | } 20 | 21 | 22 | public void OffShow(Action offShow) 23 | { 24 | onShowAction -= offShow; 25 | } 26 | 27 | public bool IsShow() 28 | { 29 | return QGMiniGameManager.Instance.IsShow(adId); 30 | } 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /demo/Assets/OPPO-GAME-SDK/Runtime/QGCustomAd.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 7459fab73770dee4bb3e40184de96fd6 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /demo/Assets/OPPO-GAME-SDK/Runtime/QGGameBannerAd.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using UnityEngine; 3 | 4 | 5 | namespace QGMiniGame 6 | { 7 | public class QGGameBannerAd : QGBaseAd 8 | { 9 | public Action onShowAction; 10 | public QGGameBannerAd(string adId) : base(adId) 11 | { 12 | 13 | } 14 | 15 | public void OnShow(Action onShow) 16 | { 17 | onShowAction += onShow; 18 | } 19 | 20 | 21 | public void OffShow(Action offShow) 22 | { 23 | onShowAction -= offShow; 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /demo/Assets/OPPO-GAME-SDK/Runtime/QGGameBannerAd.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 9177a7d4827dee444b411d1b2fcafe95 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /demo/Assets/OPPO-GAME-SDK/Runtime/QGGameDrawerAd.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using UnityEngine; 3 | 4 | 5 | namespace QGMiniGame 6 | { 7 | public class QGGameDrawerAd : QGBaseAd 8 | { 9 | public Action onShowAction; 10 | 11 | public QGGameDrawerAd(string adId) : base(adId) 12 | { 13 | 14 | } 15 | 16 | public void OnShow(Action onShow) 17 | { 18 | onShowAction += onShow; 19 | } 20 | 21 | 22 | public void OffShow(Action offShow) 23 | { 24 | onShowAction -= offShow; 25 | } 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /demo/Assets/OPPO-GAME-SDK/Runtime/QGGameDrawerAd.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6b16d9e625be25941837fca3710dd624 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /demo/Assets/OPPO-GAME-SDK/Runtime/QGGamePortalAd.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using UnityEngine; 3 | 4 | 5 | namespace QGMiniGame 6 | { 7 | public class QGGamePortalAd : QGBaseAd 8 | { 9 | 10 | public QGGamePortalAd(string adId) : base(adId) 11 | { 12 | 13 | } 14 | 15 | public void Load(Action success = null, Action failed = null) 16 | { 17 | QGMiniGameManager.Instance.LoadAd(adId, success, failed); 18 | } 19 | } 20 | } 21 | 22 | -------------------------------------------------------------------------------- /demo/Assets/OPPO-GAME-SDK/Runtime/QGGamePortalAd.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 69db30278c0f458489394a586c5a9db1 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /demo/Assets/OPPO-GAME-SDK/Runtime/QGInterstitialAd.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using UnityEngine; 3 | 4 | namespace QGMiniGame 5 | { 6 | public class QGInterstitialAd : QGBaseAd 7 | { 8 | 9 | 10 | public QGInterstitialAd(string adId) : base(adId) 11 | { 12 | 13 | } 14 | 15 | public override void Hide(Action success = null, Action failed = null) 16 | { 17 | QGLog.LogWarning("QGInterstitialAd no Hide Function"); 18 | } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /demo/Assets/OPPO-GAME-SDK/Runtime/QGInterstitialAd.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1ac024bfe1d79fa48bae1da8340e664b 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /demo/Assets/OPPO-GAME-SDK/Runtime/QGLog.cs: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using System.Collections.Generic; 3 | using UnityEngine; 4 | 5 | 6 | 7 | namespace QGMiniGame 8 | { 9 | public class QGLog 10 | { 11 | private static string TAG = "QGMiniGame : "; 12 | 13 | public static void Log(string msg) 14 | { 15 | Debug.Log(TAG + msg); 16 | } 17 | 18 | public static void LogWarning(string msg) 19 | { 20 | Debug.LogWarning(TAG + msg); 21 | } 22 | 23 | public static void LogError(string msg) 24 | { 25 | Debug.LogError(TAG + msg); 26 | } 27 | } 28 | } 29 | 30 | -------------------------------------------------------------------------------- /demo/Assets/OPPO-GAME-SDK/Runtime/QGLog.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 806220161ed3b3c40a2f7cbfdbe59f33 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /demo/Assets/OPPO-GAME-SDK/Runtime/QGMiniGameManager.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f4128b0f4ff60e847acc79ff8ee2c6aa 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /demo/Assets/OPPO-GAME-SDK/Runtime/QGModel.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3de0f3726a3405b45ab18247fccac4dd 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /demo/Assets/OPPO-GAME-SDK/Runtime/QGRecordManager.cs: -------------------------------------------------------------------------------- 1 |  2 | using System.Collections.Generic; 3 | using UnityEngine; 4 | using System; 5 | 6 | namespace QGMiniGame 7 | { 8 | public class QGRecordManager 9 | { 10 | public static Dictionary QGRecords = new Dictionary(); 11 | public string recordId; // 录音的唯一标识 12 | public Action onStartAction; //监听录音开始事件 13 | public Action onResumeAction; //监听录音继续事件 14 | public Action onPauseAction; //监听录音暂停事件 15 | public Action onStopAction; //监听录音结束事件 16 | public Action onFrameRecordedAction; //监听已录制完指定帧大小的文件事件。如果设置了 frameSize,则会回调此事件 17 | public Action onErrorAction; //监听录音错误事件 18 | 19 | public QGRecordManager(string recordId) 20 | { 21 | this.recordId = recordId; 22 | QGRecords.Add(recordId, this); 23 | } 24 | 25 | public virtual void Start(RecordParam recordParam = null) 26 | { 27 | QGMiniGameManager.Instance.RecorderStart(recordId, recordParam); 28 | } 29 | 30 | public virtual void Pause() 31 | { 32 | QGMiniGameManager.Instance.RecorderPause(recordId); 33 | } 34 | public virtual void Resume() 35 | { 36 | QGMiniGameManager.Instance.RecorderResume(recordId); 37 | } 38 | 39 | public virtual void Stop() 40 | { 41 | QGMiniGameManager.Instance.RecorderStop(recordId); 42 | } 43 | 44 | public virtual void OnStart(Action onStart) 45 | { 46 | onStartAction += onStart; 47 | } 48 | 49 | public virtual void OffStart(Action offStart) 50 | { 51 | onStartAction -= offStart; 52 | } 53 | 54 | 55 | public virtual void OnResume(Action onResume) 56 | { 57 | onResumeAction += onResume; 58 | } 59 | 60 | public virtual void OffResume(Action offResume) 61 | { 62 | onResumeAction -= offResume; 63 | } 64 | 65 | public virtual void OnPause(Action onPause) 66 | { 67 | onPauseAction += onPause; 68 | } 69 | 70 | public virtual void OffPause(Action offPause) 71 | { 72 | onPauseAction -= offPause; 73 | } 74 | 75 | public virtual void OnStop(Action onStop) 76 | { 77 | onStopAction += onStop; 78 | } 79 | 80 | public virtual void OffStop(Action offStop) 81 | { 82 | onStopAction -= offStop; 83 | } 84 | 85 | 86 | public virtual void OnFrameRecorded(Action onFrameRecorded) 87 | { 88 | onFrameRecordedAction += onFrameRecorded; 89 | } 90 | 91 | public virtual void OffFrameRecorded(Action offFrameRecorded) 92 | { 93 | onFrameRecordedAction -= offFrameRecorded; 94 | } 95 | 96 | public virtual void OnError(Action onError) 97 | { 98 | onErrorAction += onError; 99 | } 100 | 101 | public virtual void OffError(Action offError) 102 | { 103 | onErrorAction -= offError; 104 | } 105 | } 106 | } 107 | -------------------------------------------------------------------------------- /demo/Assets/OPPO-GAME-SDK/Runtime/QGRecordManager.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c0192f1433f47384aa513c3fb2760722 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /demo/Assets/OPPO-GAME-SDK/Runtime/QGRewardedVideoAd.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using System; 3 | 4 | 5 | 6 | namespace QGMiniGame 7 | { 8 | public class QGRewardedVideoAd : QGBaseAd 9 | { 10 | 11 | public Action onCloseRewardedVideoAction; 12 | 13 | public QGRewardedVideoAd(string adId) : base(adId) 14 | { 15 | 16 | } 17 | 18 | public override void Hide(Action success = null, Action failed = null) 19 | { 20 | QGLog.LogWarning("QGRewardedVideoAd no Hide Function"); 21 | } 22 | 23 | public void Load(Action success = null, Action failed = null) 24 | { 25 | QGMiniGameManager.Instance.LoadAd(adId, success, failed); 26 | } 27 | 28 | 29 | public void OnClose(Action onClose) 30 | { 31 | onCloseRewardedVideoAction += onClose; 32 | } 33 | 34 | 35 | public void OffClose(Action offClose) 36 | { 37 | onCloseRewardedVideoAction -= offClose; 38 | } 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /demo/Assets/OPPO-GAME-SDK/Runtime/QGRewardedVideoAd.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 46875f47006d54840a0705145bbcba69 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /demo/Assets/OPPO-GAME-SDK/Runtime/QGVideoPlayer.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using UnityEngine; 3 | 4 | 5 | namespace QGMiniGame 6 | { 7 | public class QGVideoPlayer : QGBasePlayer 8 | { 9 | public QGVideoPlayer(string adId) : base(adId) 10 | { 11 | 12 | } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /demo/Assets/OPPO-GAME-SDK/Runtime/QGVideoPlayer.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1bb4b8c5b0609674a8fc1fb002631576 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /demo/Assets/OPPO-GAME-SDK/Runtime/ShaderTools.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0cb621040901a0c4d9919752ed3a9b77 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /demo/Assets/OPPO-GAME-SDK/Runtime/ShaderTools/ShaderAssets.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oppominigame/unity-webgl-to-oppo-minigame/4576915ac5654945132f3355c64fa84bdd320100/demo/Assets/OPPO-GAME-SDK/Runtime/ShaderTools/ShaderAssets.cs -------------------------------------------------------------------------------- /demo/Assets/OPPO-GAME-SDK/Runtime/ShaderTools/ShaderAssets.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a56845a43f6c514478202986f2d7e0e9 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /demo/Assets/OPPO-GAME-SDK/Runtime/ShaderTools/ShaderFinder.json: -------------------------------------------------------------------------------- 1 | { 2 | "ShaderApi": [ 3 | "geometry", 4 | "CustomTessellation.cginc", 5 | "Tessellation", 6 | "addshadow", 7 | "#pragma kernel" 8 | ] 9 | } -------------------------------------------------------------------------------- /demo/Assets/OPPO-GAME-SDK/Runtime/ShaderTools/ShaderFinder.json.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 7a970cd70e90f9a4f9a7e0474dbb9705 3 | TextScriptImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /demo/Assets/OPPO-GAME-SDK/Runtime/ShaderTools/ShaderListener.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 4a4e212136dd76f47887dbca443c9715 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /demo/Assets/OPPO-GAME-SDK/Runtime/ShaderTools/TempPrefabName.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using UnityEngine; 3 | 4 | namespace QGMiniGame 5 | { 6 | public class TempPrefabName : MonoBehaviour 7 | { 8 | public List _prefabNames = new List(); 9 | } 10 | } -------------------------------------------------------------------------------- /demo/Assets/OPPO-GAME-SDK/Runtime/ShaderTools/TempPrefabName.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ce3f2b3af38e15b4580de30ef2ebc5cc 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /demo/Assets/OPPO-GAME-SDK/Runtime/Utilities.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f7011e65cc7d2a4478c0d82305fd788e 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /demo/Assets/OPPO-GAME-SDK/Runtime/Utilities/Utilities.cs: -------------------------------------------------------------------------------- 1 | using System.Text; 2 | using UnityEngine; 3 | 4 | namespace QGMiniGame 5 | { 6 | public static class Utilities 7 | { 8 | public static string MD5(this byte[] data) 9 | { 10 | byte[] hashBytes; 11 | using (var md5 = System.Security.Cryptography.MD5.Create()) 12 | { 13 | hashBytes = md5.ComputeHash(data); 14 | } 15 | var sb = new StringBuilder(); 16 | foreach (var hash in hashBytes) 17 | { 18 | sb.Append(hash.ToString("x2")); 19 | } 20 | return sb.ToString(); 21 | } 22 | } 23 | } -------------------------------------------------------------------------------- /demo/Assets/OPPO-GAME-SDK/Runtime/Utilities/Utilities.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 88d527a414582f44fb8d710814360d9b 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /demo/Assets/Resources.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: df674b6a348dc76499eebbc82f5fc0bc 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /demo/Assets/Resources/BillingMode.json: -------------------------------------------------------------------------------- 1 | {"androidStore":"GooglePlay"} -------------------------------------------------------------------------------- /demo/Assets/Resources/BillingMode.json.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a540f33f22f790846b653470c84442f1 3 | TextScriptImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /demo/Assets/Scenes.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c2a507eec32787743ba99bf66df6595d 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /demo/Assets/Scenes/NewScenes.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b8a200cabaa84814b8cb309115999e2c 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /demo/Assets/Scenes/NewScenes/Interstitial.unity.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d3dca9b1d97aaf4439c06c763b15cec8 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /demo/Assets/Scenes/NewScenes/InterstitialSettings.lighting: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!850595691 &4890085278179872738 4 | LightingSettings: 5 | m_ObjectHideFlags: 0 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | m_Name: InterstitialSettings 10 | serializedVersion: 4 11 | m_GIWorkflowMode: 1 12 | m_EnableBakedLightmaps: 0 13 | m_EnableRealtimeLightmaps: 0 14 | m_RealtimeEnvironmentLighting: 1 15 | m_BounceScale: 1 16 | m_AlbedoBoost: 1 17 | m_IndirectOutputScale: 1 18 | m_UsingShadowmask: 1 19 | m_BakeBackend: 1 20 | m_LightmapMaxSize: 1024 21 | m_BakeResolution: 40 22 | m_Padding: 2 23 | m_LightmapCompression: 3 24 | m_AO: 0 25 | m_AOMaxDistance: 1 26 | m_CompAOExponent: 1 27 | m_CompAOExponentDirect: 0 28 | m_ExtractAO: 0 29 | m_MixedBakeMode: 2 30 | m_LightmapsBakeMode: 1 31 | m_FilterMode: 1 32 | m_LightmapParameters: {fileID: 15204, guid: 0000000000000000f000000000000000, type: 0} 33 | m_ExportTrainingData: 0 34 | m_TrainingDataDestination: TrainingData 35 | m_RealtimeResolution: 2 36 | m_ForceWhiteAlbedo: 0 37 | m_ForceUpdates: 0 38 | m_FinalGather: 0 39 | m_FinalGatherRayCount: 256 40 | m_FinalGatherFiltering: 1 41 | m_PVRCulling: 1 42 | m_PVRSampling: 1 43 | m_PVRDirectSampleCount: 32 44 | m_PVRSampleCount: 512 45 | m_PVREnvironmentSampleCount: 512 46 | m_PVREnvironmentReferencePointCount: 2048 47 | m_LightProbeSampleCountMultiplier: 4 48 | m_PVRBounces: 2 49 | m_PVRMinBounces: 2 50 | m_PVREnvironmentMIS: 0 51 | m_PVRFilteringMode: 2 52 | m_PVRDenoiserTypeDirect: 0 53 | m_PVRDenoiserTypeIndirect: 0 54 | m_PVRDenoiserTypeAO: 0 55 | m_PVRFilterTypeDirect: 0 56 | m_PVRFilterTypeIndirect: 0 57 | m_PVRFilterTypeAO: 0 58 | m_PVRFilteringGaussRadiusDirect: 1 59 | m_PVRFilteringGaussRadiusIndirect: 5 60 | m_PVRFilteringGaussRadiusAO: 2 61 | m_PVRFilteringAtrousPositionSigmaDirect: 0.5 62 | m_PVRFilteringAtrousPositionSigmaIndirect: 2 63 | m_PVRFilteringAtrousPositionSigmaAO: 1 64 | m_PVRTiledBaking: 0 65 | -------------------------------------------------------------------------------- /demo/Assets/Scenes/NewScenes/InterstitialSettings.lighting.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 954e80b1b026072458ddabdfe1f26ea2 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 4890085278179872738 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /demo/Assets/Scenes/NewScenes/PlayerPrefs.unity.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1209dbb85201e4945ba0d12b84b822b4 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /demo/Assets/Scenes/NewScenes/StorageItem.unity.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d8d2372b114b6494fb479a60f8809869 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /demo/Assets/Scenes/NewScenes/UserCloudStorageItem.unity.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 218c9b38f2a7aa443bdae7d02707d9e8 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /demo/Assets/Scenes/NewScenes/audio.unity.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 422c40e46d7cbe440990cd5356da26d8 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /demo/Assets/Scenes/NewScenes/audioSettings.lighting: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!850595691 &4890085278179872738 4 | LightingSettings: 5 | m_ObjectHideFlags: 0 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | m_Name: audioSettings 10 | serializedVersion: 4 11 | m_GIWorkflowMode: 1 12 | m_EnableBakedLightmaps: 0 13 | m_EnableRealtimeLightmaps: 0 14 | m_RealtimeEnvironmentLighting: 1 15 | m_BounceScale: 1 16 | m_AlbedoBoost: 1 17 | m_IndirectOutputScale: 1 18 | m_UsingShadowmask: 1 19 | m_BakeBackend: 1 20 | m_LightmapMaxSize: 1024 21 | m_BakeResolution: 40 22 | m_Padding: 2 23 | m_LightmapCompression: 3 24 | m_AO: 0 25 | m_AOMaxDistance: 1 26 | m_CompAOExponent: 1 27 | m_CompAOExponentDirect: 0 28 | m_ExtractAO: 0 29 | m_MixedBakeMode: 2 30 | m_LightmapsBakeMode: 1 31 | m_FilterMode: 1 32 | m_LightmapParameters: {fileID: 15204, guid: 0000000000000000f000000000000000, type: 0} 33 | m_ExportTrainingData: 0 34 | m_TrainingDataDestination: TrainingData 35 | m_RealtimeResolution: 2 36 | m_ForceWhiteAlbedo: 0 37 | m_ForceUpdates: 0 38 | m_FinalGather: 0 39 | m_FinalGatherRayCount: 256 40 | m_FinalGatherFiltering: 1 41 | m_PVRCulling: 1 42 | m_PVRSampling: 1 43 | m_PVRDirectSampleCount: 32 44 | m_PVRSampleCount: 512 45 | m_PVREnvironmentSampleCount: 512 46 | m_PVREnvironmentReferencePointCount: 2048 47 | m_LightProbeSampleCountMultiplier: 4 48 | m_PVRBounces: 2 49 | m_PVRMinBounces: 2 50 | m_PVREnvironmentMIS: 0 51 | m_PVRFilteringMode: 2 52 | m_PVRDenoiserTypeDirect: 0 53 | m_PVRDenoiserTypeIndirect: 0 54 | m_PVRDenoiserTypeAO: 0 55 | m_PVRFilterTypeDirect: 0 56 | m_PVRFilterTypeIndirect: 0 57 | m_PVRFilterTypeAO: 0 58 | m_PVRFilteringGaussRadiusDirect: 1 59 | m_PVRFilteringGaussRadiusIndirect: 5 60 | m_PVRFilteringGaussRadiusAO: 2 61 | m_PVRFilteringAtrousPositionSigmaDirect: 0.5 62 | m_PVRFilteringAtrousPositionSigmaIndirect: 2 63 | m_PVRFilteringAtrousPositionSigmaAO: 1 64 | m_PVRTiledBaking: 0 65 | -------------------------------------------------------------------------------- /demo/Assets/Scenes/NewScenes/audioSettings.lighting.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 772e51294b6cad54c8a61c0612d1ebcb 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 4890085278179872738 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /demo/Assets/Scenes/NewScenes/banner.unity.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 9d2ccf09bd4973845ab2eabf7a533457 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /demo/Assets/Scenes/NewScenes/bannerSettings.lighting: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!850595691 &4890085278179872738 4 | LightingSettings: 5 | m_ObjectHideFlags: 0 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | m_Name: bannerSettings 10 | serializedVersion: 4 11 | m_GIWorkflowMode: 1 12 | m_EnableBakedLightmaps: 0 13 | m_EnableRealtimeLightmaps: 0 14 | m_RealtimeEnvironmentLighting: 1 15 | m_BounceScale: 1 16 | m_AlbedoBoost: 1 17 | m_IndirectOutputScale: 1 18 | m_UsingShadowmask: 1 19 | m_BakeBackend: 1 20 | m_LightmapMaxSize: 1024 21 | m_BakeResolution: 40 22 | m_Padding: 2 23 | m_LightmapCompression: 3 24 | m_AO: 0 25 | m_AOMaxDistance: 1 26 | m_CompAOExponent: 1 27 | m_CompAOExponentDirect: 0 28 | m_ExtractAO: 0 29 | m_MixedBakeMode: 2 30 | m_LightmapsBakeMode: 1 31 | m_FilterMode: 1 32 | m_LightmapParameters: {fileID: 15204, guid: 0000000000000000f000000000000000, type: 0} 33 | m_ExportTrainingData: 0 34 | m_TrainingDataDestination: TrainingData 35 | m_RealtimeResolution: 2 36 | m_ForceWhiteAlbedo: 0 37 | m_ForceUpdates: 0 38 | m_FinalGather: 0 39 | m_FinalGatherRayCount: 256 40 | m_FinalGatherFiltering: 1 41 | m_PVRCulling: 1 42 | m_PVRSampling: 1 43 | m_PVRDirectSampleCount: 32 44 | m_PVRSampleCount: 512 45 | m_PVREnvironmentSampleCount: 512 46 | m_PVREnvironmentReferencePointCount: 2048 47 | m_LightProbeSampleCountMultiplier: 4 48 | m_PVRBounces: 2 49 | m_PVRMinBounces: 2 50 | m_PVREnvironmentMIS: 0 51 | m_PVRFilteringMode: 2 52 | m_PVRDenoiserTypeDirect: 0 53 | m_PVRDenoiserTypeIndirect: 0 54 | m_PVRDenoiserTypeAO: 0 55 | m_PVRFilterTypeDirect: 0 56 | m_PVRFilterTypeIndirect: 0 57 | m_PVRFilterTypeAO: 0 58 | m_PVRFilteringGaussRadiusDirect: 1 59 | m_PVRFilteringGaussRadiusIndirect: 5 60 | m_PVRFilteringGaussRadiusAO: 2 61 | m_PVRFilteringAtrousPositionSigmaDirect: 0.5 62 | m_PVRFilteringAtrousPositionSigmaIndirect: 2 63 | m_PVRFilteringAtrousPositionSigmaAO: 1 64 | m_PVRTiledBaking: 0 65 | -------------------------------------------------------------------------------- /demo/Assets/Scenes/NewScenes/bannerSettings.lighting.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 957764d809088714bb7b648e031ea8e7 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 4890085278179872738 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /demo/Assets/Scenes/NewScenes/custom.unity.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6c76b09e23d33d04692f77b1a6f8a819 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /demo/Assets/Scenes/NewScenes/customSettings.lighting: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!850595691 &4890085278179872738 4 | LightingSettings: 5 | m_ObjectHideFlags: 0 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | m_Name: customSettings 10 | serializedVersion: 4 11 | m_GIWorkflowMode: 1 12 | m_EnableBakedLightmaps: 0 13 | m_EnableRealtimeLightmaps: 0 14 | m_RealtimeEnvironmentLighting: 1 15 | m_BounceScale: 1 16 | m_AlbedoBoost: 1 17 | m_IndirectOutputScale: 1 18 | m_UsingShadowmask: 1 19 | m_BakeBackend: 1 20 | m_LightmapMaxSize: 1024 21 | m_BakeResolution: 40 22 | m_Padding: 2 23 | m_LightmapCompression: 3 24 | m_AO: 0 25 | m_AOMaxDistance: 1 26 | m_CompAOExponent: 1 27 | m_CompAOExponentDirect: 0 28 | m_ExtractAO: 0 29 | m_MixedBakeMode: 2 30 | m_LightmapsBakeMode: 1 31 | m_FilterMode: 1 32 | m_LightmapParameters: {fileID: 15204, guid: 0000000000000000f000000000000000, type: 0} 33 | m_ExportTrainingData: 0 34 | m_TrainingDataDestination: TrainingData 35 | m_RealtimeResolution: 2 36 | m_ForceWhiteAlbedo: 0 37 | m_ForceUpdates: 0 38 | m_FinalGather: 0 39 | m_FinalGatherRayCount: 256 40 | m_FinalGatherFiltering: 1 41 | m_PVRCulling: 1 42 | m_PVRSampling: 1 43 | m_PVRDirectSampleCount: 32 44 | m_PVRSampleCount: 512 45 | m_PVREnvironmentSampleCount: 512 46 | m_PVREnvironmentReferencePointCount: 2048 47 | m_LightProbeSampleCountMultiplier: 4 48 | m_PVRBounces: 2 49 | m_PVRMinBounces: 2 50 | m_PVREnvironmentMIS: 0 51 | m_PVRFilteringMode: 2 52 | m_PVRDenoiserTypeDirect: 0 53 | m_PVRDenoiserTypeIndirect: 0 54 | m_PVRDenoiserTypeAO: 0 55 | m_PVRFilterTypeDirect: 0 56 | m_PVRFilterTypeIndirect: 0 57 | m_PVRFilterTypeAO: 0 58 | m_PVRFilteringGaussRadiusDirect: 1 59 | m_PVRFilteringGaussRadiusIndirect: 5 60 | m_PVRFilteringGaussRadiusAO: 2 61 | m_PVRFilteringAtrousPositionSigmaDirect: 0.5 62 | m_PVRFilteringAtrousPositionSigmaIndirect: 2 63 | m_PVRFilteringAtrousPositionSigmaAO: 1 64 | m_PVRTiledBaking: 0 65 | -------------------------------------------------------------------------------- /demo/Assets/Scenes/NewScenes/customSettings.lighting.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e40780be1f1015d469501854baa400e9 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 4890085278179872738 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /demo/Assets/Scenes/NewScenes/deviceInfo.unity.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3b390ae58c0c2e442a45b27c1c8833e8 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /demo/Assets/Scenes/NewScenes/deviceInfoOther.unity.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1b4738d4cc46a7246b9d59331a397c65 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /demo/Assets/Scenes/NewScenes/deviceMotion.unity.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 499f8124009e9fa4fb177aea29b29167 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /demo/Assets/Scenes/NewScenes/filemanager.unity.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3fbbdcbf0880dc1459f6aa4bb7655c81 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /demo/Assets/Scenes/NewScenes/gameBanner.unity.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 75268fad364c59c4781e0f971db76dce 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /demo/Assets/Scenes/NewScenes/gameBannerSettings.lighting: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!850595691 &4890085278179872738 4 | LightingSettings: 5 | m_ObjectHideFlags: 0 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | m_Name: gameBannerSettings 10 | serializedVersion: 4 11 | m_GIWorkflowMode: 1 12 | m_EnableBakedLightmaps: 0 13 | m_EnableRealtimeLightmaps: 0 14 | m_RealtimeEnvironmentLighting: 1 15 | m_BounceScale: 1 16 | m_AlbedoBoost: 1 17 | m_IndirectOutputScale: 1 18 | m_UsingShadowmask: 1 19 | m_BakeBackend: 1 20 | m_LightmapMaxSize: 1024 21 | m_BakeResolution: 40 22 | m_Padding: 2 23 | m_LightmapCompression: 3 24 | m_AO: 0 25 | m_AOMaxDistance: 1 26 | m_CompAOExponent: 1 27 | m_CompAOExponentDirect: 0 28 | m_ExtractAO: 0 29 | m_MixedBakeMode: 2 30 | m_LightmapsBakeMode: 1 31 | m_FilterMode: 1 32 | m_LightmapParameters: {fileID: 15204, guid: 0000000000000000f000000000000000, type: 0} 33 | m_ExportTrainingData: 0 34 | m_TrainingDataDestination: TrainingData 35 | m_RealtimeResolution: 2 36 | m_ForceWhiteAlbedo: 0 37 | m_ForceUpdates: 0 38 | m_FinalGather: 0 39 | m_FinalGatherRayCount: 256 40 | m_FinalGatherFiltering: 1 41 | m_PVRCulling: 1 42 | m_PVRSampling: 1 43 | m_PVRDirectSampleCount: 32 44 | m_PVRSampleCount: 512 45 | m_PVREnvironmentSampleCount: 512 46 | m_PVREnvironmentReferencePointCount: 2048 47 | m_LightProbeSampleCountMultiplier: 4 48 | m_PVRBounces: 2 49 | m_PVRMinBounces: 2 50 | m_PVREnvironmentMIS: 0 51 | m_PVRFilteringMode: 2 52 | m_PVRDenoiserTypeDirect: 0 53 | m_PVRDenoiserTypeIndirect: 0 54 | m_PVRDenoiserTypeAO: 0 55 | m_PVRFilterTypeDirect: 0 56 | m_PVRFilterTypeIndirect: 0 57 | m_PVRFilterTypeAO: 0 58 | m_PVRFilteringGaussRadiusDirect: 1 59 | m_PVRFilteringGaussRadiusIndirect: 5 60 | m_PVRFilteringGaussRadiusAO: 2 61 | m_PVRFilteringAtrousPositionSigmaDirect: 0.5 62 | m_PVRFilteringAtrousPositionSigmaIndirect: 2 63 | m_PVRFilteringAtrousPositionSigmaAO: 1 64 | m_PVRTiledBaking: 0 65 | -------------------------------------------------------------------------------- /demo/Assets/Scenes/NewScenes/gameBannerSettings.lighting.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 7027c758cc7fb73469d006795e5bd886 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 4890085278179872738 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /demo/Assets/Scenes/NewScenes/gameDrawer.unity.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 04b25042dfb51594881f1a9b3e57bd8d 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /demo/Assets/Scenes/NewScenes/gameDrawerSettings.lighting: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!850595691 &4890085278179872738 4 | LightingSettings: 5 | m_ObjectHideFlags: 0 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | m_Name: gameDrawerSettings 10 | serializedVersion: 4 11 | m_GIWorkflowMode: 1 12 | m_EnableBakedLightmaps: 0 13 | m_EnableRealtimeLightmaps: 0 14 | m_RealtimeEnvironmentLighting: 1 15 | m_BounceScale: 1 16 | m_AlbedoBoost: 1 17 | m_IndirectOutputScale: 1 18 | m_UsingShadowmask: 1 19 | m_BakeBackend: 1 20 | m_LightmapMaxSize: 1024 21 | m_BakeResolution: 40 22 | m_Padding: 2 23 | m_LightmapCompression: 3 24 | m_AO: 0 25 | m_AOMaxDistance: 1 26 | m_CompAOExponent: 1 27 | m_CompAOExponentDirect: 0 28 | m_ExtractAO: 0 29 | m_MixedBakeMode: 2 30 | m_LightmapsBakeMode: 1 31 | m_FilterMode: 1 32 | m_LightmapParameters: {fileID: 15204, guid: 0000000000000000f000000000000000, type: 0} 33 | m_ExportTrainingData: 0 34 | m_TrainingDataDestination: TrainingData 35 | m_RealtimeResolution: 2 36 | m_ForceWhiteAlbedo: 0 37 | m_ForceUpdates: 0 38 | m_FinalGather: 0 39 | m_FinalGatherRayCount: 256 40 | m_FinalGatherFiltering: 1 41 | m_PVRCulling: 1 42 | m_PVRSampling: 1 43 | m_PVRDirectSampleCount: 32 44 | m_PVRSampleCount: 512 45 | m_PVREnvironmentSampleCount: 512 46 | m_PVREnvironmentReferencePointCount: 2048 47 | m_LightProbeSampleCountMultiplier: 4 48 | m_PVRBounces: 2 49 | m_PVRMinBounces: 2 50 | m_PVREnvironmentMIS: 0 51 | m_PVRFilteringMode: 2 52 | m_PVRDenoiserTypeDirect: 0 53 | m_PVRDenoiserTypeIndirect: 0 54 | m_PVRDenoiserTypeAO: 0 55 | m_PVRFilterTypeDirect: 0 56 | m_PVRFilterTypeIndirect: 0 57 | m_PVRFilterTypeAO: 0 58 | m_PVRFilteringGaussRadiusDirect: 1 59 | m_PVRFilteringGaussRadiusIndirect: 5 60 | m_PVRFilteringGaussRadiusAO: 2 61 | m_PVRFilteringAtrousPositionSigmaDirect: 0.5 62 | m_PVRFilteringAtrousPositionSigmaIndirect: 2 63 | m_PVRFilteringAtrousPositionSigmaAO: 1 64 | m_PVRTiledBaking: 0 65 | -------------------------------------------------------------------------------- /demo/Assets/Scenes/NewScenes/gameDrawerSettings.lighting.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3adaa757fceaec240952a9edf4739a70 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 4890085278179872738 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /demo/Assets/Scenes/NewScenes/gamePortal.unity.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 89409a2bd57d6894496877b4a7d7f064 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /demo/Assets/Scenes/NewScenes/gamePortalSettings.lighting: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!850595691 &4890085278179872738 4 | LightingSettings: 5 | m_ObjectHideFlags: 0 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | m_Name: gamePortalSettings 10 | serializedVersion: 4 11 | m_GIWorkflowMode: 1 12 | m_EnableBakedLightmaps: 0 13 | m_EnableRealtimeLightmaps: 0 14 | m_RealtimeEnvironmentLighting: 1 15 | m_BounceScale: 1 16 | m_AlbedoBoost: 1 17 | m_IndirectOutputScale: 1 18 | m_UsingShadowmask: 1 19 | m_BakeBackend: 1 20 | m_LightmapMaxSize: 1024 21 | m_BakeResolution: 40 22 | m_Padding: 2 23 | m_LightmapCompression: 3 24 | m_AO: 0 25 | m_AOMaxDistance: 1 26 | m_CompAOExponent: 1 27 | m_CompAOExponentDirect: 0 28 | m_ExtractAO: 0 29 | m_MixedBakeMode: 2 30 | m_LightmapsBakeMode: 1 31 | m_FilterMode: 1 32 | m_LightmapParameters: {fileID: 15204, guid: 0000000000000000f000000000000000, type: 0} 33 | m_ExportTrainingData: 0 34 | m_TrainingDataDestination: TrainingData 35 | m_RealtimeResolution: 2 36 | m_ForceWhiteAlbedo: 0 37 | m_ForceUpdates: 0 38 | m_FinalGather: 0 39 | m_FinalGatherRayCount: 256 40 | m_FinalGatherFiltering: 1 41 | m_PVRCulling: 1 42 | m_PVRSampling: 1 43 | m_PVRDirectSampleCount: 32 44 | m_PVRSampleCount: 512 45 | m_PVREnvironmentSampleCount: 512 46 | m_PVREnvironmentReferencePointCount: 2048 47 | m_LightProbeSampleCountMultiplier: 4 48 | m_PVRBounces: 2 49 | m_PVRMinBounces: 2 50 | m_PVREnvironmentMIS: 0 51 | m_PVRFilteringMode: 2 52 | m_PVRDenoiserTypeDirect: 0 53 | m_PVRDenoiserTypeIndirect: 0 54 | m_PVRDenoiserTypeAO: 0 55 | m_PVRFilterTypeDirect: 0 56 | m_PVRFilterTypeIndirect: 0 57 | m_PVRFilterTypeAO: 0 58 | m_PVRFilteringGaussRadiusDirect: 1 59 | m_PVRFilteringGaussRadiusIndirect: 5 60 | m_PVRFilteringGaussRadiusAO: 2 61 | m_PVRFilteringAtrousPositionSigmaDirect: 0.5 62 | m_PVRFilteringAtrousPositionSigmaIndirect: 2 63 | m_PVRFilteringAtrousPositionSigmaAO: 1 64 | m_PVRTiledBaking: 0 65 | -------------------------------------------------------------------------------- /demo/Assets/Scenes/NewScenes/gamePortalSettings.lighting.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5dc04418fc30b4a4a969631130af46ca 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 4890085278179872738 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /demo/Assets/Scenes/NewScenes/login.unity.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6c6df49e773ed784bbef3266d173fd61 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /demo/Assets/Scenes/NewScenes/main.unity.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: fe65a94e3707b0744af1f1b78fcc6e00 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /demo/Assets/Scenes/NewScenes/mainSettings.lighting: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!850595691 &4890085278179872738 4 | LightingSettings: 5 | m_ObjectHideFlags: 0 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | m_Name: mainSettings 10 | serializedVersion: 4 11 | m_GIWorkflowMode: 1 12 | m_EnableBakedLightmaps: 0 13 | m_EnableRealtimeLightmaps: 0 14 | m_RealtimeEnvironmentLighting: 1 15 | m_BounceScale: 1 16 | m_AlbedoBoost: 1 17 | m_IndirectOutputScale: 1 18 | m_UsingShadowmask: 1 19 | m_BakeBackend: 1 20 | m_LightmapMaxSize: 1024 21 | m_BakeResolution: 40 22 | m_Padding: 2 23 | m_LightmapCompression: 3 24 | m_AO: 0 25 | m_AOMaxDistance: 1 26 | m_CompAOExponent: 1 27 | m_CompAOExponentDirect: 0 28 | m_ExtractAO: 0 29 | m_MixedBakeMode: 2 30 | m_LightmapsBakeMode: 1 31 | m_FilterMode: 1 32 | m_LightmapParameters: {fileID: 15204, guid: 0000000000000000f000000000000000, type: 0} 33 | m_ExportTrainingData: 0 34 | m_TrainingDataDestination: TrainingData 35 | m_RealtimeResolution: 2 36 | m_ForceWhiteAlbedo: 0 37 | m_ForceUpdates: 0 38 | m_FinalGather: 0 39 | m_FinalGatherRayCount: 256 40 | m_FinalGatherFiltering: 1 41 | m_PVRCulling: 1 42 | m_PVRSampling: 1 43 | m_PVRDirectSampleCount: 32 44 | m_PVRSampleCount: 512 45 | m_PVREnvironmentSampleCount: 512 46 | m_PVREnvironmentReferencePointCount: 2048 47 | m_LightProbeSampleCountMultiplier: 4 48 | m_PVRBounces: 2 49 | m_PVRMinBounces: 2 50 | m_PVREnvironmentMIS: 0 51 | m_PVRFilteringMode: 2 52 | m_PVRDenoiserTypeDirect: 0 53 | m_PVRDenoiserTypeIndirect: 0 54 | m_PVRDenoiserTypeAO: 0 55 | m_PVRFilterTypeDirect: 0 56 | m_PVRFilterTypeIndirect: 0 57 | m_PVRFilterTypeAO: 0 58 | m_PVRFilteringGaussRadiusDirect: 1 59 | m_PVRFilteringGaussRadiusIndirect: 5 60 | m_PVRFilteringGaussRadiusAO: 2 61 | m_PVRFilteringAtrousPositionSigmaDirect: 0.5 62 | m_PVRFilteringAtrousPositionSigmaIndirect: 2 63 | m_PVRFilteringAtrousPositionSigmaAO: 1 64 | m_PVRTiledBaking: 0 65 | -------------------------------------------------------------------------------- /demo/Assets/Scenes/NewScenes/mainSettings.lighting.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8aff5ce9b6614a14aabdccd7ac9132d5 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 4890085278179872738 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /demo/Assets/Scenes/NewScenes/onAuthDialogShow.unity.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 7f3e661492a592842b0b63b362f132f8 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /demo/Assets/Scenes/NewScenes/onShow.unity.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ae76f2fc5cd703c4488e16713d6809cc 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /demo/Assets/Scenes/NewScenes/qgpay.unity.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ea414604814a9064fbcc7086542bd021 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /demo/Assets/Scenes/NewScenes/recorder.unity.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ba9f89b0f5fc7d7438760ea86fb8d208 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /demo/Assets/Scenes/NewScenes/rewardedVideo.unity.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d0f5050d9aec4b544b1ba8b991462bca 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /demo/Assets/Scenes/NewScenes/rewardedVideoSettings.lighting: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!850595691 &4890085278179872738 4 | LightingSettings: 5 | m_ObjectHideFlags: 0 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | m_Name: rewardedVideoSettings 10 | serializedVersion: 4 11 | m_GIWorkflowMode: 1 12 | m_EnableBakedLightmaps: 0 13 | m_EnableRealtimeLightmaps: 0 14 | m_RealtimeEnvironmentLighting: 1 15 | m_BounceScale: 1 16 | m_AlbedoBoost: 1 17 | m_IndirectOutputScale: 1 18 | m_UsingShadowmask: 1 19 | m_BakeBackend: 1 20 | m_LightmapMaxSize: 1024 21 | m_BakeResolution: 40 22 | m_Padding: 2 23 | m_LightmapCompression: 3 24 | m_AO: 0 25 | m_AOMaxDistance: 1 26 | m_CompAOExponent: 1 27 | m_CompAOExponentDirect: 0 28 | m_ExtractAO: 0 29 | m_MixedBakeMode: 2 30 | m_LightmapsBakeMode: 1 31 | m_FilterMode: 1 32 | m_LightmapParameters: {fileID: 15204, guid: 0000000000000000f000000000000000, type: 0} 33 | m_ExportTrainingData: 0 34 | m_TrainingDataDestination: TrainingData 35 | m_RealtimeResolution: 2 36 | m_ForceWhiteAlbedo: 0 37 | m_ForceUpdates: 0 38 | m_FinalGather: 0 39 | m_FinalGatherRayCount: 256 40 | m_FinalGatherFiltering: 1 41 | m_PVRCulling: 1 42 | m_PVRSampling: 1 43 | m_PVRDirectSampleCount: 32 44 | m_PVRSampleCount: 512 45 | m_PVREnvironmentSampleCount: 512 46 | m_PVREnvironmentReferencePointCount: 2048 47 | m_LightProbeSampleCountMultiplier: 4 48 | m_PVRBounces: 2 49 | m_PVRMinBounces: 2 50 | m_PVREnvironmentMIS: 0 51 | m_PVRFilteringMode: 2 52 | m_PVRDenoiserTypeDirect: 0 53 | m_PVRDenoiserTypeIndirect: 0 54 | m_PVRDenoiserTypeAO: 0 55 | m_PVRFilterTypeDirect: 0 56 | m_PVRFilterTypeIndirect: 0 57 | m_PVRFilterTypeAO: 0 58 | m_PVRFilteringGaussRadiusDirect: 1 59 | m_PVRFilteringGaussRadiusIndirect: 5 60 | m_PVRFilteringGaussRadiusAO: 2 61 | m_PVRFilteringAtrousPositionSigmaDirect: 0.5 62 | m_PVRFilteringAtrousPositionSigmaIndirect: 2 63 | m_PVRFilteringAtrousPositionSigmaAO: 1 64 | m_PVRTiledBaking: 0 65 | -------------------------------------------------------------------------------- /demo/Assets/Scenes/NewScenes/rewardedVideoSettings.lighting.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: dd9232b8f4a3162469a6f2827d44f168 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 4890085278179872738 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /demo/Assets/Scenes/NewScenes/showModal.unity.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5bee905a62b7af24a991c0bdf75cad0c 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /demo/Assets/Scenes/NewScenes/systemInfo.unity.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0ccb615aaba971b44befd577b2f56d26 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /demo/Assets/Scenes/NewScenes/unityAudio.unity.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 34f6804019c37fa418b66c48fbaa7252 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /demo/Assets/Scenes/NewScenes/vibrateShort.unity.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0be1614e7f7d85c47a666d3ee7ad031d 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /demo/Assets/Scenes/NewScenes/video.unity.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2ccc854c710c6504a88f6a0aceac4d30 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /demo/Assets/Script.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 986e181a6eca94445821c1678e5eeb28 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /demo/Assets/Script/demo.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1c2e1ffd979ab304396cdde5a801d559 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /demo/Assets/Script/demo/Interstitial.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 98ca273e120b2e64d8f3cf8e24d339f3 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /demo/Assets/Script/demo/PlayerPrefs.cs: -------------------------------------------------------------------------------- 1 | using QGMiniGame; 2 | using UnityEngine; 3 | using System; 4 | //覆盖unity的PlayerPrefs 5 | public static class PlayerPrefs 6 | { 7 | public static void SetInt(string key, int value) 8 | { 9 | string numberStr = value.ToString(); 10 | QG.StorageSetItem(key, numberStr); 11 | } 12 | public static int GetInt(string key, int defaultValue = 0) 13 | { 14 | try 15 | { 16 | string numberStr = QG.StorageGetItem(key); 17 | int number = int.Parse(numberStr); 18 | return number; 19 | } 20 | catch (Exception error) 21 | { 22 | Debug.LogError(error); 23 | return defaultValue; 24 | } 25 | } 26 | public static void SetString(string key, string value) 27 | { 28 | QG.StorageSetItem(key, value); 29 | } 30 | public static string GetString(string key, string defaultValue = "") 31 | { 32 | try 33 | { 34 | string value = QG.StorageGetItem(key); 35 | return value; 36 | } 37 | catch (Exception error) 38 | { 39 | Debug.LogError(error); 40 | return defaultValue; 41 | } 42 | } 43 | public static void SetFloat(string key, float value) 44 | { 45 | string numberStr = value.ToString(); 46 | QG.StorageSetItem(key, numberStr); 47 | } 48 | public static float GetFloat(string key, float defaultValue = 0) 49 | { 50 | try 51 | { 52 | string numberStr = QG.StorageGetItem(key); 53 | float number = float.Parse(numberStr); 54 | return number; 55 | } 56 | catch (Exception error) 57 | { 58 | Debug.LogError(error); 59 | return defaultValue; 60 | } 61 | } 62 | public static void DeleteAll() 63 | { 64 | QG.StorageClear(); 65 | } 66 | public static void DeleteKey(string key) 67 | { 68 | QG.StorageRemoveItem(key); 69 | } 70 | public static bool HasKey(string key) 71 | { 72 | string value = QG.StorageGetItem(key); 73 | return !string.IsNullOrWhiteSpace(value); 74 | } 75 | public static void Save() { } 76 | } 77 | -------------------------------------------------------------------------------- /demo/Assets/Script/demo/PlayerPrefs.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: fae3e58c65ea0024baa04fc90e4475a5 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /demo/Assets/Script/demo/banner.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a8722a7757e67594883a4ea815190a91 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /demo/Assets/Script/demo/customAd.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 9ee4288abb63c384c9332e4fa6f0082e 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /demo/Assets/Script/demo/filemanager.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 88ddf8e25091f3e4aa8cdf06be206d1c 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /demo/Assets/Script/demo/gameAudio.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f301b1cb33cadf7438610f878168e4d7 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /demo/Assets/Script/demo/gameAudioNew.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 9e327c8fa6c5cde48baa12347b2f0c1a 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /demo/Assets/Script/demo/gameBanner.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8a1a793534ca47044aedabb012de3db9 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /demo/Assets/Script/demo/gameDeviceInfo.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: dd5731630b2623a4ea6ae870af1be165 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /demo/Assets/Script/demo/gameDeviceInfoOther.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 84977a5b720227f44b1d502d5538c553 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /demo/Assets/Script/demo/gameDeviceMotion.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using UnityEngine.UI; 3 | using QGMiniGame; 4 | using UnityEngine.SceneManagement; 5 | using System; 6 | public class gameDeviceMotion : MonoBehaviour 7 | { 8 | public Button comebackbtn; 9 | 10 | public Button startDeviceMotionListeningBtn; 11 | 12 | public Button stopDeviceMotionListeningBtn; 13 | 14 | public Button onDeviceMotionChangeBtn; 15 | 16 | public Button offDeviceMotionChangeBtn; 17 | public Button getDeviceMotionChangeBtn; 18 | 19 | public Text loginMessage; 20 | 21 | private bool isGetDeviceData = false; 22 | void Start() 23 | { 24 | comebackbtn.onClick.AddListener(comebackfunc); 25 | startDeviceMotionListeningBtn.onClick.AddListener(startDeviceMotionListeningFunc); 26 | stopDeviceMotionListeningBtn.onClick.AddListener(stopDeviceMotionListeningFunc); 27 | onDeviceMotionChangeBtn.onClick.AddListener(onDeviceMotionChangeFunc); 28 | offDeviceMotionChangeBtn.onClick.AddListener(offDeviceMotionChangeFunc); 29 | getDeviceMotionChangeBtn.onClick.AddListener(getDeviceMotionChangeFunc); 30 | } 31 | 32 | void Update() 33 | { 34 | if (isGetDeviceData) 35 | { 36 | DeviceMotionChangeParam deviceMotionChangeParam = QGArManager.GetDeviceMotionChange(); 37 | // loginMessage.text = deviceMotionChangeParam == null ? "当前设备方向信息: \n数据为空" : loginMessage.text = "当前设备方向信息: \nalpha:" + deviceMotionChangeParam.alpha + "\nbeta:" + deviceMotionChangeParam.beta + "\ngamma:" + deviceMotionChangeParam.gamma; 38 | double radians = Math.PI / 2; // 90 degrees 39 | loginMessage.text = deviceMotionChangeParam == null ? "当前设备方向信息: \n数据为空" : loginMessage.text = "当前设备方向信息: \n弧度:\nalpha:" + deviceMotionChangeParam.alpha + "\nbeta:" + deviceMotionChangeParam.beta + "\ngamma:" + deviceMotionChangeParam.gamma + "\n角度:\nalpha:" + RadiansToDegrees(deviceMotionChangeParam.alpha) + "\nbeta:" + RadiansToDegrees(deviceMotionChangeParam.beta) + "\ngamma:" + RadiansToDegrees(deviceMotionChangeParam.gamma); 40 | } 41 | } 42 | 43 | public void comebackfunc() 44 | { 45 | SceneManager.LoadScene("main"); 46 | } 47 | 48 | public void startDeviceMotionListeningFunc() 49 | { 50 | QGArManager.StartDeviceMotionListening( 51 | "game", 52 | (success) => 53 | { 54 | Debug.Log("StartDeviceMotionListening = " + success); 55 | }, 56 | (fail) => 57 | { 58 | Debug.Log("StartDeviceMotionListening = " + fail); 59 | } 60 | ); 61 | } 62 | public void stopDeviceMotionListeningFunc() 63 | { 64 | QGArManager.StopDeviceMotionListening( 65 | (success) => 66 | { 67 | Debug.Log("StopDeviceMotionListening = " + success); 68 | }, 69 | (fail) => 70 | { 71 | Debug.Log("StopDeviceMotionListening = " + fail); 72 | } 73 | ); 74 | } 75 | 76 | public void onDeviceMotionChangeFunc() 77 | { 78 | QGArManager.OnDeviceMotionChange(); 79 | } 80 | 81 | public void offDeviceMotionChangeFunc() 82 | { 83 | QGArManager.OffDeviceMotionChange(); 84 | } 85 | 86 | public void getDeviceMotionChangeFunc() 87 | { 88 | isGetDeviceData = true; 89 | } 90 | 91 | public double RadiansToDegrees(float radians) 92 | { 93 | return radians * (180 / Math.PI); 94 | } 95 | } 96 | -------------------------------------------------------------------------------- /demo/Assets/Script/demo/gameDeviceMotion.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: efaf175700db0e44c96678aba5fbd0a6 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /demo/Assets/Script/demo/gameDrawer.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c0d549060624cec4088109d9dddb94ea 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /demo/Assets/Script/demo/gameLogin.cs: -------------------------------------------------------------------------------- 1 | using QGMiniGame; 2 | using System.Collections; 3 | using System.Collections.Generic; 4 | using UnityEngine; 5 | using UnityEngine.SceneManagement; 6 | using UnityEngine.UI; 7 | 8 | public class gameLogin : MonoBehaviour 9 | { 10 | public Text loginMessage; 11 | 12 | public Button comebackbtn; 13 | void Start() 14 | { 15 | 16 | comebackbtn.onClick.AddListener(comebackfunc); 17 | 18 | QG 19 | .Login((msg) => 20 | { 21 | Debug.Log("QG.Login success = " + JsonUtility.ToJson(msg)); 22 | loginMessage.text = "QG.Login success = " + JsonUtility.ToJson(msg); 23 | }, 24 | (msg) => 25 | { 26 | Debug.Log("QG.Login fail = " + msg.errMsg); 27 | loginMessage.text = "QG.Login fail = " + msg.errMsg; 28 | }); 29 | } 30 | 31 | public void comebackfunc() 32 | { 33 | SceneManager.LoadScene("main"); 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /demo/Assets/Script/demo/gameLogin.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 39865029d40f2da40aa3f225dda92598 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /demo/Assets/Script/demo/gameOnAuthDialogShow.cs: -------------------------------------------------------------------------------- 1 | using QGMiniGame; 2 | using System.Collections; 3 | using System.Collections.Generic; 4 | using UnityEngine; 5 | using UnityEngine.SceneManagement; 6 | using UnityEngine.UI; 7 | 8 | public class gameOnAuthDialogShow : MonoBehaviour 9 | { 10 | public Text authDialogShowMessage; 11 | public Text authDialogCloseMessage; 12 | public Button onAuthDialogShowBtn; 13 | public Button offAuthDialogShowBtn; 14 | public Button onAuthDialogCloseBtn; 15 | public Button offAuthDialogCloseBtn; 16 | public Button comebackbtn; 17 | void Start() 18 | { 19 | comebackbtn.onClick.AddListener(comebackfunc); 20 | 21 | onAuthDialogShowBtn.onClick.AddListener(OnAuthDialogShow); 22 | offAuthDialogShowBtn.onClick.AddListener(OffAuthDialogShow); 23 | onAuthDialogCloseBtn.onClick.AddListener(OnAuthDialogClose); 24 | offAuthDialogCloseBtn.onClick.AddListener(OffAuthDialogClose); 25 | } 26 | 27 | public void comebackfunc() 28 | { 29 | SceneManager.LoadScene("main"); 30 | } 31 | 32 | public void AuthDialogShowMessage(string str) 33 | { 34 | Debug.Log(str); 35 | authDialogShowMessage.text = str; 36 | } 37 | 38 | public void AuthDialogCloseMessage(string str) 39 | { 40 | Debug.Log(str); 41 | authDialogCloseMessage.text = str; 42 | } 43 | 44 | public void OnAuthDialogShow() 45 | { 46 | QG.OnAuthDialogShow((msg) => 47 | { 48 | Debug.Log("QG.OnAuthDialogShow = " + JsonUtility.ToJson(msg)); 49 | AuthDialogShowMessage("QG.OnAuthDialogShow = " + JsonUtility.ToJson(msg)); 50 | }); 51 | } 52 | 53 | public void OffAuthDialogShow() 54 | { 55 | AuthDialogShowMessage("回调日志:"); 56 | QG.OffAuthDialogShow((msg) => 57 | { 58 | Debug.Log("QG.OffAuthDialogShow = " + JsonUtility.ToJson(msg)); 59 | AuthDialogShowMessage("QG.OffAuthDialogShow = " + JsonUtility.ToJson(msg)); 60 | }); 61 | } 62 | 63 | public void OnAuthDialogClose() 64 | { 65 | QG.OnAuthDialogClose((msg) => 66 | { 67 | Debug.Log("QG.OnAuthDialogClose = " + JsonUtility.ToJson(msg)); 68 | AuthDialogCloseMessage("QG.OnAuthDialogClose = " + JsonUtility.ToJson(msg)); 69 | }); 70 | } 71 | 72 | public void OffAuthDialogClose() 73 | { 74 | AuthDialogCloseMessage("回调日志:"); 75 | QG.OffAuthDialogClose((msg) => 76 | { 77 | Debug.Log("QG.OffAuthDialogClose = " + JsonUtility.ToJson(msg)); 78 | AuthDialogCloseMessage("QG.OffAuthDialogClose = " + JsonUtility.ToJson(msg)); 79 | }); 80 | } 81 | } 82 | -------------------------------------------------------------------------------- /demo/Assets/Script/demo/gameOnAuthDialogShow.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1c9e446d0fddc7e44ac667c6e9235a7e 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /demo/Assets/Script/demo/gameOnShow.cs: -------------------------------------------------------------------------------- 1 | using QGMiniGame; 2 | using System.Collections; 3 | using System.Collections.Generic; 4 | using UnityEngine; 5 | using UnityEngine.SceneManagement; 6 | using UnityEngine.UI; 7 | 8 | public class gameOnShow : MonoBehaviour 9 | { 10 | public Text showMessage; 11 | public Text hideMessage; 12 | public Button onShowBtn; 13 | public Button offShowBtn; 14 | public Button onHideBtn; 15 | public Button offHideBtn; 16 | public Button comebackbtn; 17 | void Start() 18 | { 19 | comebackbtn.onClick.AddListener(comebackfunc); 20 | 21 | onShowBtn.onClick.AddListener(OnShow); 22 | offShowBtn.onClick.AddListener(OffShow); 23 | onHideBtn.onClick.AddListener(OnHide); 24 | offHideBtn.onClick.AddListener(OffHide); 25 | } 26 | 27 | public void comebackfunc() 28 | { 29 | SceneManager.LoadScene("main"); 30 | } 31 | 32 | public void ShowMessage(string str) 33 | { 34 | Debug.Log(str); 35 | showMessage.text = str; 36 | } 37 | 38 | public void HideMessage(string str) 39 | { 40 | Debug.Log(str); 41 | hideMessage.text = str; 42 | } 43 | 44 | public void OnShow() 45 | { 46 | QG.OnShow((msg) => 47 | { 48 | Debug.Log("QG.OnShow = " + JsonUtility.ToJson(msg)); 49 | ShowMessage("QG.OnShow = " + JsonUtility.ToJson(msg)); 50 | }); 51 | } 52 | 53 | public void OffShow() 54 | { 55 | ShowMessage("回调日志:"); 56 | QG.OffShow((msg) => 57 | { 58 | Debug.Log("QG.OffShow = " + JsonUtility.ToJson(msg)); 59 | ShowMessage("QG.OffShow = " + JsonUtility.ToJson(msg)); 60 | }); 61 | } 62 | 63 | public void OnHide() 64 | { 65 | QG.OnHide((msg) => 66 | { 67 | Debug.Log("QG.OnHide = " + JsonUtility.ToJson(msg)); 68 | HideMessage("QG.OnHide = " + JsonUtility.ToJson(msg)); 69 | }); 70 | } 71 | 72 | public void OffHide() 73 | { 74 | HideMessage("回调日志:"); 75 | QG.OffHide((msg) => 76 | { 77 | Debug.Log("QG.OffHide = " + JsonUtility.ToJson(msg)); 78 | HideMessage("QG.OffHide = " + JsonUtility.ToJson(msg)); 79 | }); 80 | } 81 | } 82 | -------------------------------------------------------------------------------- /demo/Assets/Script/demo/gameOnShow.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: dd1758a5e24f0f144acb997d6c7e8063 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /demo/Assets/Script/demo/gamePlayerPrefs.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0bee1b6481033244a8c4da7df8b1be8e 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /demo/Assets/Script/demo/gamePorta.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 765db65fb96935e478bd18b22346c2cf 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /demo/Assets/Script/demo/gameRecorder.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e546c600566ddb64cb5bf84a7a16ae11 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /demo/Assets/Script/demo/gameSystemInfo.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 911c13cd66078844490594fa4a892fe5 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /demo/Assets/Script/demo/gameUnityAudio.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d0aef5819a02bab44b9305c8b0925c60 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /demo/Assets/Script/demo/gameVideo.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 48c76a1f7566d1c43b669969d02f9964 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /demo/Assets/Script/demo/main_test.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: bc75c74a2a35c28459c263a652c588b4 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /demo/Assets/Script/demo/qgpay.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using UnityEngine.UI; 3 | using QGMiniGame; 4 | using UnityEngine.SceneManagement; 5 | 6 | public class qgpay : MonoBehaviour 7 | { 8 | public Button comebackbtn; 9 | 10 | public Button qgPaytestBtn; 11 | 12 | public Button qgPayBtn; 13 | 14 | void Start() 15 | { 16 | comebackbtn.onClick.AddListener(comebackfunc); 17 | qgPaytestBtn.onClick.AddListener(playQGPayTest); 18 | qgPayBtn.onClick.AddListener(playQGPay); 19 | } 20 | 21 | public void comebackfunc() 22 | { 23 | SceneManager.LoadScene("main"); 24 | } 25 | 26 | 27 | public void playQGPayTest() 28 | { 29 | //支付先登录拉数据 30 | QG.Login((msg) => 31 | { 32 | Debug.Log("QG.Login success = " + JsonUtility.ToJson(msg)); 33 | if (msg.data.token != string.Empty) 34 | { 35 | qgPaytestFunc(msg.data.token); 36 | } 37 | else 38 | { 39 | Debug.Log("The platform token fails to be obtained. Procedure"); 40 | } 41 | }, 42 | (msg) => 43 | { 44 | Debug.Log("QG.Login fail = " + msg.errMsg); 45 | }); 46 | } 47 | 48 | public void playQGPay() 49 | { 50 | //支付先登录拉数据 51 | QG.Login((msg) => 52 | { 53 | Debug.Log("QG.Login success = " + JsonUtility.ToJson(msg)); 54 | if (msg.data.token != string.Empty) 55 | { 56 | qgPayFunc(msg.data.token); 57 | } 58 | else 59 | { 60 | Debug.Log("The platform token fails to be obtained. Procedure"); 61 | } 62 | }, 63 | (msg) => 64 | { 65 | Debug.Log("QG.Login fail = " + msg.errMsg); 66 | }); 67 | } 68 | 69 | public void qgPaytestFunc(string parameterToken) 70 | { 71 | PayTestParam param = 72 | new PayTestParam() 73 | { 74 | appId = 30173650, 75 | openId = parameterToken, 76 | productName = "测试礼包", 77 | productDesc = "测试支付", 78 | count = 1, //商品数量(只能传1) 79 | price = 1, //商品价格,以分为单位 80 | currency = "CNY", //币种,人民币如:CNY 81 | callBackUrl = "", // 服务器接收平台返回数据的接口回调地址 82 | cpOrderId = "1.0", //CP自己的订单号 83 | appVersion = "1.0.0", //游戏版本 84 | deviceInfo = "", //设备号 85 | //model = "", //机型 86 | ip = "", //终端IP 87 | attach = ""//附加信息 88 | }; 89 | QG 90 | .PayTest(param, 91 | (msg) => 92 | { 93 | Debug.Log("QG.Pay success = " + JsonUtility.ToJson(msg)); 94 | }, 95 | (msg) => 96 | { 97 | Debug.Log("QG.Pay fail = " + JsonUtility.ToJson(msg)); 98 | }); 99 | } 100 | 101 | public void qgPayFunc(string parameterToken) 102 | { 103 | PayParam param = 104 | new PayParam() 105 | { 106 | appId = 0, 107 | openId = "", 108 | timestamp = 0, 109 | orderNo = "", 110 | paySign = "" 111 | }; 112 | QG 113 | .Pay(param, 114 | (msg) => 115 | { 116 | Debug.Log("QG.Pay success = " + JsonUtility.ToJson(msg)); 117 | }, 118 | (msg) => 119 | { 120 | Debug.Log("QG.Pay fail = " + JsonUtility.ToJson(msg)); 121 | }); 122 | } 123 | 124 | } 125 | -------------------------------------------------------------------------------- /demo/Assets/Script/demo/qgpay.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 81a511f88d5fb844795a116c707e924c 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /demo/Assets/Script/demo/rewardedVideo.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b38699af380d3994ca8314f82f03ca50 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /demo/Assets/Script/demo/showModal.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 16147b1e2d0be174a8b885a065a81f53 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /demo/Assets/Script/demo/storageItem.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3a979e50a72425446a23b5f23ed9cf6b 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /demo/Assets/Script/demo/test.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: eca6f5aed2195ce4299efde2318ad9c1 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /demo/Assets/Script/demo/userCloudStorageItem.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f67212a64abc04b4db9addc1f2989cb7 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /demo/Assets/Script/demo/vibrateShort.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using UnityEngine.UI; 3 | using QGMiniGame; 4 | using UnityEngine.SceneManagement; 5 | 6 | public class vibrateShort : MonoBehaviour 7 | { 8 | public Button comebackbtn; 9 | 10 | public Button vibrateShortbtn; 11 | 12 | public Button vibrateLongbtn; 13 | 14 | void Start() 15 | { 16 | comebackbtn.onClick.AddListener(comebackfunc); 17 | vibrateShortbtn.onClick.AddListener(vibrateShortFunc); 18 | vibrateLongbtn.onClick.AddListener(vibrateLongFunc); 19 | } 20 | 21 | void vibrateShortFunc() 22 | { 23 | QG.VibrateShort(); 24 | } 25 | void vibrateLongFunc() 26 | { 27 | QG.VibrateLong(); 28 | } 29 | 30 | public void comebackfunc() 31 | { 32 | SceneManager.LoadScene("main"); 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /demo/Assets/Script/demo/vibrateShort.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6a0b1dc01133aa64d899bfb8724a94bd 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /demo/Assets/Texture.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 088cdb36720e7e747b7b0d0ced2ecd65 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /demo/Assets/Texture/bg1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oppominigame/unity-webgl-to-oppo-minigame/4576915ac5654945132f3355c64fa84bdd320100/demo/Assets/Texture/bg1.jpg -------------------------------------------------------------------------------- /demo/Assets/Texture/bg1.jpg.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2e5bffbec7ecee2438cbfde6b27af22d 3 | TextureImporter: 4 | internalIDToNameTable: [] 5 | externalObjects: {} 6 | serializedVersion: 11 7 | mipmaps: 8 | mipMapMode: 0 9 | enableMipMap: 0 10 | sRGBTexture: 1 11 | linearTexture: 0 12 | fadeOut: 0 13 | borderMipMap: 0 14 | mipMapsPreserveCoverage: 0 15 | alphaTestReferenceValue: 0.5 16 | mipMapFadeDistanceStart: 1 17 | mipMapFadeDistanceEnd: 3 18 | bumpmap: 19 | convertToNormalMap: 0 20 | externalNormalMap: 0 21 | heightScale: 0.25 22 | normalMapFilter: 0 23 | isReadable: 0 24 | streamingMipmaps: 0 25 | streamingMipmapsPriority: 0 26 | grayScaleToAlpha: 0 27 | generateCubemap: 6 28 | cubemapConvolution: 0 29 | seamlessCubemap: 0 30 | textureFormat: 1 31 | maxTextureSize: 2048 32 | textureSettings: 33 | serializedVersion: 2 34 | filterMode: -1 35 | aniso: -1 36 | mipBias: -100 37 | wrapU: 1 38 | wrapV: 1 39 | wrapW: 1 40 | nPOTScale: 0 41 | lightmap: 0 42 | compressionQuality: 50 43 | spriteMode: 1 44 | spriteExtrude: 1 45 | spriteMeshType: 1 46 | alignment: 0 47 | spritePivot: {x: 0.5, y: 0.5} 48 | spritePixelsToUnits: 100 49 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 50 | spriteGenerateFallbackPhysicsShape: 1 51 | alphaUsage: 1 52 | alphaIsTransparency: 1 53 | spriteTessellationDetail: -1 54 | textureType: 8 55 | textureShape: 1 56 | singleChannelComponent: 0 57 | maxTextureSizeSet: 0 58 | compressionQualitySet: 0 59 | textureFormatSet: 0 60 | applyGammaDecoding: 0 61 | platformSettings: 62 | - serializedVersion: 3 63 | buildTarget: DefaultTexturePlatform 64 | maxTextureSize: 2048 65 | resizeAlgorithm: 0 66 | textureFormat: -1 67 | textureCompression: 1 68 | compressionQuality: 50 69 | crunchedCompression: 0 70 | allowsAlphaSplitting: 0 71 | overridden: 0 72 | androidETC2FallbackOverride: 0 73 | forceMaximumCompressionQuality_BC6H_BC7: 0 74 | spriteSheet: 75 | serializedVersion: 2 76 | sprites: [] 77 | outline: [] 78 | physicsShape: [] 79 | bones: [] 80 | spriteID: 5e97eb03825dee720800000000000000 81 | internalID: 0 82 | vertices: [] 83 | indices: 84 | edges: [] 85 | weights: [] 86 | secondaryTextures: [] 87 | spritePackingTag: 88 | pSDRemoveMatte: 0 89 | pSDShowRemoveMatteOption: 0 90 | userData: 91 | assetBundleName: 92 | assetBundleVariant: 93 | -------------------------------------------------------------------------------- /demo/Assets/Texture/bg2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oppominigame/unity-webgl-to-oppo-minigame/4576915ac5654945132f3355c64fa84bdd320100/demo/Assets/Texture/bg2.jpg -------------------------------------------------------------------------------- /demo/Assets/Texture/bg2.jpg.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2c17a0a40fae8774891c8148232736ec 3 | TextureImporter: 4 | internalIDToNameTable: [] 5 | externalObjects: {} 6 | serializedVersion: 11 7 | mipmaps: 8 | mipMapMode: 0 9 | enableMipMap: 0 10 | sRGBTexture: 1 11 | linearTexture: 0 12 | fadeOut: 0 13 | borderMipMap: 0 14 | mipMapsPreserveCoverage: 0 15 | alphaTestReferenceValue: 0.5 16 | mipMapFadeDistanceStart: 1 17 | mipMapFadeDistanceEnd: 3 18 | bumpmap: 19 | convertToNormalMap: 0 20 | externalNormalMap: 0 21 | heightScale: 0.25 22 | normalMapFilter: 0 23 | isReadable: 0 24 | streamingMipmaps: 0 25 | streamingMipmapsPriority: 0 26 | grayScaleToAlpha: 0 27 | generateCubemap: 6 28 | cubemapConvolution: 0 29 | seamlessCubemap: 0 30 | textureFormat: 1 31 | maxTextureSize: 2048 32 | textureSettings: 33 | serializedVersion: 2 34 | filterMode: -1 35 | aniso: -1 36 | mipBias: -100 37 | wrapU: 1 38 | wrapV: 1 39 | wrapW: 1 40 | nPOTScale: 0 41 | lightmap: 0 42 | compressionQuality: 50 43 | spriteMode: 1 44 | spriteExtrude: 1 45 | spriteMeshType: 1 46 | alignment: 0 47 | spritePivot: {x: 0.5, y: 0.5} 48 | spritePixelsToUnits: 100 49 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 50 | spriteGenerateFallbackPhysicsShape: 1 51 | alphaUsage: 1 52 | alphaIsTransparency: 1 53 | spriteTessellationDetail: -1 54 | textureType: 8 55 | textureShape: 1 56 | singleChannelComponent: 0 57 | maxTextureSizeSet: 0 58 | compressionQualitySet: 0 59 | textureFormatSet: 0 60 | applyGammaDecoding: 0 61 | platformSettings: 62 | - serializedVersion: 3 63 | buildTarget: DefaultTexturePlatform 64 | maxTextureSize: 2048 65 | resizeAlgorithm: 0 66 | textureFormat: -1 67 | textureCompression: 1 68 | compressionQuality: 50 69 | crunchedCompression: 0 70 | allowsAlphaSplitting: 0 71 | overridden: 0 72 | androidETC2FallbackOverride: 0 73 | forceMaximumCompressionQuality_BC6H_BC7: 0 74 | spriteSheet: 75 | serializedVersion: 2 76 | sprites: [] 77 | outline: [] 78 | physicsShape: [] 79 | bones: [] 80 | spriteID: 5e97eb03825dee720800000000000000 81 | internalID: 0 82 | vertices: [] 83 | indices: 84 | edges: [] 85 | weights: [] 86 | secondaryTextures: [] 87 | spritePackingTag: 88 | pSDRemoveMatte: 0 89 | pSDShowRemoveMatteOption: 0 90 | userData: 91 | assetBundleName: 92 | assetBundleVariant: 93 | -------------------------------------------------------------------------------- /demo/Assets/Texture/bg3.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oppominigame/unity-webgl-to-oppo-minigame/4576915ac5654945132f3355c64fa84bdd320100/demo/Assets/Texture/bg3.jpeg -------------------------------------------------------------------------------- /demo/Assets/Texture/bg3.jpeg.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e8645ceb30b627a498f4bfde30c11a8e 3 | TextureImporter: 4 | internalIDToNameTable: [] 5 | externalObjects: {} 6 | serializedVersion: 11 7 | mipmaps: 8 | mipMapMode: 0 9 | enableMipMap: 0 10 | sRGBTexture: 1 11 | linearTexture: 0 12 | fadeOut: 0 13 | borderMipMap: 0 14 | mipMapsPreserveCoverage: 0 15 | alphaTestReferenceValue: 0.5 16 | mipMapFadeDistanceStart: 1 17 | mipMapFadeDistanceEnd: 3 18 | bumpmap: 19 | convertToNormalMap: 0 20 | externalNormalMap: 0 21 | heightScale: 0.25 22 | normalMapFilter: 0 23 | isReadable: 0 24 | streamingMipmaps: 0 25 | streamingMipmapsPriority: 0 26 | grayScaleToAlpha: 0 27 | generateCubemap: 6 28 | cubemapConvolution: 0 29 | seamlessCubemap: 0 30 | textureFormat: 1 31 | maxTextureSize: 2048 32 | textureSettings: 33 | serializedVersion: 2 34 | filterMode: -1 35 | aniso: -1 36 | mipBias: -100 37 | wrapU: 1 38 | wrapV: 1 39 | wrapW: 1 40 | nPOTScale: 0 41 | lightmap: 0 42 | compressionQuality: 50 43 | spriteMode: 1 44 | spriteExtrude: 1 45 | spriteMeshType: 1 46 | alignment: 0 47 | spritePivot: {x: 0.5, y: 0.5} 48 | spritePixelsToUnits: 100 49 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 50 | spriteGenerateFallbackPhysicsShape: 1 51 | alphaUsage: 1 52 | alphaIsTransparency: 1 53 | spriteTessellationDetail: -1 54 | textureType: 8 55 | textureShape: 1 56 | singleChannelComponent: 0 57 | maxTextureSizeSet: 0 58 | compressionQualitySet: 0 59 | textureFormatSet: 0 60 | applyGammaDecoding: 0 61 | platformSettings: 62 | - serializedVersion: 3 63 | buildTarget: DefaultTexturePlatform 64 | maxTextureSize: 2048 65 | resizeAlgorithm: 0 66 | textureFormat: -1 67 | textureCompression: 1 68 | compressionQuality: 50 69 | crunchedCompression: 0 70 | allowsAlphaSplitting: 0 71 | overridden: 0 72 | androidETC2FallbackOverride: 0 73 | forceMaximumCompressionQuality_BC6H_BC7: 0 74 | spriteSheet: 75 | serializedVersion: 2 76 | sprites: [] 77 | outline: [] 78 | physicsShape: [] 79 | bones: [] 80 | spriteID: 5e97eb03825dee720800000000000000 81 | internalID: 0 82 | vertices: [] 83 | indices: 84 | edges: [] 85 | weights: [] 86 | secondaryTextures: [] 87 | spritePackingTag: 88 | pSDRemoveMatte: 0 89 | pSDShowRemoveMatteOption: 0 90 | userData: 91 | assetBundleName: 92 | assetBundleVariant: 93 | -------------------------------------------------------------------------------- /demo/Assets/Texture/bg4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oppominigame/unity-webgl-to-oppo-minigame/4576915ac5654945132f3355c64fa84bdd320100/demo/Assets/Texture/bg4.jpg -------------------------------------------------------------------------------- /demo/Assets/Texture/bg4.jpg.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 88fc267c2b5d14941bfe3f92df34ea9d 3 | TextureImporter: 4 | internalIDToNameTable: [] 5 | externalObjects: {} 6 | serializedVersion: 11 7 | mipmaps: 8 | mipMapMode: 0 9 | enableMipMap: 0 10 | sRGBTexture: 1 11 | linearTexture: 0 12 | fadeOut: 0 13 | borderMipMap: 0 14 | mipMapsPreserveCoverage: 0 15 | alphaTestReferenceValue: 0.5 16 | mipMapFadeDistanceStart: 1 17 | mipMapFadeDistanceEnd: 3 18 | bumpmap: 19 | convertToNormalMap: 0 20 | externalNormalMap: 0 21 | heightScale: 0.25 22 | normalMapFilter: 0 23 | isReadable: 0 24 | streamingMipmaps: 0 25 | streamingMipmapsPriority: 0 26 | grayScaleToAlpha: 0 27 | generateCubemap: 6 28 | cubemapConvolution: 0 29 | seamlessCubemap: 0 30 | textureFormat: 1 31 | maxTextureSize: 2048 32 | textureSettings: 33 | serializedVersion: 2 34 | filterMode: -1 35 | aniso: -1 36 | mipBias: -100 37 | wrapU: 1 38 | wrapV: 1 39 | wrapW: 1 40 | nPOTScale: 0 41 | lightmap: 0 42 | compressionQuality: 50 43 | spriteMode: 1 44 | spriteExtrude: 1 45 | spriteMeshType: 1 46 | alignment: 0 47 | spritePivot: {x: 0.5, y: 0.5} 48 | spritePixelsToUnits: 100 49 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 50 | spriteGenerateFallbackPhysicsShape: 1 51 | alphaUsage: 1 52 | alphaIsTransparency: 1 53 | spriteTessellationDetail: -1 54 | textureType: 8 55 | textureShape: 1 56 | singleChannelComponent: 0 57 | maxTextureSizeSet: 0 58 | compressionQualitySet: 0 59 | textureFormatSet: 0 60 | applyGammaDecoding: 0 61 | platformSettings: 62 | - serializedVersion: 3 63 | buildTarget: DefaultTexturePlatform 64 | maxTextureSize: 2048 65 | resizeAlgorithm: 0 66 | textureFormat: -1 67 | textureCompression: 1 68 | compressionQuality: 50 69 | crunchedCompression: 0 70 | allowsAlphaSplitting: 0 71 | overridden: 0 72 | androidETC2FallbackOverride: 0 73 | forceMaximumCompressionQuality_BC6H_BC7: 0 74 | spriteSheet: 75 | serializedVersion: 2 76 | sprites: [] 77 | outline: [] 78 | physicsShape: [] 79 | bones: [] 80 | spriteID: 5e97eb03825dee720800000000000000 81 | internalID: 0 82 | vertices: [] 83 | indices: 84 | edges: [] 85 | weights: [] 86 | secondaryTextures: [] 87 | spritePackingTag: 88 | pSDRemoveMatte: 0 89 | pSDShowRemoveMatteOption: 0 90 | userData: 91 | assetBundleName: 92 | assetBundleVariant: 93 | -------------------------------------------------------------------------------- /demo/Assets/Texture/bg5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oppominigame/unity-webgl-to-oppo-minigame/4576915ac5654945132f3355c64fa84bdd320100/demo/Assets/Texture/bg5.png -------------------------------------------------------------------------------- /demo/Assets/Texture/bg5.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2ba20feb219204c489ded922aec9560b 3 | TextureImporter: 4 | internalIDToNameTable: [] 5 | externalObjects: {} 6 | serializedVersion: 11 7 | mipmaps: 8 | mipMapMode: 0 9 | enableMipMap: 0 10 | sRGBTexture: 1 11 | linearTexture: 0 12 | fadeOut: 0 13 | borderMipMap: 0 14 | mipMapsPreserveCoverage: 0 15 | alphaTestReferenceValue: 0.5 16 | mipMapFadeDistanceStart: 1 17 | mipMapFadeDistanceEnd: 3 18 | bumpmap: 19 | convertToNormalMap: 0 20 | externalNormalMap: 0 21 | heightScale: 0.25 22 | normalMapFilter: 0 23 | isReadable: 0 24 | streamingMipmaps: 0 25 | streamingMipmapsPriority: 0 26 | grayScaleToAlpha: 0 27 | generateCubemap: 6 28 | cubemapConvolution: 0 29 | seamlessCubemap: 0 30 | textureFormat: 1 31 | maxTextureSize: 2048 32 | textureSettings: 33 | serializedVersion: 2 34 | filterMode: -1 35 | aniso: -1 36 | mipBias: -100 37 | wrapU: 1 38 | wrapV: 1 39 | wrapW: 1 40 | nPOTScale: 0 41 | lightmap: 0 42 | compressionQuality: 50 43 | spriteMode: 1 44 | spriteExtrude: 1 45 | spriteMeshType: 1 46 | alignment: 0 47 | spritePivot: {x: 0.5, y: 0.5} 48 | spritePixelsToUnits: 100 49 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 50 | spriteGenerateFallbackPhysicsShape: 1 51 | alphaUsage: 1 52 | alphaIsTransparency: 1 53 | spriteTessellationDetail: -1 54 | textureType: 8 55 | textureShape: 1 56 | singleChannelComponent: 0 57 | maxTextureSizeSet: 0 58 | compressionQualitySet: 0 59 | textureFormatSet: 0 60 | applyGammaDecoding: 0 61 | platformSettings: 62 | - serializedVersion: 3 63 | buildTarget: DefaultTexturePlatform 64 | maxTextureSize: 2048 65 | resizeAlgorithm: 0 66 | textureFormat: -1 67 | textureCompression: 1 68 | compressionQuality: 50 69 | crunchedCompression: 0 70 | allowsAlphaSplitting: 0 71 | overridden: 0 72 | androidETC2FallbackOverride: 0 73 | forceMaximumCompressionQuality_BC6H_BC7: 0 74 | spriteSheet: 75 | serializedVersion: 2 76 | sprites: [] 77 | outline: [] 78 | physicsShape: [] 79 | bones: [] 80 | spriteID: 5e97eb03825dee720800000000000000 81 | internalID: 0 82 | vertices: [] 83 | indices: 84 | edges: [] 85 | weights: [] 86 | secondaryTextures: [] 87 | spritePackingTag: 88 | pSDRemoveMatte: 0 89 | pSDShowRemoveMatteOption: 0 90 | userData: 91 | assetBundleName: 92 | assetBundleVariant: 93 | -------------------------------------------------------------------------------- /demo/Packages/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "dependencies": { 3 | "com.unity.2d.sprite": "1.0.0", 4 | "com.unity.2d.tilemap": "1.0.0", 5 | "com.unity.ads": "3.7.5", 6 | "com.unity.analytics": "3.6.12", 7 | "com.unity.collab-proxy": "1.17.6", 8 | "com.unity.ide.rider": "3.0.16", 9 | "com.unity.ide.visualstudio": "2.0.16", 10 | "com.unity.ide.vscode": "1.2.5", 11 | "com.unity.purchasing": "4.5.1", 12 | "com.unity.test-framework": "1.1.31", 13 | "com.unity.textmeshpro": "3.0.6", 14 | "com.unity.timeline": "1.6.4", 15 | "com.unity.ugui": "1.0.0", 16 | "com.unity.xr.legacyinputhelpers": "2.1.10", 17 | "com.unity.modules.ai": "1.0.0", 18 | "com.unity.modules.androidjni": "1.0.0", 19 | "com.unity.modules.animation": "1.0.0", 20 | "com.unity.modules.assetbundle": "1.0.0", 21 | "com.unity.modules.audio": "1.0.0", 22 | "com.unity.modules.cloth": "1.0.0", 23 | "com.unity.modules.director": "1.0.0", 24 | "com.unity.modules.imageconversion": "1.0.0", 25 | "com.unity.modules.imgui": "1.0.0", 26 | "com.unity.modules.jsonserialize": "1.0.0", 27 | "com.unity.modules.particlesystem": "1.0.0", 28 | "com.unity.modules.physics": "1.0.0", 29 | "com.unity.modules.physics2d": "1.0.0", 30 | "com.unity.modules.screencapture": "1.0.0", 31 | "com.unity.modules.terrain": "1.0.0", 32 | "com.unity.modules.terrainphysics": "1.0.0", 33 | "com.unity.modules.tilemap": "1.0.0", 34 | "com.unity.modules.ui": "1.0.0", 35 | "com.unity.modules.uielements": "1.0.0", 36 | "com.unity.modules.umbra": "1.0.0", 37 | "com.unity.modules.unityanalytics": "1.0.0", 38 | "com.unity.modules.unitywebrequest": "1.0.0", 39 | "com.unity.modules.unitywebrequestassetbundle": "1.0.0", 40 | "com.unity.modules.unitywebrequestaudio": "1.0.0", 41 | "com.unity.modules.unitywebrequesttexture": "1.0.0", 42 | "com.unity.modules.unitywebrequestwww": "1.0.0", 43 | "com.unity.modules.vehicles": "1.0.0", 44 | "com.unity.modules.video": "1.0.0", 45 | "com.unity.modules.vr": "1.0.0", 46 | "com.unity.modules.wind": "1.0.0", 47 | "com.unity.modules.xr": "1.0.0" 48 | } 49 | } 50 | -------------------------------------------------------------------------------- /demo/ProjectSettings/AudioManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!11 &1 4 | AudioManager: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 2 7 | m_Volume: 1 8 | Rolloff Scale: 1 9 | Doppler Factor: 1 10 | Default Speaker Mode: 2 11 | m_SampleRate: 0 12 | m_DSPBufferSize: 1024 13 | m_VirtualVoiceCount: 512 14 | m_RealVoiceCount: 32 15 | m_SpatializerPlugin: 16 | m_AmbisonicDecoderPlugin: 17 | m_DisableAudio: 0 18 | m_VirtualizeEffects: 1 19 | m_RequestedDSPBufferSize: 0 20 | -------------------------------------------------------------------------------- /demo/ProjectSettings/AutoStreamingSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!1200 &1 4 | AutoStreamingSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 2 7 | mSearchMode: 15 8 | mCustomSearchFile: 9 | mTextureSearchString: 10 | mMeshSearchString: 11 | mTextures: [] 12 | mAudios: [] 13 | mMeshes: [] 14 | mScenes: [] 15 | mConfigCCD: 16 | useCCD: 0 17 | cosKey: 18 | projectGuid: 19 | bucketUuid: 20 | bucketName: 21 | badgeName: 22 | -------------------------------------------------------------------------------- /demo/ProjectSettings/ClusterInputManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!236 &1 4 | ClusterInputManager: 5 | m_ObjectHideFlags: 0 6 | m_Inputs: [] 7 | -------------------------------------------------------------------------------- /demo/ProjectSettings/DynamicsManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!55 &1 4 | PhysicsManager: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 10 7 | m_Gravity: {x: 0, y: -9.81, z: 0} 8 | m_DefaultMaterial: {fileID: 0} 9 | m_BounceThreshold: 2 10 | m_SleepThreshold: 0.005 11 | m_DefaultContactOffset: 0.01 12 | m_DefaultSolverIterations: 6 13 | m_DefaultSolverVelocityIterations: 1 14 | m_QueriesHitBackfaces: 0 15 | m_QueriesHitTriggers: 1 16 | m_EnableAdaptiveForce: 0 17 | m_ClothInterCollisionDistance: 0 18 | m_ClothInterCollisionStiffness: 0 19 | m_ContactsGeneration: 1 20 | m_LayerCollisionMatrix: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 21 | m_AutoSimulation: 1 22 | m_AutoSyncTransforms: 0 23 | m_ReuseCollisionCallbacks: 0 24 | m_ClothInterCollisionSettingsToggle: 0 25 | m_ContactPairsMode: 0 26 | m_BroadphaseType: 0 27 | m_WorldBounds: 28 | m_Center: {x: 0, y: 0, z: 0} 29 | m_Extent: {x: 250, y: 250, z: 250} 30 | m_WorldSubdivisions: 8 31 | m_FrictionType: 0 32 | m_EnableEnhancedDeterminism: 0 33 | m_EnableUnifiedHeightmaps: 1 34 | -------------------------------------------------------------------------------- /demo/ProjectSettings/EditorBuildSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!1045 &1 4 | EditorBuildSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 2 7 | m_Scenes: 8 | - enabled: 1 9 | path: Assets/Scenes/NewScenes/main.unity 10 | guid: fe65a94e3707b0744af1f1b78fcc6e00 11 | - enabled: 1 12 | path: Assets/Scenes/NewScenes/audio.unity 13 | guid: 422c40e46d7cbe440990cd5356da26d8 14 | - enabled: 1 15 | path: Assets/Scenes/NewScenes/banner.unity 16 | guid: 9d2ccf09bd4973845ab2eabf7a533457 17 | - enabled: 1 18 | path: Assets/Scenes/NewScenes/custom.unity 19 | guid: 6c76b09e23d33d04692f77b1a6f8a819 20 | - enabled: 1 21 | path: Assets/Scenes/NewScenes/gameBanner.unity 22 | guid: 75268fad364c59c4781e0f971db76dce 23 | - enabled: 1 24 | path: Assets/Scenes/NewScenes/gameDrawer.unity 25 | guid: 04b25042dfb51594881f1a9b3e57bd8d 26 | - enabled: 1 27 | path: Assets/Scenes/NewScenes/gamePortal.unity 28 | guid: 89409a2bd57d6894496877b4a7d7f064 29 | - enabled: 1 30 | path: Assets/Scenes/NewScenes/Interstitial.unity 31 | guid: d3dca9b1d97aaf4439c06c763b15cec8 32 | - enabled: 1 33 | path: Assets/Scenes/NewScenes/rewardedVideo.unity 34 | guid: d0f5050d9aec4b544b1ba8b991462bca 35 | - enabled: 1 36 | path: Assets/Scenes/NewScenes/login.unity 37 | guid: 6c6df49e773ed784bbef3266d173fd61 38 | - enabled: 1 39 | path: Assets/Scenes/NewScenes/StorageItem.unity 40 | guid: d8d2372b114b6494fb479a60f8809869 41 | - enabled: 1 42 | path: Assets/Scenes/NewScenes/UserCloudStorageItem.unity 43 | guid: 218c9b38f2a7aa443bdae7d02707d9e8 44 | - enabled: 1 45 | path: Assets/Scenes/NewScenes/systemInfo.unity 46 | guid: 0ccb615aaba971b44befd577b2f56d26 47 | - enabled: 1 48 | path: Assets/Scenes/NewScenes/showModal.unity 49 | guid: 5bee905a62b7af24a991c0bdf75cad0c 50 | - enabled: 1 51 | path: Assets/Scenes/NewScenes/qgpay.unity 52 | guid: ea414604814a9064fbcc7086542bd021 53 | - enabled: 1 54 | path: Assets/Scenes/NewScenes/deviceInfoOther.unity 55 | guid: 1b4738d4cc46a7246b9d59331a397c65 56 | - enabled: 1 57 | path: Assets/Scenes/NewScenes/deviceInfo.unity 58 | guid: 3b390ae58c0c2e442a45b27c1c8833e8 59 | - enabled: 1 60 | path: Assets/Scenes/NewScenes/vibrateShort.unity 61 | guid: 0be1614e7f7d85c47a666d3ee7ad031d 62 | - enabled: 1 63 | path: Assets/Scenes/NewScenes/filemanager.unity 64 | guid: 3fbbdcbf0880dc1459f6aa4bb7655c81 65 | - enabled: 1 66 | path: Assets/Scenes/NewScenes/deviceMotion.unity 67 | guid: 499f8124009e9fa4fb177aea29b29167 68 | - enabled: 1 69 | path: Assets/Scenes/NewScenes/video.unity 70 | guid: 2ccc854c710c6504a88f6a0aceac4d30 71 | - enabled: 1 72 | path: Assets/Scenes/NewScenes/recorder.unity 73 | guid: ba9f89b0f5fc7d7438760ea86fb8d208 74 | - enabled: 1 75 | path: Assets/Scenes/NewScenes/unityAudio.unity 76 | guid: 34f6804019c37fa418b66c48fbaa7252 77 | - enabled: 1 78 | path: Assets/Scenes/NewScenes/onShow.unity 79 | guid: ae76f2fc5cd703c4488e16713d6809cc 80 | - enabled: 1 81 | path: Assets/Scenes/NewScenes/PlayerPrefs.unity 82 | guid: 1209dbb85201e4945ba0d12b84b822b4 83 | - enabled: 1 84 | path: Assets/Scenes/NewScenes/onAuthDialogShow.unity 85 | guid: 7f3e661492a592842b0b63b362f132f8 86 | m_configObjects: {} 87 | -------------------------------------------------------------------------------- /demo/ProjectSettings/EditorSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!159 &1 4 | EditorSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 7 7 | m_ExternalVersionControlSupport: Hidden Meta Files 8 | m_SerializationMode: 2 9 | m_LineEndingsForNewScripts: 2 10 | m_DefaultBehaviorMode: 1 11 | m_PrefabRegularEnvironment: {fileID: 0} 12 | m_PrefabUIEnvironment: {fileID: 0} 13 | m_SpritePackerMode: 4 14 | m_SpritePackerPaddingPower: 1 15 | m_EtcTextureCompressorBehavior: 1 16 | m_EtcTextureFastCompressor: 1 17 | m_EtcTextureNormalCompressor: 2 18 | m_EtcTextureBestCompressor: 4 19 | m_ProjectGenerationIncludedExtensions: txt;xml;fnt;cd;asmdef;rsp 20 | m_ProjectGenerationRootNamespace: 21 | m_CollabEditorSettings: 22 | inProgressEnabled: 1 23 | m_EnableTextureStreamingInPlayMode: 1 24 | -------------------------------------------------------------------------------- /demo/ProjectSettings/GraphicsSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!30 &1 4 | GraphicsSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 12 7 | m_Deferred: 8 | m_Mode: 1 9 | m_Shader: {fileID: 69, guid: 0000000000000000f000000000000000, type: 0} 10 | m_DeferredReflections: 11 | m_Mode: 1 12 | m_Shader: {fileID: 74, guid: 0000000000000000f000000000000000, type: 0} 13 | m_ScreenSpaceShadows: 14 | m_Mode: 1 15 | m_Shader: {fileID: 64, guid: 0000000000000000f000000000000000, type: 0} 16 | m_LegacyDeferred: 17 | m_Mode: 1 18 | m_Shader: {fileID: 63, guid: 0000000000000000f000000000000000, type: 0} 19 | m_DepthNormals: 20 | m_Mode: 1 21 | m_Shader: {fileID: 62, guid: 0000000000000000f000000000000000, type: 0} 22 | m_MotionVectors: 23 | m_Mode: 1 24 | m_Shader: {fileID: 75, guid: 0000000000000000f000000000000000, type: 0} 25 | m_LightHalo: 26 | m_Mode: 1 27 | m_Shader: {fileID: 105, guid: 0000000000000000f000000000000000, type: 0} 28 | m_LensFlare: 29 | m_Mode: 1 30 | m_Shader: {fileID: 102, guid: 0000000000000000f000000000000000, type: 0} 31 | m_AlwaysIncludedShaders: 32 | - {fileID: 7, guid: 0000000000000000f000000000000000, type: 0} 33 | - {fileID: 15104, guid: 0000000000000000f000000000000000, type: 0} 34 | - {fileID: 15105, guid: 0000000000000000f000000000000000, type: 0} 35 | - {fileID: 15106, guid: 0000000000000000f000000000000000, type: 0} 36 | - {fileID: 10753, guid: 0000000000000000f000000000000000, type: 0} 37 | - {fileID: 10770, guid: 0000000000000000f000000000000000, type: 0} 38 | - {fileID: 10783, guid: 0000000000000000f000000000000000, type: 0} 39 | - {fileID: 16000, guid: 0000000000000000f000000000000000, type: 0} 40 | - {fileID: 17000, guid: 0000000000000000f000000000000000, type: 0} 41 | m_PreloadedShaders: [] 42 | m_SpritesDefaultMaterial: {fileID: 10754, guid: 0000000000000000f000000000000000, 43 | type: 0} 44 | m_CustomRenderPipeline: {fileID: 0} 45 | m_TransparencySortMode: 0 46 | m_TransparencySortAxis: {x: 0, y: 0, z: 1} 47 | m_DefaultRenderingPath: 1 48 | m_DefaultMobileRenderingPath: 1 49 | m_TierSettings: [] 50 | m_LightmapStripping: 0 51 | m_FogStripping: 0 52 | m_InstancingStripping: 0 53 | m_LightmapKeepPlain: 1 54 | m_LightmapKeepDirCombined: 1 55 | m_LightmapKeepDynamicPlain: 1 56 | m_LightmapKeepDynamicDirCombined: 1 57 | m_LightmapKeepShadowMask: 1 58 | m_LightmapKeepSubtractive: 1 59 | m_FogKeepLinear: 1 60 | m_FogKeepExp: 1 61 | m_FogKeepExp2: 1 62 | m_AlbedoSwatchInfos: [] 63 | m_LightsUseLinearIntensity: 0 64 | m_LightsUseColorTemperature: 0 65 | m_LogWhenShaderIsCompiled: 0 66 | -------------------------------------------------------------------------------- /demo/ProjectSettings/MemorySettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!387306366 &1 4 | MemorySettings: 5 | m_ObjectHideFlags: 0 6 | m_EditorMemorySettings: 7 | m_MainAllocatorBlockSize: -1 8 | m_ThreadAllocatorBlockSize: -1 9 | m_MainGfxBlockSize: -1 10 | m_ThreadGfxBlockSize: -1 11 | m_CacheBlockSize: -1 12 | m_TypetreeBlockSize: -1 13 | m_ProfilerBlockSize: -1 14 | m_ProfilerEditorBlockSize: -1 15 | m_BucketAllocatorGranularity: -1 16 | m_BucketAllocatorBucketsCount: -1 17 | m_BucketAllocatorBlockSize: -1 18 | m_BucketAllocatorBlockCount: -1 19 | m_ProfilerBucketAllocatorGranularity: -1 20 | m_ProfilerBucketAllocatorBucketsCount: -1 21 | m_ProfilerBucketAllocatorBlockSize: -1 22 | m_ProfilerBucketAllocatorBlockCount: -1 23 | m_TempAllocatorSizeMain: -1 24 | m_JobTempAllocatorBlockSize: -1 25 | m_BackgroundJobTempAllocatorBlockSize: -1 26 | m_JobTempAllocatorReducedBlockSize: -1 27 | m_TempAllocatorSizeGIBakingWorker: -1 28 | m_TempAllocatorSizeNavMeshWorker: -1 29 | m_TempAllocatorSizeAudioWorker: -1 30 | m_TempAllocatorSizeCloudWorker: -1 31 | m_TempAllocatorSizeGfx: -1 32 | m_TempAllocatorSizeJobWorker: -1 33 | m_TempAllocatorSizeBackgroundWorker: -1 34 | m_TempAllocatorSizePreloadManager: -1 35 | m_PlatformMemorySettings: {} 36 | -------------------------------------------------------------------------------- /demo/ProjectSettings/NavMeshAreas.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!126 &1 4 | NavMeshProjectSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 2 7 | areas: 8 | - name: Walkable 9 | cost: 1 10 | - name: Not Walkable 11 | cost: 1 12 | - name: Jump 13 | cost: 2 14 | - name: 15 | cost: 1 16 | - name: 17 | cost: 1 18 | - name: 19 | cost: 1 20 | - name: 21 | cost: 1 22 | - name: 23 | cost: 1 24 | - name: 25 | cost: 1 26 | - name: 27 | cost: 1 28 | - name: 29 | cost: 1 30 | - name: 31 | cost: 1 32 | - name: 33 | cost: 1 34 | - name: 35 | cost: 1 36 | - name: 37 | cost: 1 38 | - name: 39 | cost: 1 40 | - name: 41 | cost: 1 42 | - name: 43 | cost: 1 44 | - name: 45 | cost: 1 46 | - name: 47 | cost: 1 48 | - name: 49 | cost: 1 50 | - name: 51 | cost: 1 52 | - name: 53 | cost: 1 54 | - name: 55 | cost: 1 56 | - name: 57 | cost: 1 58 | - name: 59 | cost: 1 60 | - name: 61 | cost: 1 62 | - name: 63 | cost: 1 64 | - name: 65 | cost: 1 66 | - name: 67 | cost: 1 68 | - name: 69 | cost: 1 70 | - name: 71 | cost: 1 72 | m_LastAgentTypeID: -887442657 73 | m_Settings: 74 | - serializedVersion: 2 75 | agentTypeID: 0 76 | agentRadius: 0.5 77 | agentHeight: 2 78 | agentSlope: 45 79 | agentClimb: 0.75 80 | ledgeDropHeight: 0 81 | maxJumpAcrossDistance: 0 82 | minRegionArea: 2 83 | manualCellSize: 0 84 | cellSize: 0.16666667 85 | manualTileSize: 0 86 | tileSize: 256 87 | accuratePlacement: 0 88 | debug: 89 | m_Flags: 0 90 | m_SettingNames: 91 | - Humanoid 92 | -------------------------------------------------------------------------------- /demo/ProjectSettings/PackageManagerSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!114 &1 4 | MonoBehaviour: 5 | m_ObjectHideFlags: 61 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | m_GameObject: {fileID: 0} 10 | m_Enabled: 1 11 | m_EditorHideFlags: 0 12 | m_Script: {fileID: 13964, guid: 0000000000000000e000000000000000, type: 0} 13 | m_Name: 14 | m_EditorClassIdentifier: 15 | m_ScopedRegistriesSettingsExpanded: 1 16 | oneTimeWarningShown: 0 17 | m_Registries: 18 | - m_Id: main 19 | m_Name: 20 | m_Url: https://packages.unity.com 21 | m_Scopes: [] 22 | m_IsDefault: 1 23 | m_UserSelectedRegistryName: 24 | m_UserAddingNewScopedRegistry: 0 25 | m_RegistryInfoDraft: 26 | m_ErrorMessage: 27 | m_Original: 28 | m_Id: 29 | m_Name: 30 | m_Url: 31 | m_Scopes: [] 32 | m_IsDefault: 0 33 | m_Modified: 0 34 | m_Name: 35 | m_Url: 36 | m_Scopes: 37 | - 38 | m_SelectedScopeIndex: 0 39 | -------------------------------------------------------------------------------- /demo/ProjectSettings/Physics2DSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!19 &1 4 | Physics2DSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 4 7 | m_Gravity: {x: 0, y: -9.81} 8 | m_DefaultMaterial: {fileID: 0} 9 | m_VelocityIterations: 8 10 | m_PositionIterations: 3 11 | m_VelocityThreshold: 1 12 | m_MaxLinearCorrection: 0.2 13 | m_MaxAngularCorrection: 8 14 | m_MaxTranslationSpeed: 100 15 | m_MaxRotationSpeed: 360 16 | m_BaumgarteScale: 0.2 17 | m_BaumgarteTimeOfImpactScale: 0.75 18 | m_TimeToSleep: 0.5 19 | m_LinearSleepTolerance: 0.01 20 | m_AngularSleepTolerance: 2 21 | m_DefaultContactOffset: 0.01 22 | m_JobOptions: 23 | serializedVersion: 2 24 | useMultithreading: 0 25 | useConsistencySorting: 0 26 | m_InterpolationPosesPerJob: 100 27 | m_NewContactsPerJob: 30 28 | m_CollideContactsPerJob: 100 29 | m_ClearFlagsPerJob: 200 30 | m_ClearBodyForcesPerJob: 200 31 | m_SyncDiscreteFixturesPerJob: 50 32 | m_SyncContinuousFixturesPerJob: 50 33 | m_FindNearestContactsPerJob: 100 34 | m_UpdateTriggerContactsPerJob: 100 35 | m_IslandSolverCostThreshold: 100 36 | m_IslandSolverBodyCostScale: 1 37 | m_IslandSolverContactCostScale: 10 38 | m_IslandSolverJointCostScale: 10 39 | m_IslandSolverBodiesPerJob: 50 40 | m_IslandSolverContactsPerJob: 50 41 | m_AutoSimulation: 1 42 | m_QueriesHitTriggers: 1 43 | m_QueriesStartInColliders: 1 44 | m_CallbacksOnDisable: 1 45 | m_ReuseCollisionCallbacks: 0 46 | m_AutoSyncTransforms: 0 47 | m_AlwaysShowColliders: 0 48 | m_ShowColliderSleep: 1 49 | m_ShowColliderContacts: 0 50 | m_ShowColliderAABB: 0 51 | m_ContactArrowScale: 0.2 52 | m_ColliderAwakeColor: {r: 0.5686275, g: 0.95686275, b: 0.54509807, a: 0.7529412} 53 | m_ColliderAsleepColor: {r: 0.5686275, g: 0.95686275, b: 0.54509807, a: 0.36078432} 54 | m_ColliderContactColor: {r: 1, g: 0, b: 1, a: 0.6862745} 55 | m_ColliderAABBColor: {r: 1, g: 1, b: 0, a: 0.2509804} 56 | m_LayerCollisionMatrix: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 57 | -------------------------------------------------------------------------------- /demo/ProjectSettings/PresetManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!1386491679 &1 4 | PresetManager: 5 | m_ObjectHideFlags: 0 6 | m_DefaultList: [] 7 | -------------------------------------------------------------------------------- /demo/ProjectSettings/ProjectVersion.txt: -------------------------------------------------------------------------------- 1 | m_EditorVersion: 2021.3.14f1 2 | m_EditorVersionWithRevision: 2021.3.14f1 (eee1884e7226) 3 | -------------------------------------------------------------------------------- /demo/ProjectSettings/TagManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!78 &1 4 | TagManager: 5 | serializedVersion: 2 6 | tags: [] 7 | layers: 8 | - Default 9 | - TransparentFX 10 | - Ignore Raycast 11 | - 12 | - Water 13 | - UI 14 | - 15 | - 16 | - 17 | - 18 | - 19 | - 20 | - 21 | - 22 | - 23 | - 24 | - 25 | - 26 | - 27 | - 28 | - 29 | - 30 | - 31 | - 32 | - 33 | - 34 | - 35 | - 36 | - 37 | - 38 | - 39 | - 40 | m_SortingLayers: 41 | - name: Default 42 | uniqueID: 0 43 | locked: 0 44 | -------------------------------------------------------------------------------- /demo/ProjectSettings/TimeManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!5 &1 4 | TimeManager: 5 | m_ObjectHideFlags: 0 6 | Fixed Timestep: 0.02 7 | Maximum Allowed Timestep: 0.33333334 8 | m_TimeScale: 1 9 | Maximum Particle Timestep: 0.03 10 | -------------------------------------------------------------------------------- /demo/ProjectSettings/UnityConnectSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!310 &1 4 | UnityConnectSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 1 7 | m_Enabled: 0 8 | m_TestMode: 0 9 | m_EventOldUrl: https://api.uca.cloud.unity3d.com/v1/events 10 | m_EventUrl: https://cdp.cloud.unity3d.com/v1/events 11 | m_ConfigUrl: https://config.uca.cloud.unity3d.com 12 | m_DashboardUrl: https://dashboard.unity3d.com 13 | m_TestInitMode: 0 14 | CrashReportingSettings: 15 | m_EventUrl: https://perf-events.cloud.unity3d.com 16 | m_Enabled: 0 17 | m_LogBufferSize: 10 18 | m_CaptureEditorExceptions: 1 19 | UnityPurchasingSettings: 20 | m_Enabled: 0 21 | m_TestMode: 0 22 | UnityAnalyticsSettings: 23 | m_Enabled: 0 24 | m_TestMode: 0 25 | m_InitializeOnStartup: 1 26 | m_PackageRequiringCoreStatsPresent: 0 27 | UnityAdsSettings: 28 | m_Enabled: 0 29 | m_InitializeOnStartup: 1 30 | m_TestMode: 0 31 | m_IosGameId: 32 | m_AndroidGameId: 33 | m_GameIds: {} 34 | m_GameId: 35 | PerformanceReportingSettings: 36 | m_Enabled: 0 37 | -------------------------------------------------------------------------------- /demo/ProjectSettings/VFXManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!937362698 &1 4 | VFXManager: 5 | m_ObjectHideFlags: 0 6 | m_IndirectShader: {fileID: 0} 7 | m_CopyBufferShader: {fileID: 0} 8 | m_SortShader: {fileID: 0} 9 | m_RenderPipeSettingsPath: 10 | m_FixedTimeStep: 0.016666668 11 | m_MaxDeltaTime: 0.05 12 | -------------------------------------------------------------------------------- /demo/ProjectSettings/VersionControlSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!890905787 &1 4 | VersionControlSettings: 5 | m_ObjectHideFlags: 0 6 | m_Mode: Visible Meta Files 7 | m_CollabEditorSettings: 8 | inProgressEnabled: 1 9 | -------------------------------------------------------------------------------- /demo/ProjectSettings/XRSettings.asset: -------------------------------------------------------------------------------- 1 | { 2 | "m_SettingKeys": [ 3 | "VR Device Disabled", 4 | "VR Device User Alert" 5 | ], 6 | "m_SettingValues": [ 7 | "False", 8 | "False" 9 | ] 10 | } -------------------------------------------------------------------------------- /demo/ProjectSettings/boot.config: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oppominigame/unity-webgl-to-oppo-minigame/4576915ac5654945132f3355c64fa84bdd320100/demo/ProjectSettings/boot.config -------------------------------------------------------------------------------- /demo/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oppominigame/unity-webgl-to-oppo-minigame/4576915ac5654945132f3355c64fa84bdd320100/demo/logo.png -------------------------------------------------------------------------------- /doc/CapabilitySupport.md: -------------------------------------------------------------------------------- 1 | # 能力支持 2 | 3 | | 能力 | 支持性 | 描述 | 4 | | --- | --- | --- | 5 | | Unity 基础模块 | 支持 | 支持动画、物理、渲染、音频、UI等基础模块 | 6 | | Unity 渲染管线 | 部分支持 | 支持标准渲染管线,URP 未完全支持 | 7 | | Unity 资源加载 | 支持 | 支持 AssetBundle、Addressables | 8 | | Lua 脚本 | 不支持 | 小游戏暂不允许脚本更新能力 | 9 | | PureTS | 不支持 | 小游戏暂不允许脚本更新能力 | 10 | | 第三方插件 | 部分支持 | 支持大部分插件,C# 插件与非平台相关的 C 原生插件 | 11 | | 分包 | 部分支持 | 不支持 wasm 分包,js 分包详见官方文档 [分包能力](https://ie-activity-cn.heytapimage.com/static/minigame/CN/docs/index.html#/develop/subpackage/subpackage) | 12 | | 渲染接口 | 支持 | WebGL1.0 完全支持,WebGL2.0 部分支持[详情](WebGL2.md) | 13 | | 多线程 | 不支持 | 不支持 C# 多线程相关 API,使用异步等其他方式代替 | 14 | | 文件系统 | 需调整 | 不支持 C# 文件相关 API,需要使用 [OPPO SDK API](API.md),用户本地存储空间限制为 500M | 15 | | 网络访问 | 支持 | 推荐使用 UnityWebRequest | -------------------------------------------------------------------------------- /doc/Demo.md: -------------------------------------------------------------------------------- 1 | # 示例工程 2 | 3 | ## 主界面 4 | ![UnityPlatform](image/DemoMain.png) 5 | 6 | ## 登录 7 | 点击 `登录` 后将以当前 OPPO 账号进行登录请求,打印登录结果,参考 API [QG.Login](API.md#登录) 8 | 9 | ![UnityPlatform](image/DemoLogin.png) 10 | 11 | ## 支付 12 | > 非测试页面,此操作将进行真实的支付 13 | 14 | 点击 `支付` 将调起 OPPO 支付 SDK,参考 API [QG.Pay](API.md#支付) 15 | 16 | ![UnityPlatform](image/DemoPay.png) 17 | 18 | ## 数据储存 19 | 通过 key-value 的形式支持本地存储,参考 API [QG.Storage](API.md#数据储存) 20 | 21 | ![UnityPlatform](image/DemoStorage.png) 22 | 23 | ## 创建桌面图标 24 | 弹出创建桌面图标确认界面,提醒用户进行二次确认,参考 API [QG.HasShortcutInstalled](API.md#创建桌面图标) 25 | 26 | ![UnityPlatform](image/DemoHasShortcutInstalled.png) 27 | 28 | ## 广告 29 | > 测试 RPK 包名必须为 `com.oppo.littleGameDemo` 才能显示广告 30 | 31 | 支持多种类型的广告,以激励视频广告为例,参考 API [QG.CreateRewardedVideoAd](API.md#激励视频广告) 32 | 33 | ![UnityPlatform](image/DemoBannerAd.png) 34 | 35 | ## 音频 36 | 支持音频的多种基本操作,以播放音频为例,参考 API [QG.PlayAudio](API.md#音频播放) 37 | 38 | ![UnityPlatform](image/DemoAudio.png) -------------------------------------------------------------------------------- /doc/DevelopmentQA.md: -------------------------------------------------------------------------------- 1 | # 技术常见问题 QA 2 | 3 | ## Unity WebGL 4 | 5 | ### 1. 怎么通过 JavaScript 回调给 C# 脚本 6 | 7 | - 可以通过 `window.unityInstance.SendMessage(objectName, 8 | methodName, value)` 进行调用,其中 OPPO 会将初始化的 Unity 实例赋值到 `window['unityInstance']` 中,具体参考以下文档 9 | 10 | - Unity:https://docs.unity3d.com/Manual/webgl-interactingwithbrowserscripting.html 11 | - OPPO 小游戏 API 文档:https://ie-activity-cn.heytapimage.com/static/minigame/CN/docs/index.html#/ 12 | 13 | 14 | ### 2. 打包 AssetBundle 发布到 WebGL 无法使用 15 | 16 | - 需要使用 LZ4 压缩 AssetBundle,打包命令 `BuildPipeline.BuildAssetBundles(path, BuildAssetBundleOptions.ChunkBasedCompression, BuildTarget.WebGL)` 17 | 18 | ### 3. 是否支持 WebGL2.0 19 | 20 | - 暂不支持,详见 [能力支持](CapabilitySupport.md) 21 | 22 | ## 打包配置 23 | 24 | ### 1. 游戏如何修改桌面图标、横竖屏、最小平台版本 25 | 26 | - 优先推荐您 [使用 SDK 进行配置](TransformBySDK.md) 27 | 28 | - 您也可以直接修改 `quickgame/manifest.json` 文件,并且重新用 `quickgame unity [release]` 即可重新发布 29 | 30 | ## 发布上架 31 | 32 | ### 1. 是否可以上架未带 `xxx.signed.rpk` 的 RPK 包到线上 33 | 34 | - 需要使用 `quickgame unity release` 打包生成 RPK,才可以上架到线上。其 35 | 中开发者需要保留签名,用于以后代码更新重新打包 36 | 37 | ### 2. 游戏上架包体太大怎么解决 38 | 39 | - 由于 OPPO 小游戏平台对 RPK 包体有限制大小,最大不能超过 30M。而 Unity 发布的游戏大部分都比较大,将游戏的资源放到开发者自己的服务器上,并修改 Unity 配置文件,再重新打包。以 2019 版本为例如下所示 40 | 41 | ```javascript 42 | { 43 | "companyName": "company", 44 | "productName": "demo", 45 | "productVersion": "0.1", 46 | "dataUrl": "https://xxx.com/webgl.data.unityweb", 47 | "wasmCodeUrl": "https://xxx.com/webgl.wasm.code.unityweb", 48 | "wasmFrameworkUrl": "webgl.wasm.framework.unityweb", 49 | "graphicsAPI": ["WebGL 1.0"], 50 | "webglContextAttributes": {"preserveDrawingBuffer": false}, 51 | "splashScreenStyle": "Dark", 52 | "backgroundColor": "#231F20", 53 | "developmentBuild": false, 54 | "multithreading": false, 55 | "unityVersion": "2019.1.0f2" 56 | } 57 | ``` 58 | 59 | - 原Unity项目中 AssetBundle 文件保存 WebGL 项目的 StreamingAssets 文件夹下,把 StreamingAssets 文件夹中的所有内容放到自己服务器上。打包 RPK 包时,在 WebGL 发布的目标目录执行命令时,添加参数 --addressable,参数 value 为您的服务器地址。执行示例命令 60 | 61 | `quickgame unity --unityVer 2019.4.35f1 --addressable https://oppo/AddressableAssetsData` 62 | - 打包后的 RPK 包体缩小不少,成功把分包中的资源放到远程服务器上请求了 63 | - 经过上述处理后,打包的 RPK 包体仍然超出规定的 30MB,后续还可以考虑压缩、优化、重构源代码 64 | 65 | ## 环境适配 66 | 67 | ### 1. 屏幕上下左右留有黑边 68 | 69 | - 开发者需要针对不同的手机进行屏幕适配。由于 OPPO 小游戏的画布宽和高跟屏幕分 70 | 辩率保持一致,并且 devicePixelRatio 为 1 ,所以进行适配,首先需要适配不同的手机 71 | 分辨率,如下所示 72 | 73 | ![DeviceResolutions](image/DeviceResolutions.png) 74 | 75 | - 最后需要适配发布的分辨率,并在手机进行测试,如下所示 76 | 77 | ![DeviceResolutionSetting](image/DeviceResolutionSetting.png) 78 | 79 | ### 2. 如何接入平台能力,包括退出、账户、支付、广告等 80 | 81 | - 优先推荐您使用 Unity SDK,下载地址位于 `tools/unity_webgl_rpk_oppo_v*.unitypackage`。接着参考 [API 使用文档](API.md),使用 C# 封装的接口调用平台能力 82 | 83 | - 还可以通过调用 window 能力一样调用我们平台能力,具体参考以下文档 84 | 85 | - Unity:https://docs.unity3d.com/Manual/webgl-interactingwithbrowserscripting.html 86 | - OPPO 小游戏 API 文档:https://ie-activity-cn.heytapimage.com/static/minigame/CN/docs/index.html#/ 87 | 88 | ### 3. 默认文字不显示怎么办 89 | 90 | - 默认中文字体不显示,必须使用外部导入的字体(需要下载字体文件) 91 | 92 | ### 4. 音频使用什么格式 93 | 94 | - 建议使用 `.mp3` 95 | 96 | ### 5. 是否可以使用Blob格式数据 97 | 98 | - 当前不支持,推荐使用 `ArrayBuffer` 替代 99 | 100 | ### 6. 安装 Node.js 时提示 Warning: Setting the NODE_TLS_REJECT_UNAUTHORIZED environment variable to ‘0‘ makes TLS connections 101 | 102 | - 环境变量里面查看,如果配置了 `NODE_TLS_REJECT_UNAUTHORIZED`,将其删除就可以了 103 | 104 | ### 7. 使用 Demo 示例中的支付代码可能会碰到的问题 105 | 106 | - 查看 OPPO 小游戏文档中支付相关说明 107 | 108 | https://ie-activity-cn.heytapimage.com/static/minigame/CN/docs/index.html#/develop/pay/pay-introduction 109 | 110 | 若仍无法解决,请 [联系我们](IssueAndContact.md) 111 | 112 | ### 8. 是否支持分包 113 | 114 | - 部分支持,详见 [能力支持](CapabilitySupport.md) `能力-分包` 项 -------------------------------------------------------------------------------- /doc/IssueAndContact.md: -------------------------------------------------------------------------------- 1 | # 问题反馈与联系我们 2 | 3 | 开发过程中遇到任何问题,可以通过以下方式联系并反馈给我们 4 | 5 | ## 反馈渠道 6 | 7 | 您可以通过 [Git Issue](https://github.com/oppominigame/unity-webgl-to-oppo-minigame/issues) 或 [小游戏开发者论坛](https://open.oppomobile.com/bbs/geek.php?mod=index) 进行反馈,我们将不定期对其中的问题进行集中解答 8 | 9 | ## 小游戏联系人 10 | 11 | 若您遇到任何技术、商务、广告等问题时,希望得到最及时的反馈,可以直接找到我们相应的联系人进行沟通,[点此](https://ie-activity-cn.heytapimage.com/static/minigame/CN/docs/index.html#/introduce/know/linkman) 前往查看具体联系方式 -------------------------------------------------------------------------------- /doc/OpensslPlugin.md: -------------------------------------------------------------------------------- 1 | # 一键生成签名证书 2 | 3 | ## 版本要求 4 | 5 | SDK:V8.0.5 及以上 6 | > 可前往`tools` 目录安装 `unity_webgl_rpk_oppo_v8.0.5.unitypackage` 及以上版本,后续版本可通过 [SDK 自检更新](SDKUpdate.md) 能力进行升级 7 | 8 | ## 功能说明 9 | 10 | > 界面截图以 `Unity 2021.3.14f1` 版本为例 11 | 12 | #### 新建签名证书 13 | 14 | 1. 执行 `OPPO小游戏 -> 打包小游戏 -> 勾选 自定义密钥库 -> 新建` 15 | 16 | ![UnityPlatform](image/GenerateCertificate.png) 17 | 18 | 2. 按提示输入有效参数,点击保存 19 | 20 | ![UnityPlatform](image/GenerateCertificateParameters.png) 21 | 22 | 3. 确认需要下载的证书工具 `会优先使用全局openssl工具,如果没有点击确认自动安装` 23 | 24 | ![UnityPlatform](image/GenerateCertificateTools.png) 25 | 26 | 4. 生成证书提示,并弹出证书保存路径 27 | 28 | ![UnityPlatform](image/GenerateCertificateTip.png) 29 | ![UnityPlatform](image/GenerateCertificatePath2.png) 30 | 31 | 5. 创建成功证书和私钥路径会自动导入 32 | 33 | ![UnityPlatform](image/GenerateCertificateImport.png) 34 | 35 | -------------------------------------------------------------------------------- /doc/PublishQuickGame.md: -------------------------------------------------------------------------------- 1 | # 发布小游戏 2 | 3 | ## 打正式包 4 | 5 | 正式发布前,需要使用正式签名文件进行打包,按照以下步骤依次进行 6 | 7 | 1. **生成签名**:通过 [OPPO 小游戏开发者工具](https://ie-activity-cn.heytapimage.com/static/minigame/CN/docs/index.html#/develop/games/ide?id=_5%e3%80%81%e7%94%9f%e6%88%90%e6%b8%b8%e6%88%8f%e7%ad%be%e5%90%8d) 或 [OpenSSL](https://ie-activity-cn.heytapimage.com/static/minigame/CN/docs/index.html#/develop/games/quickgame?id=_53-%e5%85%b6%e4%bb%96%e7%94%9f%e6%88%90-release-%e7%ad%be%e5%90%8d%e6%96%b9%e5%bc%8f) 生成正式签名,执行完成后将生成**私钥文件** `private.pem` 和**证书文件** `certificate.pem` 8 | 9 | 2. **正式打包**:将 `private.pem` 和 `certificate.pem` 放到 `小游戏根目录/sign/release` 目录下,再于小游戏根目录执行 `quickgame pack release` 命令完成正式打包 10 | 11 | > RPK 包体积限制在 30M 以内,若超过此值将无法通过上架审核 12 | 13 | ## 上架审核 14 | 15 | 详细步骤参照 [官方文档](https://ie-activity-cn.heytapimage.com/static/minigame/CN/docs/index.html#/introduce/know/know) 进行 -------------------------------------------------------------------------------- /doc/RunQuickGame.md: -------------------------------------------------------------------------------- 1 | # 运行小游戏 2 | 3 | ## 工程结构 4 | 5 | 导出后的标准小游戏工程结构如下 6 | 7 | ![工程结构](image/QuickGameStructure.png) 8 | 9 | - **Build**:Unity WebGL 导出目录 10 | - **dist**:存放打包好的小游戏 rpk 11 | - **sign**:存放签名文件 12 | - **StreamingAssets**:对应 Unity 中的同名目录,若非必需,可删除此目录,减少包体大小 13 | - **logo.png**:游戏图标 14 | - **main.js**:游戏入口文件 15 | - **manifest.json**:通过 [Unity SDK](TransformBySDK.md) 或 [命令行](TransformByCLI.md) 导出小游戏时生成的游戏配置文件 16 | - **ral.js、ral_2021.js、web-adapter.js**:小游戏适配文件 17 | 18 | > 原则上不建议对导出工程进行修改,若确实需要修改,则在修改后执行 quickgame pack 重新打包 19 | 20 | ## 真机调试 21 | 22 | OPPO 小游戏支持多种方式进行调试,可根据自身需求进行选择 23 | 24 | ### OPPO 小游戏开发者工具「强烈推荐」 25 | 26 | 通过统一的工具链对小游戏进行编译、打包、安装、真机调试等,建议使用最新版本,具体使用指南参考 [官方文档](https://ie-activity-cn.heytapimage.com/static/minigame/CN/docs/index.html#/develop/games/ide) 27 | 28 | ### 云真机调试「一般推荐」 29 | 30 | 具体使用指南参考 [官方文档](https://ie-activity-cn.heytapimage.com/static/minigame/CN/docs/index.html#/develop/feature/cloudmachine) 31 | 32 | ### 本地真机调试「一般推荐」 33 | 34 | 本地调试需要自行搭建调试环境,具体步骤如下 35 | 36 | #### 安装调试器 37 | 38 | 在进行真机调试前需要安装小游戏调试器,推荐使用最新版本,[点此](https://ie-activity-cn.heytapimage.com/static/minigame/CN/docs/index.html#/develop/games/use) 前往安装。安装成功后,手机桌面会出现如下快应用图标 39 | 40 | ![快应用图标](image/QuickAppIcon.jpg) 41 | 42 | #### 安装小游戏 43 | 44 | 打好的小游戏 RPK 包存放在 `dist` 目录中,假设名为 `com.oppo.littleGameDemo`,可以通过以下 2 种方式安装 45 | 46 | - 通过 ADB 安装 **「推荐」**:确保已安装 Android Debug Bridge 且手机已通过 USB 连接至电脑,在 `dist` 目录中打开控制台执行 `adb push com.oppo.littleGameDemo /sdcard/games/com.oppo.littleGameDemo`,命令执行结束后即安装成功 47 | 48 | - 手动安装 「不推荐」: 确保手机以通过 USB **文件传输**方式连接至电脑,通过文件浏览器打开 /sdcard/games 目录(若没有此目录需要先创建),将 `com.oppo.littleGameDemo` 拷贝至目录下即可完成安装 49 | 50 | 若安装成功,打开之前安装的调试器 App 即可看到小游戏,若安装前已打开调试器则下拉刷新列表 51 | 52 | ![小游戏列表](image/QuickGameList.png) 53 | 54 | #### 调试小游戏 55 | 56 | 调试工作将在 Chrome 浏览器环境下进行,具体使用指南参考 [官方文档](https://ie-activity-cn.heytapimage.com/static/minigame/CN/docs/index.html#/develop/games/debug) -------------------------------------------------------------------------------- /doc/SDKUpdate.md: -------------------------------------------------------------------------------- 1 | # SDK 自检更新 2 | 3 | ## 版本要求 4 | 5 | SDK:V8.0.0 及以上 6 | > 可前往`tools` 目录安装 `unity_webgl_rpk_oppo_v8.0.0.unitypackage` 及以上版本,后续版本可通过 [SDK 自检更新](SDKUpdate.md) 能力进行升级 7 | 8 | ## 功能说明 9 | 10 | > 界面截图以 `Unity 2021.3.14f1` 版本为例 11 | 12 | Unity SDK 自 V8.0.0 版本开始具备自检更新能力,展示及交互区域位于界面底部,如下图所示 13 | 14 | ![SDKUpdateArea](image/SDKUpdateArea.png) 15 | 16 | 由于 SDK 部分模块依赖 `OPPO 小游戏打包工具`(以下简称 `打包工具`),因此每次打开主界面时,会对 SDK 本身和打包工具进行版本检查。在打包工具不满足指定版本时,部分模块及打包功能将不可用,`打包` 按钮置灰无法点击,需要升级后方可使用。第一次打开界面进行版本检查会相对较慢,并且与您的网络环境和速度相关,请您耐心等待,若长时间停留在版本检查阶段,请 [联系我们](IssueAndContact.md) 17 | > 若出现未检测到打包工具最新版本的情况,请尝试将源切换为 npm(推荐使用 [nrm](https://www.npmjs.com/package/nrm)),其他 npm 源中的版本可能会滞后 18 | 19 | ### SDK 更新 20 | 21 | SDK 版本展示区域分为 `[当前版本] [检查更新] [版本状态]`,点击 `检查更新` 可手动获取最新版本状态 22 | 23 | - 当正在检查 SDK 版本时,界面将展示为 `[SDK 版本: x.x.x] [正在检测 SDK 版本更新...]` 24 | - 当 SDK 已是最新版本时,界面将展示为 `[SDK 版本: x.x.x] [检查更新] [已是最新版本]` 25 | - 当 SDK 有新版本时,界面将展示为 `[SDK 版本: x.x.x] [检查更新] [升级版本]`。点击 `升级版本` 后将在安装包下载完成后,自动进行安装 26 | - 当 SDK 检查版本异常时,界面将展示为 `[SDK 版本: x.x.x] [检查更新] [更新获取失败]`。若出现此情况,您可以点击 `检查更新` 重试,根据 Unity 控制台错误输出排查问题。若仍然无法解决,请 [联系我们](IssueAndContact.md) 27 | 28 | ### 打包工具更新 29 | 30 | 打包工具版本展示区域分为 `[当前版本] [刷新版本] [版本状态]`,点击 `刷新图标` 可手动刷新版本状态 31 | 32 | - 当正在刷新打包工具版本时,界面将展示为 `[正在检查打包工具版本...]` 33 | - 当打包工具已是最新版本时,界面将展示为 `[小游戏打包工具版本: x.x.x] [刷新版本] [已是最新版本]` 34 | - 当打包工具有新版本时,界面将展示为 `[小游戏打包工具版本: x.x.x] [刷新版本] [升级版本]`,点击 `升级版本` 会将打包工具升级到最新版本 35 | - 若您未安装过打包工具,或打包工具刷新版本异常时,界面将展示为 `[获取打包工具版本失败,请安装后重试] [刷新版本] [升级版本]`。若出现此情况,您可以点击 `升级版本` 来安装最新的打包工具。若升级失败,可根据 Unity 控制台错误输出排查问题。若仍然无法解决,请 [联系我们](IssueAndContact.md) -------------------------------------------------------------------------------- /doc/ShaderCompatibilityDetect.md: -------------------------------------------------------------------------------- 1 | # Shader 兼容性检测 2 | 3 | ## 版本要求 4 | 5 | SDK:V8.0.0 及以上 6 | > 可前往`tools` 目录安装 `unity_webgl_rpk_oppo_v8.0.0.unitypackage` 及以上版本,后续版本可通过 [SDK 自检更新](SDKUpdate.md) 能力进行升级 7 | 8 | ## 功能说明 9 | 10 | > 界面截图以 `Unity 2021.3.14f1` 版本为例 11 | 12 | ### 静态检测 13 | 14 | 静态检测用于编辑器模式下筛选常用不支持 WebGL1.0 的 Shader API 15 | 16 | #### 一键检查 17 | 18 | 1. 执行 `OPPO小游戏 -> Shader检测工具 -> 一键检查` 19 | 20 | ![UnityPlatform](image/ShaderCompatibility.png) 21 | 2. 完成检测后提示`无异常`或`存在异常` 22 | 23 | ![UnityPlatform](image/ShaderCompatibilitySuccess.png) 24 | ![UnityPlatform](image/ShaderCompatibilityError.png) 25 | 26 | 3. 查看 UnityConsole 打印 Shader 异常信息 27 | 28 | ![UnityPlatform](image/ShaderCompatibilityConsole.png) 29 | 30 | 4. 查看日志记录异常信息,日志记录在 Project 同级目录 ShaderLog 文件夹下 31 | - 历史日志: ShaderLog/HistoryLog/日期-时间-ShaderLog.txt 32 | - 最新日志: ShaderLog/日期-时间-ShaderLog.txt 33 | 34 | #### 打包检查 35 | 36 | 1. 执行 `OPPO小游戏 -> 打包工具 -> 检查Shader兼容性 -> 打包` 37 | 38 | ![UnityPlatform](image/ShaderCompatibilityBuild.png) 39 | 40 | 2. 完成检测后提示`无异常`或`存在异常`,根据实际情况决定是否继续打包 41 | 42 | ![UnityPlatform](image/ShaderCompatibilityBuildError.png) 43 | ![UnityPlatform](image/ShaderCompatibilityBuildSuccess.png) 44 | 45 | ### 真机检测 46 | 47 | 真机检测用于在真实运行环境中收集 Shader 兼容错误信息 48 | 49 | 1. 执行 `OPPO小游戏 -> 打包工具 -> 启用Shader真机检测 -> 打包` 50 | 51 | ![UnityPlatform](image/ShaderPhoneDetection.png) 52 | 53 | 2. 真机运行 RPK `开始测试 -> 加载资源 -> 检测异常 -> 完成检测` 54 | 55 | ![UnityPlatform](image/ShaderPhoneDetection02.png) ![UnityPlatform](image/ShaderPhoneDetection03.png) ![UnityPlatform](image/ShaderPhoneDetection04.png) 56 | 57 | 3. 检测异常:输出资源信息,无异常:点击 `完成测试 -> 进入下个场景` -------------------------------------------------------------------------------- /doc/Technique.md: -------------------------------------------------------------------------------- 1 | # 技术原理 2 | 3 | Unity 游戏是使用 C# 语言开发的游戏,而 OPPO 小游戏的运行环境却是使用 V8 引擎和 JS Framework 解析执行。从 C# 到 JS,我们采用的方案是使用 WebGL 作为桥梁进行跨端合并 4 | 5 | - Unity 游戏提供了发布成 WebGL 项目的能力,详情见 [Unity官网介绍](https://docs.unity3d.com/cn/2020.3/Manual/webgl-technical-overview.html) 6 | - OPPO 小游戏引擎采用了 WebGL1.0 规范,使用适配层模拟实现了 Unity 游戏发布 WebGL 项目后所依赖的 Web API 7 | - 使用 OPPO 提供的 WebGL 配置方案,将 Unity 游戏原生 WebGL 项目打包成 OPPO 小游戏 -------------------------------------------------------------------------------- /doc/Transform.md: -------------------------------------------------------------------------------- 1 | # 导出小游戏 2 | 3 | ## 环境配置 4 | 5 | 1. 安装 Node.js 环境,建议安装 14.x 以上稳定版本,[点击](https://nodejs.org/en) 前往 Node.js 官方网站 6 | 7 | 2. 安装小游戏打包工具,在控制台执行 `npm install -g @oppo-minigame/cli` 进行安装。安装完成后执行 `quickgame -V` 能正确显示版本号表示安装成功。Unity 支持 **2.1.6 及以上版本**,推荐使用最新正式版本,beta 版本包含新特性但可能不稳定 8 | 9 | > 若提示 quickgame 不是内部或外部命令,可重新打开控制台或重启计算机后重新执行命令 10 | 11 | ## 导出方式 12 | 13 | 当前支持 2 种方式将 Unity 游戏导出转换为 OPPO 小游戏 14 | 15 | - [Unity SDK](TransformBySDK.md)**「强烈推荐」**:该方案会在 Unity Editor 内安装小游戏导出 SDK,通过界面的形式进行一键配置和导出,操作简单好用 16 | 17 | - [命令行](TransformByCLI.md)「新手不推荐」:该方案需要根据指引先将 Unity 游戏导出到 WebGL 平台,再运行命令行完成小游戏导出,适合从 Unity 外部修改后进行重复导出 -------------------------------------------------------------------------------- /doc/TransformByCLI.md: -------------------------------------------------------------------------------- 1 | # 使用命令行导出小游戏 2 | 3 | ## 构建 Unity WebGL 4 | 5 | ### 项目设置 6 | 7 | 1. 打开 `File -> Build Settings...`,将目标平台切换为 `WebGL` 8 | ![UnityPlatform](image/UnityPlatform.png) 9 | 10 | 2. 打开 `Edit -> Project Settings...` 11 | 12 | 3. 在 `Player` 页签中展开 `Resolution and Presentation`,将 `WebGL Template` 设置为 `Default` 13 | ![UnityWebGLTemplate](image/UnityWebGLTemplate.png) 14 | 15 | 4. 在 `Player` 页签中展开 `Other Settings`,取消勾选 `Auto Graphics API`,仅保留 `WebGL 1` 选项 16 | > OPPO 小游戏当前只支持 WebGL1.0,WebGL2.0支持正在开发中 17 | 18 | ![UnityGraphicsAPI](image/UnityGraphicsAPI.png) 19 | 20 | 5. 在 `Player` 页签中展开 `Publishing Settings`,将 `Compression Format` 设置为 `Disabled`,并勾选 `Data Caching` 21 | > 后续打包 OPPO 小游戏时将会统一进行 GZip 压缩,因此在这里忽略压缩 22 | 23 | ![UnityPublishCompression](image/UnityPublishCompression.png) 24 | 25 | 6. 打开 `File -> Build Settings...`,添加需要打包的场景到 `Scenes In Build` 面板中,取消勾选 `Development Build`,点击 `Build` 进行构建 26 | > OPPO 小游戏当前不支持调试模式,正在开发中 27 | 28 | ![UnityBuild](image/UnityBuild.png) 29 | 30 | 7. 等待构建完成后进行 OPPO 小游戏打包流程 31 | 32 | ## 打包 OPPO 小游戏 33 | 34 | 1. 在 Unity WebGL 构建目录中打开控制台窗口,执行 `quickgame unity --unityVer ` 进行打包 35 | > unityVer(不含尖括号)为必填项,表示当前 Unity 引擎版本号,例如 2021.3.14f1 36 | 37 | 其他打包参数可以通过 `quickgame unity --help` 命令进行查询 38 | 39 | ![OpenCMD](image/OpenCMD.png) 40 | 41 | 2. 若打包成功,将在当前目录的上级目录中生成名为 `quickgame` 的文件夹。至此打包工作已完成,下一步将前往 [运行小游戏](RunQuickGame.md) -------------------------------------------------------------------------------- /doc/TransformBySDK.md: -------------------------------------------------------------------------------- 1 | # 使用 SDK 导出小游戏 2 | 3 | ## 下载安装 4 | 5 | 1. 下载 `tools/unity_webgl_rpk_oppo_v*.unitypackage`,推荐使用最新版本 6 | 7 | 2. 在 Unity Editor 中导入下载的 SDK 包即可完成安装 8 | 9 | 10 | ## 使用指引 11 | 12 | > 以下步骤均基于 Unity SDK V8.0.0 版本进行描述,建议您前往 `tools` 目录安装 `unity_webgl_rpk_oppo_v8.0.0.unitypackage` 及以上版本,界面截图以 `Unity 2021.3.14f1` 版本为例 13 | 14 | 1. 点击 `OPPO小游戏 -> 打包工具` 打开主窗口 15 | 16 | ![入口](image/BuildToolEntry.png) 17 | 18 | 2. 根据项目实际情况填写信息,以下为填写示例 19 | 20 | ![主面板](image/BuildToolMain.png) 21 | - **基本设置** 22 | - **游戏包名**:游戏唯一标识,打包后的文件以此命名,一般格式为 `com.company.product`,默认写为 `com.[PlayerSettings.companyName].[PlayerSettings.productName]` 23 | - **游戏名称**:游戏对外展示名称 24 | - **游戏方向**:进入游戏时的设备方向,包含 Portrait(竖屏)、Landscape(横屏)、landscapeLeft (横左屏)、landscapeRight (横右屏) 25 | - **游戏版本号**:正整数,一般从 1 开始递增 26 | - **游戏版本名称**:与版本号对应,用于展示版本信息 27 | - **最小平台版本号**:一般填写 1103,平台版本支持的 API 可查询 [OPPO小游戏官方文档](https://ie-activity-cn.heytapimage.com/static/minigame/CN/docs/index.html#/) 28 | - **游戏图标**:游戏在平台、桌面展示的图标,正方形,默认 108x108 尺寸 29 | - **自定义秘钥库**:不勾选仅供调试使用,无法正式发布;勾选后将对包体进行正式签名,可以通过 [OPPO小游戏开发者工具](https://ie-activity-cn.heytapimage.com/static/minigame/CN/docs/index.html#/develop/games/ide?id=_5%e3%80%81%e7%94%9f%e6%88%90%e6%b8%b8%e6%88%8f%e7%ad%be%e5%90%8d) 或者 [OpenSSL](https://ie-activity-cn.heytapimage.com/static/minigame/CN/docs/index.html#/develop/games/quickgame?id=_53-%e5%85%b6%e4%bb%96%e7%94%9f%e6%88%90-release-%e7%ad%be%e5%90%8d%e6%96%b9%e5%bc%8f) 生成签名 30 | - **证书文件路径**:生成的 `certificate.pem` 文件绝对路径 31 | - **私钥文件路径**:生成的 `private.pem` 文件绝对路径 32 | - **使用远程资源**:是否将 StreamingAssets 中的资源放置到服务器,勾选后将不再把此目录中的资源进行打包,需要手动填写服务器地址,并将资源上传上去 33 | - **服务器地址**:例如 http://localhost:8080/StreamingAssets 34 | - **导出路径**:导出的 WebGL 和小游戏工程存储目录 35 | - **缓存设置** 36 | 37 | 资源缓存系统相关配置,建议前往了解 [缓存系统](AssetCache.md) 后再进行配置 38 | - **启用缓存**:是否启用缓存,建议开启 39 | - **缓存路径标识**:不填写代表所有路径都进行缓存判断。填写时多个时使用英文分号分隔,例如 StreamingAssets;bundles 40 | - **不缓存的文件类型**:不填写代表所有文件都进行缓存判断。填写多个时使用英文分号分隔,例如 .json;.hash 41 | - **哈希长度**:资源 hash 占多少长度,默认 32 位 42 | - **额外清理大小**:清理缓存时默认额外清理的大小,单位 MB,默认 30MB 43 | - **保留旧版本**:资源更新后是否保留旧版本资源,默认删除不保留 44 | - **清理忽略文件**:自动清理时忽略的文件,支持纯 hash 或名称,名称尽量不要使用特殊字符。不填写代表所有缓存都有可能被清理。填写多个时使用英文分号分隔,例如 8d265a9dfd6cb7669cdb8b726f0afb1e;asset1 45 | - **开启日志**:是否将缓存信息输出到控制台,便于调试 46 | - **资源检查** 47 | 48 | Shader 检测器相关配置,建议前往了解 [Shader 兼容性检测](ShaderCompatibilityDetect.md) 后再进行配置 49 | - **检查Shader兼容性**:勾选后将在执行打包时,对 Shader 兼容性进行检查 50 | - **启用Shader真机检测**:勾选后将在执行打包时,额外构建 Shader 兼容性检查场景,在启动游戏后进入此场景进行真机检测(仅供自测,正式打包请勿使用)。 51 | 52 | 3. 点击 `打包` 即可一键将 WebGL 项目转化为 OPPO 小游戏。构建成功后点击 `确定` 将自动打开 **导出路径** 53 | 54 | ![导出目录](image/OutputDirectory.png) 55 | 56 | - **quickgame**:小游戏导出目录 57 | - **webgl**:Unity WebGL 构建目录 58 | 59 | 4. 导出完成,前往 [运行小游戏](RunQuickGame.md) -------------------------------------------------------------------------------- /doc/UnityVersion.md: -------------------------------------------------------------------------------- 1 | # 推荐引擎版本 2 | 3 | 本适配方案理论上支持的 Unity 版本包括2018、2019、2020、2021,但并非每个小版本都经过了严格的验证,具体情况如下 4 | 5 | | 引擎版本 | 已验证版本 | 下载链接 | 6 | | --- | --- | --- | 7 | | 2018.4 | 2018.4.30f1, 2018.4.36f1 | https://unity.com/releases/editor/whats-new/2018.4.30 | 8 | | 2019.4 | 2019.4.35f1 | https://unity.com/releases/editor/whats-new/2019.4.35 | 9 | | 2020.3 | 2020.3.25f1, 2020.3.47f1 | https://unity.com/releases/editor/whats-new/2020.3.47 | 10 | | 2021.3 | 2021.3.14f1 | https://unity.com/releases/editor/whats-new/2021.3.14 | -------------------------------------------------------------------------------- /doc/WebGL2.md: -------------------------------------------------------------------------------- 1 | # 使用 WebGL 2.0 2 | 3 | ## 版本要求 4 | 5 | SDK:V8.0.6 及以上 6 | > 推荐通过 [SDK 自检更新](SDKUpdate.md) 能力进行升级。也可前往`tools` 目录安装 `unity_webgl_rpk_oppo_v8.0.6.unitypackage` 及以上版本 7 | 8 | 小游戏打包工具:2.1.9-beta.6 及以上 9 | > 推荐通过 [SDK 自检更新](SDKUpdate.md) 能力进行升级。也可通过cmd安装命令 npm install @oppo-minigame/cli@beta -g。 10 | 11 | ## 功能说明 12 | 13 | > 界面截图以 `Unity 2021.3.14f1` 版本为例 14 | 15 | ## 构建设置Webgl2 16 | 17 | 1. 设置 `Player Settings -> Other Settings -> Auto Graphics API(取消勾选) -> Graphics APIs 右下点击 + 新增WebGL 2` 18 | 19 | ![UnityPlatform](image/WebGL2Setting.png) 20 | 21 | 2. 检查版本 `OPPO小游戏 -> 打包小游戏 -> 右下角SDK 版本(8.0.6及以上) -> 小游戏打包工具版本(2.1.9-beta.6及以上)` 22 | 23 | ## 测试运行环境 24 | 25 | 1. 测试运行环境需安装指定版本[调试器](https://ie-activity-cn.heytapimage.com/static/minigame/CN/docs/index.html#/develop/games/wx-transfer?id=%E8%B0%83%E8%AF%95%E5%99%A8) 26 | 27 | 2. 不管是WebGL1.0还是WebGL2.0,都建议先在浏览器中运行,查看console相关报错以及渲染情况,无误后再使用OPPO小游戏调试器进行调试 28 | 29 | ## 发布流程 30 | 31 | 1.开放平台提交游戏勾选Webgl2.0选项.最终审核结果会同步展示在“游戏审核”界面“渲染类型”字段中 32 | ![UnityPlatform](image/WebGL2Examine.png) 33 | 34 | ## 注意事项 35 | 36 | - 如遇到一些特殊的材质或者场景有未适配到渲染相关问题,可以随时联系:oppominigame@oppo.com;QQ:994365657 37 | 38 | ## 常见QA 39 | 40 | ### 1、什么样场景适合使用WebGL2.0? 41 | 42 | - WebGL 是一种用于在 Web 浏览器中渲染图形的 API,基于 OpenGL ES 图形库的功能。WebGL 1.0 大致与 OpenGL ES 2.0 功能相匹配,而 WebGL 2.0 大致与 OpenGL ES 3.0 功能相匹配。 根据游戏项目统计,我们发现相对于WebGL1,更适合以下游戏需求: 43 | - 线性颜色空间渲染 44 | - 使用GPU Instancing提高渲染性能 45 | - 使用SRP Batcher提高渲染性能 46 | - 使用URP PostProcessing效果提升品质 47 | - 存在大量依赖OpenGL ES 3.0以上的Shader难以降低 48 | 49 | ### 2、符合什么条件游戏才能在OPPO小游戏平台通过审核? 50 | 51 | - 目前只有通过WebGL2.0申请使用的游戏,才能使用平台WebGL2.0渲染能力。在符合平台规定以外,还需要具备以下条件才能通过审核: 52 | - 必须使用WebGL2.0渲染,才能成功渲染的游戏(如果使用WebGL1.0能渲染成功,优先使用WebGL1.0); 53 | - 使用WebGL2.0渲染,不存在渲染缺陷; 54 | - 在开放平台提交了WebGL2.0审核申请。 55 | 56 | ### 3、在平台提交了WebGL2.0审核,为什么最终使用WebGL1.0来渲染? 57 | 58 | - 平台目前对于申请使用WebGL2.0实行严控策略,只有存在必须使用WebGL2.0才能正常渲染的情况下,才允许使用WebGL2.0。 59 | - 对于提交WebGL2.0申请,但是审核过程中发现使用WebGL1.0就能渲染成功的游戏,自动适配选择WebGL1.0。 60 | 61 | ### 4、开放平台提交游戏信息审核的环节的渲染类型选项是用来做什么的? 62 | 63 | - 开发者可以通过webgl2.0的适用场景进行初步判断,在提交游戏审核环节选择游戏适用的渲染类型,提交到平台后,平台会进一步进行适配测试,从而帮助开发者选择当前更适用于游戏渲染的类型。 64 | 65 | ### 5、提交WebGL2.0审核后,游戏CP在哪里可以获取最终的审核结果? 66 | 67 | - 最终审核结果会同步展示在“游戏审核”界面“渲染类型”字段中 -------------------------------------------------------------------------------- /doc/image/AssetCacheExample_AddressablesGroups.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oppominigame/unity-webgl-to-oppo-minigame/4576915ac5654945132f3355c64fa84bdd320100/doc/image/AssetCacheExample_AddressablesGroups.png -------------------------------------------------------------------------------- /doc/image/AssetCacheExample_AddressablesProfiles.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oppominigame/unity-webgl-to-oppo-minigame/4576915ac5654945132f3355c64fa84bdd320100/doc/image/AssetCacheExample_AddressablesProfiles.png -------------------------------------------------------------------------------- /doc/image/BuildToolEntry.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oppominigame/unity-webgl-to-oppo-minigame/4576915ac5654945132f3355c64fa84bdd320100/doc/image/BuildToolEntry.png -------------------------------------------------------------------------------- /doc/image/BuildToolMain.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oppominigame/unity-webgl-to-oppo-minigame/4576915ac5654945132f3355c64fa84bdd320100/doc/image/BuildToolMain.png -------------------------------------------------------------------------------- /doc/image/CacheSystemFD.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oppominigame/unity-webgl-to-oppo-minigame/4576915ac5654945132f3355c64fa84bdd320100/doc/image/CacheSystemFD.png -------------------------------------------------------------------------------- /doc/image/DemoAudio.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oppominigame/unity-webgl-to-oppo-minigame/4576915ac5654945132f3355c64fa84bdd320100/doc/image/DemoAudio.png -------------------------------------------------------------------------------- /doc/image/DemoBannerAd.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oppominigame/unity-webgl-to-oppo-minigame/4576915ac5654945132f3355c64fa84bdd320100/doc/image/DemoBannerAd.png -------------------------------------------------------------------------------- /doc/image/DemoHasShortcutInstalled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oppominigame/unity-webgl-to-oppo-minigame/4576915ac5654945132f3355c64fa84bdd320100/doc/image/DemoHasShortcutInstalled.png -------------------------------------------------------------------------------- /doc/image/DemoLogin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oppominigame/unity-webgl-to-oppo-minigame/4576915ac5654945132f3355c64fa84bdd320100/doc/image/DemoLogin.png -------------------------------------------------------------------------------- /doc/image/DemoMain.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oppominigame/unity-webgl-to-oppo-minigame/4576915ac5654945132f3355c64fa84bdd320100/doc/image/DemoMain.png -------------------------------------------------------------------------------- /doc/image/DemoPay.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oppominigame/unity-webgl-to-oppo-minigame/4576915ac5654945132f3355c64fa84bdd320100/doc/image/DemoPay.png -------------------------------------------------------------------------------- /doc/image/DemoStorage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oppominigame/unity-webgl-to-oppo-minigame/4576915ac5654945132f3355c64fa84bdd320100/doc/image/DemoStorage.png -------------------------------------------------------------------------------- /doc/image/DeviceResolutionSetting.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oppominigame/unity-webgl-to-oppo-minigame/4576915ac5654945132f3355c64fa84bdd320100/doc/image/DeviceResolutionSetting.png -------------------------------------------------------------------------------- /doc/image/DeviceResolutions.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oppominigame/unity-webgl-to-oppo-minigame/4576915ac5654945132f3355c64fa84bdd320100/doc/image/DeviceResolutions.png -------------------------------------------------------------------------------- /doc/image/GenerateCertificate.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oppominigame/unity-webgl-to-oppo-minigame/4576915ac5654945132f3355c64fa84bdd320100/doc/image/GenerateCertificate.png -------------------------------------------------------------------------------- /doc/image/GenerateCertificateImport.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oppominigame/unity-webgl-to-oppo-minigame/4576915ac5654945132f3355c64fa84bdd320100/doc/image/GenerateCertificateImport.png -------------------------------------------------------------------------------- /doc/image/GenerateCertificateParameters.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oppominigame/unity-webgl-to-oppo-minigame/4576915ac5654945132f3355c64fa84bdd320100/doc/image/GenerateCertificateParameters.png -------------------------------------------------------------------------------- /doc/image/GenerateCertificatePath.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oppominigame/unity-webgl-to-oppo-minigame/4576915ac5654945132f3355c64fa84bdd320100/doc/image/GenerateCertificatePath.png -------------------------------------------------------------------------------- /doc/image/GenerateCertificatePath2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oppominigame/unity-webgl-to-oppo-minigame/4576915ac5654945132f3355c64fa84bdd320100/doc/image/GenerateCertificatePath2.png -------------------------------------------------------------------------------- /doc/image/GenerateCertificateTip.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oppominigame/unity-webgl-to-oppo-minigame/4576915ac5654945132f3355c64fa84bdd320100/doc/image/GenerateCertificateTip.png -------------------------------------------------------------------------------- /doc/image/GenerateCertificateTools.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oppominigame/unity-webgl-to-oppo-minigame/4576915ac5654945132f3355c64fa84bdd320100/doc/image/GenerateCertificateTools.png -------------------------------------------------------------------------------- /doc/image/OpenCMD.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oppominigame/unity-webgl-to-oppo-minigame/4576915ac5654945132f3355c64fa84bdd320100/doc/image/OpenCMD.png -------------------------------------------------------------------------------- /doc/image/OutputDirectory.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oppominigame/unity-webgl-to-oppo-minigame/4576915ac5654945132f3355c64fa84bdd320100/doc/image/OutputDirectory.png -------------------------------------------------------------------------------- /doc/image/QuickAppIcon.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oppominigame/unity-webgl-to-oppo-minigame/4576915ac5654945132f3355c64fa84bdd320100/doc/image/QuickAppIcon.jpg -------------------------------------------------------------------------------- /doc/image/QuickGameList.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oppominigame/unity-webgl-to-oppo-minigame/4576915ac5654945132f3355c64fa84bdd320100/doc/image/QuickGameList.png -------------------------------------------------------------------------------- /doc/image/QuickGameStructure.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oppominigame/unity-webgl-to-oppo-minigame/4576915ac5654945132f3355c64fa84bdd320100/doc/image/QuickGameStructure.png -------------------------------------------------------------------------------- /doc/image/SDKUpdateArea.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oppominigame/unity-webgl-to-oppo-minigame/4576915ac5654945132f3355c64fa84bdd320100/doc/image/SDKUpdateArea.png -------------------------------------------------------------------------------- /doc/image/ShaderCompatibility.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oppominigame/unity-webgl-to-oppo-minigame/4576915ac5654945132f3355c64fa84bdd320100/doc/image/ShaderCompatibility.png -------------------------------------------------------------------------------- /doc/image/ShaderCompatibilityBuild.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oppominigame/unity-webgl-to-oppo-minigame/4576915ac5654945132f3355c64fa84bdd320100/doc/image/ShaderCompatibilityBuild.png -------------------------------------------------------------------------------- /doc/image/ShaderCompatibilityBuildError.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oppominigame/unity-webgl-to-oppo-minigame/4576915ac5654945132f3355c64fa84bdd320100/doc/image/ShaderCompatibilityBuildError.png -------------------------------------------------------------------------------- /doc/image/ShaderCompatibilityBuildSuccess.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oppominigame/unity-webgl-to-oppo-minigame/4576915ac5654945132f3355c64fa84bdd320100/doc/image/ShaderCompatibilityBuildSuccess.png -------------------------------------------------------------------------------- /doc/image/ShaderCompatibilityConsole.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oppominigame/unity-webgl-to-oppo-minigame/4576915ac5654945132f3355c64fa84bdd320100/doc/image/ShaderCompatibilityConsole.png -------------------------------------------------------------------------------- /doc/image/ShaderCompatibilityError.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oppominigame/unity-webgl-to-oppo-minigame/4576915ac5654945132f3355c64fa84bdd320100/doc/image/ShaderCompatibilityError.png -------------------------------------------------------------------------------- /doc/image/ShaderCompatibilitySuccess.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oppominigame/unity-webgl-to-oppo-minigame/4576915ac5654945132f3355c64fa84bdd320100/doc/image/ShaderCompatibilitySuccess.png -------------------------------------------------------------------------------- /doc/image/ShaderPhoneDetection.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oppominigame/unity-webgl-to-oppo-minigame/4576915ac5654945132f3355c64fa84bdd320100/doc/image/ShaderPhoneDetection.png -------------------------------------------------------------------------------- /doc/image/ShaderPhoneDetection02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oppominigame/unity-webgl-to-oppo-minigame/4576915ac5654945132f3355c64fa84bdd320100/doc/image/ShaderPhoneDetection02.png -------------------------------------------------------------------------------- /doc/image/ShaderPhoneDetection03.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oppominigame/unity-webgl-to-oppo-minigame/4576915ac5654945132f3355c64fa84bdd320100/doc/image/ShaderPhoneDetection03.png -------------------------------------------------------------------------------- /doc/image/ShaderPhoneDetection04.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oppominigame/unity-webgl-to-oppo-minigame/4576915ac5654945132f3355c64fa84bdd320100/doc/image/ShaderPhoneDetection04.png -------------------------------------------------------------------------------- /doc/image/UnityBuild.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oppominigame/unity-webgl-to-oppo-minigame/4576915ac5654945132f3355c64fa84bdd320100/doc/image/UnityBuild.png -------------------------------------------------------------------------------- /doc/image/UnityGraphicsAPI.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oppominigame/unity-webgl-to-oppo-minigame/4576915ac5654945132f3355c64fa84bdd320100/doc/image/UnityGraphicsAPI.png -------------------------------------------------------------------------------- /doc/image/UnityPlatform.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oppominigame/unity-webgl-to-oppo-minigame/4576915ac5654945132f3355c64fa84bdd320100/doc/image/UnityPlatform.png -------------------------------------------------------------------------------- /doc/image/UnityPublishCompression.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oppominigame/unity-webgl-to-oppo-minigame/4576915ac5654945132f3355c64fa84bdd320100/doc/image/UnityPublishCompression.png -------------------------------------------------------------------------------- /doc/image/UnityWebGLTemplate.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oppominigame/unity-webgl-to-oppo-minigame/4576915ac5654945132f3355c64fa84bdd320100/doc/image/UnityWebGLTemplate.png -------------------------------------------------------------------------------- /doc/image/WebGL2Examine.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oppominigame/unity-webgl-to-oppo-minigame/4576915ac5654945132f3355c64fa84bdd320100/doc/image/WebGL2Examine.png -------------------------------------------------------------------------------- /doc/image/WebGL2Setting.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oppominigame/unity-webgl-to-oppo-minigame/4576915ac5654945132f3355c64fa84bdd320100/doc/image/WebGL2Setting.png -------------------------------------------------------------------------------- /doc/image/地铁跑酷.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oppominigame/unity-webgl-to-oppo-minigame/4576915ac5654945132f3355c64fa84bdd320100/doc/image/地铁跑酷.png -------------------------------------------------------------------------------- /doc/image/大圣顶住.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oppominigame/unity-webgl-to-oppo-minigame/4576915ac5654945132f3355c64fa84bdd320100/doc/image/大圣顶住.png -------------------------------------------------------------------------------- /doc/image/小小蚁国.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oppominigame/unity-webgl-to-oppo-minigame/4576915ac5654945132f3355c64fa84bdd320100/doc/image/小小蚁国.png -------------------------------------------------------------------------------- /doc/image/巨兽战场.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oppominigame/unity-webgl-to-oppo-minigame/4576915ac5654945132f3355c64fa84bdd320100/doc/image/巨兽战场.png -------------------------------------------------------------------------------- /tools/unity_webgl_rpk_oppo_v1.unitypackage: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oppominigame/unity-webgl-to-oppo-minigame/4576915ac5654945132f3355c64fa84bdd320100/tools/unity_webgl_rpk_oppo_v1.unitypackage -------------------------------------------------------------------------------- /tools/unity_webgl_rpk_oppo_v5.unitypackage: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oppominigame/unity-webgl-to-oppo-minigame/4576915ac5654945132f3355c64fa84bdd320100/tools/unity_webgl_rpk_oppo_v5.unitypackage -------------------------------------------------------------------------------- /tools/unity_webgl_rpk_oppo_v6.unitypackage: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oppominigame/unity-webgl-to-oppo-minigame/4576915ac5654945132f3355c64fa84bdd320100/tools/unity_webgl_rpk_oppo_v6.unitypackage -------------------------------------------------------------------------------- /tools/unity_webgl_rpk_oppo_v7.unitypackage: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oppominigame/unity-webgl-to-oppo-minigame/4576915ac5654945132f3355c64fa84bdd320100/tools/unity_webgl_rpk_oppo_v7.unitypackage -------------------------------------------------------------------------------- /tools/unity_webgl_rpk_oppo_v8.0.0.unitypackage: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oppominigame/unity-webgl-to-oppo-minigame/4576915ac5654945132f3355c64fa84bdd320100/tools/unity_webgl_rpk_oppo_v8.0.0.unitypackage -------------------------------------------------------------------------------- /tools/unity_webgl_rpk_oppo_v8.0.1.unitypackage: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oppominigame/unity-webgl-to-oppo-minigame/4576915ac5654945132f3355c64fa84bdd320100/tools/unity_webgl_rpk_oppo_v8.0.1.unitypackage -------------------------------------------------------------------------------- /tools/unity_webgl_rpk_oppo_v8.0.2.unitypackage: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oppominigame/unity-webgl-to-oppo-minigame/4576915ac5654945132f3355c64fa84bdd320100/tools/unity_webgl_rpk_oppo_v8.0.2.unitypackage -------------------------------------------------------------------------------- /tools/unity_webgl_rpk_oppo_v8.0.3.unitypackage: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oppominigame/unity-webgl-to-oppo-minigame/4576915ac5654945132f3355c64fa84bdd320100/tools/unity_webgl_rpk_oppo_v8.0.3.unitypackage -------------------------------------------------------------------------------- /tools/unity_webgl_rpk_oppo_v8.0.4.unitypackage: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oppominigame/unity-webgl-to-oppo-minigame/4576915ac5654945132f3355c64fa84bdd320100/tools/unity_webgl_rpk_oppo_v8.0.4.unitypackage -------------------------------------------------------------------------------- /tools/unity_webgl_rpk_oppo_v8.0.5.unitypackage: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oppominigame/unity-webgl-to-oppo-minigame/4576915ac5654945132f3355c64fa84bdd320100/tools/unity_webgl_rpk_oppo_v8.0.5.unitypackage -------------------------------------------------------------------------------- /tools/unity_webgl_rpk_oppo_v8.0.6.unitypackage: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oppominigame/unity-webgl-to-oppo-minigame/4576915ac5654945132f3355c64fa84bdd320100/tools/unity_webgl_rpk_oppo_v8.0.6.unitypackage -------------------------------------------------------------------------------- /tools/unity_webgl_rpk_oppo_v8.0.7.unitypackage: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oppominigame/unity-webgl-to-oppo-minigame/4576915ac5654945132f3355c64fa84bdd320100/tools/unity_webgl_rpk_oppo_v8.0.7.unitypackage -------------------------------------------------------------------------------- /tools/unity_webgl_rpk_oppo_v8.0.7_open_ability.unitypackage: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oppominigame/unity-webgl-to-oppo-minigame/4576915ac5654945132f3355c64fa84bdd320100/tools/unity_webgl_rpk_oppo_v8.0.7_open_ability.unitypackage -------------------------------------------------------------------------------- /tools/unity_webgl_rpk_oppo_v8.0.8.unitypackage: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oppominigame/unity-webgl-to-oppo-minigame/4576915ac5654945132f3355c64fa84bdd320100/tools/unity_webgl_rpk_oppo_v8.0.8.unitypackage -------------------------------------------------------------------------------- /tools/unity_webgl_rpk_oppo_v8.0.9.unitypackage: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oppominigame/unity-webgl-to-oppo-minigame/4576915ac5654945132f3355c64fa84bdd320100/tools/unity_webgl_rpk_oppo_v8.0.9.unitypackage -------------------------------------------------------------------------------- /tools/unity_webgl_rpk_oppo_v8.1.0.unitypackage: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oppominigame/unity-webgl-to-oppo-minigame/4576915ac5654945132f3355c64fa84bdd320100/tools/unity_webgl_rpk_oppo_v8.1.0.unitypackage --------------------------------------------------------------------------------