From fc10e84a3083adcea4515f34f1ae991f4edca57c Mon Sep 17 00:00:00 2001 From: Dango2887 Date: Thu, 29 Aug 2024 11:51:33 +0800 Subject: [PATCH] feat:update upm --- Mobile.meta | 8 + Mobile/Editor.meta | 8 + Mobile/Editor/NativeDependencies.xml | 13 ++ Mobile/Editor/NativeDependencies.xml.meta | 7 + Mobile/Editor/TapLicenseMobileProcessBuild.cs | 20 +++ .../TapLicenseMobileProcessBuild.cs.meta | 11 ++ .../TapSDK.License.Mobile.Editor.asmdef | 17 ++ .../TapSDK.License.Mobile.Editor.asmdef.meta | 7 + Mobile/Runtime.meta | 8 + Mobile/Runtime/TapLicenseMobile.cs | 159 ++++++++++++++++++ Mobile/Runtime/TapLicenseMobile.cs.meta | 11 ++ .../TapSDK.License.Mobile.Runtime.asmdef | 20 +++ .../TapSDK.License.Mobile.Runtime.asmdef.meta | 7 + Runtime.meta | 8 + Runtime/Internal.meta | 8 + Runtime/Internal/ITapLicenseBridge.cs | 19 +++ Runtime/Internal/ITapLicenseBridge.cs.meta | 11 ++ Runtime/Public.meta | 8 + Runtime/Public/ITapDlcCallback.cs | 8 + Runtime/Public/ITapDlcCallback.cs.meta | 11 ++ Runtime/Public/ITapLicenseCallback.cs | 5 + Runtime/Public/ITapLicenseCallback.cs.meta | 11 ++ Runtime/Public/TapLicenseCode.cs | 48 ++++++ Runtime/Public/TapLicenseCode.cs.meta | 11 ++ Runtime/Public/TapTapLicense.cs | 49 ++++++ Runtime/Public/TapTapLicense.cs.meta | 11 ++ Runtime/TapSDK.License.Runtime.asmdef | 15 ++ Runtime/TapSDK.License.Runtime.asmdef.meta | 7 + Standalone.meta | 8 + Standalone/Editor.meta | 8 + .../TapLicenseStandaloneProcessBuild.cs | 20 +++ .../TapLicenseStandaloneProcessBuild.cs.meta | 11 ++ .../TapSDK.License.Standalone.Editor.asmdef | 17 ++ ...pSDK.License.Standalone.Editor.asmdef.meta | 7 + Standalone/Runtime.meta | 8 + Standalone/Runtime/TapLicenseStandalone.cs | 42 +++++ .../Runtime/TapLicenseStandalone.cs.meta | 11 ++ .../TapSDK.License.Standalone.Runtime.asmdef | 22 +++ ...SDK.License.Standalone.Runtime.asmdef.meta | 7 + package.json | 11 ++ package.json.meta | 7 + 41 files changed, 705 insertions(+) create mode 100644 Mobile.meta create mode 100644 Mobile/Editor.meta create mode 100644 Mobile/Editor/NativeDependencies.xml create mode 100644 Mobile/Editor/NativeDependencies.xml.meta create mode 100644 Mobile/Editor/TapLicenseMobileProcessBuild.cs create mode 100644 Mobile/Editor/TapLicenseMobileProcessBuild.cs.meta create mode 100644 Mobile/Editor/TapSDK.License.Mobile.Editor.asmdef create mode 100644 Mobile/Editor/TapSDK.License.Mobile.Editor.asmdef.meta create mode 100644 Mobile/Runtime.meta create mode 100644 Mobile/Runtime/TapLicenseMobile.cs create mode 100644 Mobile/Runtime/TapLicenseMobile.cs.meta create mode 100644 Mobile/Runtime/TapSDK.License.Mobile.Runtime.asmdef create mode 100644 Mobile/Runtime/TapSDK.License.Mobile.Runtime.asmdef.meta create mode 100644 Runtime.meta create mode 100644 Runtime/Internal.meta create mode 100644 Runtime/Internal/ITapLicenseBridge.cs create mode 100644 Runtime/Internal/ITapLicenseBridge.cs.meta create mode 100644 Runtime/Public.meta create mode 100644 Runtime/Public/ITapDlcCallback.cs create mode 100644 Runtime/Public/ITapDlcCallback.cs.meta create mode 100644 Runtime/Public/ITapLicenseCallback.cs create mode 100644 Runtime/Public/ITapLicenseCallback.cs.meta create mode 100644 Runtime/Public/TapLicenseCode.cs create mode 100644 Runtime/Public/TapLicenseCode.cs.meta create mode 100644 Runtime/Public/TapTapLicense.cs create mode 100644 Runtime/Public/TapTapLicense.cs.meta create mode 100644 Runtime/TapSDK.License.Runtime.asmdef create mode 100644 Runtime/TapSDK.License.Runtime.asmdef.meta create mode 100644 Standalone.meta create mode 100644 Standalone/Editor.meta create mode 100644 Standalone/Editor/TapLicenseStandaloneProcessBuild.cs create mode 100644 Standalone/Editor/TapLicenseStandaloneProcessBuild.cs.meta create mode 100644 Standalone/Editor/TapSDK.License.Standalone.Editor.asmdef create mode 100644 Standalone/Editor/TapSDK.License.Standalone.Editor.asmdef.meta create mode 100644 Standalone/Runtime.meta create mode 100644 Standalone/Runtime/TapLicenseStandalone.cs create mode 100644 Standalone/Runtime/TapLicenseStandalone.cs.meta create mode 100644 Standalone/Runtime/TapSDK.License.Standalone.Runtime.asmdef create mode 100644 Standalone/Runtime/TapSDK.License.Standalone.Runtime.asmdef.meta create mode 100644 package.json create mode 100644 package.json.meta diff --git a/Mobile.meta b/Mobile.meta new file mode 100644 index 0000000..9479f35 --- /dev/null +++ b/Mobile.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 0283e4b593c6a4822b0952332fb335cc +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Mobile/Editor.meta b/Mobile/Editor.meta new file mode 100644 index 0000000..f3e92c0 --- /dev/null +++ b/Mobile/Editor.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: ca8a780f7566d49fc97837678e7f3974 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Mobile/Editor/NativeDependencies.xml b/Mobile/Editor/NativeDependencies.xml new file mode 100644 index 0000000..efdb390 --- /dev/null +++ b/Mobile/Editor/NativeDependencies.xml @@ -0,0 +1,13 @@ + + + Ï + + + https://repo.maven.apache.org/maven2 + + + + + + + diff --git a/Mobile/Editor/NativeDependencies.xml.meta b/Mobile/Editor/NativeDependencies.xml.meta new file mode 100644 index 0000000..fe29bb2 --- /dev/null +++ b/Mobile/Editor/NativeDependencies.xml.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 8bcd652a555f84bf3874c5cde38edcdd +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Mobile/Editor/TapLicenseMobileProcessBuild.cs b/Mobile/Editor/TapLicenseMobileProcessBuild.cs new file mode 100644 index 0000000..e2dc210 --- /dev/null +++ b/Mobile/Editor/TapLicenseMobileProcessBuild.cs @@ -0,0 +1,20 @@ +using System; +using UnityEditor.Build.Reporting; +using TapSDK.Core.Editor; + +namespace TapSDK.License.Mobile.Editor { + public class TapLicenseMobileProcessBuild : SDKLinkProcessBuild { + public override int callbackOrder => 0; + + public override string LinkPath => "TapSDK/License/link.xml"; + + public override LinkedAssembly[] LinkedAssemblies => new LinkedAssembly[] { + new LinkedAssembly { Fullname = "TapSDK.License.Runtime" }, + new LinkedAssembly { Fullname = "TapSDK.License.Mobile.Runtime" } + }; + + public override Func IsTargetPlatform => (report) => { + return BuildTargetUtils.IsSupportMobile(report.summary.platform); + }; + } +} diff --git a/Mobile/Editor/TapLicenseMobileProcessBuild.cs.meta b/Mobile/Editor/TapLicenseMobileProcessBuild.cs.meta new file mode 100644 index 0000000..cf021b2 --- /dev/null +++ b/Mobile/Editor/TapLicenseMobileProcessBuild.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 40e60cd61abb74522a693604131aa1d8 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Mobile/Editor/TapSDK.License.Mobile.Editor.asmdef b/Mobile/Editor/TapSDK.License.Mobile.Editor.asmdef new file mode 100644 index 0000000..cb01e8b --- /dev/null +++ b/Mobile/Editor/TapSDK.License.Mobile.Editor.asmdef @@ -0,0 +1,17 @@ +{ + "name": "TapSDK.License.Mobile.Editor", + "references": [ + "GUID:56f3da7a178484843974054bafe77e73" + ], + "includePlatforms": [ + "Editor" + ], + "excludePlatforms": [], + "allowUnsafeCode": false, + "overrideReferences": false, + "precompiledReferences": [], + "autoReferenced": true, + "defineConstraints": [], + "versionDefines": [], + "noEngineReferences": false +} \ No newline at end of file diff --git a/Mobile/Editor/TapSDK.License.Mobile.Editor.asmdef.meta b/Mobile/Editor/TapSDK.License.Mobile.Editor.asmdef.meta new file mode 100644 index 0000000..8745896 --- /dev/null +++ b/Mobile/Editor/TapSDK.License.Mobile.Editor.asmdef.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 5f8c13d7fdc28424080d5ab381eaefaf +AssemblyDefinitionImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Mobile/Runtime.meta b/Mobile/Runtime.meta new file mode 100644 index 0000000..bf11511 --- /dev/null +++ b/Mobile/Runtime.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 8d26ae4891888490abed0e16f23b9374 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Mobile/Runtime/TapLicenseMobile.cs b/Mobile/Runtime/TapLicenseMobile.cs new file mode 100644 index 0000000..d784bbb --- /dev/null +++ b/Mobile/Runtime/TapLicenseMobile.cs @@ -0,0 +1,159 @@ +using System.Collections.Generic; +using TapSDK.License.Internal; +using TapSDK.Core; + +namespace TapSDK.License.Mobile +{ + public class TapLicenseMobile : ITapLicenseBridge + { + public static string TAP_LICENSE_SERVICE = "BridgeLicenseService"; + + public static string TDS_LICENSE_SERVICE_CLZ = "com.taptap.sdk.license.internal.enginebridge.BridgeLicenseService"; + + public static string TDS_LICENSE_SERVICE_IMPL = "com.taptap.sdk.license.internal.enginebridge.BridgeLicenseServiceImpl"; + + public TapLicenseMobile() + { + EngineBridge.GetInstance().Register(TDS_LICENSE_SERVICE_CLZ, TDS_LICENSE_SERVICE_IMPL); + } + + public void RegisterLicencesCallback(ITapLicenseCallback callback) + { + var command = new Command.Builder() + .Service(TAP_LICENSE_SERVICE) + .Method("registerLicenseCallback") + .Callback(true) + .OnceTime(false) + .CommandBuilder(); + EngineBridge.GetInstance().CallHandler(command, (result) => + { + if (result.code != Result.RESULT_SUCCESS) + { + return; + } + + if (string.IsNullOrEmpty(result.content)) + { + return; + } + var dic = Json.Deserialize(result.content) as Dictionary; + var success = SafeDictionary.GetValue(dic, "login") as string; + if (success.Equals("success")) + { + callback.OnLicenseSuccess(); + } + }); + } + + public void RegisterDLCCallback(ITapDlcCallback callback) + { + var command = new Command.Builder(); + command.Service(TAP_LICENSE_SERVICE); + command.Method("registerDLCCallback") + .Callback(true) + .OnceTime(false); + + EngineBridge.GetInstance().CallHandler(command.CommandBuilder(), (result) => + { + if (result.code != Result.RESULT_SUCCESS) + { + return; + } + + if (string.IsNullOrEmpty(result.content)) + { + return; + } + var dic = Json.Deserialize(result.content) as Dictionary; + var dlc = SafeDictionary.GetValue(dic, "orderDLC"); + if (!string.IsNullOrEmpty(dlc)) + { + var statusCode = SafeDictionary.GetValue(dic, "orderStatus"); + callback.OnOrderCallBack(dlc, HandlePurchasedCode(statusCode)); + return; + } + var code = SafeDictionary.GetValue(dic, "queryCode"); + var queryListJson = SafeDictionary.GetValue(dic, "queryResult"); + var queryListDic = Json.Deserialize(queryListJson) as Dictionary; + callback.OnQueryCallBack(HandleQueryCode(code), queryListDic); + }); + } + + private static TapLicenseQueryCode HandleQueryCode(int code) + { + switch (code) + { + case 0: + return TapLicenseQueryCode.QUERY_RESULT_OK; + case 1: + return TapLicenseQueryCode.QUERY_RESULT_NOT_INSTALL_TAPTAP; + case 2: + return TapLicenseQueryCode.QUERY_RESULT_ERR; + default: + return TapLicenseQueryCode.ERROR_CODE_UNDEFINED; + } + } + + private static TapLicensePurchasedCode HandlePurchasedCode(int code) + { + switch (code) + { + case 0: + return TapLicensePurchasedCode.DLC_NOT_PURCHASED; + case 1: + return TapLicensePurchasedCode.DLC_PURCHASED; + case -1: + return TapLicensePurchasedCode.DLC_RETURN_ERROR; + default: + return TapLicensePurchasedCode.ERROR_CODE_UNDEFINED; + } + } + + public void CheckLicense() + { + var command = new Command.Builder() + .Service(TAP_LICENSE_SERVICE) + .Method("checkLicense") + .CommandBuilder(); + EngineBridge.GetInstance().CallHandler(command); + } + + public void CheckLicenseForcibly(){ + var command = new Command.Builder() + .Service(TAP_LICENSE_SERVICE) + .Method("checkLicenseForcibly") + .CommandBuilder(); + EngineBridge.GetInstance().CallHandler(command); + } + + public void QueryDLC(string[] skus) + { + var command = new Command.Builder() + .Service(TAP_LICENSE_SERVICE) + .Method("queryDLC") + .Args("skuList", skus) + .CommandBuilder(); + EngineBridge.GetInstance().CallHandler(command); + } + + public void PurchaseDLC(string sku) + { + var command = new Command.Builder() + .Service(TAP_LICENSE_SERVICE) + .Method("purchaseDLC") + .Args("skuId", sku) + .CommandBuilder(); + EngineBridge.GetInstance().CallHandler(command); + } + + public void SetTestEnvironment(bool isTest){ + var command = new Command.Builder() + .Service(TAP_LICENSE_SERVICE) + .Method("setTestEnvironment") + .Args("testEnv", isTest) + .CommandBuilder(); + EngineBridge.GetInstance().CallHandler(command); + } + + } +} \ No newline at end of file diff --git a/Mobile/Runtime/TapLicenseMobile.cs.meta b/Mobile/Runtime/TapLicenseMobile.cs.meta new file mode 100644 index 0000000..b9877e3 --- /dev/null +++ b/Mobile/Runtime/TapLicenseMobile.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: d5c67656452dc465a99a4fed1bd49e4f +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Mobile/Runtime/TapSDK.License.Mobile.Runtime.asmdef b/Mobile/Runtime/TapSDK.License.Mobile.Runtime.asmdef new file mode 100644 index 0000000..e144028 --- /dev/null +++ b/Mobile/Runtime/TapSDK.License.Mobile.Runtime.asmdef @@ -0,0 +1,20 @@ +{ + "name": "TapSDK.License.Mobile.Runtime", + "references": [ + "GUID:6f31234cd7bae42d2ae6f8b300cad891", + "GUID:7d5ef2062f3704e1ab74aac0e4d5a1a7", + "GUID:10560023d8780423cb943c7a324b69f2" + ], + "includePlatforms": [ + "Android", + "iOS" + ], + "excludePlatforms": [], + "allowUnsafeCode": false, + "overrideReferences": false, + "precompiledReferences": [], + "autoReferenced": true, + "defineConstraints": [], + "versionDefines": [], + "noEngineReferences": false +} \ No newline at end of file diff --git a/Mobile/Runtime/TapSDK.License.Mobile.Runtime.asmdef.meta b/Mobile/Runtime/TapSDK.License.Mobile.Runtime.asmdef.meta new file mode 100644 index 0000000..5f9a62b --- /dev/null +++ b/Mobile/Runtime/TapSDK.License.Mobile.Runtime.asmdef.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: da3bb67bc7fc44bfbb393b69c11ddad2 +AssemblyDefinitionImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Runtime.meta b/Runtime.meta new file mode 100644 index 0000000..8ff2fc0 --- /dev/null +++ b/Runtime.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: ebec4ffb8a32b4c0a947321ab0cd8fde +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Runtime/Internal.meta b/Runtime/Internal.meta new file mode 100644 index 0000000..1d72f33 --- /dev/null +++ b/Runtime/Internal.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 2cfe7a3c6343b44438f9fece2396729a +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Runtime/Internal/ITapLicenseBridge.cs b/Runtime/Internal/ITapLicenseBridge.cs new file mode 100644 index 0000000..e272829 --- /dev/null +++ b/Runtime/Internal/ITapLicenseBridge.cs @@ -0,0 +1,19 @@ + +namespace TapSDK.License.Internal { + public interface ITapLicenseBridge { + void RegisterLicencesCallback(ITapLicenseCallback callback); + + void RegisterDLCCallback(ITapDlcCallback callback); + + void CheckLicense(); + + void CheckLicenseForcibly(); + + void QueryDLC(string[] skus); + + void PurchaseDLC(string sku); + + void SetTestEnvironment(bool isTest); + + } +} \ No newline at end of file diff --git a/Runtime/Internal/ITapLicenseBridge.cs.meta b/Runtime/Internal/ITapLicenseBridge.cs.meta new file mode 100644 index 0000000..069e94d --- /dev/null +++ b/Runtime/Internal/ITapLicenseBridge.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: c340838f9c5ea431dae137f6a77df72b +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Runtime/Public.meta b/Runtime/Public.meta new file mode 100644 index 0000000..7e76042 --- /dev/null +++ b/Runtime/Public.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 80e552eea1f22410f893964ab296c70b +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Runtime/Public/ITapDlcCallback.cs b/Runtime/Public/ITapDlcCallback.cs new file mode 100644 index 0000000..eb01129 --- /dev/null +++ b/Runtime/Public/ITapDlcCallback.cs @@ -0,0 +1,8 @@ +using System.Collections.Generic; + +namespace TapSDK.License { + public interface ITapDlcCallback { + void OnQueryCallBack(TapLicenseQueryCode code, Dictionary queryList); + void OnOrderCallBack(string sku, TapLicensePurchasedCode status); + } +} diff --git a/Runtime/Public/ITapDlcCallback.cs.meta b/Runtime/Public/ITapDlcCallback.cs.meta new file mode 100644 index 0000000..d512270 --- /dev/null +++ b/Runtime/Public/ITapDlcCallback.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 929de5760339f4dcb9545eb24b18068e +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Runtime/Public/ITapLicenseCallback.cs b/Runtime/Public/ITapLicenseCallback.cs new file mode 100644 index 0000000..6ee1bb1 --- /dev/null +++ b/Runtime/Public/ITapLicenseCallback.cs @@ -0,0 +1,5 @@ +namespace TapSDK.License { + public interface ITapLicenseCallback { + void OnLicenseSuccess(); + } +} diff --git a/Runtime/Public/ITapLicenseCallback.cs.meta b/Runtime/Public/ITapLicenseCallback.cs.meta new file mode 100644 index 0000000..7eef416 --- /dev/null +++ b/Runtime/Public/ITapLicenseCallback.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 6fcbd9a77ff58440cb84d9b8a94b389b +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Runtime/Public/TapLicenseCode.cs b/Runtime/Public/TapLicenseCode.cs new file mode 100644 index 0000000..b50ee7f --- /dev/null +++ b/Runtime/Public/TapLicenseCode.cs @@ -0,0 +1,48 @@ +namespace TapSDK.License +{ + public enum TapLicenseQueryCode + { + /* + * 查询成功 + */ + QUERY_RESULT_OK = 0, + + /** + * 未安装客户端,sdk有相应处理,正常不需要开发者做处理 + */ + QUERY_RESULT_NOT_INSTALL_TAPTAP = 1, + + /** + * 查询失败 + */ + QUERY_RESULT_ERR = 2, + + /* + * 未知错误 + */ + ERROR_CODE_UNDEFINED = 80000, + } + + public enum TapLicensePurchasedCode + { + /* + * 支付失败 + */ + DLC_NOT_PURCHASED = 0, + + /** + * 支付成功 + */ + DLC_PURCHASED = 1, + + /** + * 支付出现问题 + */ + DLC_RETURN_ERROR = -1, + + /* + * 未知错误 + */ + ERROR_CODE_UNDEFINED = 80000, + } +} \ No newline at end of file diff --git a/Runtime/Public/TapLicenseCode.cs.meta b/Runtime/Public/TapLicenseCode.cs.meta new file mode 100644 index 0000000..5a128d5 --- /dev/null +++ b/Runtime/Public/TapLicenseCode.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: ec434f35e67af4080bb9ba255fd5b5bc +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Runtime/Public/TapTapLicense.cs b/Runtime/Public/TapTapLicense.cs new file mode 100644 index 0000000..603c271 --- /dev/null +++ b/Runtime/Public/TapTapLicense.cs @@ -0,0 +1,49 @@ +using TapSDK.License.Internal; +using TapSDK.Core.Internal.Utils; + +namespace TapSDK.License { + public class TapTapLicense { + + public static readonly string Version = "4.3.10"; + + static readonly ITapLicenseBridge license; + + static TapTapLicense() { + license = BridgeUtils.CreateBridgeImplementation(typeof(ITapLicenseBridge), "TapSDK.License") + as ITapLicenseBridge; + } + + public static void RegisterLicenseCallBack(ITapLicenseCallback callback) { + license.RegisterLicencesCallback(callback); + } + + public static void RegisterDLCCallback(ITapDlcCallback callback) { + license.RegisterDLCCallback(callback); + } + + + public static void CheckLicense(bool force = false) { + if(force){ + license.CheckLicenseForcibly(); + }else{ + license.CheckLicense(); + } + } + + + + public static void QueryDLC(string[] dlcList) { + license.QueryDLC(dlcList); + } + + public static void PurchaseDLC(string dlc) { + license.PurchaseDLC(dlc); + } + + public static void SetTestEnvironment(bool isTest){ + license.SetTestEnvironment(isTest); + } + + + } +} diff --git a/Runtime/Public/TapTapLicense.cs.meta b/Runtime/Public/TapTapLicense.cs.meta new file mode 100644 index 0000000..bfb5b71 --- /dev/null +++ b/Runtime/Public/TapTapLicense.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 468b63d3f30a640fc92d4dfab88a0472 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Runtime/TapSDK.License.Runtime.asmdef b/Runtime/TapSDK.License.Runtime.asmdef new file mode 100644 index 0000000..e0c38e2 --- /dev/null +++ b/Runtime/TapSDK.License.Runtime.asmdef @@ -0,0 +1,15 @@ +{ + "name": "TapSDK.License.Runtime", + "references": [ + "GUID:7d5ef2062f3704e1ab74aac0e4d5a1a7" + ], + "includePlatforms": [], + "excludePlatforms": [], + "allowUnsafeCode": false, + "overrideReferences": false, + "precompiledReferences": [], + "autoReferenced": true, + "defineConstraints": [], + "versionDefines": [], + "noEngineReferences": false +} \ No newline at end of file diff --git a/Runtime/TapSDK.License.Runtime.asmdef.meta b/Runtime/TapSDK.License.Runtime.asmdef.meta new file mode 100644 index 0000000..0b34433 --- /dev/null +++ b/Runtime/TapSDK.License.Runtime.asmdef.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 6f31234cd7bae42d2ae6f8b300cad891 +AssemblyDefinitionImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Standalone.meta b/Standalone.meta new file mode 100644 index 0000000..18d0854 --- /dev/null +++ b/Standalone.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 146077ddd8a1a49eeb9e91ae4b3c39ff +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Standalone/Editor.meta b/Standalone/Editor.meta new file mode 100644 index 0000000..2cc2010 --- /dev/null +++ b/Standalone/Editor.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: bc23cff82817f4c80948547d39736b65 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Standalone/Editor/TapLicenseStandaloneProcessBuild.cs b/Standalone/Editor/TapLicenseStandaloneProcessBuild.cs new file mode 100644 index 0000000..df23a21 --- /dev/null +++ b/Standalone/Editor/TapLicenseStandaloneProcessBuild.cs @@ -0,0 +1,20 @@ +using System; +using UnityEditor.Build.Reporting; +using TapSDK.Core.Editor; + +namespace TapSDK.License.Standalone.Editor { + public class TapLicenseStandaloneProcessBuild : SDKLinkProcessBuild { + public override int callbackOrder => 0; + + public override string LinkPath => "TapSDK/License/link.xml"; + + public override LinkedAssembly[] LinkedAssemblies => new LinkedAssembly[] { + new LinkedAssembly { Fullname = "TapSDK.License.Runtime" }, + new LinkedAssembly { Fullname = "TapSDK.License.Standalone.Runtime" } + }; + + public override Func IsTargetPlatform => (report) => { + return BuildTargetUtils.IsSupportStandalone(report.summary.platform); + }; + } +} diff --git a/Standalone/Editor/TapLicenseStandaloneProcessBuild.cs.meta b/Standalone/Editor/TapLicenseStandaloneProcessBuild.cs.meta new file mode 100644 index 0000000..bb9192c --- /dev/null +++ b/Standalone/Editor/TapLicenseStandaloneProcessBuild.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 1198bf28ce00245459c3e960ad44bc33 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Standalone/Editor/TapSDK.License.Standalone.Editor.asmdef b/Standalone/Editor/TapSDK.License.Standalone.Editor.asmdef new file mode 100644 index 0000000..8173c3c --- /dev/null +++ b/Standalone/Editor/TapSDK.License.Standalone.Editor.asmdef @@ -0,0 +1,17 @@ +{ + "name": "TapSDK.License.Standalone.Editor", + "references": [ + "GUID:56f3da7a178484843974054bafe77e73" + ], + "includePlatforms": [ + "Editor" + ], + "excludePlatforms": [], + "allowUnsafeCode": false, + "overrideReferences": false, + "precompiledReferences": [], + "autoReferenced": true, + "defineConstraints": [], + "versionDefines": [], + "noEngineReferences": false +} \ No newline at end of file diff --git a/Standalone/Editor/TapSDK.License.Standalone.Editor.asmdef.meta b/Standalone/Editor/TapSDK.License.Standalone.Editor.asmdef.meta new file mode 100644 index 0000000..48ba1a8 --- /dev/null +++ b/Standalone/Editor/TapSDK.License.Standalone.Editor.asmdef.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 7b602e59c1f9941f39bdcb680893b926 +AssemblyDefinitionImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Standalone/Runtime.meta b/Standalone/Runtime.meta new file mode 100644 index 0000000..178ce02 --- /dev/null +++ b/Standalone/Runtime.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: ebe50dc6539e1488c91a62bb1eb08721 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Standalone/Runtime/TapLicenseStandalone.cs b/Standalone/Runtime/TapLicenseStandalone.cs new file mode 100644 index 0000000..87104e3 --- /dev/null +++ b/Standalone/Runtime/TapLicenseStandalone.cs @@ -0,0 +1,42 @@ +using TapSDK.License; +using TapSDK.License.Internal; +using TapSDK.Core; + +namespace TapSDK.License.Standalone { + public class TapLicenseStandalone : ITapLicenseBridge { + public void CheckLicense() + { + TapLogger.Warn($"{nameof(CheckLicense)} NOT implemented."); + } + + public void CheckLicenseForcibly() + { + TapLogger.Warn($"{nameof(CheckLicenseForcibly)} NOT implemented."); + } + + public void PurchaseDLC(string sku) { + TapLogger.Warn($"{nameof(PurchaseDLC)} NOT implemented."); + } + + public void QueryDLC(string[] skus) { + TapLogger.Warn($"{nameof(QueryDLC)} NOT implemented."); + } + + public void RegisterDLCCallback(ITapDlcCallback callback) + { + TapLogger.Warn($"{nameof(RegisterDLCCallback)} NOT implemented."); + } + + public void RegisterLicencesCallback(ITapLicenseCallback callback) + { + TapLogger.Warn($"{nameof(RegisterLicencesCallback)} NOT implemented."); + + } + + public void SetTestEnvironment(bool isTest){ + TapLogger.Warn($"{nameof(SetTestEnvironment)} NOT implemented."); + } + + + } +} diff --git a/Standalone/Runtime/TapLicenseStandalone.cs.meta b/Standalone/Runtime/TapLicenseStandalone.cs.meta new file mode 100644 index 0000000..291cd51 --- /dev/null +++ b/Standalone/Runtime/TapLicenseStandalone.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 384696cec333840aaafe8f36b891f2ab +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Standalone/Runtime/TapSDK.License.Standalone.Runtime.asmdef b/Standalone/Runtime/TapSDK.License.Standalone.Runtime.asmdef new file mode 100644 index 0000000..85c9d7b --- /dev/null +++ b/Standalone/Runtime/TapSDK.License.Standalone.Runtime.asmdef @@ -0,0 +1,22 @@ +{ + "name": "TapSDK.License.Standalone.Runtime", + "references": [ + "GUID:6f31234cd7bae42d2ae6f8b300cad891", + "GUID:7d5ef2062f3704e1ab74aac0e4d5a1a7" + ], + "includePlatforms": [ + "Editor", + "LinuxStandalone64", + "macOSStandalone", + "WindowsStandalone32", + "WindowsStandalone64" + ], + "excludePlatforms": [], + "allowUnsafeCode": false, + "overrideReferences": false, + "precompiledReferences": [], + "autoReferenced": true, + "defineConstraints": [], + "versionDefines": [], + "noEngineReferences": false +} \ No newline at end of file diff --git a/Standalone/Runtime/TapSDK.License.Standalone.Runtime.asmdef.meta b/Standalone/Runtime/TapSDK.License.Standalone.Runtime.asmdef.meta new file mode 100644 index 0000000..6810df1 --- /dev/null +++ b/Standalone/Runtime/TapSDK.License.Standalone.Runtime.asmdef.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 19ee08f6517424c7b916e9a1b4bc4b38 +AssemblyDefinitionImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/package.json b/package.json new file mode 100644 index 0000000..c1ad64c --- /dev/null +++ b/package.json @@ -0,0 +1,11 @@ +{ + "name": "com.taptap.sdk.license", + "displayName": "TapTapSDK License", + "description": "TapTapSDK License", + "version": "4.3.10", + "unity": "2019.4", + "license": "MIT", + "dependencies": { + "com.taptap.sdk.core": "4.3.10" + } +} \ No newline at end of file diff --git a/package.json.meta b/package.json.meta new file mode 100644 index 0000000..73e1ddd --- /dev/null +++ b/package.json.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 477244d59975e4b50b3cd9a5f41a8edb +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: