From 3aad3605be524261db5c96627e756cd889f0301a Mon Sep 17 00:00:00 2001 From: lc1006 <1176168734@qq.com> Date: Mon, 18 Nov 2024 14:59:10 +0800 Subject: [PATCH] feat:update upm --- Mobile.meta | 8 + Mobile/Editor.meta | 8 + Mobile/Editor/NativeDependencies.xml | 15 + Mobile/Editor/NativeDependencies.xml.meta | 7 + .../Editor/TapComplianceMobileProcessBuild.cs | 21 + .../TapComplianceMobileProcessBuild.cs.meta | 3 + .../TapSDK.Compliance.Mobile.Editor.asmdef | 17 + ...apSDK.Compliance.Mobile.Editor.asmdef.meta | 7 + Mobile/Editor/iOS.meta | 8 + Mobile/Editor/iOS/BuidPostProcessor.cs | 45 + Mobile/Editor/iOS/BuidPostProcessor.cs.meta | 11 + Mobile/Runtime.meta | 3 + Mobile/Runtime/ComplianceMobileBridge.cs | 319 ++ Mobile/Runtime/ComplianceMobileBridge.cs.meta | 11 + Mobile/Runtime/ComplianceMobileOldJob.cs | 81 + Mobile/Runtime/ComplianceMobileOldJob.cs.meta | 11 + .../TapSDK.Compliance.Mobile.Runtime.asmdef | 19 + ...pSDK.Compliance.Mobile.Runtime.asmdef.meta | 7 + Resources.meta | 8 + Resources/BillingMode.json | 1 + Resources/BillingMode.json.meta | 7 + Resources/Config.meta | 8 + Resources/Config/ComplianceLocalization.json | 116 + .../Config/ComplianceLocalization.json.meta | 7 + Resources/Prefabs.meta | 8 + Resources/Prefabs/Mobile.meta | 8 + .../TapTapAntiAddictionRetryAlert.prefab | 803 +++++ .../TapTapAntiAddictionRetryAlert.prefab.meta | 7 + .../Mobile/TapTapHealthPaymentPanel.prefab | 820 +++++ .../TapTapHealthPaymentPanel.prefab.meta | 7 + .../Mobile/TapTapHealthReminderPanel.prefab | 988 +++++ .../TapTapHealthReminderPanel.prefab.meta | 7 + .../TapTapVietnamTimeSelectorPanel.prefab | 3176 +++++++++++++++++ ...TapTapVietnamTimeSelectorPanel.prefab.meta | 7 + Resources/Textures.meta | 8 + Resources/Textures/Background.png | Bin 0 -> 5097 bytes Resources/Textures/Background.png.meta | 128 + Resources/Textures/Button.png | Bin 0 -> 2517 bytes Resources/Textures/Button.png.meta | 128 + Resources/Textures/Checkmark.png | Bin 0 -> 348 bytes Resources/Textures/Checkmark.png.meta | 128 + Resources/Textures/Dropdown.png | Bin 0 -> 2540 bytes Resources/Textures/Dropdown.png.meta | 128 + Resources/Textures/DropdownH.png | Bin 0 -> 3030 bytes Resources/Textures/DropdownH.png.meta | 128 + Resources/Textures/Loading.png | Bin 0 -> 1484 bytes Resources/Textures/Loading.png.meta | 128 + Resources/Textures/On.png | Bin 0 -> 9110 bytes Resources/Textures/On.png.meta | 128 + Resources/Textures/Scrollview.png | Bin 0 -> 23263 bytes Resources/Textures/Scrollview.png.meta | 128 + Resources/Textures/WhiteButton.png | Bin 0 -> 906 bytes Resources/Textures/WhiteButton.png.meta | 128 + Resources/Textures/error_tip.png | Bin 0 -> 1126 bytes Resources/Textures/error_tip.png.meta | 128 + Resources/Textures/off.png | Bin 0 -> 10740 bytes Resources/Textures/off.png.meta | 128 + .../Textures/taptap-antiaddiction-input.png | Bin 0 -> 3779 bytes .../taptap-antiaddiction-input.png.meta | 128 + .../taptap-antiaddiction-largebutton.png | Bin 0 -> 663 bytes .../taptap-antiaddiction-largebutton.png.meta | 128 + .../taptap-antiaddiction-mobile-button.png | Bin 0 -> 4954 bytes ...aptap-antiaddiction-mobile-button.png.meta | 128 + Runtime.meta | 3 + Runtime/Internal.meta | 8 + Runtime/Internal/ComplianceJobManager.cs | 85 + Runtime/Internal/ComplianceJobManager.cs.meta | 11 + Runtime/Internal/ComplianceResult.cs | 89 + Runtime/Internal/ComplianceResult.cs.meta | 3 + Runtime/Internal/IComplianceJob.cs | 51 + Runtime/Internal/IComplianceJob.cs.meta | 11 + Runtime/Internal/Init.meta | 3 + Runtime/Internal/Init/ComplianceInitTask.cs | 46 + .../Internal/Init/ComplianceInitTask.cs.meta | 3 + Runtime/Internal/Model.meta | 8 + Runtime/Internal/Model/StartUpResult.cs | 28 + Runtime/Internal/Model/StartUpResult.cs.meta | 11 + Runtime/Public.meta | 3 + Runtime/Public/TapTapCompliance.cs | 121 + Runtime/Public/TapTapCompliance.cs.meta | 11 + Runtime/Public/TapTapComplianceOption.cs | 48 + Runtime/Public/TapTapComplianceOption.cs.meta | 3 + Runtime/TapSDK.Compliance.Runtime.asmdef | 16 + Runtime/TapSDK.Compliance.Runtime.asmdef.meta | 7 + Standalone.meta | 3 + Standalone/Editor.meta | 3 + .../TapComplianceStandaloneProcessBuild.cs | 20 + ...apComplianceStandaloneProcessBuild.cs.meta | 3 + ...TapSDK.Compliance.Standalone.Editor.asmdef | 17 + ...K.Compliance.Standalone.Editor.asmdef.meta | 7 + Standalone/Resources.meta | 8 + Standalone/Resources/Prefabs.meta | 8 + Standalone/Resources/Prefabs/Standalone.meta | 8 + .../TapTapAntiAddictionRetryAlert.prefab | 835 +++++ .../TapTapAntiAddictionRetryAlert.prefab.meta | 7 + .../Standalone/TapTapChinaIDInputPanel.prefab | 1646 +++++++++ .../TapTapChinaIDInputPanel.prefab.meta | 7 + .../TapTapChinaQuickVerifyTipPanel.prefab | 1591 +++++++++ ...TapTapChinaQuickVerifyTipPanel.prefab.meta | 7 + .../TapTapHealthPaymentPanel.prefab | 897 +++++ .../TapTapHealthPaymentPanel.prefab.meta | 7 + .../TapTapHealthReminderPanel.prefab | 1065 ++++++ .../TapTapHealthReminderPanel.prefab.meta | 7 + Standalone/Resources/Textures.meta | 8 + .../Resources/Textures/QuickVerifyTip.png | Bin 0 -> 9322 bytes .../Textures/QuickVerifyTip.png.meta | 128 + .../taptap-antiaddiction-largebutton.png | Bin 0 -> 2077 bytes .../taptap-antiaddiction-largebutton.png.meta | 128 + Standalone/Runtime.meta | 3 + Standalone/Runtime/ComplianceWorker.cs | 525 +++ Standalone/Runtime/ComplianceWorker.cs.meta | 11 + Standalone/Runtime/Internal.meta | 3 + .../Internal/AccessTokenJsonConverter.cs | 58 + .../Internal/AccessTokenJsonConverter.cs.meta | 3 + .../Runtime/Internal/ComplianceConst.cs | 73 + .../Runtime/Internal/ComplianceConst.cs.meta | 11 + .../Runtime/Internal/ComplianceException.cs | 24 + .../Internal/ComplianceException.cs.meta | 11 + .../Runtime/Internal/ComplianceNewJob.cs | 213 ++ .../Runtime/Internal/ComplianceNewJob.cs.meta | 11 + Standalone/Runtime/Internal/CompliancePoll.cs | 136 + .../Runtime/Internal/CompliancePoll.cs.meta | 11 + Standalone/Runtime/Internal/Config.cs | 137 + Standalone/Runtime/Internal/Config.cs.meta | 11 + Standalone/Runtime/Internal/Http.meta | 8 + .../Internal/Http/ComplianceHttpClient.cs | 213 ++ .../Http/ComplianceHttpClient.cs.meta | 11 + Standalone/Runtime/Internal/Model.meta | 8 + .../Runtime/Internal/Model/BaseResponse.cs | 14 + .../Internal/Model/BaseResponse.cs.meta | 11 + .../Runtime/Internal/Model/ErrorResponse.cs | 27 + .../Internal/Model/ErrorResponse.cs.meta | 11 + Standalone/Runtime/Internal/Model/Payable.cs | 23 + .../Runtime/Internal/Model/Payable.cs.meta | 11 + Standalone/Runtime/Internal/Model/Playable.cs | 48 + .../Runtime/Internal/Model/Playable.cs.meta | 11 + .../Runtime/Internal/Model/RealNameConfig.cs | 73 + .../Internal/Model/RealNameConfig.cs.meta | 11 + .../Runtime/Internal/Model/ServerTime.cs | 19 + .../Runtime/Internal/Model/ServerTime.cs.meta | 11 + .../Internal/Model/StandaloneResponse.cs | 12 + .../Internal/Model/StandaloneResponse.cs.meta | 11 + .../Runtime/Internal/Model/SubmitPayment.cs | 8 + .../Internal/Model/SubmitPayment.cs.meta | 11 + .../Internal/Model/UserComplianceConfig.cs | 109 + .../Model/UserComplianceConfig.cs.meta | 11 + .../Runtime/Internal/Model/Verification.cs | 88 + .../Internal/Model/Verification.cs.meta | 11 + Standalone/Runtime/Internal/Network.cs | 296 ++ Standalone/Runtime/Internal/Network.cs.meta | 11 + Standalone/Runtime/Internal/Persistence.cs | 91 + .../Runtime/Internal/Persistence.cs.meta | 11 + .../Runtime/Internal/TapComplianceUI.cs | 68 + .../Runtime/Internal/TapComplianceUI.cs.meta | 11 + .../Internal/TapLoginPermissionProvider.cs | 24 + .../TapLoginPermissionProvider.cs.meta | 11 + .../Internal/TapTapComplianceManager.cs | 253 ++ .../Internal/TapTapComplianceManager.cs.meta | 11 + Standalone/Runtime/Internal/Tool.cs | 211 ++ Standalone/Runtime/Internal/Tool.cs.meta | 11 + Standalone/Runtime/Internal/Tracker.meta | 8 + .../Internal/Tracker/TapComplianceTracker.cs | 109 + .../Tracker/TapComplianceTracker.cs.meta | 11 + Standalone/Runtime/Internal/UI.meta | 8 + .../Runtime/Internal/UI/Controller.meta | 8 + .../TapTapChinaVerifyFinishPanelController.cs | 81 + ...apChinaVerifyFinishPanelController.cs.meta | 11 + ...apTapComplianceQuickVerifyTipController.cs | 119 + ...ComplianceQuickVerifyTipController.cs.meta | 3 + ...TaptapComplianceHealthPaymentController.cs | 105 + ...pComplianceHealthPaymentController.cs.meta | 11 + ...aptapComplianceHealthReminderController.cs | 129 + ...ComplianceHealthReminderController.cs.meta | 11 + .../TaptapComplianceIDInputController.cs | 220 ++ .../TaptapComplianceIDInputController.cs.meta | 11 + .../TaptapComplianceRetryAlertController.cs | 46 + ...ptapComplianceRetryAlertController.cs.meta | 11 + Standalone/Runtime/Internal/Verification.cs | 316 ++ .../Runtime/Internal/Verification.cs.meta | 11 + Standalone/Runtime/Internal/Worker.meta | 8 + .../Internal/Worker/BaseComplianceWorker.cs | 489 +++ .../Worker/BaseComplianceWorker.cs.meta | 11 + ...ap.AntiAddiction.Standalone.Runtime.asmdef | 26 + ...tiAddiction.Standalone.Runtime.asmdef.meta | 3 + Standalone/Runtime/gen.meta | 8 + .../gen/ComplianceLocalizationItems.cs | 121 + .../gen/ComplianceLocalizationItems.cs.meta | 11 + package.json | 12 + package.json.meta | 7 + 189 files changed, 20304 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/TapComplianceMobileProcessBuild.cs create mode 100644 Mobile/Editor/TapComplianceMobileProcessBuild.cs.meta create mode 100644 Mobile/Editor/TapSDK.Compliance.Mobile.Editor.asmdef create mode 100644 Mobile/Editor/TapSDK.Compliance.Mobile.Editor.asmdef.meta create mode 100644 Mobile/Editor/iOS.meta create mode 100644 Mobile/Editor/iOS/BuidPostProcessor.cs create mode 100644 Mobile/Editor/iOS/BuidPostProcessor.cs.meta create mode 100644 Mobile/Runtime.meta create mode 100644 Mobile/Runtime/ComplianceMobileBridge.cs create mode 100644 Mobile/Runtime/ComplianceMobileBridge.cs.meta create mode 100644 Mobile/Runtime/ComplianceMobileOldJob.cs create mode 100644 Mobile/Runtime/ComplianceMobileOldJob.cs.meta create mode 100644 Mobile/Runtime/TapSDK.Compliance.Mobile.Runtime.asmdef create mode 100644 Mobile/Runtime/TapSDK.Compliance.Mobile.Runtime.asmdef.meta create mode 100644 Resources.meta create mode 100644 Resources/BillingMode.json create mode 100644 Resources/BillingMode.json.meta create mode 100644 Resources/Config.meta create mode 100644 Resources/Config/ComplianceLocalization.json create mode 100644 Resources/Config/ComplianceLocalization.json.meta create mode 100644 Resources/Prefabs.meta create mode 100644 Resources/Prefabs/Mobile.meta create mode 100644 Resources/Prefabs/Mobile/TapTapAntiAddictionRetryAlert.prefab create mode 100644 Resources/Prefabs/Mobile/TapTapAntiAddictionRetryAlert.prefab.meta create mode 100644 Resources/Prefabs/Mobile/TapTapHealthPaymentPanel.prefab create mode 100644 Resources/Prefabs/Mobile/TapTapHealthPaymentPanel.prefab.meta create mode 100644 Resources/Prefabs/Mobile/TapTapHealthReminderPanel.prefab create mode 100644 Resources/Prefabs/Mobile/TapTapHealthReminderPanel.prefab.meta create mode 100644 Resources/Prefabs/Mobile/TapTapVietnamTimeSelectorPanel.prefab create mode 100644 Resources/Prefabs/Mobile/TapTapVietnamTimeSelectorPanel.prefab.meta create mode 100644 Resources/Textures.meta create mode 100644 Resources/Textures/Background.png create mode 100644 Resources/Textures/Background.png.meta create mode 100644 Resources/Textures/Button.png create mode 100644 Resources/Textures/Button.png.meta create mode 100644 Resources/Textures/Checkmark.png create mode 100644 Resources/Textures/Checkmark.png.meta create mode 100644 Resources/Textures/Dropdown.png create mode 100644 Resources/Textures/Dropdown.png.meta create mode 100644 Resources/Textures/DropdownH.png create mode 100644 Resources/Textures/DropdownH.png.meta create mode 100644 Resources/Textures/Loading.png create mode 100644 Resources/Textures/Loading.png.meta create mode 100644 Resources/Textures/On.png create mode 100644 Resources/Textures/On.png.meta create mode 100644 Resources/Textures/Scrollview.png create mode 100644 Resources/Textures/Scrollview.png.meta create mode 100644 Resources/Textures/WhiteButton.png create mode 100644 Resources/Textures/WhiteButton.png.meta create mode 100644 Resources/Textures/error_tip.png create mode 100644 Resources/Textures/error_tip.png.meta create mode 100644 Resources/Textures/off.png create mode 100644 Resources/Textures/off.png.meta create mode 100644 Resources/Textures/taptap-antiaddiction-input.png create mode 100644 Resources/Textures/taptap-antiaddiction-input.png.meta create mode 100644 Resources/Textures/taptap-antiaddiction-largebutton.png create mode 100644 Resources/Textures/taptap-antiaddiction-largebutton.png.meta create mode 100644 Resources/Textures/taptap-antiaddiction-mobile-button.png create mode 100644 Resources/Textures/taptap-antiaddiction-mobile-button.png.meta create mode 100644 Runtime.meta create mode 100644 Runtime/Internal.meta create mode 100644 Runtime/Internal/ComplianceJobManager.cs create mode 100644 Runtime/Internal/ComplianceJobManager.cs.meta create mode 100644 Runtime/Internal/ComplianceResult.cs create mode 100644 Runtime/Internal/ComplianceResult.cs.meta create mode 100644 Runtime/Internal/IComplianceJob.cs create mode 100644 Runtime/Internal/IComplianceJob.cs.meta create mode 100644 Runtime/Internal/Init.meta create mode 100644 Runtime/Internal/Init/ComplianceInitTask.cs create mode 100644 Runtime/Internal/Init/ComplianceInitTask.cs.meta create mode 100644 Runtime/Internal/Model.meta create mode 100644 Runtime/Internal/Model/StartUpResult.cs create mode 100644 Runtime/Internal/Model/StartUpResult.cs.meta create mode 100644 Runtime/Public.meta create mode 100644 Runtime/Public/TapTapCompliance.cs create mode 100644 Runtime/Public/TapTapCompliance.cs.meta create mode 100644 Runtime/Public/TapTapComplianceOption.cs create mode 100644 Runtime/Public/TapTapComplianceOption.cs.meta create mode 100644 Runtime/TapSDK.Compliance.Runtime.asmdef create mode 100644 Runtime/TapSDK.Compliance.Runtime.asmdef.meta create mode 100644 Standalone.meta create mode 100644 Standalone/Editor.meta create mode 100644 Standalone/Editor/TapComplianceStandaloneProcessBuild.cs create mode 100644 Standalone/Editor/TapComplianceStandaloneProcessBuild.cs.meta create mode 100644 Standalone/Editor/TapSDK.Compliance.Standalone.Editor.asmdef create mode 100644 Standalone/Editor/TapSDK.Compliance.Standalone.Editor.asmdef.meta create mode 100644 Standalone/Resources.meta create mode 100644 Standalone/Resources/Prefabs.meta create mode 100644 Standalone/Resources/Prefabs/Standalone.meta create mode 100644 Standalone/Resources/Prefabs/Standalone/TapTapAntiAddictionRetryAlert.prefab create mode 100644 Standalone/Resources/Prefabs/Standalone/TapTapAntiAddictionRetryAlert.prefab.meta create mode 100644 Standalone/Resources/Prefabs/Standalone/TapTapChinaIDInputPanel.prefab create mode 100644 Standalone/Resources/Prefabs/Standalone/TapTapChinaIDInputPanel.prefab.meta create mode 100644 Standalone/Resources/Prefabs/Standalone/TapTapChinaQuickVerifyTipPanel.prefab create mode 100644 Standalone/Resources/Prefabs/Standalone/TapTapChinaQuickVerifyTipPanel.prefab.meta create mode 100644 Standalone/Resources/Prefabs/Standalone/TapTapHealthPaymentPanel.prefab create mode 100644 Standalone/Resources/Prefabs/Standalone/TapTapHealthPaymentPanel.prefab.meta create mode 100644 Standalone/Resources/Prefabs/Standalone/TapTapHealthReminderPanel.prefab create mode 100644 Standalone/Resources/Prefabs/Standalone/TapTapHealthReminderPanel.prefab.meta create mode 100644 Standalone/Resources/Textures.meta create mode 100644 Standalone/Resources/Textures/QuickVerifyTip.png create mode 100644 Standalone/Resources/Textures/QuickVerifyTip.png.meta create mode 100644 Standalone/Resources/Textures/taptap-antiaddiction-largebutton.png create mode 100644 Standalone/Resources/Textures/taptap-antiaddiction-largebutton.png.meta create mode 100644 Standalone/Runtime.meta create mode 100644 Standalone/Runtime/ComplianceWorker.cs create mode 100644 Standalone/Runtime/ComplianceWorker.cs.meta create mode 100644 Standalone/Runtime/Internal.meta create mode 100644 Standalone/Runtime/Internal/AccessTokenJsonConverter.cs create mode 100644 Standalone/Runtime/Internal/AccessTokenJsonConverter.cs.meta create mode 100644 Standalone/Runtime/Internal/ComplianceConst.cs create mode 100644 Standalone/Runtime/Internal/ComplianceConst.cs.meta create mode 100644 Standalone/Runtime/Internal/ComplianceException.cs create mode 100644 Standalone/Runtime/Internal/ComplianceException.cs.meta create mode 100644 Standalone/Runtime/Internal/ComplianceNewJob.cs create mode 100644 Standalone/Runtime/Internal/ComplianceNewJob.cs.meta create mode 100644 Standalone/Runtime/Internal/CompliancePoll.cs create mode 100644 Standalone/Runtime/Internal/CompliancePoll.cs.meta create mode 100644 Standalone/Runtime/Internal/Config.cs create mode 100644 Standalone/Runtime/Internal/Config.cs.meta create mode 100644 Standalone/Runtime/Internal/Http.meta create mode 100644 Standalone/Runtime/Internal/Http/ComplianceHttpClient.cs create mode 100644 Standalone/Runtime/Internal/Http/ComplianceHttpClient.cs.meta create mode 100644 Standalone/Runtime/Internal/Model.meta create mode 100644 Standalone/Runtime/Internal/Model/BaseResponse.cs create mode 100644 Standalone/Runtime/Internal/Model/BaseResponse.cs.meta create mode 100644 Standalone/Runtime/Internal/Model/ErrorResponse.cs create mode 100644 Standalone/Runtime/Internal/Model/ErrorResponse.cs.meta create mode 100644 Standalone/Runtime/Internal/Model/Payable.cs create mode 100644 Standalone/Runtime/Internal/Model/Payable.cs.meta create mode 100644 Standalone/Runtime/Internal/Model/Playable.cs create mode 100644 Standalone/Runtime/Internal/Model/Playable.cs.meta create mode 100644 Standalone/Runtime/Internal/Model/RealNameConfig.cs create mode 100644 Standalone/Runtime/Internal/Model/RealNameConfig.cs.meta create mode 100644 Standalone/Runtime/Internal/Model/ServerTime.cs create mode 100644 Standalone/Runtime/Internal/Model/ServerTime.cs.meta create mode 100644 Standalone/Runtime/Internal/Model/StandaloneResponse.cs create mode 100644 Standalone/Runtime/Internal/Model/StandaloneResponse.cs.meta create mode 100644 Standalone/Runtime/Internal/Model/SubmitPayment.cs create mode 100644 Standalone/Runtime/Internal/Model/SubmitPayment.cs.meta create mode 100644 Standalone/Runtime/Internal/Model/UserComplianceConfig.cs create mode 100644 Standalone/Runtime/Internal/Model/UserComplianceConfig.cs.meta create mode 100644 Standalone/Runtime/Internal/Model/Verification.cs create mode 100644 Standalone/Runtime/Internal/Model/Verification.cs.meta create mode 100644 Standalone/Runtime/Internal/Network.cs create mode 100644 Standalone/Runtime/Internal/Network.cs.meta create mode 100644 Standalone/Runtime/Internal/Persistence.cs create mode 100644 Standalone/Runtime/Internal/Persistence.cs.meta create mode 100644 Standalone/Runtime/Internal/TapComplianceUI.cs create mode 100644 Standalone/Runtime/Internal/TapComplianceUI.cs.meta create mode 100644 Standalone/Runtime/Internal/TapLoginPermissionProvider.cs create mode 100644 Standalone/Runtime/Internal/TapLoginPermissionProvider.cs.meta create mode 100644 Standalone/Runtime/Internal/TapTapComplianceManager.cs create mode 100644 Standalone/Runtime/Internal/TapTapComplianceManager.cs.meta create mode 100644 Standalone/Runtime/Internal/Tool.cs create mode 100644 Standalone/Runtime/Internal/Tool.cs.meta create mode 100644 Standalone/Runtime/Internal/Tracker.meta create mode 100644 Standalone/Runtime/Internal/Tracker/TapComplianceTracker.cs create mode 100644 Standalone/Runtime/Internal/Tracker/TapComplianceTracker.cs.meta create mode 100644 Standalone/Runtime/Internal/UI.meta create mode 100644 Standalone/Runtime/Internal/UI/Controller.meta create mode 100644 Standalone/Runtime/Internal/UI/Controller/TapTapChinaVerifyFinishPanelController.cs create mode 100644 Standalone/Runtime/Internal/UI/Controller/TapTapChinaVerifyFinishPanelController.cs.meta create mode 100644 Standalone/Runtime/Internal/UI/Controller/TapTapComplianceQuickVerifyTipController.cs create mode 100644 Standalone/Runtime/Internal/UI/Controller/TapTapComplianceQuickVerifyTipController.cs.meta create mode 100644 Standalone/Runtime/Internal/UI/Controller/TaptapComplianceHealthPaymentController.cs create mode 100644 Standalone/Runtime/Internal/UI/Controller/TaptapComplianceHealthPaymentController.cs.meta create mode 100644 Standalone/Runtime/Internal/UI/Controller/TaptapComplianceHealthReminderController.cs create mode 100644 Standalone/Runtime/Internal/UI/Controller/TaptapComplianceHealthReminderController.cs.meta create mode 100644 Standalone/Runtime/Internal/UI/Controller/TaptapComplianceIDInputController.cs create mode 100644 Standalone/Runtime/Internal/UI/Controller/TaptapComplianceIDInputController.cs.meta create mode 100644 Standalone/Runtime/Internal/UI/Controller/TaptapComplianceRetryAlertController.cs create mode 100644 Standalone/Runtime/Internal/UI/Controller/TaptapComplianceRetryAlertController.cs.meta create mode 100644 Standalone/Runtime/Internal/Verification.cs create mode 100644 Standalone/Runtime/Internal/Verification.cs.meta create mode 100644 Standalone/Runtime/Internal/Worker.meta create mode 100644 Standalone/Runtime/Internal/Worker/BaseComplianceWorker.cs create mode 100644 Standalone/Runtime/Internal/Worker/BaseComplianceWorker.cs.meta create mode 100644 Standalone/Runtime/TapTap.AntiAddiction.Standalone.Runtime.asmdef create mode 100644 Standalone/Runtime/TapTap.AntiAddiction.Standalone.Runtime.asmdef.meta create mode 100644 Standalone/Runtime/gen.meta create mode 100644 Standalone/Runtime/gen/ComplianceLocalizationItems.cs create mode 100644 Standalone/Runtime/gen/ComplianceLocalizationItems.cs.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..e96d1ca --- /dev/null +++ b/Mobile.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 81a7c160ad18434eb1f6ba46337c92ea +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Mobile/Editor.meta b/Mobile/Editor.meta new file mode 100644 index 0000000..f3e23bd --- /dev/null +++ b/Mobile/Editor.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 5e02245f015cf4dbba3655150cc6bb69 +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..d3844fb --- /dev/null +++ b/Mobile/Editor/NativeDependencies.xml @@ -0,0 +1,15 @@ + + + + + https://repo.maven.apache.org/maven2 + + + + + + https://github.com/CocoaPods/Specs.git + + + + \ No newline at end of file diff --git a/Mobile/Editor/NativeDependencies.xml.meta b/Mobile/Editor/NativeDependencies.xml.meta new file mode 100644 index 0000000..7abb194 --- /dev/null +++ b/Mobile/Editor/NativeDependencies.xml.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 194274fdaaa004e6cbf46963d971e062 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Mobile/Editor/TapComplianceMobileProcessBuild.cs b/Mobile/Editor/TapComplianceMobileProcessBuild.cs new file mode 100644 index 0000000..c22cf78 --- /dev/null +++ b/Mobile/Editor/TapComplianceMobileProcessBuild.cs @@ -0,0 +1,21 @@ +using System; +using TapSDK.Core.Editor; +using UnityEditor.Build.Reporting; + +namespace TapSDK.Compliance.Mobile.Editor { + public class TapComplianceMobileProcessBuild : SDKLinkProcessBuild { + public override int callbackOrder => 4; + + public override string LinkPath => "TapSDK/Compliance/link.xml"; + + public override LinkedAssembly[] LinkedAssemblies => new LinkedAssembly[] { + new LinkedAssembly { Fullname = "TapSDK.Compliance" }, + new LinkedAssembly { Fullname = "TapSDK.Compliance.Runtime" }, + new LinkedAssembly { Fullname = "TapSDK.Compliance.Mobile.Runtime" } + }; + + public override Func IsTargetPlatform => (report) => { + return BuildTargetUtils.IsSupportMobile(report.summary.platform); + }; + } +} \ No newline at end of file diff --git a/Mobile/Editor/TapComplianceMobileProcessBuild.cs.meta b/Mobile/Editor/TapComplianceMobileProcessBuild.cs.meta new file mode 100644 index 0000000..14726ac --- /dev/null +++ b/Mobile/Editor/TapComplianceMobileProcessBuild.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 9ffb0c22c31d45f19811d073f1c4d575 +timeCreated: 1684922101 \ No newline at end of file diff --git a/Mobile/Editor/TapSDK.Compliance.Mobile.Editor.asmdef b/Mobile/Editor/TapSDK.Compliance.Mobile.Editor.asmdef new file mode 100644 index 0000000..a16103b --- /dev/null +++ b/Mobile/Editor/TapSDK.Compliance.Mobile.Editor.asmdef @@ -0,0 +1,17 @@ +{ + "name": "TapSDK.Compliance.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.Compliance.Mobile.Editor.asmdef.meta b/Mobile/Editor/TapSDK.Compliance.Mobile.Editor.asmdef.meta new file mode 100644 index 0000000..59a4783 --- /dev/null +++ b/Mobile/Editor/TapSDK.Compliance.Mobile.Editor.asmdef.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: e1fd14a579582448bad032e49fefc302 +AssemblyDefinitionImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Mobile/Editor/iOS.meta b/Mobile/Editor/iOS.meta new file mode 100644 index 0000000..9a06130 --- /dev/null +++ b/Mobile/Editor/iOS.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 7726dd8b3e68b4bbc99fb73d822b54f9 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Mobile/Editor/iOS/BuidPostProcessor.cs b/Mobile/Editor/iOS/BuidPostProcessor.cs new file mode 100644 index 0000000..2707e12 --- /dev/null +++ b/Mobile/Editor/iOS/BuidPostProcessor.cs @@ -0,0 +1,45 @@ +using UnityEngine; +using UnityEditor; +using UnityEditor.Callbacks; +# if UNITY_IOS +using UnityEditor.iOS.Xcode; +#endif +using System.IO; +using System.Collections.Generic; +using System.Linq; +using TapSDK.Core.Editor; + +#if UNITY_IOS +public class BuildPostProcessor +{ + [PostProcessBuild(999)] + public static void OnPostProcessBuild(BuildTarget buildTarget, string path) + { + if (buildTarget == BuildTarget.iOS) + { + var projPath = TapSDKCoreCompile.GetProjPath(path); + var proj = TapSDKCoreCompile.ParseProjPath(projPath); + var target = TapSDKCoreCompile.GetUnityTarget(proj); + + if (TapSDKCoreCompile.CheckTarget(target)) + { + Debug.LogError("Unity-iPhone is NUll"); + return; + } + if (TapSDKCoreCompile.HandlerIOSSetting(path, + Application.dataPath, + "TapTapComplianceResource", + "com.taptap.sdk.compliance", + "Compliance", + new[] {"TapTapComplianceResource.bundle"}, + target, projPath, proj, "TapTapComplianceSDK")) + { + Debug.Log("TapCompliance add Bundle Success!"); + return; + } + + Debug.LogWarning("TapCompliance add Bundle Failed!"); + } + } +} +#endif diff --git a/Mobile/Editor/iOS/BuidPostProcessor.cs.meta b/Mobile/Editor/iOS/BuidPostProcessor.cs.meta new file mode 100644 index 0000000..b5585df --- /dev/null +++ b/Mobile/Editor/iOS/BuidPostProcessor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 0de83c03b39da41749806c821fecfb0e +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Mobile/Runtime.meta b/Mobile/Runtime.meta new file mode 100644 index 0000000..c36fa86 --- /dev/null +++ b/Mobile/Runtime.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 4690d01ab6e34b6aa4b4678d39f863e6 +timeCreated: 1684921954 \ No newline at end of file diff --git a/Mobile/Runtime/ComplianceMobileBridge.cs b/Mobile/Runtime/ComplianceMobileBridge.cs new file mode 100644 index 0000000..79211fd --- /dev/null +++ b/Mobile/Runtime/ComplianceMobileBridge.cs @@ -0,0 +1,319 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; +using TapSDK.Compliance.Model; +using System.Threading.Tasks; +using TapSDK.Core; +using UnityEngine; + +namespace TapSDK.Compliance.Mobile.Runtime +{ + public static class ComplianceMobileBridge + { + private const string ANTI_ADDICTION_SERVICE = "BridgeComplianceService"; + private const string ANTI_ADDICTION_SERVICE_CLZ = "com.taptap.sdk.compilance.internal.enginebridge.BridgeComplianceService"; + private const string ANTI_ADDICTION_SERVICE_IMPL = "com.taptap.sdk.compilance.internal.enginebridge.BridgeComplianceServiceImpl"; + + private static bool hasRegisterMobileCallback = false; + private static List> callbackList = new List>(); + static ComplianceMobileBridge() + { + EngineBridge.GetInstance() + .Register(ANTI_ADDICTION_SERVICE_CLZ, ANTI_ADDICTION_SERVICE_IMPL); + Debug.Log("ComplianceMobileBridge register."); + } + + + public static void Startup(string userIdentifier) + { + + EngineBridge.GetInstance().CallHandler(new Command.Builder() + .Service(ANTI_ADDICTION_SERVICE) + .Method("startup") + .Args("userId", userIdentifier) + .CommandBuilder()); + + } + + public static void RegisterComplianceCallback(Action callback) + { + if (!callbackList.Contains(callback)) + { + callbackList.Add(callback); + } + if (!hasRegisterMobileCallback) + { + var command = new Command.Builder() + .Service(ANTI_ADDICTION_SERVICE) + .Method("registerComplianceCallback") + .Callback(true) + .OnceTime(false) + .CommandBuilder(); + + EngineBridge.GetInstance().CallHandler(command, result => + { + try + { + TapLogger.Debug($"[Unity:Compliance] callback result: {result.ToJSON().ToString()}"); + if (result.code != Result.RESULT_SUCCESS) + { + callbackList.ForEach((item) => + { + item?.Invoke(-1, "[Unity:Compliance] callback fail"); + }); + return; + } + + if (string.IsNullOrEmpty(result.content)) + { + callbackList.ForEach((item) => + { + item?.Invoke(-1, "[Unity:Compliance] callback content is empty"); + }); + return; + } + + + ComplianceCallbackData callbackData = new ComplianceCallbackData(); +#if UNITY_IOS + result.content = RemoveFontColor(result.content); + var callbackOriginData = JsonConvert.DeserializeObject(result.content); + callbackData.code = callbackOriginData.code; + callbackData.extras = JsonConvert.DeserializeObject(callbackOriginData.extras); +#else + callbackData = JsonConvert.DeserializeObject(result.content); +#endif + if (StartUpResult.Contains(callbackData.code)) + { + callbackList.ForEach((item) => + { + item?.Invoke(callbackData.code, null); + }); + } + else + { + TapLogger.Debug("[Unity:Compliance] result.extras title:" + callbackData.extras.title); + TapLogger.Debug("[Unity:Compliance] result.extras description:" + callbackData.extras.description); + callbackList.ForEach((item) => + { + item?.Invoke(-1, callbackData.extras.description); + }); + } + } + catch (Exception e) + { + TapLogger.Error("[Unity:Compliance] callback error:" + e.Message + "\n" + e.StackTrace); + } + + }); + hasRegisterMobileCallback = true; + } + } + + private static string RemoveFontColor(string originStr) + { + if (string.IsNullOrEmpty(originStr)) return originStr; + var colorBeginPattern = "= 0) + { + int eIndex = originStr.IndexOf('>', index); + originStr = originStr.Remove(index, eIndex - index + 1); + index = originStr.IndexOf(colorBeginPattern, StringComparison.Ordinal); + } + var colorEndPattern = "font>"; + index = originStr.IndexOf(colorEndPattern, StringComparison.Ordinal); + while (index >= 0) + { + int eIndex = originStr.LastIndexOf('<', index + colorEndPattern.Length, index); + originStr = originStr.Remove(eIndex, index + colorEndPattern.Length - eIndex); + index = originStr.IndexOf(colorEndPattern, StringComparison.Ordinal); + } + + var spancolorBeginPattern = "= 0) + { + int eIndex = originStr.IndexOf('>', spanindex); + originStr = originStr.Remove(spanindex, eIndex - spanindex + 1); + spanindex = originStr.IndexOf(spancolorBeginPattern, StringComparison.Ordinal); + } + var spancolorEndPattern = "span>"; + spanindex = originStr.IndexOf(spancolorEndPattern, StringComparison.Ordinal); + while (spanindex >= 0) + { + int eIndex = originStr.LastIndexOf('<', spanindex + spancolorEndPattern.Length, spanindex); + originStr = originStr.Remove(eIndex, spanindex + spancolorEndPattern.Length - eIndex); + spanindex = originStr.IndexOf(spancolorEndPattern, StringComparison.Ordinal); + } + return originStr; + } + + public static void SetTestEnvironment(bool isTest) + { + EngineBridge.GetInstance().CallHandler(new Command.Builder() + .Service(ANTI_ADDICTION_SERVICE) + .Method("setTestEnvironment") + .Args("testEnv", isTest) + .CommandBuilder()); + } + + + + public async static Task GetCurrentAccessToken() + { + var command = new Command.Builder() + .Service(ANTI_ADDICTION_SERVICE) + .Method("getCurrentAccessToken") + .Callback(true) + .OnceTime(true) + .CommandBuilder(); + var result = await EngineBridge.GetInstance().Emit(command); + if (!EngineBridge.CheckResult(result)) + { + throw new TapException((int)TapErrorCode.ERROR_CODE_BRIDGE_EXECUTE, "TapCompliance CurrentToken Failed!"); + } + var dic = Json.Deserialize(result.content) as Dictionary; + var token = SafeDictionary.GetValue(dic, "token") as string; + return token; + } + + + + public async static Task GetCurrentUserRemainTime() + { + var command = new Command.Builder() + .Service(ANTI_ADDICTION_SERVICE) + .Method("getUserRemainTime") + .Callback(true) + .OnceTime(true) + .CommandBuilder(); + var result = await EngineBridge.GetInstance().Emit(command); + if (!EngineBridge.CheckResult(result)) + { + throw new TapException((int)TapErrorCode.ERROR_CODE_BRIDGE_EXECUTE, "TapCompliance CurrentUserRemainTime Failed!"); + } + var dic = Json.Deserialize(result.content) as Dictionary; + var remainTime = SafeDictionary.GetValue(dic, "remainTime") as int?; + return remainTime ?? 0; + } + + public async static Task GetUserAgeRange() + { + var command = new Command.Builder() + .Service(ANTI_ADDICTION_SERVICE) + .Method("getUserAgeRange") + .Callback(true) + .OnceTime(true) + .CommandBuilder(); + var result = await EngineBridge.GetInstance().Emit(command); + if (!EngineBridge.CheckResult(result)) + { + throw new TapException((int)TapErrorCode.ERROR_CODE_BRIDGE_EXECUTE, "TapCompliance CurrentUserAgeLimit Failed!"); + } + var dic = Json.Deserialize(result.content) as Dictionary; + var ageRange = SafeDictionary.GetValue(dic, "ageRange") as int?; + return ageRange ?? -1; + } + + public static void Exit() + { + var command = new Command.Builder() + .Service(ANTI_ADDICTION_SERVICE) + .Method("exit") + .Callback(false) + .OnceTime(false) + .CommandBuilder(); + EngineBridge.GetInstance().CallHandler(command); + } + + public static void SubmitPayResult(long amount + , Action handleSubmitPayResult + , Action handleSubmitPayResultException) + { + var command = new Command.Builder() + .Service(ANTI_ADDICTION_SERVICE) + .Method("submitPayment") + .Args("submitAmount", amount) + .Callback(true) + .OnceTime(false) + .CommandBuilder(); + + EngineBridge.GetInstance().CallHandler(command, result => + { + TapLogger.Debug($"[Unity:Compliance] submitPayResult result: {result.ToJSON().ToString()}"); + if (result.code != Result.RESULT_SUCCESS) + { + handleSubmitPayResultException?.Invoke("[Unity:Compliance] submitPayResult fail"); + return; + } + + if (string.IsNullOrEmpty(result.content)) + { + handleSubmitPayResultException?.Invoke("[Unity:Compliance] submitPayResult content is empty"); + return; + } + + TapLogger.Debug("[Unity:Compliance] submitPayResult content: " + result.content); + var dic = Json.Deserialize(result.content) as Dictionary; + bool success = SafeDictionary.GetValue(dic, "success") == 0; + string errorMsg = SafeDictionary.GetValue(dic, "description"); + if (success) + { + handleSubmitPayResult?.Invoke(); + } + else + { + handleSubmitPayResultException?.Invoke(errorMsg); + } + }); + } + + public static void CheckPaymentLimit(long amount + , Action handleCheckPayLimit + , Action handleCheckPayLimitException) + { + var command = new Command.Builder() + .Service(ANTI_ADDICTION_SERVICE) + .Method("checkPaymentLimit") + .Args("amount", amount) + .Callback(true) + .OnceTime(false) + .CommandBuilder(); + + EngineBridge.GetInstance().CallHandler(command, result => + { + TapLogger.Debug($"[Unity:Compliance] checkPayLimit result: {result.ToJSON().ToString()}"); + if (result.code != Result.RESULT_SUCCESS) + { + handleCheckPayLimitException?.Invoke("[Unity:Compliance] checkPayLimit fail"); + return; + } + + if (string.IsNullOrEmpty(result.content)) + { + handleCheckPayLimitException?.Invoke("[Unity:Compliance] checkPayLimit content is empty"); + return; + } + + TapLogger.Debug("[Unity:Compliance] checkPayLimit content: " + result.content); + + var checkPayResultParams = JsonConvert.DeserializeObject(result.content); + if (checkPayResultParams.Success) + { + handleCheckPayLimit?.Invoke(new CheckPayResult() + { + status = checkPayResultParams.status, + title = checkPayResultParams.title, + description = checkPayResultParams.description, + }); + } + else + { + handleCheckPayLimitException?.Invoke(checkPayResultParams.description); + } + }); + } + + } +} \ No newline at end of file diff --git a/Mobile/Runtime/ComplianceMobileBridge.cs.meta b/Mobile/Runtime/ComplianceMobileBridge.cs.meta new file mode 100644 index 0000000..cca9ea6 --- /dev/null +++ b/Mobile/Runtime/ComplianceMobileBridge.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 6240464fd96704dd49fff6422e1ac9a4 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Mobile/Runtime/ComplianceMobileOldJob.cs b/Mobile/Runtime/ComplianceMobileOldJob.cs new file mode 100644 index 0000000..91416ae --- /dev/null +++ b/Mobile/Runtime/ComplianceMobileOldJob.cs @@ -0,0 +1,81 @@ +using System; +using System.Threading.Tasks; +using TapSDK.Compliance.Model; +using System.Collections.Generic; +using TapSDK.Compliance.Mobile.Runtime; + +namespace TapSDK.Compliance.Mobile.Runtime +{ + public sealed class ComplianceMobileOldJob : IComplianceJob + { + private List> _externalCallbackList; + + public List> ExternalCallbackList + { + get => _externalCallbackList; + } + + + /// + /// 剩余时间(单位:秒) + /// + public Task GetRemainingTime() + { + return ComplianceMobileBridge.GetCurrentUserRemainTime(); + } + + public Task GetCurrentToken() + { + return ComplianceMobileBridge.GetCurrentAccessToken(); + } + + public Task GetAgeRange() + { + return ComplianceMobileBridge.GetUserAgeRange(); + } + + public void Init(string clientId, string clientToken, TapTapComplianceOption config) + { + + } + + public void RegisterComplianceCallback(Action callback) + { + ComplianceMobileBridge.RegisterComplianceCallback(callback); + } + + public void Startup(string userId) + { + ComplianceMobileBridge.Startup(userId); + } + + + public void Exit() + { + ComplianceMobileBridge.Exit(); + } + + + public void CheckPaymentLimit(long amount, Action handleCheckPayLimit, Action handleCheckPayLimitException) + { + ComplianceMobileBridge.CheckPaymentLimit(amount, handleCheckPayLimit, handleCheckPayLimitException); + } + + public void SubmitPayment(long amount, Action handleSubmitPayResult, Action handleSubmitPayResultException) + { + ComplianceMobileBridge.SubmitPayResult(amount, handleSubmitPayResult, handleSubmitPayResultException); + } + + + public void SetTestEnvironment(bool enable) + { + ComplianceMobileBridge.SetTestEnvironment(enable); + } + + public void OnInvokeExternalCallback(int code, string msg) + { + + } + + } +} diff --git a/Mobile/Runtime/ComplianceMobileOldJob.cs.meta b/Mobile/Runtime/ComplianceMobileOldJob.cs.meta new file mode 100644 index 0000000..224e977 --- /dev/null +++ b/Mobile/Runtime/ComplianceMobileOldJob.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 01823f4fab79e42b8bf33a4a282d136f +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Mobile/Runtime/TapSDK.Compliance.Mobile.Runtime.asmdef b/Mobile/Runtime/TapSDK.Compliance.Mobile.Runtime.asmdef new file mode 100644 index 0000000..beb312d --- /dev/null +++ b/Mobile/Runtime/TapSDK.Compliance.Mobile.Runtime.asmdef @@ -0,0 +1,19 @@ +{ + "name": "TapSDK.Compliance.Mobile.Runtime", + "references": [ + "GUID:9b1c19877f4294a9cb33ff38fc9f1c83", + "GUID:7d5ef2062f3704e1ab74aac0e4d5a1a7", + "GUID:10560023d8780423cb943c7a324b69f2" + ], + "includePlatforms": [ + "Android", + "iOS" + ], + "excludePlatforms": [], + "allowUnsafeCode": false, + "overrideReferences": false, + "autoReferenced": true, + "defineConstraints": [], + "versionDefines": [], + "noEngineReferences": false +} \ No newline at end of file diff --git a/Mobile/Runtime/TapSDK.Compliance.Mobile.Runtime.asmdef.meta b/Mobile/Runtime/TapSDK.Compliance.Mobile.Runtime.asmdef.meta new file mode 100644 index 0000000..189ca76 --- /dev/null +++ b/Mobile/Runtime/TapSDK.Compliance.Mobile.Runtime.asmdef.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 59f1f14a8881543ed95fe8ecf4f4d4cb +AssemblyDefinitionImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Resources.meta b/Resources.meta new file mode 100644 index 0000000..8d60d87 --- /dev/null +++ b/Resources.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 2aea5af5ee657457f950e21ca6ea00d2 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Resources/BillingMode.json b/Resources/BillingMode.json new file mode 100644 index 0000000..6f4bfb7 --- /dev/null +++ b/Resources/BillingMode.json @@ -0,0 +1 @@ +{"androidStore":"GooglePlay"} \ No newline at end of file diff --git a/Resources/BillingMode.json.meta b/Resources/BillingMode.json.meta new file mode 100644 index 0000000..090c4ff --- /dev/null +++ b/Resources/BillingMode.json.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 9151622f6f27d41f0927e440735be50d +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Resources/Config.meta b/Resources/Config.meta new file mode 100644 index 0000000..c135051 --- /dev/null +++ b/Resources/Config.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: fbcb5ca6d033747dd92dc10845424d6d +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Resources/Config/ComplianceLocalization.json b/Resources/Config/ComplianceLocalization.json new file mode 100644 index 0000000..dc6a614 --- /dev/null +++ b/Resources/Config/ComplianceLocalization.json @@ -0,0 +1,116 @@ +{ + "items": { + "Zhs": { + "NetError": "网络异常,请稍后重试", + "NoVerification": "未查询到实名状态,防沉迷启动失败", + "EnterGame": "进入游戏", + "ExitGame": "退出游戏", + "Retry": "重试", + "OnVerified": "您已在 TapTap 实名!" + }, + "En": { + "NetError": "Network error,please try again", + "NoVerification": "No Verification", + "EnterGame": "Enter", + "ExitGame": "Exit", + "Retry": "Retry", + "OnVerified": "You have verified on TapTap!" + }, + "Id": { + "NetError": "Network error,please try again", + "NoVerification": "No Verification", + "EnterGame": "Enter", + "ExitGame": "Exit", + "Retry": "Retry", + "OnVerified": "Anda telah diverifikasi di TapTap!" + }, + "Ja": { + "NetError": "ネットワークエラー、再試行してください", + "NoVerification": "認証なし", + "EnterGame": "入る", + "ExitGame": "出る", + "Retry": "リトライ", + "OnVerified": "TapTapで認証されました!" + }, + "Ko": { + "NetError": "네트워크 오류, 다시 시도하십시오", + "NoVerification": "인증되지 않음", + "EnterGame": "입장", + "ExitGame": "종료", + "Retry": "재시도", + "OnVerified": "TapTap에서 인증되었습니다!" + }, + "Th": { + "NetError": "ข้อผิดพลาดของเครือข่าย โปรดลองอีกครั้ง", + "NoVerification": "ไม่มีการยืนยัน", + "EnterGame": "เข้าสู่เกม", + "ExitGame": "ออกจากเกม", + "Retry": "ลองใหม่", + "OnVerified": "คุณได้รับการตรวจสอบบน TapTap!" + }, + "Zht": { + "NetError": "網絡異常,請稍後重試", + "NoVerification": "未查詢到實名狀態,防沉迷啟動失敗", + "EnterGame": "進入遊戲", + "ExitGame": "退出遊戲", + "Retry": "重試", + "OnVerified": "您已在 TapTap 實名!" + }, + "De": { + "NetError": "Netzwerkfehler, bitte erneut versuchen", + "NoVerification": "Keine Verifizierung", + "EnterGame": "Spiel betreten", + "ExitGame": "Spiel verlassen", + "Retry": "Wiederholen", + "OnVerified": "Sie wurden auf TapTap verifiziert!" + }, + "Es": { + "NetError": "Error de red, inténtelo de nuevo", + "NoVerification": "Sin verificación", + "EnterGame": "Entrar", + "ExitGame": "Salir", + "Retry": "Reintentar", + "OnVerified": "¡Has sido verificado en TapTap!" + }, + "Fr": { + "NetError": "Erreur réseau, veuillez réessayer", + "NoVerification": "Aucune vérification", + "EnterGame": "Entrer", + "ExitGame": "Quitter", + "Retry": "Réessayer", + "OnVerified": "Vous avez été vérifié sur TapTap!" + }, + "Pt": { + "NetError": "Erro de rede, tente novamente", + "NoVerification": "Sem verificação", + "EnterGame": "Entrar", + "ExitGame": "Sair", + "Retry": "Tentar novamente", + "OnVerified": "Você foi verificado no TapTap!" + }, + "Ru": { + "NetError": "Ошибка сети, попробуйте снова", + "NoVerification": "Без верификации", + "EnterGame": "Войти", + "ExitGame": "Выйти", + "Retry": "Повторить", + "OnVerified": "Вы прошли проверку на TapTap!" + }, + "Tr": { + "NetError": "Ağ hatası, lütfen tekrar deneyin", + "NoVerification": "Doğrulama yok", + "EnterGame": "Oyuna gir", + "ExitGame": "Oyundan çık", + "Retry": "Tekrar dene", + "OnVerified": "TapTap’te doğrulandınız!" + }, + "Vi": { + "NetError": "Lỗi mạng, vui lòng thử lại", + "NoVerification": "Không có xác minh", + "EnterGame": "Vào game", + "ExitGame": "Thoát game", + "Retry": "Thử lại", + "OnVerified": "Bạn đã được xác minh trên TapTap!" + } + } +} \ No newline at end of file diff --git a/Resources/Config/ComplianceLocalization.json.meta b/Resources/Config/ComplianceLocalization.json.meta new file mode 100644 index 0000000..caf2c61 --- /dev/null +++ b/Resources/Config/ComplianceLocalization.json.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: f6ab104854c774f6d9d80e66bee86a42 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Resources/Prefabs.meta b/Resources/Prefabs.meta new file mode 100644 index 0000000..d7dee7b --- /dev/null +++ b/Resources/Prefabs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 4205abe5dcb784edcb2a91d5116bd01e +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Resources/Prefabs/Mobile.meta b/Resources/Prefabs/Mobile.meta new file mode 100644 index 0000000..6b56d54 --- /dev/null +++ b/Resources/Prefabs/Mobile.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 7d2bc774dff814b4f997a4a0e8dadff9 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Resources/Prefabs/Mobile/TapTapAntiAddictionRetryAlert.prefab b/Resources/Prefabs/Mobile/TapTapAntiAddictionRetryAlert.prefab new file mode 100644 index 0000000..76ec25a --- /dev/null +++ b/Resources/Prefabs/Mobile/TapTapAntiAddictionRetryAlert.prefab @@ -0,0 +1,803 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &741226114600572463 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 347516699165024325} + - component: {fileID: 9178127194317328420} + - component: {fileID: 2442253682647876089} + m_Layer: 5 + m_Name: MessageText + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &347516699165024325 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 741226114600572463} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 3018198356678799280} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0.5} + m_AnchorMax: {x: 1, y: 0.5} + m_AnchoredPosition: {x: 0, y: 85.3} + m_SizeDelta: {x: -20, y: 106} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &9178127194317328420 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 741226114600572463} + m_CullTransparentMesh: 0 +--- !u!114 &2442253682647876089 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 741226114600572463} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: 922f25809659d41b4b23147484bd150d, type: 3} + m_FontSize: 40 + m_FontStyle: 0 + m_BestFit: 1 + m_MinSize: 28 + m_MaxSize: 41 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1.5 + m_Text: Network Error,please try again +--- !u!1 &1127131294577253093 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8039644701450143132} + m_Layer: 5 + m_Name: Retry + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!224 &8039644701450143132 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1127131294577253093} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 606419830508116541} + - {fileID: 8152418032368909056} + m_Father: {fileID: 3018198356678799280} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 4} + m_SizeDelta: {x: 100, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &1922066675331208581 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3018198356678799280} + - component: {fileID: 8194312784932681759} + - component: {fileID: 4277463507825336017} + m_Layer: 5 + m_Name: BackgroundImage + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &3018198356678799280 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1922066675331208581} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 347516699165024325} + - {fileID: 5493183507584923452} + - {fileID: 8039644701450143132} + m_Father: {fileID: 9092229873398676693} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0.7, y: -1.4} + m_SizeDelta: {x: 817.79333, y: 334.91565} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &8194312784932681759 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1922066675331208581} + m_CullTransparentMesh: 0 +--- !u!114 &4277463507825336017 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1922066675331208581} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: dcd1ae9f2f8d74c0190994330a93aec3, type: 3} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!1 &2581798143820796450 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3264819832207075509} + - component: {fileID: 8219919235773704732} + - component: {fileID: 2947571134831864381} + m_Layer: 5 + m_Name: Blocker + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &3264819832207075509 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2581798143820796450} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 9092229873398676693} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 10000, y: 10000} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &8219919235773704732 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2581798143820796450} + m_CullTransparentMesh: 0 +--- !u!114 &2947571134831864381 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2581798143820796450} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 0} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!1 &3139675563220528306 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5857737074481106158} + - component: {fileID: 5894208780504323935} + - component: {fileID: 3952200870219420041} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &5857737074481106158 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3139675563220528306} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 5493183507584923452} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 1.5, y: 1.0999985} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &5894208780504323935 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3139675563220528306} + m_CullTransparentMesh: 0 +--- !u!114 &3952200870219420041 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3139675563220528306} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: 922f25809659d41b4b23147484bd150d, type: 3} + m_FontSize: 36 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 1 + m_MaxSize: 40 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: "\u91CD\u8BD5" +--- !u!1 &4683343152008007239 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 606419830508116541} + - component: {fileID: 4820232454113331661} + - component: {fileID: 104026454930804771} + m_Layer: 5 + m_Name: RetryText + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &606419830508116541 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4683343152008007239} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 8039644701450143132} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0.5} + m_AnchorMax: {x: 1, y: 0.5} + m_AnchoredPosition: {x: 23.4, y: -64.4} + m_SizeDelta: {x: 697.79333, y: 106} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &4820232454113331661 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4683343152008007239} + m_CullTransparentMesh: 0 +--- !u!114 &104026454930804771 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4683343152008007239} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.53333336, g: 0.53333336, b: 0.53333336, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: 922f25809659d41b4b23147484bd150d, type: 3} + m_FontSize: 32 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 0 + m_MaxSize: 41 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1.5 + m_Text: "\u91CD\u8BD5\u4E2D..." +--- !u!1 &6643749892881444223 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7091787380276746281} + - component: {fileID: 8868982964816018679} + - component: {fileID: 6717941791004790811} + - component: {fileID: 7013730651431754730} + - component: {fileID: 8695191244032904745} + m_Layer: 5 + m_Name: TapTapAntiAddictionRetryAlert + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &7091787380276746281 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6643749892881444223} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 9092229873398676693} + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!223 &8868982964816018679 +Canvas: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6643749892881444223} + m_Enabled: 1 + serializedVersion: 3 + m_RenderMode: 2 + m_Camera: {fileID: 0} + m_PlaneDistance: 100 + m_PixelPerfect: 0 + m_ReceivesEvents: 1 + m_OverrideSorting: 0 + m_OverridePixelPerfect: 0 + m_SortingBucketNormalizedSize: 0 + m_AdditionalShaderChannelsFlag: 0 + m_SortingLayerID: 0 + m_SortingOrder: 0 + m_TargetDisplay: 0 +--- !u!225 &6717941791004790811 +CanvasGroup: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6643749892881444223} + m_Enabled: 1 + m_Alpha: 1 + m_Interactable: 1 + m_BlocksRaycasts: 1 + m_IgnoreParentGroups: 0 +--- !u!114 &7013730651431754730 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6643749892881444223} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: dc42784cf147c0c48a680349fa168899, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreReversedGraphics: 1 + m_BlockingObjects: 0 + m_BlockingMask: + serializedVersion: 2 + m_Bits: 4294967295 +--- !u!114 &8695191244032904745 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6643749892881444223} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 2567d051c1243468184a844db713b086, type: 3} + m_Name: + m_EditorClassIdentifier: + canvas: {fileID: 0} + canvasGroup: {fileID: 0} + panelConfig: + animationType: 1 + toppedOrder: 0 + messageText: {fileID: 0} + buttonText: {fileID: 0} + retryButton: {fileID: 0} +--- !u!1 &6942193780495597160 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5493183507584923452} + - component: {fileID: 1885719267259725949} + - component: {fileID: 3359776854086879744} + - component: {fileID: 4132871487302917182} + m_Layer: 5 + m_Name: RetryButton + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &5493183507584923452 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6942193780495597160} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 5857737074481106158} + m_Father: {fileID: 3018198356678799280} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0} + m_AnchorMax: {x: 0.5, y: 0} + m_AnchoredPosition: {x: -1.14, y: 50} + m_SizeDelta: {x: 400, y: 100} + m_Pivot: {x: 0.5, y: 0} +--- !u!222 &1885719267259725949 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6942193780495597160} + m_CullTransparentMesh: 0 +--- !u!114 &3359776854086879744 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6942193780495597160} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0, g: 0.8509804, b: 0.77254903, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 3075ddc8f319b4d229e69c83faabb8a1, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!114 &4132871487302917182 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6942193780495597160} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 3359776854086879744} + m_OnClick: + m_PersistentCalls: + m_Calls: [] +--- !u!1 &7820900597963824711 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8152418032368909056} + - component: {fileID: 7540606296082088460} + - component: {fileID: 2121119085224647751} + m_Layer: 5 + m_Name: Image + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &8152418032368909056 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7820900597963824711} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 8039644701450143132} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: -64.6, y: -63.8} + m_SizeDelta: {x: 41, y: 41} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &7540606296082088460 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7820900597963824711} + m_CullTransparentMesh: 0 +--- !u!114 &2121119085224647751 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7820900597963824711} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 349299b0f8bdd4bd283dfd57a9295dca, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!1 &8360014544657532468 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 9092229873398676693} + - component: {fileID: 9019951928886230794} + - component: {fileID: 6506384635547968530} + m_Layer: 5 + m_Name: Root + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &9092229873398676693 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8360014544657532468} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 3264819832207075509} + - {fileID: 3018198356678799280} + m_Father: {fileID: 7091787380276746281} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &9019951928886230794 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8360014544657532468} + m_CullTransparentMesh: 0 +--- !u!114 &6506384635547968530 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8360014544657532468} + m_Enabled: 0 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0, g: 0, b: 0, a: 0.23529412} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10907, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 diff --git a/Resources/Prefabs/Mobile/TapTapAntiAddictionRetryAlert.prefab.meta b/Resources/Prefabs/Mobile/TapTapAntiAddictionRetryAlert.prefab.meta new file mode 100644 index 0000000..231e23d --- /dev/null +++ b/Resources/Prefabs/Mobile/TapTapAntiAddictionRetryAlert.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 268447a4356c8497d9c416ceaa4ff5a1 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Resources/Prefabs/Mobile/TapTapHealthPaymentPanel.prefab b/Resources/Prefabs/Mobile/TapTapHealthPaymentPanel.prefab new file mode 100644 index 0000000..fbf8a0a --- /dev/null +++ b/Resources/Prefabs/Mobile/TapTapHealthPaymentPanel.prefab @@ -0,0 +1,820 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &2614750717462274026 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 719222081671675900} + - component: {fileID: 6566752454117406737} + - component: {fileID: 5456539344680195275} + - component: {fileID: 7762865190077089428} + m_Layer: 5 + m_Name: OKButton + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &719222081671675900 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2614750717462274026} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 2192333195466092754} + m_Father: {fileID: 6361964099233889058} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 1} + m_AnchorMax: {x: 0.5, y: 1} + m_AnchoredPosition: {x: -200.4, y: -464} + m_SizeDelta: {x: 400, y: 100} + m_Pivot: {x: 0, y: 0.5} +--- !u!222 &6566752454117406737 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2614750717462274026} + m_CullTransparentMesh: 1 +--- !u!114 &5456539344680195275 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2614750717462274026} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0, g: 0.8509804, b: 0.77254903, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 3075ddc8f319b4d229e69c83faabb8a1, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!114 &7762865190077089428 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2614750717462274026} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 5456539344680195275} + m_OnClick: + m_PersistentCalls: + m_Calls: [] +--- !u!1 &5185371334061046823 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4781091973651006734} + - component: {fileID: 8079534132318487013} + - component: {fileID: 5879139785308660428} + - component: {fileID: 7635682526857524625} + - component: {fileID: 5224821513464209980} + m_Layer: 5 + m_Name: TapTapHealthPaymentPanel + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &4781091973651006734 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5185371334061046823} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 6361964099233889058} + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!223 &8079534132318487013 +Canvas: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5185371334061046823} + m_Enabled: 1 + serializedVersion: 3 + m_RenderMode: 2 + m_Camera: {fileID: 0} + m_PlaneDistance: 100 + m_PixelPerfect: 0 + m_ReceivesEvents: 1 + m_OverrideSorting: 0 + m_OverridePixelPerfect: 0 + m_SortingBucketNormalizedSize: 0 + m_AdditionalShaderChannelsFlag: 0 + m_SortingLayerID: 0 + m_SortingOrder: 0 + m_TargetDisplay: 0 +--- !u!225 &5879139785308660428 +CanvasGroup: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5185371334061046823} + m_Enabled: 1 + m_Alpha: 1 + m_Interactable: 1 + m_BlocksRaycasts: 1 + m_IgnoreParentGroups: 0 +--- !u!114 &7635682526857524625 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5185371334061046823} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: dc42784cf147c0c48a680349fa168899, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreReversedGraphics: 1 + m_BlockingObjects: 0 + m_BlockingMask: + serializedVersion: 2 + m_Bits: 4294967295 +--- !u!114 &5224821513464209980 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5185371334061046823} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f75350a92fb443b1b5e340157e7b87d, type: 3} + m_Name: + m_EditorClassIdentifier: + canvas: {fileID: 0} + canvasGroup: {fileID: 0} + panelConfig: + animationType: 0 + toppedOrder: 0 + titleText: {fileID: 0} + contentText: {fileID: 0} + buttonText: {fileID: 0} + okButton: {fileID: 0} + scrollRect: {fileID: 0} +--- !u!1 &5262834182162683752 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2816057713552175116} + - component: {fileID: 68152737203051436} + - component: {fileID: 3012700777329152128} + - component: {fileID: 1033837396936978430} + m_Layer: 5 + m_Name: Viewport + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2816057713552175116 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5262834182162683752} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 8094373888594469185} + m_Father: {fileID: 1438928193477766731} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0, y: 1} +--- !u!222 &68152737203051436 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5262834182162683752} + m_CullTransparentMesh: 0 +--- !u!114 &3012700777329152128 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5262834182162683752} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10917, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!114 &1033837396936978430 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5262834182162683752} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 31a19414c41e5ae4aae2af33fee712f6, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ShowMaskGraphic: 0 +--- !u!1 &5357233859329253123 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2192333195466092754} + - component: {fileID: 1073151883342619883} + - component: {fileID: 5179658266808317134} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2192333195466092754 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5357233859329253123} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0.5, y: 0.5, z: 1} + m_Children: [] + m_Father: {fileID: 719222081671675900} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &1073151883342619883 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5357233859329253123} + m_CullTransparentMesh: 1 +--- !u!114 &5179658266808317134 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5357233859329253123} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: 3b1c92b10dde9426cbbccfbbd9c05cb1, type: 3} + m_FontSize: 80 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 1 + m_MaxSize: 80 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: "\u8FD4\u56DE\u6E38\u620F" +--- !u!1 &6088636428165403993 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3328846188071676324} + - component: {fileID: 4200255870573753336} + - component: {fileID: 7403014841774747260} + m_Layer: 5 + m_Name: Blocker + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &3328846188071676324 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6088636428165403993} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 6361964099233889058} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 10000, y: 10000} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &4200255870573753336 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6088636428165403993} + m_CullTransparentMesh: 0 +--- !u!114 &7403014841774747260 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6088636428165403993} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 0} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!1 &6243486050524845144 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5732433389448631787} + - component: {fileID: 4070737897994074319} + - component: {fileID: 5551195721684355231} + m_Layer: 5 + m_Name: ContentText + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &5732433389448631787 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6243486050524845144} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 8094373888594469185} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0.5} + m_AnchorMax: {x: 1, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 200} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &4070737897994074319 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6243486050524845144} + m_CullTransparentMesh: 1 +--- !u!114 &5551195721684355231 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6243486050524845144} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.4, g: 0.4, b: 0.4, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: 922f25809659d41b4b23147484bd150d, type: 3} + m_FontSize: 28 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 2 + m_MaxSize: 60 + m_Alignment: 3 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1.5 + m_Text: +--- !u!1 &6608328749443286763 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1438928193477766731} + - component: {fileID: 374842863746080010} + - component: {fileID: 8019643814988660507} + m_Layer: 5 + m_Name: Scroll View + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1438928193477766731 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6608328749443286763} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 2816057713552175116} + m_Father: {fileID: 6361964099233889058} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: -10, y: 40} + m_SizeDelta: {x: -120, y: -376} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &374842863746080010 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6608328749443286763} + m_CullTransparentMesh: 0 +--- !u!114 &8019643814988660507 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6608328749443286763} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1aa08ab6e0800fa44ae55d278d1423e3, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Content: {fileID: 8094373888594469185} + m_Horizontal: 0 + m_Vertical: 1 + m_MovementType: 2 + m_Elasticity: 0.1 + m_Inertia: 1 + m_DecelerationRate: 0.135 + m_ScrollSensitivity: 1 + m_Viewport: {fileID: 2816057713552175116} + m_HorizontalScrollbar: {fileID: 0} + m_VerticalScrollbar: {fileID: 0} + m_HorizontalScrollbarVisibility: 2 + m_VerticalScrollbarVisibility: 2 + m_HorizontalScrollbarSpacing: -3 + m_VerticalScrollbarSpacing: -3 + m_OnValueChanged: + m_PersistentCalls: + m_Calls: [] +--- !u!1 &6662724965573865808 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8094373888594469185} + m_Layer: 5 + m_Name: Content + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &8094373888594469185 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6662724965573865808} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 5732433389448631787} + m_Father: {fileID: 2816057713552175116} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 300} + m_Pivot: {x: 0, y: 1} +--- !u!1 &7557005277836148278 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6361964099233889058} + - component: {fileID: 3987254139649263377} + - component: {fileID: 3901985665046104068} + m_Layer: 5 + m_Name: Root + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &6361964099233889058 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7557005277836148278} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 3328846188071676324} + - {fileID: 5503233503525070161} + - {fileID: 1438928193477766731} + - {fileID: 719222081671675900} + m_Father: {fileID: 4781091973651006734} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: -0.28, y: -2.06} + m_SizeDelta: {x: 960, y: 588} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &3987254139649263377 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7557005277836148278} + m_CullTransparentMesh: 1 +--- !u!114 &3901985665046104068 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7557005277836148278} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 86b9e58454341479496cd09b34eb515a, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!1 &8135504764682151928 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5503233503525070161} + - component: {fileID: 432106219917414001} + - component: {fileID: 8669373154614060998} + m_Layer: 5 + m_Name: TitleText + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &5503233503525070161 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8135504764682151928} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 6361964099233889058} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: -35} + m_SizeDelta: {x: -200, y: 70} + m_Pivot: {x: 0.5, y: 1} +--- !u!222 &432106219917414001 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8135504764682151928} + m_CullTransparentMesh: 1 +--- !u!114 &8669373154614060998 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8135504764682151928} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.13333334, g: 0.13333334, b: 0.13333334, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: 3b1c92b10dde9426cbbccfbbd9c05cb1, type: 3} + m_FontSize: 40 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 1 + m_MaxSize: 50 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: "\u5065\u5EB7\u6E38\u620F\u63D0\u9192" diff --git a/Resources/Prefabs/Mobile/TapTapHealthPaymentPanel.prefab.meta b/Resources/Prefabs/Mobile/TapTapHealthPaymentPanel.prefab.meta new file mode 100644 index 0000000..e8d5cfa --- /dev/null +++ b/Resources/Prefabs/Mobile/TapTapHealthPaymentPanel.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 0e9d17fd9148b41adb904b9db2f4a0a7 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Resources/Prefabs/Mobile/TapTapHealthReminderPanel.prefab b/Resources/Prefabs/Mobile/TapTapHealthReminderPanel.prefab new file mode 100644 index 0000000..d3eab37 --- /dev/null +++ b/Resources/Prefabs/Mobile/TapTapHealthReminderPanel.prefab @@ -0,0 +1,988 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &74128373065723243 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1822479519226923156} + - component: {fileID: 4185108825244838673} + - component: {fileID: 5147486845076544210} + m_Layer: 5 + m_Name: SwitchAccountButton + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1822479519226923156 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 74128373065723243} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 7949716731606272045} + m_Father: {fileID: 6361964099233889058} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0} + m_AnchorMax: {x: 0.5, y: 0} + m_AnchoredPosition: {x: -0.00023174, y: 104} + m_SizeDelta: {x: 400.00034, y: 92.02377} + m_Pivot: {x: 0.5, y: 1} +--- !u!222 &4185108825244838673 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 74128373065723243} + m_CullTransparentMesh: 0 +--- !u!114 &5147486845076544210 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 74128373065723243} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 0 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 0} + m_OnClick: + m_PersistentCalls: + m_Calls: [] +--- !u!1 &702111813062168907 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1714943105497066078} + - component: {fileID: 8024094764964953157} + - component: {fileID: 3417420387569498261} + m_Layer: 5 + m_Name: Scroll View + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1714943105497066078 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 702111813062168907} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 2526852263098642201} + m_Father: {fileID: 6361964099233889058} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: -10, y: 60} + m_SizeDelta: {x: -120, y: -376} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &8024094764964953157 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 702111813062168907} + m_CullTransparentMesh: 0 +--- !u!114 &3417420387569498261 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 702111813062168907} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1aa08ab6e0800fa44ae55d278d1423e3, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Content: {fileID: 8856213240266642668} + m_Horizontal: 0 + m_Vertical: 1 + m_MovementType: 2 + m_Elasticity: 0.1 + m_Inertia: 1 + m_DecelerationRate: 0.135 + m_ScrollSensitivity: 1 + m_Viewport: {fileID: 2526852263098642201} + m_HorizontalScrollbar: {fileID: 0} + m_VerticalScrollbar: {fileID: 0} + m_HorizontalScrollbarVisibility: 2 + m_VerticalScrollbarVisibility: 2 + m_HorizontalScrollbarSpacing: -3 + m_VerticalScrollbarSpacing: -3 + m_OnValueChanged: + m_PersistentCalls: + m_Calls: [] +--- !u!1 &2614750717462274026 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 719222081671675900} + - component: {fileID: 6566752454117406737} + - component: {fileID: 5456539344680195275} + - component: {fileID: 7762865190077089428} + m_Layer: 5 + m_Name: OKButton + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &719222081671675900 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2614750717462274026} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 2192333195466092754} + m_Father: {fileID: 6361964099233889058} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0} + m_AnchorMax: {x: 0.5, y: 0} + m_AnchoredPosition: {x: -200, y: 160} + m_SizeDelta: {x: 400, y: 100} + m_Pivot: {x: 0, y: 0.5} +--- !u!222 &6566752454117406737 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2614750717462274026} + m_CullTransparentMesh: 1 +--- !u!114 &5456539344680195275 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2614750717462274026} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0, g: 0.8509804, b: 0.77254903, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 3075ddc8f319b4d229e69c83faabb8a1, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!114 &7762865190077089428 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2614750717462274026} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 5456539344680195275} + m_OnClick: + m_PersistentCalls: + m_Calls: [] +--- !u!1 &3706241561275581735 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8856213240266642668} + m_Layer: 5 + m_Name: Content + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &8856213240266642668 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3706241561275581735} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 5732433389448631787} + m_Father: {fileID: 2526852263098642201} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 300} + m_Pivot: {x: 0, y: 1} +--- !u!1 &5185371334061046823 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4781091973651006734} + - component: {fileID: 8079534132318487013} + - component: {fileID: 5879139785308660428} + - component: {fileID: 7635682526857524625} + - component: {fileID: 7696621876482973208} + m_Layer: 5 + m_Name: TapTapHealthReminderPanel + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &4781091973651006734 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5185371334061046823} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 6361964099233889058} + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!223 &8079534132318487013 +Canvas: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5185371334061046823} + m_Enabled: 1 + serializedVersion: 3 + m_RenderMode: 2 + m_Camera: {fileID: 0} + m_PlaneDistance: 100 + m_PixelPerfect: 0 + m_ReceivesEvents: 1 + m_OverrideSorting: 0 + m_OverridePixelPerfect: 0 + m_SortingBucketNormalizedSize: 0 + m_AdditionalShaderChannelsFlag: 0 + m_SortingLayerID: 0 + m_SortingOrder: 0 + m_TargetDisplay: 0 +--- !u!225 &5879139785308660428 +CanvasGroup: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5185371334061046823} + m_Enabled: 1 + m_Alpha: 1 + m_Interactable: 1 + m_BlocksRaycasts: 1 + m_IgnoreParentGroups: 0 +--- !u!114 &7635682526857524625 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5185371334061046823} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: dc42784cf147c0c48a680349fa168899, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreReversedGraphics: 1 + m_BlockingObjects: 0 + m_BlockingMask: + serializedVersion: 2 + m_Bits: 4294967295 +--- !u!114 &7696621876482973208 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5185371334061046823} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 8264dd85a71dd4641919b0cf029dc650, type: 3} + m_Name: + m_EditorClassIdentifier: + canvas: {fileID: 0} + canvasGroup: {fileID: 0} + panelConfig: + animationType: 1 + toppedOrder: 0 + titleText: {fileID: 0} + contentText: {fileID: 0} + switchAccountButton: {fileID: 0} + okButton: {fileID: 0} + scrollRect: {fileID: 0} +--- !u!1 &5357233859329253123 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2192333195466092754} + - component: {fileID: 1073151883342619883} + - component: {fileID: 5179658266808317134} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2192333195466092754 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5357233859329253123} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0.5, y: 0.5, z: 1} + m_Children: [] + m_Father: {fileID: 719222081671675900} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &1073151883342619883 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5357233859329253123} + m_CullTransparentMesh: 1 +--- !u!114 &5179658266808317134 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5357233859329253123} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 80 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 1 + m_MaxSize: 80 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: "\u9000\u51FA\u6E38\u620F" +--- !u!1 &5499737641053474661 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2526852263098642201} + - component: {fileID: 1052250861400593220} + - component: {fileID: 8227832602383847763} + - component: {fileID: 7851226846830685265} + m_Layer: 5 + m_Name: Viewport + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2526852263098642201 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5499737641053474661} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 8856213240266642668} + m_Father: {fileID: 1714943105497066078} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0, y: 1} +--- !u!222 &1052250861400593220 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5499737641053474661} + m_CullTransparentMesh: 0 +--- !u!114 &8227832602383847763 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5499737641053474661} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10917, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!114 &7851226846830685265 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5499737641053474661} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 31a19414c41e5ae4aae2af33fee712f6, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ShowMaskGraphic: 0 +--- !u!1 &5708136950861889540 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7949716731606272045} + - component: {fileID: 621164794339132577} + - component: {fileID: 1710289536315447295} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &7949716731606272045 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5708136950861889540} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0.5, y: 0.5, z: 1} + m_Children: [] + m_Father: {fileID: 1822479519226923156} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &621164794339132577 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5708136950861889540} + m_CullTransparentMesh: 0 +--- !u!114 &1710289536315447295 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5708136950861889540} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0, g: 0.8509804, b: 0.77254903, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 80 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 1 + m_MaxSize: 80 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: "\u5207\u6362\u8D26\u53F7" +--- !u!1 &6243486050524845144 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5732433389448631787} + - component: {fileID: 4070737897994074319} + - component: {fileID: 5551195721684355231} + m_Layer: 5 + m_Name: ContentText + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &5732433389448631787 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6243486050524845144} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 8856213240266642668} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 1} + m_AnchorMax: {x: 0.5, y: 1} + m_AnchoredPosition: {x: 0, y: -150} + m_SizeDelta: {x: 840, y: 200} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &4070737897994074319 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6243486050524845144} + m_CullTransparentMesh: 1 +--- !u!114 &5551195721684355231 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6243486050524845144} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.4, g: 0.4, b: 0.4, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 28 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 2 + m_MaxSize: 40 + m_Alignment: 3 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1.5 + m_Text: +--- !u!1 &7557005277836148278 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6361964099233889058} + - component: {fileID: 3987254139649263377} + - component: {fileID: 3901985665046104068} + m_Layer: 5 + m_Name: Root + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &6361964099233889058 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7557005277836148278} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 8290278826114709488} + - {fileID: 5503233503525070161} + - {fileID: 1714943105497066078} + - {fileID: 719222081671675900} + - {fileID: 1822479519226923156} + m_Father: {fileID: 4781091973651006734} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: -0.28, y: -2.06} + m_SizeDelta: {x: 960, y: 588} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &3987254139649263377 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7557005277836148278} + m_CullTransparentMesh: 1 +--- !u!114 &3901985665046104068 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7557005277836148278} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 86b9e58454341479496cd09b34eb515a, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!1 &8135504764682151928 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5503233503525070161} + - component: {fileID: 432106219917414001} + - component: {fileID: 8669373154614060998} + m_Layer: 5 + m_Name: TitleText + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &5503233503525070161 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8135504764682151928} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 6361964099233889058} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: -35} + m_SizeDelta: {x: -200, y: 70} + m_Pivot: {x: 0.5, y: 1} +--- !u!222 &432106219917414001 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8135504764682151928} + m_CullTransparentMesh: 1 +--- !u!114 &8669373154614060998 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8135504764682151928} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.13333334, g: 0.13333334, b: 0.13333334, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 40 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 1 + m_MaxSize: 50 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: "\u5065\u5EB7\u6E38\u620F\u63D0\u9192" +--- !u!1 &8812707905409198636 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8290278826114709488} + - component: {fileID: 3883272803457041616} + - component: {fileID: 6558155990427664711} + m_Layer: 5 + m_Name: Blocker + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &8290278826114709488 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8812707905409198636} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 6361964099233889058} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 10000, y: 10000} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &3883272803457041616 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8812707905409198636} + m_CullTransparentMesh: 0 +--- !u!114 &6558155990427664711 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8812707905409198636} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 0} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 diff --git a/Resources/Prefabs/Mobile/TapTapHealthReminderPanel.prefab.meta b/Resources/Prefabs/Mobile/TapTapHealthReminderPanel.prefab.meta new file mode 100644 index 0000000..d62cb08 --- /dev/null +++ b/Resources/Prefabs/Mobile/TapTapHealthReminderPanel.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 8abc83e5fb1c14e44a74eae8bc9273b5 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Resources/Prefabs/Mobile/TapTapVietnamTimeSelectorPanel.prefab b/Resources/Prefabs/Mobile/TapTapVietnamTimeSelectorPanel.prefab new file mode 100644 index 0000000..1c4ff3a --- /dev/null +++ b/Resources/Prefabs/Mobile/TapTapVietnamTimeSelectorPanel.prefab @@ -0,0 +1,3176 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &151327818682112788 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3299116364086320644} + - component: {fileID: 4945726223118330480} + - component: {fileID: 3956481558600350948} + - component: {fileID: 3840544983608502627} + m_Layer: 5 + m_Name: MonthToggle + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &3299116364086320644 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 151327818682112788} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 5228438313907925810} + - {fileID: 2283651671357563872} + - {fileID: 8263548231710719524} + m_Father: {fileID: 7875174870289251695} + m_RootOrder: 6 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 269, y: 109} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &4945726223118330480 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 151327818682112788} + m_CullTransparentMesh: 0 +--- !u!114 &3956481558600350948 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 151327818682112788} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: dd9d671541ba74178a9139a1c7d7de5c, type: 3} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!114 &3840544983608502627 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 151327818682112788} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9085046f02f69544eb97fd06b6048fe2, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 2 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 21300000, guid: ce22a2d229beb43bca381ce30310cc0b, + type: 3} + m_PressedSprite: {fileID: 21300000, guid: ce22a2d229beb43bca381ce30310cc0b, type: 3} + m_SelectedSprite: {fileID: 21300000, guid: ce22a2d229beb43bca381ce30310cc0b, type: 3} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 3956481558600350948} + toggleTransition: 1 + graphic: {fileID: 0} + m_Group: {fileID: 0} + onValueChanged: + m_PersistentCalls: + m_Calls: [] + m_IsOn: 0 +--- !u!1 &261165856964570894 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5648304877689297069} + - component: {fileID: 4928045252041131414} + - component: {fileID: 2645422209056295664} + m_Layer: 5 + m_Name: Arrow + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &5648304877689297069 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 261165856964570894} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1337835421574198668} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 1, y: 0.5} + m_AnchorMax: {x: 1, y: 0.5} + m_AnchoredPosition: {x: -57.01, y: -0.96} + m_SizeDelta: {x: 29.12481, y: 18.206726} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &4928045252041131414 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 261165856964570894} + m_CullTransparentMesh: 0 +--- !u!114 &2645422209056295664 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 261165856964570894} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: df4abd00de251427dab96190fa96d931, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!1 &482473053246793676 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8294344063686146391} + - component: {fileID: 2229441839049904863} + - component: {fileID: 8586772877326822556} + m_Layer: 5 + m_Name: Label + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &8294344063686146391 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 482473053246793676} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 7327072821673827424} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: -10} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &2229441839049904863 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 482473053246793676} + m_CullTransparentMesh: 0 +--- !u!114 &8586772877326822556 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 482473053246793676} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.4, g: 0.4, b: 0.4, a: 1} + m_RaycastTarget: 0 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 39 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 1 + m_MaxSize: 171 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: +--- !u!1 &688072924368888721 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5856477397900784469} + - component: {fileID: 8443870009451597014} + - component: {fileID: 6400362268495550342} + m_Layer: 5 + m_Name: Title + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &5856477397900784469 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 688072924368888721} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 7875174870289251695} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0.6, y: 437} + m_SizeDelta: {x: 600, y: 76.58389} + m_Pivot: {x: 0.5, y: 1} +--- !u!222 &8443870009451597014 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 688072924368888721} + m_CullTransparentMesh: 0 +--- !u!114 &6400362268495550342 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 688072924368888721} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.12941177, g: 0.098039225, b: 0.10196079, a: 1} + m_RaycastTarget: 0 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 48 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 1 + m_MaxSize: 63 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 0 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 0 + m_Text: "X\xE1c nh\u1EADn th\xF4ng tin" +--- !u!1 &1229033906610854672 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4858461454929929898} + - component: {fileID: 6544995273748841751} + - component: {fileID: 7702430014194208585} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &4858461454929929898 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1229033906610854672} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 2356732173957518344} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 1.8, y: 0.000038146973} + m_SizeDelta: {x: 397.42963, y: 91.51373} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &6544995273748841751 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1229033906610854672} + m_CullTransparentMesh: 0 +--- !u!114 &7702430014194208585 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1229033906610854672} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 35 + m_FontStyle: 1 + m_BestFit: 0 + m_MinSize: 1 + m_MaxSize: 50 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: "G\u1EEDi" +--- !u!1 &1365626279054961329 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3182519976922177562} + - component: {fileID: 2600034811730631731} + - component: {fileID: 4909183367694762989} + m_Layer: 5 + m_Name: HolderLabel + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &3182519976922177562 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1365626279054961329} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1337835421574198668} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: -26.699997, y: -1.4000015} + m_SizeDelta: {x: -50, y: -13} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &2600034811730631731 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1365626279054961329} + m_CullTransparentMesh: 0 +--- !u!114 &4909183367694762989 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1365626279054961329} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.13333334, g: 0.13333334, b: 0.13333334, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 36 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 1 + m_MaxSize: 40 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: MM +--- !u!1 &1844939312504683588 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7474991153320785886} + - component: {fileID: 4997899307002921603} + - component: {fileID: 1309811026564187692} + m_Layer: 5 + m_Name: Blocker + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &7474991153320785886 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1844939312504683588} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 7875174870289251695} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 10000, y: 10000} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &4997899307002921603 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1844939312504683588} + m_CullTransparentMesh: 0 +--- !u!114 &1309811026564187692 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1844939312504683588} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 0} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!1 &2019793082155588856 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8263548231710719524} + - component: {fileID: 482503866236171655} + - component: {fileID: 4558852042975305621} + m_Layer: 5 + m_Name: HolderLabel + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &8263548231710719524 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2019793082155588856} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 3299116364086320644} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: -26.699997, y: -1.4000015} + m_SizeDelta: {x: -50, y: -13} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &482503866236171655 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2019793082155588856} + m_CullTransparentMesh: 0 +--- !u!114 &4558852042975305621 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2019793082155588856} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.13333334, g: 0.13333334, b: 0.13333334, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 36 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 1 + m_MaxSize: 40 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: MM +--- !u!1 &3024499319453257715 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7875174870289251695} + - component: {fileID: 1100320282749537019} + - component: {fileID: 1506892304158482022} + - component: {fileID: 6943949172950077807} + m_Layer: 5 + m_Name: Root + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &7875174870289251695 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3024499319453257715} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 7474991153320785886} + - {fileID: 6352990879285470245} + - {fileID: 5856477397900784469} + - {fileID: 6199915501752284237} + - {fileID: 2356732173957518344} + - {fileID: 4670300252404837558} + - {fileID: 3299116364086320644} + - {fileID: 1337835421574198668} + - {fileID: 4589354714724863031} + - {fileID: 6443721704533174768} + - {fileID: 8545029088525681466} + m_Father: {fileID: 5981748443413993172} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0.6, y: -4.9} + m_SizeDelta: {x: 984, y: 962.1244} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &1100320282749537019 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3024499319453257715} + m_CullTransparentMesh: 1 +--- !u!114 &1506892304158482022 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3024499319453257715} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: dcd1ae9f2f8d74c0190994330a93aec3, type: 3} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!114 &6943949172950077807 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3024499319453257715} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 0 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 1506892304158482022} + m_OnClick: + m_PersistentCalls: + m_Calls: [] +--- !u!1 &3031489120502996418 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1337835421574198668} + - component: {fileID: 8389976615135025349} + - component: {fileID: 2297164028041321958} + - component: {fileID: 4011960633384521200} + m_Layer: 5 + m_Name: DayToggle + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1337835421574198668 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3031489120502996418} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 5648304877689297069} + - {fileID: 2964561818404823002} + - {fileID: 3182519976922177562} + m_Father: {fileID: 7875174870289251695} + m_RootOrder: 7 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 288, y: 0} + m_SizeDelta: {x: 269, y: 109} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &8389976615135025349 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3031489120502996418} + m_CullTransparentMesh: 0 +--- !u!114 &2297164028041321958 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3031489120502996418} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: dd9d671541ba74178a9139a1c7d7de5c, type: 3} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!114 &4011960633384521200 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3031489120502996418} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9085046f02f69544eb97fd06b6048fe2, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 2 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 21300000, guid: ce22a2d229beb43bca381ce30310cc0b, + type: 3} + m_PressedSprite: {fileID: 21300000, guid: ce22a2d229beb43bca381ce30310cc0b, type: 3} + m_SelectedSprite: {fileID: 21300000, guid: ce22a2d229beb43bca381ce30310cc0b, type: 3} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 2297164028041321958} + toggleTransition: 1 + graphic: {fileID: 0} + m_Group: {fileID: 0} + onValueChanged: + m_PersistentCalls: + m_Calls: [] + m_IsOn: 0 +--- !u!1 &3232559484728254361 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6352990879285470245} + - component: {fileID: 4887786223029864600} + - component: {fileID: 6035586731492694582} + - component: {fileID: 7035648087749221004} + m_Layer: 5 + m_Name: CloseButton + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &6352990879285470245 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3232559484728254361} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 7875174870289251695} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 1, y: 1} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: -48, y: -49} + m_SizeDelta: {x: 55, y: 55} + m_Pivot: {x: 1, y: 1} +--- !u!222 &4887786223029864600 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3232559484728254361} + m_CullTransparentMesh: 1 +--- !u!114 &6035586731492694582 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3232559484728254361} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 362d3f2c5cb32453383f03bdcaf75f76, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!114 &7035648087749221004 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3232559484728254361} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 0 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 6035586731492694582} + m_OnClick: + m_PersistentCalls: + m_Calls: [] +--- !u!1 &3689977648578259978 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 758081885710963893} + - component: {fileID: 8944160656538794504} + - component: {fileID: 4096305932848573272} + - component: {fileID: 1065693262295229707} + m_Layer: 5 + m_Name: Item + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &758081885710963893 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3689977648578259978} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 8304077111502941043} + m_Father: {fileID: 870634751670190165} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0.000015258789} + m_SizeDelta: {x: 0, y: 106.5} + m_Pivot: {x: 0.5, y: 1} +--- !u!222 &8944160656538794504 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3689977648578259978} + m_CullTransparentMesh: 0 +--- !u!114 &4096305932848573272 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3689977648578259978} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.98039216, g: 0.98039216, b: 0.98039216, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!114 &1065693262295229707 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3689977648578259978} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 4096305932848573272} + m_OnClick: + m_PersistentCalls: + m_Calls: [] +--- !u!1 &4083342199474525609 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4670300252404837558} + - component: {fileID: 4383408699796325138} + - component: {fileID: 4128731879156485127} + - component: {fileID: 2006151848269522936} + m_Layer: 5 + m_Name: YearToggle + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &4670300252404837558 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4083342199474525609} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 4399669694652504466} + - {fileID: 4090714556715790778} + - {fileID: 939676357396255028} + m_Father: {fileID: 7875174870289251695} + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: -288, y: 0} + m_SizeDelta: {x: 269, y: 109} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &4383408699796325138 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4083342199474525609} + m_CullTransparentMesh: 0 +--- !u!114 &4128731879156485127 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4083342199474525609} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: dd9d671541ba74178a9139a1c7d7de5c, type: 3} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!114 &2006151848269522936 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4083342199474525609} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9085046f02f69544eb97fd06b6048fe2, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 2 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 21300000, guid: ce22a2d229beb43bca381ce30310cc0b, + type: 3} + m_PressedSprite: {fileID: 21300000, guid: ce22a2d229beb43bca381ce30310cc0b, type: 3} + m_SelectedSprite: {fileID: 21300000, guid: ce22a2d229beb43bca381ce30310cc0b, type: 3} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 4128731879156485127} + toggleTransition: 1 + graphic: {fileID: 0} + m_Group: {fileID: 0} + onValueChanged: + m_PersistentCalls: + m_Calls: [] + m_IsOn: 0 +--- !u!1 &4168470512083604594 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7327072821673827424} + - component: {fileID: 6443788434409110699} + - component: {fileID: 5938647982544481361} + - component: {fileID: 796595051296701396} + m_Layer: 5 + m_Name: Item + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &7327072821673827424 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4168470512083604594} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 8294344063686146391} + m_Father: {fileID: 3226002397416002664} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0.000015258789} + m_SizeDelta: {x: 0, y: 106.5} + m_Pivot: {x: 0.5, y: 1} +--- !u!222 &6443788434409110699 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4168470512083604594} + m_CullTransparentMesh: 0 +--- !u!114 &5938647982544481361 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4168470512083604594} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!114 &796595051296701396 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4168470512083604594} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 5938647982544481361} + m_OnClick: + m_PersistentCalls: + m_Calls: [] +--- !u!1 &4189585547947232200 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2274523420260147568} + m_Layer: 5 + m_Name: Content + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2274523420260147568 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4189585547947232200} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 4411206252267902016} + m_Father: {fileID: 8732001170885451182} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 426} + m_Pivot: {x: 0, y: 1} +--- !u!1 &4585520885180331021 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3226002397416002664} + m_Layer: 5 + m_Name: Content + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &3226002397416002664 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4585520885180331021} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 7327072821673827424} + m_Father: {fileID: 6761368746383714499} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 426} + m_Pivot: {x: 0, y: 1} +--- !u!1 &4796314383942223079 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8304077111502941043} + - component: {fileID: 8057938513161118531} + - component: {fileID: 703774504898634582} + m_Layer: 5 + m_Name: Label + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &8304077111502941043 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4796314383942223079} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 758081885710963893} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: -10} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &8057938513161118531 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4796314383942223079} + m_CullTransparentMesh: 0 +--- !u!114 &703774504898634582 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4796314383942223079} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.4, g: 0.4, b: 0.4, a: 1} + m_RaycastTarget: 0 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 39 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 1 + m_MaxSize: 171 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: 1999 +--- !u!1 &5018997891200522115 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2356732173957518344} + - component: {fileID: 494820354189501994} + - component: {fileID: 716198847739932332} + - component: {fileID: 6702018493437190067} + m_Layer: 5 + m_Name: ConfirmButton + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2356732173957518344 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5018997891200522115} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 4858461454929929898} + m_Father: {fileID: 7875174870289251695} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0} + m_AnchorMax: {x: 0.5, y: 0} + m_AnchoredPosition: {x: 15.3230095, y: 70.70001} + m_SizeDelta: {x: 800, y: 131} + m_Pivot: {x: 0.5, y: 0} +--- !u!222 &494820354189501994 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5018997891200522115} + m_CullTransparentMesh: 0 +--- !u!114 &716198847739932332 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5018997891200522115} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0, g: 0.8509804, b: 0.77254903, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 8572bb965c5724808b961e8f22fafa4a, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!114 &6702018493437190067 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5018997891200522115} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 716198847739932332} + m_OnClick: + m_PersistentCalls: + m_Calls: [] +--- !u!1 &5076409938370084173 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4399669694652504466} + - component: {fileID: 54748217027092918} + - component: {fileID: 5772394792870442275} + m_Layer: 5 + m_Name: Arrow + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &4399669694652504466 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5076409938370084173} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4670300252404837558} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 1, y: 0.5} + m_AnchorMax: {x: 1, y: 0.5} + m_AnchoredPosition: {x: -57.01, y: -0.96} + m_SizeDelta: {x: 29.12481, y: 18.206726} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &54748217027092918 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5076409938370084173} + m_CullTransparentMesh: 0 +--- !u!114 &5772394792870442275 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5076409938370084173} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: df4abd00de251427dab96190fa96d931, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!1 &5175812302348990898 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 939676357396255028} + - component: {fileID: 8697486489089596780} + - component: {fileID: 3643642340231757936} + m_Layer: 5 + m_Name: HolderLabel + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &939676357396255028 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5175812302348990898} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4670300252404837558} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: -26.699997, y: -1.4000015} + m_SizeDelta: {x: -50, y: -13} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &8697486489089596780 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5175812302348990898} + m_CullTransparentMesh: 0 +--- !u!114 &3643642340231757936 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5175812302348990898} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.13333334, g: 0.13333334, b: 0.13333334, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 36 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 1 + m_MaxSize: 40 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: YYYY +--- !u!1 &5936638587631570259 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6199915501752284237} + - component: {fileID: 1487159171728942641} + - component: {fileID: 2982788064645457677} + m_Layer: 5 + m_Name: Description + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &6199915501752284237 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5936638587631570259} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 7875174870289251695} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 206.3} + m_SizeDelta: {x: 872.3585, y: 277.52795} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &1487159171728942641 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5936638587631570259} + m_CullTransparentMesh: 0 +--- !u!114 &2982788064645457677 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5936638587631570259} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.5921569, g: 0.5921569, b: 0.5921569, a: 1} + m_RaycastTarget: 0 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 36 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 1 + m_MaxSize: 42 + m_Alignment: 3 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: "\u0110\u1EC3 c\u1EA3i thi\u1EC7n tr\u1EA3i nghi\u1EC7m c\u1EE7a b\u1EA1n, + h\xE3y ch\u1ECDn ng\xE0y th\xE1ng n\u0103m sinh. \nTh\xF4ng tin b\u1EA1n cung + c\u1EA5p s\u1EBD \u0111\u01B0\u1EE3c b\u1EA3o v\u1EC7 nghi\xEAm ng\u1EB7t, ch\u1EC9 + d\xF9ng \u0111\u1EC3 x\xE1c minh ng\u01B0\u1EDDi ch\u01A1i v\u1ECB th\xE0nh ni\xEAn, + s\u1EBD kh\xF4ng d\xF9ng v\xE0o m\u1EE5c \u0111\xEDch kh\xE1c. Xin h\xE3y y\xEAn + t\xE2m." +--- !u!1 &5981748443413993179 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5981748443413993172} + - component: {fileID: 3639954931947495828} + - component: {fileID: 2963558750638580267} + - component: {fileID: 5633416612143364816} + - component: {fileID: 7645866907301265181} + m_Layer: 5 + m_Name: TapTapVietnamTimeSelectorPanel + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &5981748443413993172 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5981748443413993179} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 7875174870289251695} + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!223 &3639954931947495828 +Canvas: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5981748443413993179} + m_Enabled: 1 + serializedVersion: 3 + m_RenderMode: 2 + m_Camera: {fileID: 0} + m_PlaneDistance: 100 + m_PixelPerfect: 0 + m_ReceivesEvents: 1 + m_OverrideSorting: 0 + m_OverridePixelPerfect: 0 + m_SortingBucketNormalizedSize: 0 + m_AdditionalShaderChannelsFlag: 0 + m_SortingLayerID: 0 + m_SortingOrder: 0 + m_TargetDisplay: 0 +--- !u!114 &2963558750638580267 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5981748443413993179} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: dc42784cf147c0c48a680349fa168899, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreReversedGraphics: 1 + m_BlockingObjects: 0 + m_BlockingMask: + serializedVersion: 2 + m_Bits: 4294967295 +--- !u!225 &5633416612143364816 +CanvasGroup: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5981748443413993179} + m_Enabled: 1 + m_Alpha: 1 + m_Interactable: 1 + m_BlocksRaycasts: 1 + m_IgnoreParentGroups: 0 +--- !u!114 &7645866907301265181 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5981748443413993179} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 866cbc39bd45742e395a6aa93c9accfb, type: 3} + m_Name: + m_EditorClassIdentifier: + canvas: {fileID: 0} + canvasGroup: {fileID: 0} + panelConfig: + animationType: 0 + toppedOrder: 0 + closeButton: {fileID: 0} + confirmButton: {fileID: 0} + backgroundButton: {fileID: 0} + yearToggle: {fileID: 0} + monthToggle: {fileID: 0} + dayToggle: {fileID: 0} + yearScrollView: {fileID: 0} + monthScrollView: {fileID: 0} + dayScrollView: {fileID: 0} + yearHolder: {fileID: 0} + monthHolder: {fileID: 0} + dayHolder: {fileID: 0} + yearText: {fileID: 0} + monthText: {fileID: 0} + dayText: {fileID: 0} + titleText: {fileID: 0} + descriptionText: {fileID: 0} + buttonText: {fileID: 0} + selectedYear: {fileID: 0} + selectedMonth: {fileID: 0} + selectedDay: {fileID: 0} +--- !u!1 &6367766975792043387 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4589354714724863031} + - component: {fileID: 95217468587113748} + - component: {fileID: 4994428081649608778} + - component: {fileID: 3086153998742758792} + m_Layer: 5 + m_Name: YearScrollView + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &4589354714724863031 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6367766975792043387} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1059815884820949564} + m_Father: {fileID: 7875174870289251695} + m_RootOrder: 8 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: -288.71, y: -293.76} + m_SizeDelta: {x: 303.71564, y: 463.7977} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &95217468587113748 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6367766975792043387} + m_CullTransparentMesh: 0 +--- !u!114 &4994428081649608778 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6367766975792043387} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: c7de38cef574b4efa90d66adb1eda9aa, type: 3} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!114 &3086153998742758792 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6367766975792043387} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d8f3e076f25860743a2d5212b2c285ac, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Content: {fileID: 870634751670190165} + m_Horizontal: 0 + m_Vertical: 1 + m_MovementType: 1 + m_Elasticity: 0.1 + m_Inertia: 1 + m_DecelerationRate: 0.135 + m_ScrollSensitivity: 1 + m_Viewport: {fileID: 1059815884820949564} + m_HorizontalScrollbar: {fileID: 0} + m_VerticalScrollbar: {fileID: 0} + m_HorizontalScrollbarVisibility: 0 + m_VerticalScrollbarVisibility: 0 + m_HorizontalScrollbarSpacing: 0 + m_VerticalScrollbarSpacing: 0 + m_OnValueChanged: + m_PersistentCalls: + m_Calls: [] + defaultItemSize: {x: 266, y: 106.5} + itemTemplate: {fileID: 758081885710963893} + layoutType: 1 + poolSize: 0 + pageSize: 50 +--- !u!1 &6576165066938905317 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 870634751670190165} + m_Layer: 5 + m_Name: Content + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &870634751670190165 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6576165066938905317} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 758081885710963893} + m_Father: {fileID: 1059815884820949564} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 426} + m_Pivot: {x: 0, y: 1} +--- !u!1 &6720652832251816635 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8545029088525681466} + - component: {fileID: 4699664189880448832} + - component: {fileID: 1114367930784688317} + - component: {fileID: 1315754902354853283} + m_Layer: 5 + m_Name: DayScrollView + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!224 &8545029088525681466 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6720652832251816635} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 8732001170885451182} + m_Father: {fileID: 7875174870289251695} + m_RootOrder: 10 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 284.43, y: -293.76} + m_SizeDelta: {x: 303.71564, y: 463.7977} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &4699664189880448832 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6720652832251816635} + m_CullTransparentMesh: 0 +--- !u!114 &1114367930784688317 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6720652832251816635} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: c7de38cef574b4efa90d66adb1eda9aa, type: 3} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!114 &1315754902354853283 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6720652832251816635} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d8f3e076f25860743a2d5212b2c285ac, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Content: {fileID: 2274523420260147568} + m_Horizontal: 0 + m_Vertical: 1 + m_MovementType: 1 + m_Elasticity: 0.1 + m_Inertia: 1 + m_DecelerationRate: 0.135 + m_ScrollSensitivity: 1 + m_Viewport: {fileID: 8732001170885451182} + m_HorizontalScrollbar: {fileID: 0} + m_VerticalScrollbar: {fileID: 0} + m_HorizontalScrollbarVisibility: 0 + m_VerticalScrollbarVisibility: 0 + m_HorizontalScrollbarSpacing: 0 + m_VerticalScrollbarSpacing: 0 + m_OnValueChanged: + m_PersistentCalls: + m_Calls: [] + defaultItemSize: {x: 266, y: 106.5} + itemTemplate: {fileID: 4411206252267902016} + layoutType: 1 + poolSize: 0 + pageSize: 50 +--- !u!1 &7074407416082527334 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4090714556715790778} + - component: {fileID: 3924117008939671244} + - component: {fileID: 7433058957335668546} + m_Layer: 5 + m_Name: Label + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &4090714556715790778 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7074407416082527334} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4670300252404837558} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: -26.699997, y: -1.4000015} + m_SizeDelta: {x: -50, y: -13} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &3924117008939671244 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7074407416082527334} + m_CullTransparentMesh: 0 +--- !u!114 &7433058957335668546 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7074407416082527334} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.13333334, g: 0.13333334, b: 0.13333334, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 36 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 1 + m_MaxSize: 40 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: +--- !u!1 &7284528036840324460 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7570290798243442903} + - component: {fileID: 7513187154415531344} + - component: {fileID: 2050064008020013771} + m_Layer: 5 + m_Name: Label + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &7570290798243442903 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7284528036840324460} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4411206252267902016} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: -10} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &7513187154415531344 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7284528036840324460} + m_CullTransparentMesh: 0 +--- !u!114 &2050064008020013771 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7284528036840324460} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.4, g: 0.4, b: 0.4, a: 1} + m_RaycastTarget: 0 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 39 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 1 + m_MaxSize: 171 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: +--- !u!1 &7390971311371325983 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1059815884820949564} + - component: {fileID: 7565162509511940306} + - component: {fileID: 5213742876819324152} + - component: {fileID: 6134705038615560836} + m_Layer: 5 + m_Name: Viewport + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1059815884820949564 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7390971311371325983} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 870634751670190165} + m_Father: {fileID: 4589354714724863031} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 19.03, y: -8.57} + m_SizeDelta: {x: -37.524475, y: -37.93817} + m_Pivot: {x: 0, y: 1} +--- !u!222 &7565162509511940306 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7390971311371325983} + m_CullTransparentMesh: 0 +--- !u!114 &5213742876819324152 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7390971311371325983} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10917, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!114 &6134705038615560836 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7390971311371325983} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 31a19414c41e5ae4aae2af33fee712f6, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ShowMaskGraphic: 0 +--- !u!1 &7393210920859306829 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2283651671357563872} + - component: {fileID: 3206323003587412713} + - component: {fileID: 4112569208074900102} + m_Layer: 5 + m_Name: Label + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2283651671357563872 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7393210920859306829} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 3299116364086320644} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: -26.699997, y: -1.4000015} + m_SizeDelta: {x: -50, y: -13} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &3206323003587412713 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7393210920859306829} + m_CullTransparentMesh: 0 +--- !u!114 &4112569208074900102 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7393210920859306829} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.13333334, g: 0.13333334, b: 0.13333334, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 36 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 1 + m_MaxSize: 40 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: +--- !u!1 &7564367505568481783 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4411206252267902016} + - component: {fileID: 4173428475882792101} + - component: {fileID: 5426599390796968280} + - component: {fileID: 7832230724543559207} + m_Layer: 5 + m_Name: Item + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &4411206252267902016 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7564367505568481783} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 7570290798243442903} + m_Father: {fileID: 2274523420260147568} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0.000015258789} + m_SizeDelta: {x: 0, y: 106.5} + m_Pivot: {x: 0.5, y: 1} +--- !u!222 &4173428475882792101 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7564367505568481783} + m_CullTransparentMesh: 0 +--- !u!114 &5426599390796968280 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7564367505568481783} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!114 &7832230724543559207 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7564367505568481783} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 5426599390796968280} + m_OnClick: + m_PersistentCalls: + m_Calls: [] +--- !u!1 &7650469086952670102 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6443721704533174768} + - component: {fileID: 5429881039184416135} + - component: {fileID: 7922663340240450355} + - component: {fileID: 7768128140773022952} + m_Layer: 5 + m_Name: MonthScrollView + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!224 &6443721704533174768 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7650469086952670102} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 6761368746383714499} + m_Father: {fileID: 7875174870289251695} + m_RootOrder: 9 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: -0, y: -293.76} + m_SizeDelta: {x: 303.71564, y: 463.7977} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &5429881039184416135 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7650469086952670102} + m_CullTransparentMesh: 0 +--- !u!114 &7922663340240450355 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7650469086952670102} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: c7de38cef574b4efa90d66adb1eda9aa, type: 3} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!114 &7768128140773022952 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7650469086952670102} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d8f3e076f25860743a2d5212b2c285ac, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Content: {fileID: 3226002397416002664} + m_Horizontal: 0 + m_Vertical: 1 + m_MovementType: 1 + m_Elasticity: 0.1 + m_Inertia: 1 + m_DecelerationRate: 0.135 + m_ScrollSensitivity: 1 + m_Viewport: {fileID: 6761368746383714499} + m_HorizontalScrollbar: {fileID: 0} + m_VerticalScrollbar: {fileID: 0} + m_HorizontalScrollbarVisibility: 0 + m_VerticalScrollbarVisibility: 0 + m_HorizontalScrollbarSpacing: 0 + m_VerticalScrollbarSpacing: 0 + m_OnValueChanged: + m_PersistentCalls: + m_Calls: [] + defaultItemSize: {x: 266, y: 106.5} + itemTemplate: {fileID: 7327072821673827424} + layoutType: 1 + poolSize: 0 + pageSize: 50 +--- !u!1 &8104917177702699607 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2964561818404823002} + - component: {fileID: 8643777524943574431} + - component: {fileID: 3675660492253725259} + m_Layer: 5 + m_Name: Label + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2964561818404823002 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8104917177702699607} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1337835421574198668} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: -26.699997, y: -1.4000015} + m_SizeDelta: {x: -50, y: -13} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &8643777524943574431 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8104917177702699607} + m_CullTransparentMesh: 0 +--- !u!114 &3675660492253725259 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8104917177702699607} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.13333334, g: 0.13333334, b: 0.13333334, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 36 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 1 + m_MaxSize: 40 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: +--- !u!1 &8395710514928183955 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5228438313907925810} + - component: {fileID: 476408009173131837} + - component: {fileID: 6589728591736724674} + m_Layer: 5 + m_Name: Arrow + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &5228438313907925810 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8395710514928183955} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 3299116364086320644} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 1, y: 0.5} + m_AnchorMax: {x: 1, y: 0.5} + m_AnchoredPosition: {x: -57.01, y: -0.96} + m_SizeDelta: {x: 29.12481, y: 18.206726} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &476408009173131837 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8395710514928183955} + m_CullTransparentMesh: 0 +--- !u!114 &6589728591736724674 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8395710514928183955} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: df4abd00de251427dab96190fa96d931, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!1 &8731205362812346716 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8732001170885451182} + - component: {fileID: 2498838011301679718} + - component: {fileID: 405938953800340260} + - component: {fileID: 3070903702625198066} + m_Layer: 5 + m_Name: Viewport + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &8732001170885451182 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8731205362812346716} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 2274523420260147568} + m_Father: {fileID: 8545029088525681466} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 19.03, y: -8.57} + m_SizeDelta: {x: -37.524475, y: -37.93817} + m_Pivot: {x: 0, y: 1} +--- !u!222 &2498838011301679718 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8731205362812346716} + m_CullTransparentMesh: 0 +--- !u!114 &405938953800340260 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8731205362812346716} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10917, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!114 &3070903702625198066 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8731205362812346716} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 31a19414c41e5ae4aae2af33fee712f6, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ShowMaskGraphic: 0 +--- !u!1 &8851782080777387941 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6761368746383714499} + - component: {fileID: 8644059907664747964} + - component: {fileID: 7026951726290265246} + - component: {fileID: 180197981349821578} + m_Layer: 5 + m_Name: Viewport + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &6761368746383714499 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8851782080777387941} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 3226002397416002664} + m_Father: {fileID: 6443721704533174768} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 19.03, y: -8.57} + m_SizeDelta: {x: -37.524475, y: -37.93817} + m_Pivot: {x: 0, y: 1} +--- !u!222 &8644059907664747964 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8851782080777387941} + m_CullTransparentMesh: 0 +--- !u!114 &7026951726290265246 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8851782080777387941} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10917, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!114 &180197981349821578 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8851782080777387941} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 31a19414c41e5ae4aae2af33fee712f6, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ShowMaskGraphic: 0 diff --git a/Resources/Prefabs/Mobile/TapTapVietnamTimeSelectorPanel.prefab.meta b/Resources/Prefabs/Mobile/TapTapVietnamTimeSelectorPanel.prefab.meta new file mode 100644 index 0000000..a2d292c --- /dev/null +++ b/Resources/Prefabs/Mobile/TapTapVietnamTimeSelectorPanel.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 9079365ae0661435c997a6b8b1638f77 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Resources/Textures.meta b/Resources/Textures.meta new file mode 100644 index 0000000..40c05eb --- /dev/null +++ b/Resources/Textures.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: ccde9a6d4301c4eb58c5cb717fab4c2f +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Resources/Textures/Background.png b/Resources/Textures/Background.png new file mode 100644 index 0000000000000000000000000000000000000000..938770bad3f40b1e90649b1b41ff8475bf3b57ca GIT binary patch literal 5097 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 literal 0 HcmV?d00001 diff --git a/Resources/Textures/Button.png.meta b/Resources/Textures/Button.png.meta new file mode 100644 index 0000000..7c08a7c --- /dev/null +++ b/Resources/Textures/Button.png.meta @@ -0,0 +1,128 @@ +fileFormatVersion: 2 +guid: 88c07e77fa7ac45889192a3e6a3524d4 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 11 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 64, y: 37, z: 66, w: 39} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + applyGammaDecoding: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: iPhone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Android + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Resources/Textures/Checkmark.png b/Resources/Textures/Checkmark.png new file mode 100644 index 0000000000000000000000000000000000000000..476660024464f4b2b23c8608985062910a95d688 GIT binary patch literal 348 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 literal 0 HcmV?d00001 diff --git a/Resources/Textures/Scrollview.png.meta b/Resources/Textures/Scrollview.png.meta new file mode 100644 index 0000000..a7c1aa7 --- /dev/null +++ b/Resources/Textures/Scrollview.png.meta @@ -0,0 +1,128 @@ +fileFormatVersion: 2 +guid: c7de38cef574b4efa90d66adb1eda9aa +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 11 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 43, y: 89, z: 49, w: 56} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + applyGammaDecoding: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: iPhone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Android + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Resources/Textures/WhiteButton.png b/Resources/Textures/WhiteButton.png new file mode 100644 index 0000000000000000000000000000000000000000..88143133e3932ac3828941c8425dd7c7063b0a64 GIT binary patch literal 906 zcmV;519kj~P)Ah-hP08#-fgt%XF&T1Ad zHyNTlVD@~{c$d){Kg{RH`v$kA#bQy$)w4w$7d}dx#c`bad_MnG zC=}XTkV`QqZjoSmHo1)><#8F5_TAJ;&LpiCwcGn>tL-#~lS^7;Jz zKHu?Vt3rx08vhO=6jP~`IX^!);(0a`;4h0#H$1U8y-qs)4Xmu;b?_@F= zq!Dr2P!Ob=t%9t`!Bhe<8WJO3SV0S7d_lBPXIbh2zI-y1gc;H~}Bap-4&=pammCNOf5CoB90YNSqIj%MPDWcf!#kGr+ z@=|h$D99uZhP5vkIrs|R2ob`!?Ocu_Im8Cm2ai8J&25M%)(1}^L+pfd_?$WwBEw_(u-gy3pwt&WL=2yc)Z}=7TzyszkJ_sWipwf-m}CPMvZ>I-|{@~lAo88 zV2B>?2ZMppoJTydTNM~Js$tzy4z3$SN2I3o5>M<-xRtGv>(l3-@laEO#0$1J_pac! z8m(WEgL@VbUfv?Sv?WM9U^}C|TkCsP$i|B|JG6a8LF|4?BTkQSJ0wbD*LKLQZ)L3@ zSNO$Ruh%o0Bs(oQr^R+f`+nOc2HEEb2A<1N;ga=4B4M zhqv5fs8h208-f)>I=tmL2@h}KR5%NxKWDWQU#g7COa8J;3f;K0hoFM55N>9*mf|e5`K%r7maX3N!2u&Y? z!~@ihhuKZM-Z*yZrme*H5_`Qn^X=^XZ2b=t6P$EWQ(*!bX3|@nKdHcAIxTN83}B`}&E%W@&cD zoW4NX`1$m~TR1NXwR@zUF~QR0K<|j6-S9@K+jpG4x#lh(*I)oH0j(mA6K7ewr+-DA ztS8pD2Yic9I^nIKVVAJky3;? zPo|%19v1cv*Aa2kls6)xHzUji(g&Ep&e(!^T$+`D#K|K20)-Ag#!74DYtS&~jFBjp z*?dXZ`I10U^G`!>@o|@;!7DvLw7&4^t2;qLI-)*5_5nVEOCb>Bl6tDT-HRR z@Liq&qR`hboJV3JngDygng`_P$xxw5@IHROHfOz5B*@5$VOZ+s36RdkEbAtbJ6{gh zO#+N=I4|lj1x!-w7*KF;WC<<6&q}K%dW#QRCXt9#BGLqkgf&NrA3r0C`vPWwB*JO@ zO=`GsUO}|R=FCJw`T(cm)zomc{0Ej{2E-&{X7*VN(oP6wIX9ej8i)o)WsZIg9WxPR z%kBw^6OcaOq@DFlB8aZ$z`BQyN$@=$w1R<~x3+A-3S>B8+F6-M6Q)2Q-q(CUbcV+f zB?(GcB6k;78RR^l2s&veG>G^dg1NaSot=A&P8UZXq?wN(_6b5qeuOJPW$#-nX>_pF zd*;-YC1h^k*xk}Ikv8E9FtUQSv?V~*5gnpoC}bn5bGpogaLE|2DcFiDwI-pgK}o&m zOxURG9n|2GaQm|-E2a+X*b0hHdNQ9`+i;w|?1)s&xBx0&yiM6n=>dUjy(f-#-ieGE z1Ss1ufAnf|&2Qh{_Zlz*qz_a+^QH^}961{%0g23(U$yIzN=j8@*ykNI(*kmo+jH09 zH4Rv~QK2P)tcD4v39?F2QwV%L_JR9Pz7lqb1ownteY# z^DZj8DH!&jRhS9b3g+R>wCY;;RxZh8UGFk6x-N3d(vt1|S<}z;*MNlWd3Nb{$e||q st_pU9;-(xITn)K%Jpu|o6j5yAAF*Td1;^wyH2?qr07*qoM6N<$f@InPg8%>k literal 0 HcmV?d00001 diff --git a/Resources/Textures/error_tip.png.meta b/Resources/Textures/error_tip.png.meta new file mode 100644 index 0000000..80c42d2 --- /dev/null +++ b/Resources/Textures/error_tip.png.meta @@ -0,0 +1,128 @@ +fileFormatVersion: 2 +guid: 0e956afb1460145e986098de7f396c46 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 11 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + applyGammaDecoding: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: iPhone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Android + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Resources/Textures/off.png b/Resources/Textures/off.png new file mode 100644 index 0000000000000000000000000000000000000000..64edec63f13d4ea98cbbde2c125af1d6eeb7337b GIT binary patch literal 10740 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 C;T!`1 literal 0 HcmV?d00001 diff --git a/Resources/Textures/off.png.meta b/Resources/Textures/off.png.meta new file mode 100644 index 0000000..44efbd2 --- /dev/null +++ b/Resources/Textures/off.png.meta @@ -0,0 +1,128 @@ +fileFormatVersion: 2 +guid: b27b64294c191425b80499a02efafd72 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 11 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + applyGammaDecoding: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: iPhone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Android + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Resources/Textures/taptap-antiaddiction-input.png b/Resources/Textures/taptap-antiaddiction-input.png new file mode 100644 index 0000000000000000000000000000000000000000..8d48e84ecd215376a1cc91a0eb09d051f13ad630 GIT binary patch literal 3779 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 literal 0 HcmV?d00001 diff --git a/Resources/Textures/taptap-antiaddiction-input.png.meta b/Resources/Textures/taptap-antiaddiction-input.png.meta new file mode 100644 index 0000000..57d02be --- /dev/null +++ b/Resources/Textures/taptap-antiaddiction-input.png.meta @@ -0,0 +1,128 @@ +fileFormatVersion: 2 +guid: 5ff969cbd80d74cd794ff7ee570d0dd3 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 11 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 0 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + applyGammaDecoding: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: iPhone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Android + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Resources/Textures/taptap-antiaddiction-largebutton.png b/Resources/Textures/taptap-antiaddiction-largebutton.png new file mode 100644 index 0000000000000000000000000000000000000000..3312938b5a4bc621cf6a138a55d3e0169f7b6e37 GIT binary patch literal 663 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 ExternalCallbackList + { + get => Job?.ExternalCallbackList; + } + + private static IComplianceJob CreateJob(bool isNewJob) + { + if (isNewJob) + { + var result = Activator.CreateInstance(AppDomain.CurrentDomain.GetAssemblies() + .Where(asssembly => asssembly.GetName().FullName.StartsWith("TapSDK.Compliance")) + .SelectMany(assembly => assembly.GetTypes()) + .SingleOrDefault((clazz) => typeof(IComplianceJob).IsAssignableFrom(clazz) && clazz.IsClass + && clazz.Name.Contains("ComplianceNewJob"))); + return result as IComplianceJob; + } + else + { + var result = Activator.CreateInstance(AppDomain.CurrentDomain.GetAssemblies() + .Where(asssembly => asssembly.GetName().FullName.StartsWith("TapSDK.Compliance.Mobile.Runtime")) + .SelectMany(assembly => assembly.GetTypes()) + .SingleOrDefault((clazz) => typeof(IComplianceJob).IsAssignableFrom(clazz) && clazz.IsClass + && clazz.Name.Contains("ComplianceMobileOldJob"))); + return result as IComplianceJob; + } + } + + private static void InitJob() + { + // 国内-移动端防沉迷用桥接的方式 + if (Application.platform == RuntimePlatform.Android || Application.platform == RuntimePlatform.IPhonePlayer) + { + _job = CreateJob(false); + } + // 其他均使用 Unity Native 的方式 + else + { + _job = CreateJob(true); + } + + TapLogger.Debug(string.Format("Anti Addiction Job Type: {0} ! Platform: {1}", _job.GetType(), Application.platform.ToString())); + } + + internal static void Init(string clientId, string clientToken, TapTapComplianceOption config) + { + Job.Init(clientId, clientToken, config); + _isInit = true; + } + + internal static bool IsInit(){ + return _isInit; + } + + + } +} \ No newline at end of file diff --git a/Runtime/Internal/ComplianceJobManager.cs.meta b/Runtime/Internal/ComplianceJobManager.cs.meta new file mode 100644 index 0000000..c0d5289 --- /dev/null +++ b/Runtime/Internal/ComplianceJobManager.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 116cbe8eaa1774bbaa5369c2bc3ac7d3 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Runtime/Internal/ComplianceResult.cs b/Runtime/Internal/ComplianceResult.cs new file mode 100644 index 0000000..a7d5749 --- /dev/null +++ b/Runtime/Internal/ComplianceResult.cs @@ -0,0 +1,89 @@ +using System; +using Newtonsoft.Json; + +namespace TapSDK.Compliance +{ + public class ComplianceCodeData { + [JsonProperty("name")] + public string Name { get; set; } + + [JsonProperty("idcard")] + public string Idcard { get; set; } + + [JsonProperty("code")] + public string Code { get; set; } + } + + public class ComplianceCodeResponse { + [JsonProperty("data")] + public ComplianceCodeData Data { get; set; } + } + + [Serializable] + public class CheckPayResult + { + public int status; + public string title; + public string description; + } + + [Serializable] + public class ComplianceCallbackOriginData + { + public int code; + public string extras; + } + + [Serializable] + public class ComplianceCallbackData + { + public int code; + public MsgExtraParams extras; + } + + [Serializable] + public class IdetntifyState + { + public int authState; + + public string ComplianceToken; + + public int ageLimit; + } + + [Serializable] + public class IdentifyResult + { + public int identifyState; + } + + [Serializable] + public class MsgExtraParams + { + public int userType = -1; + // public int limit_tip_type; + public int strict_type; + public string description = ""; + public string title = ""; + public bool forceOpen; + public long remainTime; + public int extraSource; + public int promptType; + public int restrictType; + } + + [Serializable] + public class CheckPayResultParams { + public int success; + public int status; + public string title; + public string description; + + public bool Success => success == 0; + } + + [Serializable] + public class SubmitPayResultParams + { + } +} \ No newline at end of file diff --git a/Runtime/Internal/ComplianceResult.cs.meta b/Runtime/Internal/ComplianceResult.cs.meta new file mode 100644 index 0000000..a0e2b2f --- /dev/null +++ b/Runtime/Internal/ComplianceResult.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: c3c8fa3f75f346f5a9e35a0d51275ac5 +timeCreated: 1681805624 \ No newline at end of file diff --git a/Runtime/Internal/IComplianceJob.cs b/Runtime/Internal/IComplianceJob.cs new file mode 100644 index 0000000..e1022a2 --- /dev/null +++ b/Runtime/Internal/IComplianceJob.cs @@ -0,0 +1,51 @@ +using System; +using System.Collections.Generic; +using System.Threading.Tasks; + +namespace TapSDK.Compliance.Model +{ + public interface IComplianceJob + { + /// + /// 根据状态的对外回调 + /// + List> ExternalCallbackList { get;} + + Task GetAgeRange(); + /// + /// 剩余时间(单位:秒) + /// + Task GetRemainingTime(); + + Task GetCurrentToken() ; + + /// + /// 新的初始化接口 + /// + /// + void Init(string clientId, string clientToken, TapTapComplianceOption config); + /// + /// 设置防沉迷回调 + /// + /// int 代表返回 code, string 代表 message + void RegisterComplianceCallback(Action callback); + + + void Startup(string userId); + + void Exit(); + + void CheckPaymentLimit(long amount + , Action handleCheckPayLimit + , Action handleCheckPayLimitException); + + void SubmitPayment(long amount + , Action handleSubmitPayResult + , Action handleSubmitPayResultException); + + + void SetTestEnvironment(bool enable); + + void OnInvokeExternalCallback(int code, string msg); + } +} diff --git a/Runtime/Internal/IComplianceJob.cs.meta b/Runtime/Internal/IComplianceJob.cs.meta new file mode 100644 index 0000000..ee94ee0 --- /dev/null +++ b/Runtime/Internal/IComplianceJob.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 7d84aa0105b074a10824b2e92410aef2 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Runtime/Internal/Init.meta b/Runtime/Internal/Init.meta new file mode 100644 index 0000000..baf8fb3 --- /dev/null +++ b/Runtime/Internal/Init.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 491862b901e94998af0aa9d0d0ef9342 +timeCreated: 1700194875 \ No newline at end of file diff --git a/Runtime/Internal/Init/ComplianceInitTask.cs b/Runtime/Internal/Init/ComplianceInitTask.cs new file mode 100644 index 0000000..95d7e27 --- /dev/null +++ b/Runtime/Internal/Init/ComplianceInitTask.cs @@ -0,0 +1,46 @@ +using TapSDK.Compliance.Model; +using TapSDK.Core; +using TapSDK.Core.Internal.Init; + +namespace TapSDK.Compliance.Internal.Init +{ + public class ComplianceInitTask : IInitTask + { + public int Order => 12; + + public void Init(TapTapSdkOptions coreOption, TapTapSdkBaseOptions[] otherOptions) + { + if (coreOption == null || coreOption.region == TapTapRegionType.Overseas) + { + return; + } + TapTapComplianceOption complianceOption = null; + if (otherOptions != null && otherOptions.Length > 0) + { + foreach (var option in otherOptions) + { + if (option is TapTapComplianceOption option1) + { + complianceOption = option1; + } + } + } + if (complianceOption == null) + { + complianceOption = new TapTapComplianceOption(); + } + ComplianceJobManager.Init(coreOption.clientId, coreOption.clientToken, complianceOption); + } + + public void Init(TapTapSdkOptions coreOption) + { + if (coreOption == null || coreOption.region == TapTapRegionType.Overseas) + { + return; + } + TapTapComplianceOption option = new TapTapComplianceOption(); + ComplianceJobManager.Init(coreOption.clientId, coreOption.clientToken, option); + + } + } +} \ No newline at end of file diff --git a/Runtime/Internal/Init/ComplianceInitTask.cs.meta b/Runtime/Internal/Init/ComplianceInitTask.cs.meta new file mode 100644 index 0000000..55aca07 --- /dev/null +++ b/Runtime/Internal/Init/ComplianceInitTask.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 07825446c71a44059fc13f00f35d9662 +timeCreated: 1700194884 \ No newline at end of file diff --git a/Runtime/Internal/Model.meta b/Runtime/Internal/Model.meta new file mode 100644 index 0000000..d8fb36f --- /dev/null +++ b/Runtime/Internal/Model.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: cf708b8276f8b4ad497f9d7ab1261224 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Runtime/Internal/Model/StartUpResult.cs b/Runtime/Internal/Model/StartUpResult.cs new file mode 100644 index 0000000..1434dc4 --- /dev/null +++ b/Runtime/Internal/Model/StartUpResult.cs @@ -0,0 +1,28 @@ + +namespace TapSDK.Compliance.Model +{ + public static class StartUpResult + { + public const int LOGIN_SUCCESS = 500; // 登录成功-ok + public const int EXITED = 1000; // 用户登出 + public const int SWITCH_ACCOUNT = 1001; // 切换账号 + public const int PERIOD_RESTRICT = 1030; // 当前用户达到宵禁时长 + public const int DURATION_LIMIT = 1050; // 时长限制 + + public const int AGE_LIMIT = 1100; // 适龄限制 + public const int INVALID_CLIENT_OR_NETWORK_ERROR = 1200; // 应用配置错误或网络异常 + public const int REAL_NAME_STOP = 9002; // 实名过程中点击了关闭实名窗 + + public static bool Contains(int val) { + if (val == LOGIN_SUCCESS) return true; + if (val == EXITED) return true; + if (val == SWITCH_ACCOUNT) return true; + if (val == PERIOD_RESTRICT) return true; + if (val == DURATION_LIMIT) return true; + if (val == REAL_NAME_STOP) return true; + if (val == AGE_LIMIT) return true; + if (val == INVALID_CLIENT_OR_NETWORK_ERROR) return true; + return false; + } + } +} diff --git a/Runtime/Internal/Model/StartUpResult.cs.meta b/Runtime/Internal/Model/StartUpResult.cs.meta new file mode 100644 index 0000000..8ac8e4d --- /dev/null +++ b/Runtime/Internal/Model/StartUpResult.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: ac32d6e3163d54bcdb468466f8c5b3ae +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..04f202e --- /dev/null +++ b/Runtime/Public.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: f40e1ad81c9443a5bbc558a94c2fd188 +timeCreated: 1681804590 \ No newline at end of file diff --git a/Runtime/Public/TapTapCompliance.cs b/Runtime/Public/TapTapCompliance.cs new file mode 100644 index 0000000..60415b0 --- /dev/null +++ b/Runtime/Public/TapTapCompliance.cs @@ -0,0 +1,121 @@ +using System; +using TapSDK.Core; +using TapSDK.Compliance.Model; +using TapSDK.Compliance.Internal; +using System.Threading.Tasks; + +namespace TapSDK.Compliance +{ + + public static class TapTapCompliance + { + + public static readonly string Version = "4.5.0"; + + public static void RegisterComplianceCallback(Action callback) + { + if (ComplianceJobManager.IsInit() == false) { + TapLogger.Warn("TapSDK::ComplianceUIKit is not init, please call Init first!"); + } + ComplianceJobManager.Job?.RegisterComplianceCallback(callback); + } + + public static void Startup(string userId) + { + ComplianceJobManager.Job?.Startup(userId); + } + + + public static void Exit() + { + ComplianceJobManager.Job?.Exit(); + } + + /// + /// 年龄类型:UNREALNAME = -1;CHILD = 0;TEEN = 8;YOUNG = 16; ADULT = 18; + /// 当游戏旧版本不使用年龄段,新版本使用年龄段,对于老用户仍返回 -1 + /// + public static Task GetAgeRange() + { + + IComplianceJob Job = ComplianceJobManager.Job; + if (Job != null) + return Job.GetAgeRange(); + + var tcs = new TaskCompletionSource(); + tcs.TrySetException(new Exception("TapCompliance Init failed")); + return tcs.Task; + } + + + + /// + /// 剩余时间(单位:秒) + /// + public static Task GetRemainingTime() + { + + IComplianceJob Job = ComplianceJobManager.Job; + if (Job != null) + return Job.GetRemainingTime(); + + var tcs = new TaskCompletionSource(); + tcs.TrySetException(new Exception("TapCompliance Init failed")); + return tcs.Task; + + } + + public static Task GetCurrentAccessToken() + { + + IComplianceJob Job = ComplianceJobManager.Job; + if (Job != null) + return Job.GetCurrentToken(); + + var tcs = new TaskCompletionSource(); + tcs.TrySetException(new Exception("TapCompliance Init failed")); + return tcs.Task; + } + + /// + /// 在支付前,检查支付结果 + /// + /// 支付金额,单位:分 + /// 检查支付结果的回调 + /// 检查支付碰到问题时的回调 + public static void CheckPaymentLimit(long amount + , Action handleCheckPayLimit + , Action handleCheckPayLimitException) + { + ComplianceJobManager.Job?.CheckPaymentLimit(amount, handleCheckPayLimit, handleCheckPayLimitException); + } + + /// + /// 提交支付结果 + /// + /// 支付金额,单位:分 + /// 提交成功后的回调 + /// 提交失败后的回调 + public static void SubmitPayment(long amount + , Action handleSubmitPayResult + , Action handleSubmitPayResultException + ) + { + ComplianceJobManager.Job?.SubmitPayment(amount, handleSubmitPayResult, handleSubmitPayResultException); + } + + + /// + /// 设置测试环境,需要在 startup 接口调用前设置 + /// + /// 测试环境是否可用 + public static void SetTestEnvironment(bool enable) { + ComplianceJobManager.Job?.SetTestEnvironment(enable); + } + + public static void OnInvokeExternalCallback(int code, string msg){ + ComplianceJobManager.Job?.OnInvokeExternalCallback(code,msg); + } + + } +} \ No newline at end of file diff --git a/Runtime/Public/TapTapCompliance.cs.meta b/Runtime/Public/TapTapCompliance.cs.meta new file mode 100644 index 0000000..5af64eb --- /dev/null +++ b/Runtime/Public/TapTapCompliance.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 0cad2f67826d844cb8197ff83f10f0bc +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Runtime/Public/TapTapComplianceOption.cs b/Runtime/Public/TapTapComplianceOption.cs new file mode 100644 index 0000000..1400bda --- /dev/null +++ b/Runtime/Public/TapTapComplianceOption.cs @@ -0,0 +1,48 @@ +using System.Collections.Generic; +using TapSDK.Core; +using UnityEngine; +using Newtonsoft.Json; + +namespace TapSDK.Compliance +{ + public class TapTapComplianceOption: TapTapSdkBaseOptions + { + public static TapTapComplianceOption Config { get; set; } + + [JsonProperty("moduleName")] + private string _moduleName = "TapTapCompliance"; + [JsonIgnore] + public string moduleName + { + get => _moduleName; + } + + internal string clientId; + + + public bool showSwitchAccount = false; + + + public bool useAgeRange = true; + + + public TapTapComplianceOption(bool useAgeRange, bool showSwitchAccount){ + this.useAgeRange = useAgeRange; + this.showSwitchAccount = showSwitchAccount; + } + + public TapTapComplianceOption(){ + showSwitchAccount = false; + useAgeRange = true; + } + + + public Dictionary ToDict() { + return new Dictionary { + ["showSwitchAccount"] = showSwitchAccount, + ["useAgeRange"] = useAgeRange + }; + } + } +} + diff --git a/Runtime/Public/TapTapComplianceOption.cs.meta b/Runtime/Public/TapTapComplianceOption.cs.meta new file mode 100644 index 0000000..c1508c5 --- /dev/null +++ b/Runtime/Public/TapTapComplianceOption.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 01763dc8adec46df911c704464cabf23 +timeCreated: 1681805562 \ No newline at end of file diff --git a/Runtime/TapSDK.Compliance.Runtime.asmdef b/Runtime/TapSDK.Compliance.Runtime.asmdef new file mode 100644 index 0000000..78cf571 --- /dev/null +++ b/Runtime/TapSDK.Compliance.Runtime.asmdef @@ -0,0 +1,16 @@ +{ + "name": "TapSDK.Compliance", + "references": [ + "GUID:e8754b6153389406c963cd52996cc80f", + "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.Compliance.Runtime.asmdef.meta b/Runtime/TapSDK.Compliance.Runtime.asmdef.meta new file mode 100644 index 0000000..581fed8 --- /dev/null +++ b/Runtime/TapSDK.Compliance.Runtime.asmdef.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 9b1c19877f4294a9cb33ff38fc9f1c83 +AssemblyDefinitionImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Standalone.meta b/Standalone.meta new file mode 100644 index 0000000..bd23af9 --- /dev/null +++ b/Standalone.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: dc1844ccd3b040fd9e791d4215982bc0 +timeCreated: 1681804531 \ No newline at end of file diff --git a/Standalone/Editor.meta b/Standalone/Editor.meta new file mode 100644 index 0000000..cacd558 --- /dev/null +++ b/Standalone/Editor.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 9a31ffe221a84e658f62ff6830b46c53 +timeCreated: 1684923377 \ No newline at end of file diff --git a/Standalone/Editor/TapComplianceStandaloneProcessBuild.cs b/Standalone/Editor/TapComplianceStandaloneProcessBuild.cs new file mode 100644 index 0000000..7e50ade --- /dev/null +++ b/Standalone/Editor/TapComplianceStandaloneProcessBuild.cs @@ -0,0 +1,20 @@ +using System; +using UnityEditor.Build.Reporting; +using TapSDK.Core.Editor; + +namespace TapSDK.Compliance.Standalone.Editor { + public class TapComplianceStandaloneProcessBuild : SDKLinkProcessBuild { + public override int callbackOrder => 3; + + public override string LinkPath => "TapSDK/Compliance/link.xml"; + + public override LinkedAssembly[] LinkedAssemblies => new LinkedAssembly[] { + new LinkedAssembly { Fullname = "TapSDK.Compliance" }, + new LinkedAssembly { Fullname = "TapSDK.Compliance.Standalone.Runtime" } + }; + + public override Func IsTargetPlatform => (report) => { + return BuildTargetUtils.IsSupportStandalone(report.summary.platform); + }; + } +} \ No newline at end of file diff --git a/Standalone/Editor/TapComplianceStandaloneProcessBuild.cs.meta b/Standalone/Editor/TapComplianceStandaloneProcessBuild.cs.meta new file mode 100644 index 0000000..cccb8ca --- /dev/null +++ b/Standalone/Editor/TapComplianceStandaloneProcessBuild.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 91a6a92c47d348c1880c9295b9b9a3bf +timeCreated: 1681815251 \ No newline at end of file diff --git a/Standalone/Editor/TapSDK.Compliance.Standalone.Editor.asmdef b/Standalone/Editor/TapSDK.Compliance.Standalone.Editor.asmdef new file mode 100644 index 0000000..52098d2 --- /dev/null +++ b/Standalone/Editor/TapSDK.Compliance.Standalone.Editor.asmdef @@ -0,0 +1,17 @@ +{ + "name": "TapSDK.Compliance.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.Compliance.Standalone.Editor.asmdef.meta b/Standalone/Editor/TapSDK.Compliance.Standalone.Editor.asmdef.meta new file mode 100644 index 0000000..93fd18a --- /dev/null +++ b/Standalone/Editor/TapSDK.Compliance.Standalone.Editor.asmdef.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 81378508f9d9f4930a4e23198fdeeb04 +AssemblyDefinitionImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Standalone/Resources.meta b/Standalone/Resources.meta new file mode 100644 index 0000000..7e797a6 --- /dev/null +++ b/Standalone/Resources.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 1df9adf80d8eb49c596e240f8e2c1f76 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Standalone/Resources/Prefabs.meta b/Standalone/Resources/Prefabs.meta new file mode 100644 index 0000000..9dd2d7e --- /dev/null +++ b/Standalone/Resources/Prefabs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 504dc1307799a45d5b28625936644704 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Standalone/Resources/Prefabs/Standalone.meta b/Standalone/Resources/Prefabs/Standalone.meta new file mode 100644 index 0000000..a4cc9c1 --- /dev/null +++ b/Standalone/Resources/Prefabs/Standalone.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 3d3dd0f6971a749ddbf64dad1b275c3b +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Standalone/Resources/Prefabs/Standalone/TapTapAntiAddictionRetryAlert.prefab b/Standalone/Resources/Prefabs/Standalone/TapTapAntiAddictionRetryAlert.prefab new file mode 100644 index 0000000..932e9a1 --- /dev/null +++ b/Standalone/Resources/Prefabs/Standalone/TapTapAntiAddictionRetryAlert.prefab @@ -0,0 +1,835 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &741226114600572463 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 347516699165024325} + - component: {fileID: 9178127194317328420} + - component: {fileID: 2442253682647876089} + m_Layer: 5 + m_Name: MessageText + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &347516699165024325 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 741226114600572463} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 3018198356678799280} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 400, y: -212} + m_SizeDelta: {x: 240, y: 106} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &9178127194317328420 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 741226114600572463} + m_CullTransparentMesh: 0 +--- !u!114 &2442253682647876089 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 741226114600572463} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: c76570f7b9a4942ae84d6491f2669330, type: 3} + m_FontSize: 16 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 1 + m_MaxSize: 41 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1.5 + m_Text: Network Error,please try again +--- !u!1 &1127131294577253093 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8039644701450143132} + m_Layer: 5 + m_Name: Retry + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!224 &8039644701450143132 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1127131294577253093} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 606419830508116541} + - {fileID: 8152418032368909056} + m_Father: {fileID: 3018198356678799280} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 100, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &1922066675331208581 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3018198356678799280} + - component: {fileID: 8194312784932681759} + - component: {fileID: 4277463507825336017} + - component: {fileID: 9028472779140305092} + - component: {fileID: 6371475315954498071} + m_Layer: 5 + m_Name: BackgroundImage + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &3018198356678799280 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1922066675331208581} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 347516699165024325} + - {fileID: 5493183507584923452} + - {fileID: 8039644701450143132} + m_Father: {fileID: 9092229873398676693} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0.7, y: -1.4} + m_SizeDelta: {x: 800, y: 480} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &8194312784932681759 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1922066675331208581} + m_CullTransparentMesh: 0 +--- !u!114 &4277463507825336017 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1922066675331208581} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: dcd1ae9f2f8d74c0190994330a93aec3, type: 3} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!114 &9028472779140305092 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1922066675331208581} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: cfabb0440166ab443bba8876756fdfa9, type: 3} + m_Name: + m_EditorClassIdentifier: + m_EffectColor: {r: 0.9490196, g: 0.9490196, b: 0.9490196, a: 1} + m_EffectDistance: {x: -1, y: -2} + m_UseGraphicAlpha: 1 +--- !u!114 &6371475315954498071 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1922066675331208581} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: cfabb0440166ab443bba8876756fdfa9, type: 3} + m_Name: + m_EditorClassIdentifier: + m_EffectColor: {r: 0.9490196, g: 0.9490196, b: 0.9490196, a: 1} + m_EffectDistance: {x: 1, y: 1} + m_UseGraphicAlpha: 1 +--- !u!1 &2581798143820796450 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3264819832207075509} + - component: {fileID: 8219919235773704732} + - component: {fileID: 2947571134831864381} + m_Layer: 5 + m_Name: Blocker + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &3264819832207075509 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2581798143820796450} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 9092229873398676693} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: -17.2, y: -7.2} + m_SizeDelta: {x: 10000, y: 10000} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &8219919235773704732 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2581798143820796450} + m_CullTransparentMesh: 0 +--- !u!114 &2947571134831864381 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2581798143820796450} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 0} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!1 &3139675563220528306 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5857737074481106158} + - component: {fileID: 5894208780504323935} + - component: {fileID: 3952200870219420041} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &5857737074481106158 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3139675563220528306} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 5493183507584923452} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 1.5, y: 1.0999985} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &5894208780504323935 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3139675563220528306} + m_CullTransparentMesh: 0 +--- !u!114 &3952200870219420041 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3139675563220528306} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: c76570f7b9a4942ae84d6491f2669330, type: 3} + m_FontSize: 14 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 1 + m_MaxSize: 40 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: "\u91CD\u8BD5" +--- !u!1 &4683343152008007239 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 606419830508116541} + - component: {fileID: 4820232454113331661} + - component: {fileID: 104026454930804771} + m_Layer: 5 + m_Name: RetryText + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &606419830508116541 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4683343152008007239} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 8039644701450143132} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0.5} + m_AnchorMax: {x: 1, y: 0.5} + m_AnchoredPosition: {x: 1.8, y: -60.4} + m_SizeDelta: {x: 686.64215, y: 106} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &4820232454113331661 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4683343152008007239} + m_CullTransparentMesh: 0 +--- !u!114 &104026454930804771 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4683343152008007239} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.53333336, g: 0.53333336, b: 0.53333336, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: 922f25809659d41b4b23147484bd150d, type: 3} + m_FontSize: 15 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 0 + m_MaxSize: 41 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1.5 + m_Text: "\u91CD\u8BD5\u4E2D..." +--- !u!1 &6643749892881444223 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7091787380276746281} + - component: {fileID: 8868982964816018679} + - component: {fileID: 6717941791004790811} + - component: {fileID: 7013730651431754730} + - component: {fileID: 8695191244032904745} + m_Layer: 5 + m_Name: TapTapAntiAddictionRetryAlert + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &7091787380276746281 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6643749892881444223} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 9092229873398676693} + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!223 &8868982964816018679 +Canvas: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6643749892881444223} + m_Enabled: 1 + serializedVersion: 3 + m_RenderMode: 2 + m_Camera: {fileID: 0} + m_PlaneDistance: 100 + m_PixelPerfect: 0 + m_ReceivesEvents: 1 + m_OverrideSorting: 0 + m_OverridePixelPerfect: 0 + m_SortingBucketNormalizedSize: 0 + m_AdditionalShaderChannelsFlag: 0 + m_SortingLayerID: 0 + m_SortingOrder: 0 + m_TargetDisplay: 0 +--- !u!225 &6717941791004790811 +CanvasGroup: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6643749892881444223} + m_Enabled: 1 + m_Alpha: 1 + m_Interactable: 1 + m_BlocksRaycasts: 1 + m_IgnoreParentGroups: 0 +--- !u!114 &7013730651431754730 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6643749892881444223} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: dc42784cf147c0c48a680349fa168899, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreReversedGraphics: 1 + m_BlockingObjects: 0 + m_BlockingMask: + serializedVersion: 2 + m_Bits: 4294967295 +--- !u!114 &8695191244032904745 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6643749892881444223} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 2567d051c1243468184a844db713b086, type: 3} + m_Name: + m_EditorClassIdentifier: + canvas: {fileID: 0} + canvasGroup: {fileID: 0} + panelConfig: + animationType: 1 + toppedOrder: 0 + messageText: {fileID: 0} + buttonText: {fileID: 0} + retryButton: {fileID: 0} +--- !u!1 &6942193780495597160 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5493183507584923452} + - component: {fileID: 1885719267259725949} + - component: {fileID: 3359776854086879744} + - component: {fileID: 4132871487302917182} + m_Layer: 5 + m_Name: RetryButton + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &5493183507584923452 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6942193780495597160} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 5857737074481106158} + m_Father: {fileID: 3018198356678799280} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0} + m_AnchorMax: {x: 0.5, y: 0} + m_AnchoredPosition: {x: -1.14, y: 59.92} + m_SizeDelta: {x: 220, y: 36} + m_Pivot: {x: 0.5, y: 0} +--- !u!222 &1885719267259725949 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6942193780495597160} + m_CullTransparentMesh: 0 +--- !u!114 &3359776854086879744 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6942193780495597160} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0, g: 0.8509804, b: 0.77254903, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 548350bd129434cbfa5648829134d827, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!114 &4132871487302917182 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6942193780495597160} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 3359776854086879744} + m_OnClick: + m_PersistentCalls: + m_Calls: [] +--- !u!1 &7820900597963824711 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8152418032368909056} + - component: {fileID: 7540606296082088460} + - component: {fileID: 2121119085224647751} + m_Layer: 5 + m_Name: Image + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &8152418032368909056 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7820900597963824711} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 8039644701450143132} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: -52.4, y: -63.8} + m_SizeDelta: {x: 24, y: 24} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &7540606296082088460 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7820900597963824711} + m_CullTransparentMesh: 0 +--- !u!114 &2121119085224647751 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7820900597963824711} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 349299b0f8bdd4bd283dfd57a9295dca, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!1 &8360014544657532468 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 9092229873398676693} + - component: {fileID: 9019951928886230794} + - component: {fileID: 6506384635547968530} + m_Layer: 5 + m_Name: Root + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &9092229873398676693 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8360014544657532468} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 3264819832207075509} + - {fileID: 3018198356678799280} + m_Father: {fileID: 7091787380276746281} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &9019951928886230794 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8360014544657532468} + m_CullTransparentMesh: 0 +--- !u!114 &6506384635547968530 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8360014544657532468} + m_Enabled: 0 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0, g: 0, b: 0, a: 0.23529412} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10907, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 diff --git a/Standalone/Resources/Prefabs/Standalone/TapTapAntiAddictionRetryAlert.prefab.meta b/Standalone/Resources/Prefabs/Standalone/TapTapAntiAddictionRetryAlert.prefab.meta new file mode 100644 index 0000000..2502ec2 --- /dev/null +++ b/Standalone/Resources/Prefabs/Standalone/TapTapAntiAddictionRetryAlert.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: eb6cb3ff2280c439889f1bff9c92cab1 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Standalone/Resources/Prefabs/Standalone/TapTapChinaIDInputPanel.prefab b/Standalone/Resources/Prefabs/Standalone/TapTapChinaIDInputPanel.prefab new file mode 100644 index 0000000..b20217f --- /dev/null +++ b/Standalone/Resources/Prefabs/Standalone/TapTapChinaIDInputPanel.prefab @@ -0,0 +1,1646 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &414224727089019826 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4976896185686932357} + - component: {fileID: 3954973391796633949} + - component: {fileID: 4328864561394397942} + m_Layer: 5 + m_Name: ContentText + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &4976896185686932357 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 414224727089019826} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 6246950521860096709} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 1} + m_AnchorMax: {x: 0.5, y: 1} + m_AnchoredPosition: {x: -260, y: 0} + m_SizeDelta: {x: 520, y: 144} + m_Pivot: {x: 0, y: 1} +--- !u!222 &3954973391796633949 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 414224727089019826} + m_CullTransparentMesh: 1 +--- !u!114 &4328864561394397942 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 414224727089019826} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.32156864, g: 0.34117648, b: 0.3647059, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: c76570f7b9a4942ae84d6491f2669330, type: 3} + m_FontSize: 14 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 1 + m_MaxSize: 40 + m_Alignment: 0 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1.5 + m_Text: +--- !u!1 &1240498122649865686 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7822735309382242297} + - component: {fileID: 2282919943754271369} + - component: {fileID: 8772628225848702893} + m_Layer: 5 + m_Name: Blocker + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &7822735309382242297 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1240498122649865686} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 6485978276119751294} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 10000, y: 10000} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &2282919943754271369 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1240498122649865686} + m_CullTransparentMesh: 0 +--- !u!114 &8772628225848702893 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1240498122649865686} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 0} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!1 &1691421268400892569 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7674437089629337684} + - component: {fileID: 2072305530893908037} + - component: {fileID: 8754961465679325874} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &7674437089629337684 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1691421268400892569} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 7592657744256187258} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: -20, y: -12} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &2072305530893908037 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1691421268400892569} + m_CullTransparentMesh: 0 +--- !u!114 &8754961465679325874 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1691421268400892569} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 14 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 3 + m_AlignByGeometry: 0 + m_RichText: 0 + m_HorizontalOverflow: 1 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: +--- !u!1 &2526424881103955971 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4237887551381523769} + - component: {fileID: 875082082403922931} + - component: {fileID: 4906212585715703652} + m_Layer: 5 + m_Name: Placeholder + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &4237887551381523769 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2526424881103955971} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 7592657744256187258} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: -20, y: -9} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &875082082403922931 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2526424881103955971} + m_CullTransparentMesh: 0 +--- !u!114 &4906212585715703652 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2526424881103955971} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 0.5} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 14 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 3 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: "\u771F\u5B9E\u8EAB\u4EFD\u8BC1\u53F7\u7801" +--- !u!1 &3812804569518493089 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7592657744256187258} + - component: {fileID: 6448335778319206002} + - component: {fileID: 6783809221320198110} + - component: {fileID: 6717771549776435042} + m_Layer: 5 + m_Name: IDNumInput + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &7592657744256187258 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3812804569518493089} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 4237887551381523769} + - {fileID: 7674437089629337684} + m_Father: {fileID: 6485978276119751294} + m_RootOrder: 7 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 1} + m_AnchorMax: {x: 0.5, y: 1} + m_AnchoredPosition: {x: 0, y: -226.89} + m_SizeDelta: {x: 294, y: 38} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &6448335778319206002 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3812804569518493089} + m_CullTransparentMesh: 0 +--- !u!114 &6783809221320198110 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3812804569518493089} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 5ff969cbd80d74cd794ff7ee570d0dd3, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!114 &6717771549776435042 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3812804569518493089} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d199490a83bb2b844b9695cbf13b01ef, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 0 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 6783809221320198110} + m_TextComponent: {fileID: 8754961465679325874} + m_Placeholder: {fileID: 4906212585715703652} + m_ContentType: 4 + m_InputType: 0 + m_AsteriskChar: 42 + m_KeyboardType: 1 + m_LineType: 0 + m_HideMobileInput: 0 + m_CharacterValidation: 3 + m_CharacterLimit: 0 + m_OnEndEdit: + m_PersistentCalls: + m_Calls: [] + m_OnValueChanged: + m_PersistentCalls: + m_Calls: [] + m_CaretColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_CustomCaretColor: 0 + m_SelectionColor: {r: 0.65882355, g: 0.80784315, b: 1, a: 0.7529412} + m_Text: + m_CaretBlinkRate: 0.85 + m_CaretWidth: 1 + m_ReadOnly: 0 + m_ShouldActivateOnSelect: 1 +--- !u!1 &4558012218698687100 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7411890273374980466} + - component: {fileID: 4556386276286849972} + - component: {fileID: 8450314484437135427} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &7411890273374980466 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4558012218698687100} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 7332685324264694216} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: -20, y: -12} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &4556386276286849972 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4558012218698687100} + m_CullTransparentMesh: 0 +--- !u!114 &8450314484437135427 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4558012218698687100} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 14 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 3 + m_AlignByGeometry: 0 + m_RichText: 0 + m_HorizontalOverflow: 1 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: +--- !u!1 &4569300236109915906 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2377101162655582466} + - component: {fileID: 5696657168905171415} + - component: {fileID: 483471369750684267} + - component: {fileID: 1010664246137194776} + m_Layer: 5 + m_Name: SubmitButton + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2377101162655582466 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4569300236109915906} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 3143419761254669628} + m_Father: {fileID: 6485978276119751294} + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 1} + m_AnchorMax: {x: 0.5, y: 1} + m_AnchoredPosition: {x: 0, y: -289} + m_SizeDelta: {x: 294, y: 36} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &5696657168905171415 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4569300236109915906} + m_CullTransparentMesh: 1 +--- !u!114 &483471369750684267 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4569300236109915906} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0, g: 0.8509804, b: 0.77254903, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: b342b899ea05f4dcbb7e6c230003e598, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!114 &1010664246137194776 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4569300236109915906} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 483471369750684267} + m_OnClick: + m_PersistentCalls: + m_Calls: [] +--- !u!1 &4928873040292534893 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7332685324264694216} + - component: {fileID: 3490131372201065007} + - component: {fileID: 2431494395964807323} + - component: {fileID: 796653330500434039} + m_Layer: 5 + m_Name: NameInput + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &7332685324264694216 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4928873040292534893} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 8105713994623780374} + - {fileID: 7411890273374980466} + m_Father: {fileID: 6485978276119751294} + m_RootOrder: 6 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 1} + m_AnchorMax: {x: 0.5, y: 1} + m_AnchoredPosition: {x: 0, y: -179} + m_SizeDelta: {x: 294, y: 38} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &3490131372201065007 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4928873040292534893} + m_CullTransparentMesh: 0 +--- !u!114 &2431494395964807323 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4928873040292534893} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 5ff969cbd80d74cd794ff7ee570d0dd3, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!114 &796653330500434039 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4928873040292534893} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d199490a83bb2b844b9695cbf13b01ef, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 0 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 2431494395964807323} + m_TextComponent: {fileID: 8450314484437135427} + m_Placeholder: {fileID: 2930992768018456401} + m_ContentType: 5 + m_InputType: 0 + m_AsteriskChar: 42 + m_KeyboardType: 6 + m_LineType: 0 + m_HideMobileInput: 0 + m_CharacterValidation: 4 + m_CharacterLimit: 0 + m_OnEndEdit: + m_PersistentCalls: + m_Calls: [] + m_OnValueChanged: + m_PersistentCalls: + m_Calls: [] + m_CaretColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_CustomCaretColor: 0 + m_SelectionColor: {r: 0.65882355, g: 0.80784315, b: 1, a: 0.7529412} + m_Text: + m_CaretBlinkRate: 0.85 + m_CaretWidth: 1 + m_ReadOnly: 0 + m_ShouldActivateOnSelect: 1 +--- !u!1 &5185371334061046823 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4781091973651006734} + - component: {fileID: 4961173903045151423} + - component: {fileID: 8723069107825085918} + - component: {fileID: 4774077186231343890} + - component: {fileID: 8244426154660918994} + m_Layer: 5 + m_Name: TapTapChinaIDInputPanel + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &4781091973651006734 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5185371334061046823} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 6485978276119751294} + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!223 &4961173903045151423 +Canvas: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5185371334061046823} + m_Enabled: 1 + serializedVersion: 3 + m_RenderMode: 2 + m_Camera: {fileID: 0} + m_PlaneDistance: 100 + m_PixelPerfect: 0 + m_ReceivesEvents: 1 + m_OverrideSorting: 0 + m_OverridePixelPerfect: 0 + m_SortingBucketNormalizedSize: 0 + m_AdditionalShaderChannelsFlag: 0 + m_SortingLayerID: 0 + m_SortingOrder: 0 + m_TargetDisplay: 0 +--- !u!225 &8723069107825085918 +CanvasGroup: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5185371334061046823} + m_Enabled: 1 + m_Alpha: 1 + m_Interactable: 1 + m_BlocksRaycasts: 1 + m_IgnoreParentGroups: 0 +--- !u!114 &4774077186231343890 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5185371334061046823} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: dc42784cf147c0c48a680349fa168899, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreReversedGraphics: 1 + m_BlockingObjects: 0 + m_BlockingMask: + serializedVersion: 2 + m_Bits: 4294967295 +--- !u!114 &8244426154660918994 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5185371334061046823} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 478f7ec6679ab46ff8bb5703897c917b, type: 3} + m_Name: + m_EditorClassIdentifier: + canvas: {fileID: 0} + canvasGroup: {fileID: 0} + panelConfig: + animationType: 0 + toppedOrder: 0 + closeButton: {fileID: 0} + submitButton: {fileID: 0} + nameInputField: {fileID: 0} + idNumberInputField: {fileID: 0} + titleText: {fileID: 0} + descriptionText: {fileID: 0} + buttonText: {fileID: 0} + scrollRect: {fileID: 0} + activeManualVerification: 0 +--- !u!1 &5375763187304847787 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 445424276659734623} + - component: {fileID: 1605224289274676638} + - component: {fileID: 1038083723907400519} + - component: {fileID: 2438165660998710919} + - component: {fileID: 2146632423483304224} + m_Layer: 5 + m_Name: Back (1) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &445424276659734623 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5375763187304847787} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 6485978276119751294} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 600, y: 347} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &1605224289274676638 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5375763187304847787} + m_CullTransparentMesh: 1 +--- !u!114 &1038083723907400519 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5375763187304847787} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 4cffb6ee31c7940a8b4c1c93da48dcbb, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!114 &2438165660998710919 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5375763187304847787} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: cfabb0440166ab443bba8876756fdfa9, type: 3} + m_Name: + m_EditorClassIdentifier: + m_EffectColor: {r: 0.9490196, g: 0.9490196, b: 0.9490196, a: 1} + m_EffectDistance: {x: -1, y: -2} + m_UseGraphicAlpha: 1 +--- !u!114 &2146632423483304224 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5375763187304847787} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: cfabb0440166ab443bba8876756fdfa9, type: 3} + m_Name: + m_EditorClassIdentifier: + m_EffectColor: {r: 0.9490196, g: 0.9490196, b: 0.9490196, a: 1} + m_EffectDistance: {x: 1, y: 1} + m_UseGraphicAlpha: 1 +--- !u!1 &5795378049960347059 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8642136717836679082} + - component: {fileID: 3880237776347955879} + - component: {fileID: 8136113059044737192} + - component: {fileID: 2277880013877366307} + m_Layer: 5 + m_Name: Viewport + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &8642136717836679082 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5795378049960347059} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 6246950521860096709} + m_Father: {fileID: 4896040250711197406} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0, y: 1} +--- !u!222 &3880237776347955879 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5795378049960347059} + m_CullTransparentMesh: 0 +--- !u!114 &8136113059044737192 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5795378049960347059} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10917, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!114 &2277880013877366307 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5795378049960347059} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 31a19414c41e5ae4aae2af33fee712f6, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ShowMaskGraphic: 0 +--- !u!1 &6339281318634979791 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5837309636053934172} + - component: {fileID: 6782695407605782523} + - component: {fileID: 3824814089701083544} + m_Layer: 5 + m_Name: TitleText + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &5837309636053934172 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6339281318634979791} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0.5, y: 0.5, z: 1} + m_Children: [] + m_Father: {fileID: 6485978276119751294} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 1} + m_AnchorMax: {x: 0.5, y: 1} + m_AnchoredPosition: {x: 0, y: -23} + m_SizeDelta: {x: 330.5644, y: 54.03674} + m_Pivot: {x: 0.5, y: 1} +--- !u!222 &6782695407605782523 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6339281318634979791} + m_CullTransparentMesh: 1 +--- !u!114 &3824814089701083544 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6339281318634979791} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.13333334, g: 0.13333334, b: 0.13333334, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: 5b92beb2e4ac04c1681719225dc6d5fc, type: 3} + m_FontSize: 32 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 1 + m_MaxSize: 40 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: "\u6E38\u620F\u5B9E\u540D\u8BA4\u8BC1" +--- !u!1 &6465239879712102604 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3143419761254669628} + - component: {fileID: 6414800509987810119} + - component: {fileID: 8125873992857516673} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &3143419761254669628 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6465239879712102604} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0.5, y: 0.5, z: 1} + m_Children: [] + m_Father: {fileID: 2377101162655582466} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &6414800509987810119 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6465239879712102604} + m_CullTransparentMesh: 1 +--- !u!114 &8125873992857516673 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6465239879712102604} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: 5b92beb2e4ac04c1681719225dc6d5fc, type: 3} + m_FontSize: 28 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 1 + m_MaxSize: 40 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: "\u63D0\u4EA4" +--- !u!1 &6749188535318995115 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6485978276119751294} + - component: {fileID: 6036579659609426268} + m_Layer: 5 + m_Name: Root + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &6485978276119751294 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6749188535318995115} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 445424276659734623} + - {fileID: 7822735309382242297} + - {fileID: 5837309636053934172} + - {fileID: 4896040250711197406} + - {fileID: 5804926702525542180} + - {fileID: 2377101162655582466} + - {fileID: 7332685324264694216} + - {fileID: 7592657744256187258} + m_Father: {fileID: 4781091973651006734} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 600, y: 347} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &6036579659609426268 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6749188535318995115} + m_CullTransparentMesh: 1 +--- !u!1 &6943120262734809984 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4896040250711197406} + - component: {fileID: 6526430741919950583} + - component: {fileID: 3829933104620111505} + - component: {fileID: 2947926503758040125} + m_Layer: 5 + m_Name: Scroll View + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &4896040250711197406 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6943120262734809984} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 8642136717836679082} + m_Father: {fileID: 6485978276119751294} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 73.5} + m_SizeDelta: {x: -70, y: -259} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &6526430741919950583 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6943120262734809984} + m_CullTransparentMesh: 0 +--- !u!114 &3829933104620111505 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6943120262734809984} + m_Enabled: 0 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 0.392} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10907, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!114 &2947926503758040125 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6943120262734809984} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1aa08ab6e0800fa44ae55d278d1423e3, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Content: {fileID: 6246950521860096709} + m_Horizontal: 0 + m_Vertical: 1 + m_MovementType: 2 + m_Elasticity: 0.1 + m_Inertia: 1 + m_DecelerationRate: 0.135 + m_ScrollSensitivity: 1 + m_Viewport: {fileID: 8642136717836679082} + m_HorizontalScrollbar: {fileID: 0} + m_VerticalScrollbar: {fileID: 0} + m_HorizontalScrollbarVisibility: 2 + m_VerticalScrollbarVisibility: 2 + m_HorizontalScrollbarSpacing: -3 + m_VerticalScrollbarSpacing: -3 + m_OnValueChanged: + m_PersistentCalls: + m_Calls: [] +--- !u!1 &7443014007272106172 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8105713994623780374} + - component: {fileID: 1486860519157832163} + - component: {fileID: 2930992768018456401} + m_Layer: 5 + m_Name: Placeholder + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &8105713994623780374 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7443014007272106172} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 7332685324264694216} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: -20, y: -9} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &1486860519157832163 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7443014007272106172} + m_CullTransparentMesh: 0 +--- !u!114 &2930992768018456401 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7443014007272106172} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 0.5} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 14 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 3 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: "\u771F\u5B9E\u59D3\u540D" +--- !u!1 &8534607850543630585 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6246950521860096709} + m_Layer: 5 + m_Name: Content + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &6246950521860096709 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8534607850543630585} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 4976896185686932357} + m_Father: {fileID: 8642136717836679082} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 144} + m_Pivot: {x: 0, y: 1} +--- !u!1 &9122427629114257444 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5804926702525542180} + - component: {fileID: 3992165391389905629} + - component: {fileID: 1094840471731713686} + - component: {fileID: 3785347606434352225} + m_Layer: 5 + m_Name: CloseButton + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &5804926702525542180 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 9122427629114257444} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 6485978276119751294} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 1, y: 1} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: -26.64, y: -23} + m_SizeDelta: {x: 20, y: 20} + m_Pivot: {x: 1, y: 1} +--- !u!222 &3992165391389905629 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 9122427629114257444} + m_CullTransparentMesh: 1 +--- !u!114 &1094840471731713686 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 9122427629114257444} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 51992479b22bb4d6086342339ee2dc49, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!114 &3785347606434352225 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 9122427629114257444} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 1094840471731713686} + m_OnClick: + m_PersistentCalls: + m_Calls: [] diff --git a/Standalone/Resources/Prefabs/Standalone/TapTapChinaIDInputPanel.prefab.meta b/Standalone/Resources/Prefabs/Standalone/TapTapChinaIDInputPanel.prefab.meta new file mode 100644 index 0000000..2462268 --- /dev/null +++ b/Standalone/Resources/Prefabs/Standalone/TapTapChinaIDInputPanel.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: fe6b90f4e513147ff86934d18724f855 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Standalone/Resources/Prefabs/Standalone/TapTapChinaQuickVerifyTipPanel.prefab b/Standalone/Resources/Prefabs/Standalone/TapTapChinaQuickVerifyTipPanel.prefab new file mode 100644 index 0000000..df37885 --- /dev/null +++ b/Standalone/Resources/Prefabs/Standalone/TapTapChinaQuickVerifyTipPanel.prefab @@ -0,0 +1,1591 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &135737097406091018 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 896618527331273252} + - component: {fileID: 4903918584051278764} + - component: {fileID: 6793744186995279824} + - component: {fileID: 6142590793064073600} + m_Layer: 5 + m_Name: ConfirmBtn + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &896618527331273252 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 135737097406091018} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 391136851200419456} + m_Father: {fileID: 5946956772239964083} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 64, y: -75} + m_SizeDelta: {x: 220, y: 36} + m_Pivot: {x: 0, y: 0} +--- !u!222 &4903918584051278764 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 135737097406091018} + m_CullTransparentMesh: 1 +--- !u!114 &6793744186995279824 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 135737097406091018} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0, g: 0.8509804, b: 0.77254903, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 2386ba664dfbb4993ae59582f6b7a4dc, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!114 &6142590793064073600 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 135737097406091018} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 6793744186995279824} + m_OnClick: + m_PersistentCalls: + m_Calls: [] +--- !u!1 &1240498122649865686 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7822735309382242297} + - component: {fileID: 2282919943754271369} + - component: {fileID: 8772628225848702893} + m_Layer: 5 + m_Name: Blocker + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &7822735309382242297 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1240498122649865686} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 6485978276119751294} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 10000, y: 10000} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &2282919943754271369 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1240498122649865686} + m_CullTransparentMesh: 0 +--- !u!114 &8772628225848702893 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1240498122649865686} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 0} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!1 &1310073536129188194 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 391136851200419456} + - component: {fileID: 3608726816196495130} + - component: {fileID: 833897229587859272} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &391136851200419456 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1310073536129188194} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 896618527331273252} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &3608726816196495130 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1310073536129188194} + m_CullTransparentMesh: 1 +--- !u!114 &833897229587859272 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1310073536129188194} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: 5b92beb2e4ac04c1681719225dc6d5fc, type: 3} + m_FontSize: 14 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 1 + m_MaxSize: 40 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: "\u53BB\u4F7F\u7528" +--- !u!1 &1341902397799114211 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 99050535320205757} + - component: {fileID: 958298797942834010} + - component: {fileID: 1053824903149649685} + m_Layer: 5 + m_Name: TipIcon + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &99050535320205757 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1341902397799114211} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 6485978276119751294} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 1} + m_AnchorMax: {x: 0.5, y: 1} + m_AnchoredPosition: {x: 0, y: -80} + m_SizeDelta: {x: 64, y: 50} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &958298797942834010 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1341902397799114211} + m_CullTransparentMesh: 0 +--- !u!114 &1053824903149649685 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1341902397799114211} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1344c3c82d62a2a41a3576d8abb8e3ea, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Texture: {fileID: 2800000, guid: f976d4e44beef47558dc5c0e1d7851d9, type: 3} + m_UVRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 +--- !u!1 &1614864452675103981 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2302834354277863960} + - component: {fileID: 3517167505041490502} + - component: {fileID: 4374794847490882976} + m_Layer: 5 + m_Name: GameIntro + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2302834354277863960 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1614864452675103981} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 2909549687173251875} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 1} + m_AnchorMax: {x: 0.5, y: 1} + m_AnchoredPosition: {x: 8.5, y: -11} + m_SizeDelta: {x: 479.11267, y: 168.0859} + m_Pivot: {x: 0.5, y: 1} +--- !u!222 &3517167505041490502 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1614864452675103981} + m_CullTransparentMesh: 0 +--- !u!114 &4374794847490882976 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1614864452675103981} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.32156864, g: 0.34117648, b: 0.3647059, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 14 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 1 + m_MaxSize: 41 + m_Alignment: 0 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 1 + m_LineSpacing: 1.4 + m_Text: +--- !u!1 &3219689762807830261 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2162527015488470692} + - component: {fileID: 3927421542350471630} + - component: {fileID: 1421114675021695369} + - component: {fileID: 4896651452686484748} + m_Layer: 5 + m_Name: Viewport + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2162527015488470692 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3219689762807830261} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 2909549687173251875} + m_Father: {fileID: 1118656399692010058} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: -17, y: -17} + m_Pivot: {x: 0, y: 1} +--- !u!222 &3927421542350471630 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3219689762807830261} + m_CullTransparentMesh: 0 +--- !u!114 &1421114675021695369 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3219689762807830261} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10917, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!114 &4896651452686484748 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3219689762807830261} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 31a19414c41e5ae4aae2af33fee712f6, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ShowMaskGraphic: 0 +--- !u!1 &3398107688352091037 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2909549687173251875} + m_Layer: 5 + m_Name: Content + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2909549687173251875 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3398107688352091037} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 2302834354277863960} + m_Father: {fileID: 2162527015488470692} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 330} + m_Pivot: {x: 0, y: 1} +--- !u!1 &4569300236109915906 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2377101162655582466} + - component: {fileID: 5696657168905171415} + - component: {fileID: 483471369750684267} + - component: {fileID: 1010664246137194776} + m_Layer: 5 + m_Name: ConfirmBtn + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2377101162655582466 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4569300236109915906} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 3143419761254669628} + m_Father: {fileID: 8350704737045695835} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0} + m_AnchorMax: {x: 0.5, y: 0} + m_AnchoredPosition: {x: -110, y: -57} + m_SizeDelta: {x: 220, y: 36} + m_Pivot: {x: 0, y: 0.5} +--- !u!222 &5696657168905171415 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4569300236109915906} + m_CullTransparentMesh: 1 +--- !u!114 &483471369750684267 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4569300236109915906} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0, g: 0.8509804, b: 0.77254903, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 2386ba664dfbb4993ae59582f6b7a4dc, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!114 &1010664246137194776 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4569300236109915906} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 483471369750684267} + m_OnClick: + m_PersistentCalls: + m_Calls: [] +--- !u!1 &5185371334061046823 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4781091973651006734} + - component: {fileID: 4961173903045151423} + - component: {fileID: 8723069107825085918} + - component: {fileID: 4774077186231343890} + - component: {fileID: 5707502862268419576} + m_Layer: 5 + m_Name: TapTapChinaQuickVerifyTipPanel + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &4781091973651006734 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5185371334061046823} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 6485978276119751294} + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!223 &4961173903045151423 +Canvas: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5185371334061046823} + m_Enabled: 1 + serializedVersion: 3 + m_RenderMode: 2 + m_Camera: {fileID: 0} + m_PlaneDistance: 100 + m_PixelPerfect: 0 + m_ReceivesEvents: 1 + m_OverrideSorting: 0 + m_OverridePixelPerfect: 0 + m_SortingBucketNormalizedSize: 0 + m_AdditionalShaderChannelsFlag: 0 + m_SortingLayerID: 0 + m_SortingOrder: 0 + m_TargetDisplay: 0 +--- !u!225 &8723069107825085918 +CanvasGroup: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5185371334061046823} + m_Enabled: 1 + m_Alpha: 1 + m_Interactable: 1 + m_BlocksRaycasts: 1 + m_IgnoreParentGroups: 0 +--- !u!114 &4774077186231343890 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5185371334061046823} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: dc42784cf147c0c48a680349fa168899, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreReversedGraphics: 1 + m_BlockingObjects: 0 + m_BlockingMask: + serializedVersion: 2 + m_Bits: 4294967295 +--- !u!114 &5707502862268419576 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5185371334061046823} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d894ffbf5d6a4522a607db58388036e2, type: 3} + m_Name: + m_EditorClassIdentifier: + canvas: {fileID: 0} + canvasGroup: {fileID: 0} + panelConfig: + animationType: 0 + toppedOrder: 0 + titleText: {fileID: 0} + mainIntroText: {fileID: 0} + confirmBtn1Text: {fileID: 0} + confirmBtn2Text: {fileID: 0} + denyBtnText: {fileID: 0} + confirmBtn1: {fileID: 0} + confirmBtn2: {fileID: 0} + denyBtn: {fileID: 0} + closeBtn: {fileID: 0} + scrollRect: {fileID: 0} +--- !u!1 &5837367229719390878 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4190801020627322186} + - component: {fileID: 5503967155315502399} + - component: {fileID: 1482490477844391601} + - component: {fileID: 8559542582652147667} + m_Layer: 5 + m_Name: DenyBtn + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &4190801020627322186 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5837367229719390878} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 8636871952800621920} + m_Father: {fileID: 5946956772239964083} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: -178, y: -75} + m_SizeDelta: {x: 220, y: 36} + m_Pivot: {x: 0, y: 0} +--- !u!222 &5503967155315502399 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5837367229719390878} + m_CullTransparentMesh: 1 +--- !u!114 &1482490477844391601 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5837367229719390878} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 752a0d6f95dfb4a12a1959bdac57760b, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!114 &8559542582652147667 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5837367229719390878} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 1482490477844391601} + m_OnClick: + m_PersistentCalls: + m_Calls: [] +--- !u!1 &6339281318634979791 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5837309636053934172} + - component: {fileID: 6782695407605782523} + - component: {fileID: 3824814089701083544} + m_Layer: 5 + m_Name: TitleText + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &5837309636053934172 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6339281318634979791} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 6485978276119751294} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 1} + m_AnchorMax: {x: 0.5, y: 1} + m_AnchoredPosition: {x: 0, y: -12} + m_SizeDelta: {x: 165.28223, y: 27.018372} + m_Pivot: {x: 0.5, y: 1} +--- !u!222 &6782695407605782523 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6339281318634979791} + m_CullTransparentMesh: 1 +--- !u!114 &3824814089701083544 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6339281318634979791} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.13333334, g: 0.13333334, b: 0.13333334, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: 5b92beb2e4ac04c1681719225dc6d5fc, type: 3} + m_FontSize: 16 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 1 + m_MaxSize: 40 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: +--- !u!1 &6465239879712102604 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3143419761254669628} + - component: {fileID: 6414800509987810119} + - component: {fileID: 8125873992857516673} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &3143419761254669628 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6465239879712102604} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 2377101162655582466} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &6414800509987810119 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6465239879712102604} + m_CullTransparentMesh: 1 +--- !u!114 &8125873992857516673 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6465239879712102604} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: 5b92beb2e4ac04c1681719225dc6d5fc, type: 3} + m_FontSize: 14 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 1 + m_MaxSize: 40 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: "\u53BB\u4F7F\u7528" +--- !u!1 &6660924450919638426 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5946956772239964083} + m_Layer: 5 + m_Name: Button2 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &5946956772239964083 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6660924450919638426} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 4190801020627322186} + - {fileID: 896618527331273252} + m_Father: {fileID: 6485978276119751294} + m_RootOrder: 7 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 100, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &6749188535318995115 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6485978276119751294} + - component: {fileID: 6036579659609426268} + m_Layer: 5 + m_Name: Root + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &6485978276119751294 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6749188535318995115} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 8370017643411685749} + - {fileID: 7822735309382242297} + - {fileID: 5837309636053934172} + - {fileID: 5804926702525542180} + - {fileID: 99050535320205757} + - {fileID: 1118656399692010058} + - {fileID: 8350704737045695835} + - {fileID: 5946956772239964083} + m_Father: {fileID: 4781091973651006734} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 600, y: 347} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &6036579659609426268 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6749188535318995115} + m_CullTransparentMesh: 1 +--- !u!1 &7257213297990752962 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8636871952800621920} + - component: {fileID: 4592391067433468583} + - component: {fileID: 3598267306010456692} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &8636871952800621920 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7257213297990752962} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4190801020627322186} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &4592391067433468583 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7257213297990752962} + m_CullTransparentMesh: 1 +--- !u!114 &3598267306010456692 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7257213297990752962} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0, g: 0, b: 0, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: 5b92beb2e4ac04c1681719225dc6d5fc, type: 3} + m_FontSize: 14 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 1 + m_MaxSize: 40 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: "\u4E0D\u4F7F\u7528" +--- !u!1 &7501574618596489753 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8350704737045695835} + m_Layer: 5 + m_Name: Button1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &8350704737045695835 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7501574618596489753} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 2377101162655582466} + m_Father: {fileID: 6485978276119751294} + m_RootOrder: 6 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 100, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &8476130096149045848 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1118656399692010058} + - component: {fileID: 7933566845665589882} + - component: {fileID: 1742281802112981788} + - component: {fileID: 5377419469810661568} + m_Layer: 5 + m_Name: Scroll View + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1118656399692010058 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8476130096149045848} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 2162527015488470692} + m_Father: {fileID: 6485978276119751294} + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: -8.881752} + m_SizeDelta: {x: -54, y: -192.2305} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &7933566845665589882 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8476130096149045848} + m_CullTransparentMesh: 0 +--- !u!114 &1742281802112981788 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8476130096149045848} + m_Enabled: 0 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 0.392} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10907, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!114 &5377419469810661568 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8476130096149045848} + m_Enabled: 0 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1aa08ab6e0800fa44ae55d278d1423e3, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Content: {fileID: 2909549687173251875} + m_Horizontal: 0 + m_Vertical: 1 + m_MovementType: 2 + m_Elasticity: 0.1 + m_Inertia: 1 + m_DecelerationRate: 0.135 + m_ScrollSensitivity: 1 + m_Viewport: {fileID: 2162527015488470692} + m_HorizontalScrollbar: {fileID: 0} + m_VerticalScrollbar: {fileID: 0} + m_HorizontalScrollbarVisibility: 2 + m_VerticalScrollbarVisibility: 2 + m_HorizontalScrollbarSpacing: -3 + m_VerticalScrollbarSpacing: -3 + m_OnValueChanged: + m_PersistentCalls: + m_Calls: [] +--- !u!1 &9096519660320802138 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8370017643411685749} + - component: {fileID: 6576657193231620472} + - component: {fileID: 5962016692271177820} + - component: {fileID: 4762809761568675694} + - component: {fileID: 403707453379810051} + m_Layer: 5 + m_Name: Back (1) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &8370017643411685749 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 9096519660320802138} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 6485978276119751294} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &6576657193231620472 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 9096519660320802138} + m_CullTransparentMesh: 0 +--- !u!114 &5962016692271177820 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 9096519660320802138} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 4cffb6ee31c7940a8b4c1c93da48dcbb, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!114 &4762809761568675694 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 9096519660320802138} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: cfabb0440166ab443bba8876756fdfa9, type: 3} + m_Name: + m_EditorClassIdentifier: + m_EffectColor: {r: 0.9490196, g: 0.9490196, b: 0.9490196, a: 1} + m_EffectDistance: {x: -1, y: -2} + m_UseGraphicAlpha: 1 +--- !u!114 &403707453379810051 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 9096519660320802138} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: cfabb0440166ab443bba8876756fdfa9, type: 3} + m_Name: + m_EditorClassIdentifier: + m_EffectColor: {r: 0.9490196, g: 0.9490196, b: 0.9490196, a: 1} + m_EffectDistance: {x: 1, y: 1} + m_UseGraphicAlpha: 1 +--- !u!1 &9122427629114257444 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5804926702525542180} + - component: {fileID: 3992165391389905629} + - component: {fileID: 1094840471731713686} + - component: {fileID: 3785347606434352225} + m_Layer: 5 + m_Name: CloseButton + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &5804926702525542180 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 9122427629114257444} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 6485978276119751294} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 1, y: 1} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: -20, y: -12} + m_SizeDelta: {x: 22, y: 22} + m_Pivot: {x: 1, y: 1} +--- !u!222 &3992165391389905629 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 9122427629114257444} + m_CullTransparentMesh: 1 +--- !u!114 &1094840471731713686 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 9122427629114257444} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 51992479b22bb4d6086342339ee2dc49, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!114 &3785347606434352225 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 9122427629114257444} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 1094840471731713686} + m_OnClick: + m_PersistentCalls: + m_Calls: [] diff --git a/Standalone/Resources/Prefabs/Standalone/TapTapChinaQuickVerifyTipPanel.prefab.meta b/Standalone/Resources/Prefabs/Standalone/TapTapChinaQuickVerifyTipPanel.prefab.meta new file mode 100644 index 0000000..5751ce9 --- /dev/null +++ b/Standalone/Resources/Prefabs/Standalone/TapTapChinaQuickVerifyTipPanel.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: a2797ba52a40e40cb9b793fd396ffa47 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Standalone/Resources/Prefabs/Standalone/TapTapHealthPaymentPanel.prefab b/Standalone/Resources/Prefabs/Standalone/TapTapHealthPaymentPanel.prefab new file mode 100644 index 0000000..1715b0b --- /dev/null +++ b/Standalone/Resources/Prefabs/Standalone/TapTapHealthPaymentPanel.prefab @@ -0,0 +1,897 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &414224727089019826 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4976896185686932357} + - component: {fileID: 3954973391796633949} + - component: {fileID: 4328864561394397942} + m_Layer: 5 + m_Name: ContentText + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &4976896185686932357 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 414224727089019826} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1376460305007362532} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 1} + m_AnchorMax: {x: 0.5, y: 1} + m_AnchoredPosition: {x: 0, y: -150} + m_SizeDelta: {x: 1040, y: 300} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &3954973391796633949 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 414224727089019826} + m_CullTransparentMesh: 1 +--- !u!114 &4328864561394397942 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 414224727089019826} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.4, g: 0.4, b: 0.4, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: c76570f7b9a4942ae84d6491f2669330, type: 3} + m_FontSize: 26 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 2 + m_MaxSize: 40 + m_Alignment: 3 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1.5 + m_Text: +--- !u!1 &2735504644771135480 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 75975089037790333} + - component: {fileID: 8626573707151614565} + - component: {fileID: 3299742769037912304} + m_Layer: 5 + m_Name: Blocker + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &75975089037790333 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2735504644771135480} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 6485978276119751294} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 10000, y: 10000} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &8626573707151614565 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2735504644771135480} + m_CullTransparentMesh: 0 +--- !u!114 &3299742769037912304 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2735504644771135480} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 0} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!1 &4178319601212259368 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2299425888294443727} + - component: {fileID: 4646454975164550581} + - component: {fileID: 5018575789756292238} + m_Layer: 5 + m_Name: Scroll View + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2299425888294443727 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4178319601212259368} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0.5, y: 0.5, z: 1} + m_Children: + - {fileID: 5625411765876776} + m_Father: {fileID: 6485978276119751294} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 26} + m_SizeDelta: {x: 440, y: -148} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &4646454975164550581 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4178319601212259368} + m_CullTransparentMesh: 0 +--- !u!114 &5018575789756292238 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4178319601212259368} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1aa08ab6e0800fa44ae55d278d1423e3, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Content: {fileID: 1376460305007362532} + m_Horizontal: 0 + m_Vertical: 1 + m_MovementType: 2 + m_Elasticity: 0.1 + m_Inertia: 1 + m_DecelerationRate: 0.135 + m_ScrollSensitivity: 1 + m_Viewport: {fileID: 5625411765876776} + m_HorizontalScrollbar: {fileID: 0} + m_VerticalScrollbar: {fileID: 0} + m_HorizontalScrollbarVisibility: 2 + m_VerticalScrollbarVisibility: 2 + m_HorizontalScrollbarSpacing: -3 + m_VerticalScrollbarSpacing: -3 + m_OnValueChanged: + m_PersistentCalls: + m_Calls: [] +--- !u!1 &4569300236109915906 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2377101162655582466} + - component: {fileID: 5696657168905171415} + - component: {fileID: 483471369750684267} + - component: {fileID: 1010664246137194776} + m_Layer: 5 + m_Name: OKButton + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2377101162655582466 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4569300236109915906} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 3143419761254669628} + m_Father: {fileID: 6485978276119751294} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 1} + m_AnchorMax: {x: 0.5, y: 1} + m_AnchoredPosition: {x: -110, y: -289} + m_SizeDelta: {x: 220, y: 36} + m_Pivot: {x: 0, y: 0.5} +--- !u!222 &5696657168905171415 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4569300236109915906} + m_CullTransparentMesh: 1 +--- !u!114 &483471369750684267 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4569300236109915906} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0, g: 0.8509804, b: 0.77254903, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 2386ba664dfbb4993ae59582f6b7a4dc, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!114 &1010664246137194776 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4569300236109915906} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 483471369750684267} + m_OnClick: + m_PersistentCalls: + m_Calls: [] +--- !u!1 &5087426076416666700 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5625411765876776} + - component: {fileID: 2977071445030177374} + - component: {fileID: 2348011845161740311} + - component: {fileID: 1967867726861276424} + m_Layer: 5 + m_Name: Viewport + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &5625411765876776 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5087426076416666700} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1376460305007362532} + m_Father: {fileID: 2299425888294443727} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0, y: 1} +--- !u!222 &2977071445030177374 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5087426076416666700} + m_CullTransparentMesh: 0 +--- !u!114 &2348011845161740311 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5087426076416666700} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10917, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!114 &1967867726861276424 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5087426076416666700} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 31a19414c41e5ae4aae2af33fee712f6, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ShowMaskGraphic: 0 +--- !u!1 &5185371334061046823 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4781091973651006734} + - component: {fileID: 4961173903045151423} + - component: {fileID: 8723069107825085918} + - component: {fileID: 4774077186231343890} + - component: {fileID: 5072589630925545000} + m_Layer: 5 + m_Name: TapTapHealthPaymentPanel + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &4781091973651006734 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5185371334061046823} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 6485978276119751294} + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 600, y: 347} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!223 &4961173903045151423 +Canvas: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5185371334061046823} + m_Enabled: 1 + serializedVersion: 3 + m_RenderMode: 2 + m_Camera: {fileID: 0} + m_PlaneDistance: 100 + m_PixelPerfect: 0 + m_ReceivesEvents: 1 + m_OverrideSorting: 0 + m_OverridePixelPerfect: 0 + m_SortingBucketNormalizedSize: 0 + m_AdditionalShaderChannelsFlag: 0 + m_SortingLayerID: 0 + m_SortingOrder: 0 + m_TargetDisplay: 0 +--- !u!225 &8723069107825085918 +CanvasGroup: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5185371334061046823} + m_Enabled: 1 + m_Alpha: 1 + m_Interactable: 1 + m_BlocksRaycasts: 1 + m_IgnoreParentGroups: 0 +--- !u!114 &4774077186231343890 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5185371334061046823} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: dc42784cf147c0c48a680349fa168899, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreReversedGraphics: 1 + m_BlockingObjects: 0 + m_BlockingMask: + serializedVersion: 2 + m_Bits: 4294967295 +--- !u!114 &5072589630925545000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5185371334061046823} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f75350a92fb443b1b5e340157e7b87d, type: 3} + m_Name: + m_EditorClassIdentifier: + canvas: {fileID: 0} + canvasGroup: {fileID: 0} + panelConfig: + animationType: 1 + toppedOrder: 0 + titleText: {fileID: 0} + contentText: {fileID: 0} + buttonText: {fileID: 0} + okButton: {fileID: 0} + scrollRect: {fileID: 0} +--- !u!1 &6339281318634979791 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5837309636053934172} + - component: {fileID: 6782695407605782523} + - component: {fileID: 3824814089701083544} + m_Layer: 5 + m_Name: TitleText + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &5837309636053934172 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6339281318634979791} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 6485978276119751294} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 1} + m_AnchorMax: {x: 0.5, y: 1} + m_AnchoredPosition: {x: 0, y: -12} + m_SizeDelta: {x: 540, y: 40} + m_Pivot: {x: 0.5, y: 1} +--- !u!222 &6782695407605782523 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6339281318634979791} + m_CullTransparentMesh: 1 +--- !u!114 &3824814089701083544 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6339281318634979791} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.13333334, g: 0.13333334, b: 0.13333334, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: 5b92beb2e4ac04c1681719225dc6d5fc, type: 3} + m_FontSize: 18 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 1 + m_MaxSize: 40 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: "\u6E38\u620F\u5065\u5EB7\u63D0\u9192" +--- !u!1 &6465239879712102604 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3143419761254669628} + - component: {fileID: 6414800509987810119} + - component: {fileID: 8125873992857516673} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &3143419761254669628 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6465239879712102604} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 2377101162655582466} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &6414800509987810119 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6465239879712102604} + m_CullTransparentMesh: 1 +--- !u!114 &8125873992857516673 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6465239879712102604} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: 5b92beb2e4ac04c1681719225dc6d5fc, type: 3} + m_FontSize: 14 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 1 + m_MaxSize: 40 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: "\u8FD4\u56DE\u6E38\u620F" +--- !u!1 &6749188535318995115 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6485978276119751294} + - component: {fileID: 6036579659609426268} + m_Layer: 5 + m_Name: Root + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &6485978276119751294 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6749188535318995115} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1192936142273360289} + - {fileID: 75975089037790333} + - {fileID: 5837309636053934172} + - {fileID: 2299425888294443727} + - {fileID: 2377101162655582466} + m_Father: {fileID: 4781091973651006734} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 600, y: 348} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &6036579659609426268 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6749188535318995115} + m_CullTransparentMesh: 1 +--- !u!1 &8120358984303891011 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1192936142273360289} + - component: {fileID: 3269022488124767872} + - component: {fileID: 7410560585077443668} + - component: {fileID: 8328296131602969630} + - component: {fileID: 48963725331511648} + m_Layer: 5 + m_Name: Root (1) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1192936142273360289 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8120358984303891011} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 6485978276119751294} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &3269022488124767872 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8120358984303891011} + m_CullTransparentMesh: 1 +--- !u!114 &7410560585077443668 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8120358984303891011} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 4cffb6ee31c7940a8b4c1c93da48dcbb, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!114 &8328296131602969630 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8120358984303891011} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: cfabb0440166ab443bba8876756fdfa9, type: 3} + m_Name: + m_EditorClassIdentifier: + m_EffectColor: {r: 0.9490196, g: 0.9490196, b: 0.9490196, a: 1} + m_EffectDistance: {x: -1, y: -2} + m_UseGraphicAlpha: 1 +--- !u!114 &48963725331511648 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8120358984303891011} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: cfabb0440166ab443bba8876756fdfa9, type: 3} + m_Name: + m_EditorClassIdentifier: + m_EffectColor: {r: 0.9490196, g: 0.9490196, b: 0.9490196, a: 1} + m_EffectDistance: {x: 1, y: 1} + m_UseGraphicAlpha: 1 +--- !u!1 &8510947007867534641 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1376460305007362532} + m_Layer: 5 + m_Name: Content + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1376460305007362532 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8510947007867534641} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 4976896185686932357} + m_Father: {fileID: 5625411765876776} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 300} + m_Pivot: {x: 0, y: 1} diff --git a/Standalone/Resources/Prefabs/Standalone/TapTapHealthPaymentPanel.prefab.meta b/Standalone/Resources/Prefabs/Standalone/TapTapHealthPaymentPanel.prefab.meta new file mode 100644 index 0000000..786f0df --- /dev/null +++ b/Standalone/Resources/Prefabs/Standalone/TapTapHealthPaymentPanel.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 6a1bbd26c2c804b5e8de88bd69089a60 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Standalone/Resources/Prefabs/Standalone/TapTapHealthReminderPanel.prefab b/Standalone/Resources/Prefabs/Standalone/TapTapHealthReminderPanel.prefab new file mode 100644 index 0000000..002b5c9 --- /dev/null +++ b/Standalone/Resources/Prefabs/Standalone/TapTapHealthReminderPanel.prefab @@ -0,0 +1,1065 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &22926938098811583 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1409621997262946376} + - component: {fileID: 7325817773286920515} + - component: {fileID: 2214881116794759227} + m_Layer: 5 + m_Name: Scroll View + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1409621997262946376 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 22926938098811583} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0.5, y: 0.5, z: 1} + m_Children: + - {fileID: 2702901214523277998} + m_Father: {fileID: 6361964099233889058} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 25.5} + m_SizeDelta: {x: 444, y: 53} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &7325817773286920515 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 22926938098811583} + m_CullTransparentMesh: 0 +--- !u!114 &2214881116794759227 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 22926938098811583} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1aa08ab6e0800fa44ae55d278d1423e3, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Content: {fileID: 4806650311922228640} + m_Horizontal: 0 + m_Vertical: 1 + m_MovementType: 2 + m_Elasticity: 0.1 + m_Inertia: 1 + m_DecelerationRate: 0.135 + m_ScrollSensitivity: 1 + m_Viewport: {fileID: 2702901214523277998} + m_HorizontalScrollbar: {fileID: 0} + m_VerticalScrollbar: {fileID: 0} + m_HorizontalScrollbarVisibility: 2 + m_VerticalScrollbarVisibility: 2 + m_HorizontalScrollbarSpacing: -3 + m_VerticalScrollbarSpacing: -3 + m_OnValueChanged: + m_PersistentCalls: + m_Calls: [] +--- !u!1 &74128373065723243 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1822479519226923156} + - component: {fileID: 4185108825244838673} + - component: {fileID: 5147486845076544210} + m_Layer: 5 + m_Name: SwitchAccountButton + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1822479519226923156 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 74128373065723243} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 7949716731606272045} + m_Father: {fileID: 6361964099233889058} + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0} + m_AnchorMax: {x: 0.5, y: 0} + m_AnchoredPosition: {x: 2, y: 60.52} + m_SizeDelta: {x: 220, y: 54} + m_Pivot: {x: 0.5, y: 1} +--- !u!222 &4185108825244838673 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 74128373065723243} + m_CullTransparentMesh: 0 +--- !u!114 &5147486845076544210 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 74128373065723243} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 0 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 0} + m_OnClick: + m_PersistentCalls: + m_Calls: [] +--- !u!1 &2525790795551395681 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4806650311922228640} + m_Layer: 5 + m_Name: Content + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &4806650311922228640 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2525790795551395681} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 5732433389448631787} + m_Father: {fileID: 2702901214523277998} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 300} + m_Pivot: {x: 0, y: 1} +--- !u!1 &2614750717462274026 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 719222081671675900} + - component: {fileID: 6566752454117406737} + - component: {fileID: 5456539344680195275} + - component: {fileID: 7762865190077089428} + m_Layer: 5 + m_Name: OKButton + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &719222081671675900 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2614750717462274026} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 2192333195466092754} + m_Father: {fileID: 6361964099233889058} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0} + m_AnchorMax: {x: 0.5, y: 0} + m_AnchoredPosition: {x: -110, y: 81.4} + m_SizeDelta: {x: 220, y: 36} + m_Pivot: {x: 0, y: 0.5} +--- !u!222 &6566752454117406737 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2614750717462274026} + m_CullTransparentMesh: 1 +--- !u!114 &5456539344680195275 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2614750717462274026} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0, g: 0.8509804, b: 0.77254903, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 2386ba664dfbb4993ae59582f6b7a4dc, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!114 &7762865190077089428 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2614750717462274026} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 5456539344680195275} + m_OnClick: + m_PersistentCalls: + m_Calls: [] +--- !u!1 &3922068344051980923 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8071375636115987463} + - component: {fileID: 6789447465473944001} + - component: {fileID: 1901124806566616607} + m_Layer: 5 + m_Name: Blocker + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &8071375636115987463 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3922068344051980923} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 6361964099233889058} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 10000, y: 10000} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &6789447465473944001 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3922068344051980923} + m_CullTransparentMesh: 0 +--- !u!114 &1901124806566616607 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3922068344051980923} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 0} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!1 &4259648855935764153 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2702901214523277998} + - component: {fileID: 6011636151564946784} + - component: {fileID: 2651570845535979303} + - component: {fileID: 1720244546042511642} + m_Layer: 5 + m_Name: Viewport + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2702901214523277998 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4259648855935764153} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 4806650311922228640} + m_Father: {fileID: 1409621997262946376} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0, y: 1} +--- !u!222 &6011636151564946784 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4259648855935764153} + m_CullTransparentMesh: 0 +--- !u!114 &2651570845535979303 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4259648855935764153} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10917, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!114 &1720244546042511642 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4259648855935764153} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 31a19414c41e5ae4aae2af33fee712f6, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ShowMaskGraphic: 0 +--- !u!1 &5185371334061046823 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4781091973651006734} + - component: {fileID: 8079534132318487013} + - component: {fileID: 5879139785308660428} + - component: {fileID: 7635682526857524625} + - component: {fileID: 7696621876482973208} + m_Layer: 5 + m_Name: TapTapHealthReminderPanel + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &4781091973651006734 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5185371334061046823} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 6361964099233889058} + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 600, y: 347} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!223 &8079534132318487013 +Canvas: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5185371334061046823} + m_Enabled: 1 + serializedVersion: 3 + m_RenderMode: 2 + m_Camera: {fileID: 0} + m_PlaneDistance: 100 + m_PixelPerfect: 0 + m_ReceivesEvents: 1 + m_OverrideSorting: 0 + m_OverridePixelPerfect: 0 + m_SortingBucketNormalizedSize: 0 + m_AdditionalShaderChannelsFlag: 0 + m_SortingLayerID: 0 + m_SortingOrder: 0 + m_TargetDisplay: 0 +--- !u!225 &5879139785308660428 +CanvasGroup: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5185371334061046823} + m_Enabled: 1 + m_Alpha: 1 + m_Interactable: 1 + m_BlocksRaycasts: 1 + m_IgnoreParentGroups: 0 +--- !u!114 &7635682526857524625 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5185371334061046823} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: dc42784cf147c0c48a680349fa168899, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreReversedGraphics: 1 + m_BlockingObjects: 0 + m_BlockingMask: + serializedVersion: 2 + m_Bits: 4294967295 +--- !u!114 &7696621876482973208 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5185371334061046823} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 8264dd85a71dd4641919b0cf029dc650, type: 3} + m_Name: + m_EditorClassIdentifier: + canvas: {fileID: 0} + canvasGroup: {fileID: 0} + panelConfig: + animationType: 1 + toppedOrder: 0 + titleText: {fileID: 0} + contentText: {fileID: 0} + switchAccountButton: {fileID: 0} + okButton: {fileID: 0} + scrollRect: {fileID: 0} +--- !u!1 &5357233859329253123 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2192333195466092754} + - component: {fileID: 1073151883342619883} + - component: {fileID: 5179658266808317134} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2192333195466092754 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5357233859329253123} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 719222081671675900} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &1073151883342619883 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5357233859329253123} + m_CullTransparentMesh: 1 +--- !u!114 &5179658266808317134 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5357233859329253123} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: 5b92beb2e4ac04c1681719225dc6d5fc, type: 3} + m_FontSize: 15 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 1 + m_MaxSize: 40 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: "\u8FDB\u5165\u6E38\u620F" +--- !u!1 &5708136950861889540 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7949716731606272045} + - component: {fileID: 621164794339132577} + - component: {fileID: 1710289536315447295} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &7949716731606272045 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5708136950861889540} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1822479519226923156} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &621164794339132577 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5708136950861889540} + m_CullTransparentMesh: 0 +--- !u!114 &1710289536315447295 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5708136950861889540} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0, g: 0.8509804, b: 0.77254903, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 15 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 1 + m_MaxSize: 40 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: "\u5207\u6362\u8D26\u53F7" +--- !u!1 &6243486050524845144 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5732433389448631787} + - component: {fileID: 4070737897994074319} + - component: {fileID: 5551195721684355231} + m_Layer: 5 + m_Name: ContentText + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &5732433389448631787 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6243486050524845144} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4806650311922228640} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 1} + m_AnchorMax: {x: 0.5, y: 1} + m_AnchoredPosition: {x: 0, y: -200} + m_SizeDelta: {x: 1044, y: 400} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &4070737897994074319 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6243486050524845144} + m_CullTransparentMesh: 1 +--- !u!114 &5551195721684355231 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6243486050524845144} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.4, g: 0.4, b: 0.4, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: c76570f7b9a4942ae84d6491f2669330, type: 3} + m_FontSize: 29 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 1 + m_MaxSize: 40 + m_Alignment: 3 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1.5 + m_Text: +--- !u!1 &7557005277836148278 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6361964099233889058} + - component: {fileID: 3987254139649263377} + m_Layer: 5 + m_Name: Root + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &6361964099233889058 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7557005277836148278} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 4506720584286079884} + - {fileID: 8071375636115987463} + - {fileID: 5503233503525070161} + - {fileID: 1409621997262946376} + - {fileID: 719222081671675900} + - {fileID: 1822479519226923156} + m_Father: {fileID: 4781091973651006734} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &3987254139649263377 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7557005277836148278} + m_CullTransparentMesh: 1 +--- !u!1 &8135504764682151928 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5503233503525070161} + - component: {fileID: 432106219917414001} + - component: {fileID: 8669373154614060998} + m_Layer: 5 + m_Name: TitleText + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &5503233503525070161 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8135504764682151928} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 6361964099233889058} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 1} + m_AnchorMax: {x: 0.5, y: 1} + m_AnchoredPosition: {x: 0, y: -12} + m_SizeDelta: {x: 175.16223, y: 22.939087} + m_Pivot: {x: 0.5, y: 1} +--- !u!222 &432106219917414001 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8135504764682151928} + m_CullTransparentMesh: 1 +--- !u!114 &8669373154614060998 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8135504764682151928} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.13333334, g: 0.13333334, b: 0.13333334, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: 5b92beb2e4ac04c1681719225dc6d5fc, type: 3} + m_FontSize: 16 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 1 + m_MaxSize: 48 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: "\u5065\u5EB7\u6E38\u620F\u63D0\u9192" +--- !u!1 &8277855320559382179 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4506720584286079884} + - component: {fileID: 2020009162116826997} + - component: {fileID: 98187547627795137} + - component: {fileID: 3607038900518221687} + - component: {fileID: 8200218722334513239} + m_Layer: 5 + m_Name: Root (1) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &4506720584286079884 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8277855320559382179} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 6361964099233889058} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &2020009162116826997 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8277855320559382179} + m_CullTransparentMesh: 1 +--- !u!114 &98187547627795137 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8277855320559382179} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 4cffb6ee31c7940a8b4c1c93da48dcbb, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!114 &3607038900518221687 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8277855320559382179} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: cfabb0440166ab443bba8876756fdfa9, type: 3} + m_Name: + m_EditorClassIdentifier: + m_EffectColor: {r: 0.9490196, g: 0.9490196, b: 0.9490196, a: 1} + m_EffectDistance: {x: -1, y: -2} + m_UseGraphicAlpha: 1 +--- !u!114 &8200218722334513239 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8277855320559382179} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: cfabb0440166ab443bba8876756fdfa9, type: 3} + m_Name: + m_EditorClassIdentifier: + m_EffectColor: {r: 0.9490196, g: 0.9490196, b: 0.9490196, a: 1} + m_EffectDistance: {x: 1, y: 1} + m_UseGraphicAlpha: 1 diff --git a/Standalone/Resources/Prefabs/Standalone/TapTapHealthReminderPanel.prefab.meta b/Standalone/Resources/Prefabs/Standalone/TapTapHealthReminderPanel.prefab.meta new file mode 100644 index 0000000..a7a5b95 --- /dev/null +++ b/Standalone/Resources/Prefabs/Standalone/TapTapHealthReminderPanel.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: c0afd8bfea6a546d9b28bf9215dee7fa +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Standalone/Resources/Textures.meta b/Standalone/Resources/Textures.meta new file mode 100644 index 0000000..56a2638 --- /dev/null +++ b/Standalone/Resources/Textures.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 4115c2a30809f49e98ea135737da1cf5 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Standalone/Resources/Textures/QuickVerifyTip.png b/Standalone/Resources/Textures/QuickVerifyTip.png new file mode 100644 index 0000000000000000000000000000000000000000..1e04b1387b7ec45ed36a1b2b57a93d97c17dbad5 GIT binary patch literal 9322 zcmV-wB$eBVP)d00009a7bBm000&x z000&x0ZCFM@Bjb+0drDELIAGL9O(c600d`2O+f$vv5yPRNwATj^A%A^Pc6X%bR zA_)bqa-5=)V2UXI!`POA6a|ui*pf-m14_nPfgZcFt9@!8vpYLGGvC*TbM8Io+;jWu z*`3*)eTbd2+tb~*yKmpV=Xaj>c7FkhV2y5Bs$h+7X<7roElz6yxW#D=0Jk`;0pJ#= zH2~b=v<84%oYnwvi_;naZgE-zz%5Q|0Jz0z4FI<|4ZwAv^EBS{%EBW2Ww#6G>KevF z1>;qKZJka$&fDW5z>b0I(wxa{v>YAndw>)|=t2Lf5>fBLU)dJtSQ0Q|;bx_40)S(^9{ls;CynV@ zdYSD3y23dAlcgF>D?kv&H9(+%QEkzaeelQJ@j|l{8Y4syKu{36`j_gBmIDzW42}zD zWq%H)x(fuP({X<{foAIN_rivKcfllSpGoq0_6*)!e$F*%&5PvlG2?^mqiwstBAFo~ zL~LjLmzfYk?)QNCY7B|1m6#H=deVY+R{>z;b%=FD5Kuu76QhLnCFDTB60b`wjMdK! zj=ds-QrR>K$#hYnA*YY_lGgaC?VI7@jgzq2 zbWQRA7qB+9suXOkVvUiBAe~>FgR1t?IxuPn>)Z^2cs=_16*L)OK^`=nmrf4qiO6}O zajo4qDAT~~d~gK{Am4sF+(+o@ag}S}CW6U3VAxt9wZ&n!uS8f70d^%6g&gsJ`T;lbc({cO6w|*EZvWvA- z}y=YxKa$9zd?U77dbYbT8v1p3nO|vCYkH zPZFNBkZPqq{|57u7R<#V~;w8>L7w|bVwnLyS6`MguZ*V9xTce{Qvi)Mk4r^-NJuzT?jEa;Q?O(qBjQSjSH8HNrLo zx9|F#S3O#~v@FCNL%WKN5{{+Yn#x)@=IdxWi%Y3`)ku9zF3pNH9oxzfe&_T#@(g#t zYS8ik@bqHE_X8KxGt@W)_x5z?O zi^?Y;NaiQ)gE)4eCSL9VaFPBj%3_5fv_2*l=*jCgp21R}D6aRrOMnI1PxYG2q8#yp z&-8k*T6B2;yz>76UVWArKaixJrC$NSVvnI{{Vc10_gqo>T%50E@pO^uN`O!*Qnc7Q zjv}Poa7ySn=c*3*7}vn(&eNfbgo-YxX$YcKLbCJT7jc@RpnQwMC+V}%g_aKu217eF z7~igCF#q+~h1I3Y1K>}8H$9jwF`$B?b)pVgea=#1q=MWpUd{KZXeD#9ASYBHdG+xK zF_R@er-?PgmwSI6nej*xFV-luu??Mea6SWONy}ksgW4Ki6bYD?0#si;MWH=^(aOfD zY64a>F?4AFoFdPDmIg(tK_}_Td|`YoWC-GKQWB+{9)Buw)Q6k!&CKy`WIO_@Y z##(7P=E9w88gHrVr4B8g9O%Gm(WL=k10LE40PpyqGM$-4j9`g9F_N-XSpc1MgR|2J zg)^AX#E7M2^ONK&^FKT_1wX!RV;s>lywLK4n>N5>Z=Qi)JbDribr-ON$%^TqTQxgT#RT)J9KuYfHqQR73y=_m_NI^75x`$5-XN_bjWNe_k#>`|{ zr)Q}1^Sk~CYNkvpLTbP5qhZTyiDsnaIvN1WY^DdwWOY3OfcjvW`6}@Nlj?__fIyr; z6r@+CD&0e3&b`M6Gfrl;tag8nm_JMxKe~03F}eUia9RLTM(^9#kHWoUqp@wld}`BzWRP1$jn!X1)p6%UTAU77TK3a6XaVFFCGtbcLPDD43jq2uU~q3Ugr^ zifGU9>N$azH32xb5riYwIZ&7ZK1+_#{@lQb*i^4#0sMp8L&dF2WI7 zKDupF!5ba5tuZgA1t4jHpCoe;r8_bKg*gDw7k;_2LItb&NeqqtM6Z`req?yMvDS^f zBn+`EE(*S$U9Vu&QBE6vZb~~M^o5dzhAN-oYU%P};KrQ*ht8Hd7ci%P6&S+o81cI})eQ2Q@a~p?glQ7L76>d1 z3;_qNUz)oJPgA%WLGS!Y>uZ39fMe_S^$P=;#>E80Ht0G#Hs&Y^omjU45dBoGBvBYt z(y{Qak5cEbBz5bgt|MqfB6!9OhKxO(*M|xS%piyZJMNr2N7uoN7cbhBGX*2M=g{ra zK@2cMK%AamfE^-fZNMwZ1$zSiEd;;~0|^|90*v=ej8a(#e*5%H(tB#_HG`2%}T~U<*pq!kv6!XkFpGs2GR)U zsK1^(b1q9e%^EYmd}Qer+508n5$;T>1hIicL4KL zaVRE=q%q1AdAvZ(@79=AeC}Qoxp+^lNTj?_-;q&?adw(0z?vjGa5|cg@w!UBO5ibw zDp=~da&_>+`=Rjd4ONXE&|?VMu4KA?nLwotyHY{~dy?U*%P>$HdSYzKWP=}tCH>|3 zMR;Lu9?q*P4_G`~N_u#>WJzZFrRk#u)0y-|4=v+v9iR&asq;^gL;2s{I2yfkaQTSr zf@W_!r)M!T)H5JBbD|@m8b(G?h^+|9U{dp_5DX3op@N)$1Sn7r`60{{YN3B%$i=HU z4#2d$+DHqaq*pcViv|F&=}$h4IZe|0$0YUBr1G;^Vc$dLw{!}b5Op8mYcuEJ85-?V zhBvc;@igGjFD<`H%s+5(AxWnkElhwYv8-*;M)X`@6U~IRD_aVgpP1(%T6-~1U60Ta zt-wnq+Ct|X2D!PHd3*YnKFSY^t1A6W%bO8I$)J?!l6^A+2o@3&2si|!u{d~zr2fES zS59_u95{BUBjiFd9g5AAIQGj2-+?Hi=u{WVtNe7!0=34cQ zAWi=&Xp;QKagAY0oZFwMi+7{@1vl%2~NN%~;OlB@ZJ1eB1qTL@;`y#`BT zB02K2#8i_Iz$0Ss@aj2$Ov?kn_@*TFmbwzg*JW<|STzLCT(}5xwPRH_bLKutEtc2C z0{ObF*OL|?4e$(k&-ZLtZ^b@&hLJJz@E=~CPO2ZO%p9pQgluyBL=tpu(_4RX&kp$h zjgyw>>DK*8Aa*)WcQrG(7&XEhk{Nvb&9iW<+co8wTmf}DD>HQ3zJN>gdrLI11Wc}& zmIZ*Yd3Vatg(^497WD%FUJZl9{2G>Oqse;hr--3VD$$H$r6)Vna+s1jHLeFJ)OTM0 z^#0dKGAXA(QmYd~JexC~g1va+y6;=2$w;RM08udSo7?Ut(=0x~U618^h|TimmT^o4}<=j`Bc-=(FUl##%Y z-wlWZC;;-J2%0%j5oczxD*iSe6Hq4VEwcrI{pV-Rwx&ZOE1LMJ1WJfyyTlBjdx!mJ z4<3n=PB;@dO6$>v(on>i!M z@6UT1&g6hFLt$XqV6;37KxylA7+CWNHg+!{m>@g+!A%?C?{AobcTie)Jvl$#KQe0} z+dsH#JAC@kkqn^pCMbF1qIc?S2GkUo|A8PAQ`13C1ApM9S7l&G+Cv~5r#9>y9E>Mz zBS{?Vq^#gN@;*6BxS0SmL;3&5PMnf92D_(ffL4uS65p5{ihU=Me{v(7K&GLQ+(Y0w zk->0qbV>{3Umto|u`u48C%ImSQ}3aXydT-R3GP`xUNF5W_1LKL(S5t%q3xUD)6+-b z@sp<#pgJW5pQsB3^z#c zS;D$+({>QzTf?hK%LYK$ya(|3L2F2%1(dKX^ErXS$pZZ2ckD2$`wx=0{RR=G47EuWs4jPNC9|?cNUW-?9<@~N8*~O^m z>jI!bA{!mFs$J_#M>WnS5c`a(&Ot^y)u$2RuhR)&Q;h=@4-$&IKnwGo25ku0o>dM5 zm+w&wuY*43H$-w~a2+(6kMht?_|ifgpP+(|?$}x;c~F9akndy18cUP;O`vQiJN=J0 zZ-g)1eFr?k_mK!CIBgVkejlXaVx{O8K$hmp3oZ%}gqc2!3y@z$*9ox|=5`e`jS^RitGDAZ*#^>@fl~ofTT9N2XkvqByHfn^-B~-5u*jqNi;t9vm~VKjqt& z4XhiBY7T5{KeBThJiKkQ%sEKvKlOL=6EqS~fbzJ#nyyOBoep{x_6d}+sT_rIaUP&d z1B)-RutTYWk9CPAdu9}cQH}~|-MqdrVIUKK?FyZ0f_@NK+B7(z=way;i?9VmeNL|n z?Fim>3KRBCwvZ4 zdYNY~ot5OzVaj%LhH#cr-aLivJeAK9v(Ho6aT@fB13@P30+d>3B;_nc(u|FMXzN$0 zZQ_Rc02~UAi~-EedL?F!oL)BtOuNXR$3Z~a)bv-%AI?r_cn@R)xw6->9GWl9*PvZLg8#OQ%Q z^1|!|`2ABe&Nl$_KYUmEK2`6-b;S*I0=W_EHv!I_PdlEgM4SX__&WJIzs6t=^bASF zkL-UHeuC`tPU>Ke0LF<)JIR~(%+=}&*kMCsnAR!J_Zs140-Oh@P7#az5cU7nnb|1W zqj7W(toxgTRp8r!zC1@2n@F2X4RDsQhTAF9IXJff`{&Yk71WW$W}WijIa!v=SDX1v zEBipi7K#LpA1K950WdHEO>frh80LM=g(&!WaOG!So3=UiJ~yzFByl|fA_8N8*8?%s zV`5K#ES9H7*fBC3lQMix6D+(wM{4@NA3o|H#tl6wg2)yer1re;&t8Vz1W5jJ7k_w? z+rha3o&q)|)56xpG;jr5bdEmiT!pOkvjk_?FNcDutO`{j<-4iA_~o#{PBb^%o|(mz zft~2wXaGb%fH(S8*V)05Z2vLaxH2!0{Rd5)*vBQR%KQp76Nf2=4;;Qhw$aL}+>Z27 z2b=Io#2{c`Y#SMh#~B=dbmlA#)TD9$colcN#OK-0raN#ZaGFK|EghX25Rah;Gh~o& zb7|vIHXF3f)4=%AHjpORPlIHCabXUi;o$8V9)J&R-3a$hjKRAo$Wh~xI@+>S|F5C<&>T2PoCRq-0fmM@!RZKDj2nL1%Ynz7|3X8_t1ZM`_> zAsq81!D9}soL*I`^>RWehlp7-aWyRApSpc7Jh(}|`8QAC{L4QEIPj+crw+w0kDD*0 z&&0#=JN_nwecuFd+cyJ13C63Tm6?FaEzlqO`3)a~IZ5x+o6OX%x-Xf7t*_pAxko9=1z!b^3)1Qfb6)5C$E-0jvWMf>qwlp zH2UZ%z}=&x@Yy@x27A~vG2{RI4*l1)4Jx%s)6NGPl2;d#x z0johP1AvBt7iZ0GCN-=YAU$ZG#A=z7U=tF@f#e%x+w9*Hh;D)9(UX)#H7ixe2wPQh zfNZL4R!%k?=BJ1JWwPKv7~FV)scvn$_%8r*PiQ=<0UR>`iQY}j|I*#Jr#SxT%K*Rk z8GwZg2L5c$pbVYM1VJ2;#V7v<#n4}c@W4k15L@7CXyt>;6I(!M0eiKsPM{T{D#<*} zEA^{%Zpc0XnlBJaJ8kpos%VUZIE{K<1dDB_V>%6tkJ-#!QTe=Y;i9xj$M6AiN*C2` zSHY%n^YO~&^~pV~ez_lnJPjrp(*%MGd_K9d709!hK8MJZ@Fu5h)OA(6T zW&>f-N#3|;$x~IA_f!ig6V-bTj)560A-5qRC!bddcwAU$n#!s64B}wXMS3K3*GgW( zkO$Ht0hVl=s`p?Pz4Gxr+mp?I{RIfme%ZZSk(r(ui!$4qZ=I&!$Jf$(J^NsWeWyUQ z0a9kR_xWFtAGcUJ2v)8E)DdhrgJ(O#P^RRdu=!SiSlUemk#u&tNnYi2O?eEQJCLSf z=L3btQScCfelRn&P< zsrJ&ZQImX&Ab({UfeR3~5*OUpCJq}PXvpl(MRk`6IJAZuE$)Eav! zrF-Axc>3)j^4Jrj0Q9pn>D!0O;96d;P3yXw)O`FlqA^?m(yQ&`S;~Cvqx$L3!%Au8 z8en8JEsaizKfcri!X?3xPRK8c_zSQoDs==HS3>h9=+6q5ZiC$qpa2M>!>R+Fs}=3M z@_G&1Sjr#XmOikBZ|u*Es`JOMYTH*8U)wq|v*+x5F985H?}34jeg+19^uGWOjfhrI z^FZ4NzL7%o70?yUF%I@iSZGMR`^*t3%90pDDOq;hOCx&bH`KiA{7_uqIM*})=CyB2 z^IB}6qEH&4wVl3-EbVHxvZhc6@xF=ibip^iViJp(zg(tHU}B=!`a;@8&GQ>b{7wc% zUjrZd83>ezVJ#eZie8=TR6y1*{$E%LUD+h_ZTtE<=tGBINE@004(?mLehsOof>WDv zAt(cbiz0$C4N8VInX5^nVC*Q*74N=07W$ctOQ{TKXbpXiwv#Zaf1>)(eqpXWgMIMQ3^^I1(`BW3Msag%l`lP(9 z5V9G-C7wC7Ux&@(CFA>b2o|AXR3?R@D6hAXJBrP7Y%k1p-hK7A{{aj<_+tQL>D|j{ z3c5Xu{j0m*3q$`bGr#-%ld$lmPno*UIfK-w*ygzluoAj50Q{|Qa}SIr>3c4mh9~~; z)9~>0b5MMy)scodd0?kuOP!g>7c~|=yHM>7!m^IgrtY28Hg5;^Xjrrl(SxI1Yk+@N z#0(YzLv#Rl-2t5kei*8Ey%z>Q_%Rxl87`7O)!p9-L*MhStgguXFaAoINCLO5(FNw@ z_HyXTelv(2k$raozW#M6R6fzf!o{cwKDPfUcyVGoe4Q2^Cpb5_F6IjO^cl(;&J2vi zH;MGq@|7_xF&2xIT^lW-+U-z_1_B@OwX1uS`mm@D3+-SRwlJNECy>T-*;JzYg%Za! zJo*~onPU*9wn5l-8w`BcM~K0niibPj^qnyLfsa~!i_bj)i*zi9rwD$y(LQ;jnrQ`e z#XlO=`R<>9-e*4nc>1_2&3E53dpa%;9{C3J*^tTzEzmg;E4_?fv#94@QZ51M3> zu&#SP+VY_v{g0&L$D#Ah55NHRWsjEOfAW)7U6+`@@P%Kt*~>bop?L8`Wh^Oat?_ucU`cimrkREE#R2jJ7p zYbRB|@0~FGkx#Z(xA4Scu<+z#_QFcgNiA;7AvH7)ONaNo9|r#6M_{>h^}iiV4_A|C zT7T{T5D-KgaFxvD4O>aQ5tFC3q-|z0F<70N8%1a1RP8k3l8M)6<>k*AJr=c0i0=UK zu{a-ZiJoffLLLEpaMJ|f?|g=0^FK=GiPP3|;TuN)1MhhVhW^pND6Wspf8u}H@N!Ch zixaIriGm?ko~|2s_@^M;@$Il&y854vWeFzK@q&zWUYPken8}wS9-8Gv!?pXCd7Xm9 z%#kb!90-Tzvj$>NMP|M0?*abVAEpWrzTIO zH!5jBaBnIxv2d+``An<&+rg3PH!9-uJJ_fws268eLlwRo!{$$J0={C34bXOEIaV2YGH{0*t76Nh#Z# zQ}(JfWfbpw2s*S}39SL(T9bxwB%Ph_`xyBHU_)lC?WUARYhED z0Jxr{p8M%z(0l50P(S|^=y-!27oR}0hDttR#SHI!*Tc}c|GVL8X$=53f~3o98q=@8 z`emrU@&A&Y_oVM5nl?y`ukI&%|98J<)$%NB0JxE48sRw9uM!x({U-bmr8USu_T8jd1aasewEl#UC7I3{ur=|6JX*f8}w1MnZ`*moUHRRK* z#Y9w@55TX7+b@LMkZg$M{`$7M-zs#|`vB>Cdo^_9k4o0IugqSm^X)C&2Ji~Qpdbr}~onXGgvaI}?O4)04bKmP8|5+>zx_hb;;FNak(m)mvI zIf0Au>)w}FN=r%9ax}r^)OnlwZk^`d*!N{^e#p&eZEs2wFh4&J3kwU@Y0FW|&HXmp zz0`G=GYiYTPt)J<>zmaK+|*7Wt4??Im*Lkzr zf2OxoCeTL!wflI2mM>Rw+a$H^+~#%7bsNJkSI^Bxe=SqN`bgf9ywqbZCu&&gytg|2 Y67Qa^GQkrEiQ4t5H8gmphvvHKNsLTa1HPdELv#H$E07WrFpISE0Da`~l z<4sLzGPx8kh*()Uh6`%xxPe=Nxq(KGOfL1lOYe`%{m%K$?|07mo$r49;_KsXu-J5y%Pt7T*x|s8VBABQeM<e{o|Ja$ot)KSR2TVWxTUBSOL7#~#syq?m3OIxdCP`6G4LGnJP+=rL2n9-V(* z&)oZ|y|6}g76kj=2=@F~HHg5PQh-#x6*h;Cmf|SOfc8Me#&4Z^@SQv_z~U0}V<=rv zLvb{dPY6B$-0i^M*g-xnUm_KYs%$hk58Z}>-&LdZ-FlQRxa^^jaDJT;^;`$>li5;>``cie-D$08^>zT8%yBoBX=|ePZk7SZ z(pj_!m<#Q<$tIw?169A$;0cFnHdBt|!8Aqs6odv6tP5WntKVo49cS}!8(@Yv4x-h~ zV6pIL(KT~G@if&)!+bhmdV8i6mUlAeDDji|)g$lZ4!XdM{yzF?0B-}3HIUN26NUxPQ# z;cgm`xkc(TQ*DZtu@gflhvZ2F z%41&~Zdh(=TF4cG`08&KNpgl=t>!pCN4#qh4+*BkbvEkn0O>&1Y|G;(iaQ*M#m-Z4 zCM=jM;T-QCC0UY5v~4m1-KTf1KFz9sidBtOpai|xM=KHB9DocPrg+Kwb6gvJ^9YLO zf_S*<#I_yG`1qUt&N1U?cH92cf;2RUJdy2rMc5OZe`!&4@jd&<-MbXJDRA4`9Fmgt z$Vsl&VS{M)i=(auL-52|?@8P$NzwKsUO*nI-nsPy;K=pjJ|zcd`?mwAaLG=1-o4}rssC`BTf+Z$ zcJc@BP?bQ2?jX}K%7($}d~#^KLvzVhnk<}{IQePwVmC;b*gnttH%6zZaWo;hxb82s zQ$ + /// 激活手动认证 + /// + /// 是否为主动选择激活手动认证 + protected override async Task VerifyManuallyAsync(bool activelyVerifyManually) + { + var userId = TapTapComplianceManager.UserId; + do + { + try + { + // 这里处理了拿 Verification 信息时,5xx服务器错误或者网络错误的情况,策略为不停的弹出重试弹窗 + var result = await OpenVerificationPanelCn(); + // await Verification.Save(userId, Region.China, result); + if (Verification.IsVerifyFailed) { + // TODO@luran:本地化 + UIManager.Instance.OpenToast("认证未通过,请重新提交实名信息", UIManager.GeneralToastLevel.Error); + continue; + } + + break; + } + catch (TaskCanceledException) + { + TapLogger.Debug(string.Format("[TapTap: ChinaCompliance] Close manual verification panel.")); + throw; + } + catch (Exception e) + { + TapLogger.Error(string.Format("[TapTap: ChinaCompliance] manual verification exception! {0}", e.ToString())); + + if (e is HttpRequestException || e is WebException) + { + UIManager.Instance.OpenToast(TapTapComplianceManager.LocalizationItems.Current.NetError, UIManager.GeneralToastLevel.Error); + continue; + } + + if (e is ComplianceException aae) + { + if (aae.Description != null && aae.Description.Length > 0) + { + UIManager.Instance.OpenToast(aae.message, UIManager.GeneralToastLevel.Error); + continue; + } + if (aae.Code >= (int)HttpStatusCode.InternalServerError) + { + // TODO@luran:本地化 + UIManager.Instance.OpenToast("请求出错", UIManager.GeneralToastLevel.Error); + continue; + } + } + if (e.Message.Contains("Interval server error.")) + { + // TODO@luran:本地化 + UIManager.Instance.OpenToast("请求出错", UIManager.GeneralToastLevel.Error); + continue; + } + UIManager.Instance.OpenToast(TapTapComplianceManager.LocalizationItems.Current.NoVerification, UIManager.GeneralToastLevel.Error); + await Task.Yield(); + + } + } + while (true); + } + + protected override PlayableResult CheckOfflineMinorPlayable() + { + // 未成年人 + if (IsGameTime()) + { + // 可玩:节假日并且是游戏时间 + HealthReminderDesc playableTip = Config.GetMinorPlayableHealthReminderTip(); + + // 计算时间 + DateTimeOffset gameEndTime = Config.StrictEndTime; + TimeSpan remain = gameEndTime - DateTimeOffset.Now; + + return new PlayableResult + { + Title = playableTip?.tipTitle, + Content = playableTip?.tipDescription, + RemainTime = Convert.ToInt32(remain.TotalSeconds) + }; + } + + // 不可玩:未成年人不在可玩时间 + HealthReminderDesc unplayableTip = Config.GetMinorUnplayableHealthReminderTip(); + return new PlayableResult + { + Title = unplayableTip?.tipTitle, + Content = unplayableTip?.tipDescription, + RemainTime = 0 + }; + } + + protected override async Task InternalStartup(string userId) { + try { + UIManager.Instance.CloseLoading(); + return await GetVerificationResult(userId); + } + catch (Exception e) { + TapLogger.Error("[TapTap: ChinaCompliance] " + e.ToString()); + return StartUpResult.INVALID_CLIENT_OR_NETWORK_ERROR; + } + + } + + #endregion + + private static bool HaveComplianceScope(AccessToken token) { + if (token == null ) return false; + bool useAgeRange = TapTapComplianceManager.config.useAgeRange; + if(useAgeRange){ + return token.scopeSet != null && token.scopeSet.Contains(SCOPE_COMPLIANCE); + }else{ + return token.scopeSet != null && + (token.scopeSet.Contains(SCOPE_COMPLIANCE) || token.scopeSet.Contains(SCOPE_COMPLIANCE_BASIC)); + } + } + + // private static async Task GetComplianceCode(string clientId, AccessToken token) { + // string url = TapTapSdk.CurrentRegion.ApiHost() + "/account/compliance/v1?client_id=" + clientId; + // var uri = new Uri(url); + // var sign = GetMacToken(token, uri); + // var headers = new Dictionary { + // { "Authorization", sign } + // }; + // ComplianceCodeResponse response = await LoginService.HttpClient.Get(url, headers: headers); + // return response.Data; + // } + + // private static string GetMacToken(AccessToken token, Uri uri, int timestamp = 0) { + // var ts = timestamp; + // if (ts == 0) { + // var dt = DateTime.UtcNow - new DateTime(1970, 1, 1); + // ts = (int)dt.TotalSeconds; + // } + // var sign = "MAC " + LoginService.GetAuthorizationHeader(token.kid, + // token.macKey, + // token.macAlgorithm, + // "GET", + // uri.PathAndQuery, + // uri.Host, + // "443", ts); + // return sign; + // } + + /// + /// 使用 TapToken 获取实名信息 + /// + /// + /// + /// 0-正常;1-走手动;-1-打断流程 + private static async Task FetchByTapToken(string userId, AccessToken accessToken) { + UIManager.Instance.OpenLoading(); + var tcs = new TaskCompletionSource(); + // get verification + try { + VerificationResult result = await Verification.FetchVerificationByTapToken(userId,accessToken); + UIManager.Instance.CloseLoading(); + if(result.Status != null && result.Status.Equals(ComplianceConst.VERIFICATION_STATUS_SUCCESS)){ + tcs.TrySetResult(0); + }else{ + tcs.TrySetResult(-1); + } + } + catch (Exception e) { + TapLogger.Error(e.ToString()); + UIManager.Instance.CloseLoading(); + var aae = e as TapException; + if (aae != null && aae.code >= (int)HttpStatusCode.InternalServerError && aae.code < 600) { + tcs.TrySetResult(1); + TapLogger.Warn($"[Compliance] 通过 code 拿去实名信息网络错误,将打断认证流程"); + } + else { + TapLogger.Warn($"[Compliance] 通过 code 拿去实名信息失败,将启动手动认证"); + tcs.TrySetResult(1); + } + } + UIManager.Instance.CloseLoading(); + return tcs.Task.Result; + } + + + /// + /// 是否在允许游戏时间段 + /// + private bool IsGameTime() + { + string currentDate = System.DateTime.Now.ToString( "yyyy-MM-dd" ); + List holidays = TapTapComplianceManager.CurrentUserAntiResult.localConfig.timeRangeConfig.holidays; + TapLogger.Debug("current date = " + currentDate + " holidays = " + holidays.ToArray()); + if(holidays.Contains(currentDate)){ + DateTimeOffset strictStart = Config.StrictStartTime; + DateTimeOffset strictEnd = Config.StrictEndTime; + + bool playable; + DateTimeOffset now = DateTimeOffset.Now; + TapLogger.Debug(" now = " + now + " ,start = " + strictStart + ", end = " + strictEnd); + playable = now >= strictStart && now < strictEnd; + return playable; + } + return false; + } + + /// + /// 打开中国实名制窗口 + /// + /// 是否为主动选择激活手动认证 + /// + private Task OpenVerificationPanelCn() + { + var tcs = new TaskCompletionSource(); + var path = ComplianceConst.GetPrefabPath(ComplianceConst.ID_NUMBER_INPUT_PANEL_NAME, + false); + idInputPanel = + UIManager.Instance.OpenUI(path); + idInputPanel.activeManualVerification = true;; + if (idInputPanel != null) + { + idInputPanel.OnVerified = (verification) => tcs.TrySetResult(verification); + idInputPanel.OnException = (e) => + { + if (e is HttpRequestException || e is WebException) + { + tcs.TrySetException(e); + } + else + { + if (e is ComplianceException aae) + { + tcs.TrySetException(e); + } + else + { + if (e.Message.Contains("Interval server error.")) + tcs.TrySetException(e); + else { + UIManager.Instance.OpenToast("身份证号码错误", UIManager.GeneralToastLevel.Error); + } + } + } + }; + idInputPanel.OnClosed = () => tcs.TrySetCanceled(); + } + + return tcs.Task; + } + + private async Task GetVerificationResult(string userId) { + var tcs = new TaskCompletionSource(); + int mannualVerify = 0; + TapTapAccount tapAccount = await TapTapLogin.Instance.GetCurrentTapAccount(); + AccessToken accessToken = tapAccount?.accessToken; + bool isTapUser = accessToken != null; + TapLogger.Debug(" Verification current = " + Verification.Current ); + //0 不使用手动验证;1 主动使用手动认证; 2 保底触发(被动)使用手动验证 + try { + accessToken = await GetAccessToken(accessToken); + if (accessToken != null) { + TapLogger.Debug("[TapTap: ChinaCompliance] 获得登录Access Token!Token结果: {0}\n是否包括Compliance: {1}", + accessToken.ToJson(), HaveComplianceScope(accessToken)); + if (HaveComplianceScope(accessToken)) { + // 0-正常;1-走手动;-1-打断流程 + var fetchResult = await FetchByTapToken(userId, accessToken); + if (fetchResult == 1) { + UIManager.Instance.OpenToast("授权异常", UIManager.GeneralToastLevel.Error); + mannualVerify = 2; + }else if (fetchResult == -1) { + mannualVerify = 2; + } + } + else { + //TODO@luran:本地化 + UIManager.Instance.OpenToast("授权错误", UIManager.GeneralToastLevel.Error); + mannualVerify = 2; + } + } + else { + TapLogger.Debug("[TapTap: ChinaCompliance] 不能登录Access Token!直接降级为手动认证"); + mannualVerify = 2; + } + } + catch (AggregateException aggregateException) { + var cancelException = aggregateException.InnerException as TaskCanceledException; + if (cancelException != null) { + TapLogger.Debug("[TapTap: ChinaCompliance] 获得登录Access Token 中主动退出! 触发 AggregateException.TaskCanceledException"); + tcs.TrySetResult(StartUpResult.REAL_NAME_STOP); + return tcs.Task.Result; + } + } + catch (TaskCanceledException) { + TapLogger.Debug("[TapTap: ChinaCompliance] 获得登录Access Token 中主动退出! 触发 TaskCanceledException"); + tcs.TrySetResult(StartUpResult.REAL_NAME_STOP); + return tcs.Task.Result; + } + + catch (ComplianceException aae) { + TapLogger.Debug( + $"[TapTap: ChinaCompliance] 获取快速实名制信息出错! code: {aae.Code} error: {aae.Error} errorMsg: {aae.Description}"); + //TapToken过期->重新授权实名流程 + if (aae.message.ToLower().Contains("refuse quick verify")) { + mannualVerify = 1; + } + else { + mannualVerify = 2; + } + } + catch (Exception e) { + TapLogger.Debug(string.Format("[TapTap: ChinaCompliance] 获得登录Access Token 碰到错误,降级为手动验证! 错误信息: {0}", e.ToString())); + mannualVerify = 2; + } + + + // 手动认证 + if (mannualVerify != 0) { + try { + await VerifyManuallyAsync(mannualVerify == 1); + } + catch (TaskCanceledException) { + TapLogger.Debug("[TapTap: ChinaCompliance] 手动实名制过程中主动退出! 触发 TaskCanceledException"); + tcs.TrySetResult(StartUpResult.REAL_NAME_STOP); + return tcs.Task.Result; + } + } + + try { + var tempResult = await ValidateVerification(showPopupInVerification); + tcs.TrySetResult(tempResult); + bool isVerified = tempResult == 0; + if (isVerified && mannualVerify == 0) { + ShowVerifiedToast(); + } + //认证失败:前置无弹窗的话,回调取消;前置有弹窗,保持弹窗 + else if (tempResult == -3) { + if (showPopupInVerification) { + tcs.TrySetResult(await GetVerificationResult(userId)); + } + else { + TapLogger.Debug("[TapTap: ChinaCompliance] 认证失败,并且没有前置弹窗,直接触发取消回调! 触发 TaskCanceledException"); + tcs.TrySetResult(StartUpResult.REAL_NAME_STOP); + } + } + } + catch (TaskCanceledException) { + TapLogger.Debug("[TapTap: ChinaCompliance] 手动实名制过程中主动退出! 触发 TaskCanceledException"); + tcs.TrySetResult(StartUpResult.REAL_NAME_STOP); + } + catch (Exception e) { + tcs.TrySetException(e); + } + + return tcs.Task.Result; + } + + /// + /// 验证已经获取到的 Verification 是否有效,如果有效,则直接返回;如果无效,则弹出相应的提示 + /// + /// 前置是否有弹窗 + /// -1:认证中;-2:实名信息为空;-3:认证未通过;0-认证成功 + private async Task ValidateVerification(bool havePopupBefore) { + var tcs = new TaskCompletionSource(); + if (Verification.Current == null) { + TapLogger.Error("[TapTap: ChinaCompliance] 已经获取过实名信息,但是到了验证阶段实名信息仍未空!"); + tcs.TrySetResult(-2); + } + else if (Verification.IsVerifing) { + var tip = Config.GetInputIdentifyBlockingTip(); + Action onOk = () => { + TapLogger.Debug("[TapTap: ChinaCompliance] 认证中,退出游戏!"); + tcs.TrySetResult(-1); + #if !UNITY_EDITOR + Application.Quit(); + #else + EditorApplication.isPlaying = false; + #endif + }; + TapComplianceUI.OpenHealthPaymentPanel(tip.Title, tip.Content, tip.PositiveButtonText, onOk); + await tcs.Task; + } + else if (Verification.IsVerifyFailed) { + // TODO:多语言 + UIManager.Instance.OpenToast("认证未通过, 请在 Tap 客户端重新提交实名信息", UIManager.GeneralToastLevel.Error); + if (havePopupBefore) { + tcs.TrySetResult(-3); + } + else { + throw new TaskCanceledException(); + } + } + else { + TapLogger.Debug("[TapTap: ChinaCompliance] 认证成功!接入认证!"); + tcs.TrySetResult(0); + } + + await tcs.Task; + return tcs.Task.Result; + } + + /// + /// 获取 Token,分为几种情况:1)不是TapUser的话,需要去展示授权界面,授权界面可能选择拒绝,这时转为手动;2)是TapUser,但是没有Compliance权限,这时也需要去展示授权界面;3)是TapUser,并且有Compliance权限,这时直接返回Token + /// + /// + /// + private static async Task GetAccessToken(AccessToken accessToken) { + showPopupInVerification = false; + bool haveCompliance = false; + var isTapUser = IsTapUser(accessToken); + if (isTapUser) { + haveCompliance = HaveComplianceScope(accessToken); + } + TapLogger.Debug($"[TapTap: ChinaCompliance] 启动快速实名制. 是否为Tap用户: {isTapUser} 是否包含Complaince: {haveCompliance}"); + return await InternalGetAccessToken(isTapUser, haveCompliance, accessToken); + } + + private static async Task InternalGetAccessToken(bool isTapUser, bool haveCompliance, AccessToken accessToken) { + var tcs = new TaskCompletionSource(); + Func> getToken = null; + // 先弹出快速认证提示,再弹出授权页面 + showPopupInVerification = true; + bool useAgeRange = TapTapComplianceManager.config.useAgeRange; + string permission = useAgeRange ? SCOPE_COMPLIANCE : SCOPE_COMPLIANCE_BASIC; + bool justShowConfirmBtn = isTapUser && !haveCompliance|| !Config.Current.useManual; + var goQuickVerify = await ShowQuickVerifyTipWindow(justShowConfirmBtn); + TapLogger.Debug($"[TapTap: ChinaCompliance] 因为不是Tap用户启动快速认证提示弹窗!弹窗结果: {goQuickVerify}"); + // 同意授权 + if (goQuickVerify) { + getToken = () => + { + //https://xindong.slack.com/archives/C0271SPG77A/p1701161783480859?thread_ts=1700206625.065689&cid=C0271SPG77A + // TapLogin.Authorize(new string[] { permission}); + IAuthorizationProvider provider = PlatformTypeUtils.CreatePlatformImplementationObject(typeof(IAuthorizationProvider), + "TapSDK.Login") as IAuthorizationProvider; + return provider?.Authorize(new string[] { permission}); + }; + } + //不同意授权 + else { + TapLogger.Debug("[TapTap: ChinaCompliance] 用户拒绝快速认证!"); + } + + // 不同意快速认证: 需要降级为手动 + if (getToken == null) { + var aae = new ComplianceException(-1, "refuse quick verify"); + throw aae; + } + else { + try { + var tToken = await getToken(); + tcs.TrySetResult(tToken); + } + catch (TapException te) { + if (te.Code == (int)TapErrorCode.ERROR_CODE_LOGIN_CANCEL && te.Message.Contains("Login Cancel")) { + UIManager.Instance.OpenToast("授权取消", UIManager.GeneralToastLevel.Warning); + return await InternalGetAccessToken(isTapUser, haveCompliance, accessToken); + } + } + catch (Exception e) { + TapLogger.Error(e.ToString()); + throw; + } + } + + return tcs.Task.Result; + } + + /// + /// 显示快速认证提示弹窗 + /// + /// 是否只包括确认快速认证按钮,如果否的话,还包含不启动快速认证按钮 + /// 返回 bool 里表示玩家是否选择快速认证 + private static Task ShowQuickVerifyTipWindow(bool justShowConfirmBtn) { + var tcs = new TaskCompletionSource(); + var openParams = new TapTapComplianceQuickVerifyTipController.OpenParams() + { + justShowConfirmBtn = justShowConfirmBtn, + onClicked = (isQuickVerify) => tcs.TrySetResult(isQuickVerify), + onClose = ()=> tcs.TrySetCanceled(), + }; + var path = ComplianceConst.GetPrefabPath(ComplianceConst.QUICK_VERIFY_TIP_PANEL_NAME, + false); + UIManager.Instance + .OpenUI(path, openParams); + return tcs.Task; + } + + private static bool IsTapUser(AccessToken accessToken) { + return accessToken != null && !string.IsNullOrEmpty(accessToken.kid); + } + } +} \ No newline at end of file diff --git a/Standalone/Runtime/ComplianceWorker.cs.meta b/Standalone/Runtime/ComplianceWorker.cs.meta new file mode 100644 index 0000000..d2d1900 --- /dev/null +++ b/Standalone/Runtime/ComplianceWorker.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 11ec37cd5df644b73ab5e7f30719d619 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Standalone/Runtime/Internal.meta b/Standalone/Runtime/Internal.meta new file mode 100644 index 0000000..1a80a75 --- /dev/null +++ b/Standalone/Runtime/Internal.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 98d8e1d74a2e4f8da156d32396d6d633 +timeCreated: 1681804596 \ No newline at end of file diff --git a/Standalone/Runtime/Internal/AccessTokenJsonConverter.cs b/Standalone/Runtime/Internal/AccessTokenJsonConverter.cs new file mode 100644 index 0000000..93b8857 --- /dev/null +++ b/Standalone/Runtime/Internal/AccessTokenJsonConverter.cs @@ -0,0 +1,58 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using Newtonsoft.Json; +using Newtonsoft.Json.Linq; +using TapSDK.Login; + +namespace TapSDK.Compliance.Internal { + public class AccessTokenJsonConverter : JsonConverter + { + private readonly Type[] _types; + + public AccessTokenJsonConverter(params Type[] types) + { + _types = types; + } + + public override void WriteJson(JsonWriter writer, object val, JsonSerializer serializer) { + if (val.GetType() != typeof(AccessToken)) return; + var accessToken = (AccessToken) val; + JToken t = JToken.FromObject(accessToken); + + if (t.Type != JTokenType.Object) + { + t.WriteTo(writer); + } + else + { + JObject o = (JObject)t; + var scopeKey = "scope"; + if (o.ContainsKey(scopeKey)) { + o.Remove(scopeKey); + } + if (accessToken.scopeSet != null) { + var scopeStr = string.Join(" ", accessToken.scopeSet); + o.Add(new JProperty(scopeKey, scopeStr)); + } + + o.WriteTo(writer); + } + } + + public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer) + { + throw new NotImplementedException("Unnecessary because CanRead is false. The type will skip the converter."); + } + + public override bool CanRead + { + get { return false; } + } + + public override bool CanConvert(Type objectType) + { + return _types.Any(t => t == objectType); + } + } +} \ No newline at end of file diff --git a/Standalone/Runtime/Internal/AccessTokenJsonConverter.cs.meta b/Standalone/Runtime/Internal/AccessTokenJsonConverter.cs.meta new file mode 100644 index 0000000..2c56f93 --- /dev/null +++ b/Standalone/Runtime/Internal/AccessTokenJsonConverter.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 98004d45df3d47c5961dcce28afba96a +timeCreated: 1701141953 \ No newline at end of file diff --git a/Standalone/Runtime/Internal/ComplianceConst.cs b/Standalone/Runtime/Internal/ComplianceConst.cs new file mode 100644 index 0000000..207f81a --- /dev/null +++ b/Standalone/Runtime/Internal/ComplianceConst.cs @@ -0,0 +1,73 @@ +using System.Collections.Generic; +using UnityEngine; + +public class ComplianceConst +{ + private const string MOBILE_UI_FOLDER = "Prefabs/Mobile"; + private const string STANDALONE_UI_FOLDER = "Prefabs/Standalone"; + + public const string TIME_SELECTOR_PANEL_NAME = "TapTapVietnamTimeSelectorPanel"; + + public const string ID_NUMBER_INPUT_PANEL_NAME = "TapTapChinaIDInputPanel"; + public const string QUICK_VERIFY_TIP_PANEL_NAME = "TapTapChinaQuickVerifyTipPanel"; + + public const string RETRY_ALERT_PANEL_NAME = "TapTapComplianceRetryAlert"; + + public const string HEALTH_REMINDER_PANEL_NAME = "TapTapHealthReminderPanel"; + + public const string HEALTH_PAYMENT_PANEL_NAME = "TapTapHealthPaymentPanel"; + + public const string POLICY_ACTIVE_TIME_RANGE = "time_range"; + + public const string SERVER_ERROR_TYPE_INVALID_TIME = "invalid_time"; + + public const int VERIFICATION_TYPE_V2_TOKEN = 0; + public const int VERIFICATION_TYPE_V1_TOKEN = 1; + + public const int VERIFICATION_TYPE_TAP_TOKEN = 2; + + public const int VERIFICATION_TYPE_USER_ID = 3; + + public const string VERIFICATION_STATUS_SUCCESS = "pass"; + public const string VERIFICATION_STATUS_WAITING = "waiting"; + public const string VERIFICATION_STATUS_FAILED = "failed"; + + + + + + + + /// + /// 获取预制体全路径 + /// + /// 预制体名字 + /// 是否需要移动版 Prefab,否则即为 Standalone 版本 + /// 如果寻找失败,是否用另一版本 UI 作为备选方案.比如: 找不到 Standalone 版本时, 自动使用移动版 UI + /// + public static string GetPrefabPath(string prefabName, bool isMobile = true, bool fallback = true) + { + var firstFolder = isMobile ? MOBILE_UI_FOLDER : STANDALONE_UI_FOLDER; + var secondFolder = isMobile ? STANDALONE_UI_FOLDER : MOBILE_UI_FOLDER; + var fullPath = $"{firstFolder}/{prefabName}"; + if (prefabStubs.TryGetValue(fullPath, out bool val) && val) + return fullPath; + if (Resources.Load(fullPath) != null) + { + prefabStubs[fullPath] = true; + return fullPath; + } + + if (!fallback) return null; + fullPath = $"{secondFolder}/{prefabName}"; + if (prefabStubs.TryGetValue(fullPath, out bool val2) && val2) + return fullPath; + if (Resources.Load(fullPath) == null) return null; + prefabStubs[fullPath] = true; + return fullPath; + } + + private static readonly Dictionary prefabStubs = new Dictionary(); + + +} \ No newline at end of file diff --git a/Standalone/Runtime/Internal/ComplianceConst.cs.meta b/Standalone/Runtime/Internal/ComplianceConst.cs.meta new file mode 100644 index 0000000..ab9ac33 --- /dev/null +++ b/Standalone/Runtime/Internal/ComplianceConst.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: e9e1aea2ee3be45bf93fc72840d3eb31 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Standalone/Runtime/Internal/ComplianceException.cs b/Standalone/Runtime/Internal/ComplianceException.cs new file mode 100644 index 0000000..20714c2 --- /dev/null +++ b/Standalone/Runtime/Internal/ComplianceException.cs @@ -0,0 +1,24 @@ +using TapSDK.Core; + +namespace TapSDK.Compliance +{ + public class ComplianceException : TapException + { + public string Error { get; internal set; } + + public string Description { get; internal set; } + + public long Now { get; internal set; } + + public long ErrorCode {get; internal set;} + + public string ErrorMessage { get; internal set; } + + public ComplianceException(int code, string message) : base(code, message) { } + + public bool IsTokenExpired(){ + return Error != null && Error.Equals("business_code_error") && ErrorCode == 200000; + } + + } +} diff --git a/Standalone/Runtime/Internal/ComplianceException.cs.meta b/Standalone/Runtime/Internal/ComplianceException.cs.meta new file mode 100644 index 0000000..33630a7 --- /dev/null +++ b/Standalone/Runtime/Internal/ComplianceException.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: c24267a80e9234b81885c193b01a0ac4 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Standalone/Runtime/Internal/ComplianceNewJob.cs b/Standalone/Runtime/Internal/ComplianceNewJob.cs new file mode 100644 index 0000000..b9f1c6e --- /dev/null +++ b/Standalone/Runtime/Internal/ComplianceNewJob.cs @@ -0,0 +1,213 @@ +using System; +using System.Threading.Tasks; +using TapSDK.Login; +using TapSDK.Compliance.Internal; +using TapSDK.Compliance.Model; +using System.Collections.Generic; +using TapSDK.Compliance.Standalone.Internal; +using TapSDK.Core; + +namespace TapSDK.Compliance +{ + public sealed class ComplianceNewJob : IComplianceJob + { + internal bool UseAgeRange = true; + + // 是否正在处理用户信息,当调用 startup 接口后设置为 true, 当通知游戏回调时设置为 false + internal volatile bool isCheckingUser = false; + private List> _externalCallbackList; + + public List> ExternalCallbackList + { + get => _externalCallbackList; + } + + public Task GetAgeRange() + { + var tcs = new TaskCompletionSource(); + if (!Verification.IsVerified || !UseAgeRange){ + tcs.TrySetResult(-1); + } + if(Verification.AgeLimit < Verification.UNKNOWN_AGE){ + tcs.TrySetResult(Verification.AgeLimit); + }else{ + tcs.TrySetResult(-1); + } + return tcs.Task; + + } + + /// + /// 剩余时间(单位:秒) + /// + public Task GetRemainingTime() + { + int time = 0; + if (TapTapComplianceManager.CurrentRemainSeconds == null){ + time = 0; + }else{ + if (Verification.IsAdult){ + time = 9999; + }else{ + time = TapTapComplianceManager.CurrentRemainSeconds.Value; + } + } + var tcs = new TaskCompletionSource(); + tcs.TrySetResult(time); + return tcs.Task; + + } + + + + public Task GetCurrentToken() + { + var tcs = new TaskCompletionSource(); + if (!Verification.IsVerified){ + tcs.TrySetResult(""); + } else{ + tcs.TrySetResult(Verification.GetCurrentToken()); + } + return tcs.Task; + } + + public void Init(string clientId, string clientToken, TapTapComplianceOption config) { + UseAgeRange = config.useAgeRange; + TapTapComplianceManager.Init(clientId, clientToken, config); + TapComplianceTracker.Instance.TrackInit(); + } + + public void RegisterComplianceCallback(Action callback){ + if(_externalCallbackList == null){ + _externalCallbackList = new List>(); + } + if(!_externalCallbackList.Contains(callback)){ + _externalCallbackList.Add(callback); + } + } + + public async void Startup(string userId) + { + // 如果正在处理中,直接返回 + if (isCheckingUser) { + TapLogger.Debug(" current user is checking so return"); + return; + } + isCheckingUser = true; + string sessionId = Guid.NewGuid().ToString(); + TapComplianceTracker.Instance.TrackStart("startup", sessionId); + if(TapTapComplianceManager.UserId != null){ + TapTapComplianceManager.ClearUserCache(); + } + var code = await TapTapComplianceManager.StartUp(userId); + switch(code){ + case StartUpResult.LOGIN_SUCCESS: + case StartUpResult.PERIOD_RESTRICT: + case StartUpResult.DURATION_LIMIT: + case StartUpResult.AGE_LIMIT: + TapComplianceTracker.Instance.TrackSuccess("startup", sessionId); + break; + case StartUpResult.INVALID_CLIENT_OR_NETWORK_ERROR: + TapComplianceTracker.Instance.TrackFailure("startup", sessionId, code, "invalid client or network error"); + break; + case StartUpResult.EXITED: + case StartUpResult.SWITCH_ACCOUNT: + break; + case StartUpResult.REAL_NAME_STOP: + TapComplianceTracker.Instance.TrackCancel("startup", sessionId); + break; + } + OnInvokeExternalCallback(code,null); + } + + + // ReSharper disable Unity.PerformanceAnalysis + + public void Exit() + { + TapTapComplianceManager.Logout(); + if(_externalCallbackList != null){ + foreach(Action callback in _externalCallbackList){ + callback?.Invoke(StartUpResult.EXITED, null); + } + } + } + + + public async void CheckPaymentLimit(long amount, Action handleCheckPayLimit, Action handleCheckPayLimitException) + { + try + { + var payResult = await TapTapComplianceManager.CheckPayLimit(amount); + handleCheckPayLimit?.Invoke(new CheckPayResult() + { + // status 为 1 时可以支付 + status = payResult.Status ? 1 : 0, + title = payResult.Title, + description = payResult.Content + }); + } + catch (Exception e) + { + handleCheckPayLimitException?.Invoke(e.Message); + if(e is ComplianceException aee && aee.IsTokenExpired()){ + Exit(); + } + } + } + + public async void SubmitPayment(long amount, Action handleSubmitPayResult, Action handleSubmitPayResultException) + { + try + { + await TapTapComplianceManager.SubmitPayResult(amount); + handleSubmitPayResult?.Invoke(); + } + catch (Exception e) + { + handleSubmitPayResultException?.Invoke(e.Message); + if(e is ComplianceException aee && aee.IsTokenExpired()){ + Exit(); + } + } + } + + + public void SetTestEnvironment(bool enable) { + TapTapComplianceManager.SetTestEnvironment(enable); + } + + public void OnInvokeExternalCallback(int code, string msg){ + switch(code){ + case StartUpResult.LOGIN_SUCCESS: + TapTapComplianceManager.CanPlay = true; + break; + case StartUpResult.AGE_LIMIT: + case StartUpResult.PERIOD_RESTRICT: + case StartUpResult.DURATION_LIMIT: + case StartUpResult.EXITED: + case StartUpResult.INVALID_CLIENT_OR_NETWORK_ERROR: + case StartUpResult.SWITCH_ACCOUNT: + TapTapComplianceManager.CanPlay = false; + break; + } + if (code == StartUpResult.LOGIN_SUCCESS // 通过校验 + || code == StartUpResult.REAL_NAME_STOP // 取消校验 + || code == StartUpResult.EXITED // 登出用户 + || code == StartUpResult.AGE_LIMIT // 年龄限制 + || code == StartUpResult.SWITCH_ACCOUNT // 切换账号 + || code == StartUpResult.INVALID_CLIENT_OR_NETWORK_ERROR) { // 网络异常 + // 用户结束校验流程 + isCheckingUser = false; + } + if (StartUpResult.Contains(code)){ + if(_externalCallbackList != null){ + foreach(Action callback in _externalCallbackList){ + callback?.Invoke(code, msg); + } + } + } + } + + } +} diff --git a/Standalone/Runtime/Internal/ComplianceNewJob.cs.meta b/Standalone/Runtime/Internal/ComplianceNewJob.cs.meta new file mode 100644 index 0000000..e9b4ad9 --- /dev/null +++ b/Standalone/Runtime/Internal/ComplianceNewJob.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 299f346d5e2144f159fc7ee035d1b5a2 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Standalone/Runtime/Internal/CompliancePoll.cs b/Standalone/Runtime/Internal/CompliancePoll.cs new file mode 100644 index 0000000..c644f57 --- /dev/null +++ b/Standalone/Runtime/Internal/CompliancePoll.cs @@ -0,0 +1,136 @@ +using System; +using System.Collections; +using System.Threading.Tasks; +using TapSDK.Core; +using TapSDK.Login; +using UnityEngine; +using Network = TapSDK.Compliance.Internal.Network; + +namespace TapSDK.Compliance +{ + /// + /// 防沉迷轮询器 + /// + internal class CompliancePoll : MonoBehaviour + { + static readonly string ANTI_ADDICTION_POLL_NAME = "CompliancePoll"; + + static CompliancePoll current; + + /// + /// 轮询间隔,单位:秒 + /// + private static int pollInterval = 2 * 60; + + private static Coroutine _pollCoroutine; + + private static float? _elpased; + + public static bool StartPoll; + + internal static void StartUp(int inverval = 0) + { + TapLogger.Debug("StartUp " ); + if(inverval > 0){ + pollInterval = inverval; + } + if (current == null) + { + GameObject pollGo = new GameObject(ANTI_ADDICTION_POLL_NAME); + DontDestroyOnLoad(pollGo); + current = pollGo.AddComponent(); + _elpased = null; + } + + if (_pollCoroutine == null) + { + _pollCoroutine = current.StartCoroutine(current.Poll()); + StartPoll = true; + } + } + + internal static void StartCountdownRemainTime() + { + TapLogger.Debug("StartCountdownRemainTime " ); + if (current == null) + { + GameObject pollGo = new GameObject(ANTI_ADDICTION_POLL_NAME); + DontDestroyOnLoad(pollGo); + current = pollGo.AddComponent(); + _elpased = null; + } + else + { + return; + } + + _elpased = 0; + } + + internal static void Logout() + { + StartPoll = false; + _elpased = null; + current?.StopAllCoroutines(); + _pollCoroutine = null; + } + + private void Update() + { + if (_elpased != null) + { + _elpased += Time.unscaledDeltaTime; + if (_elpased >= 1) + { + _elpased = 0; + if (TapTapComplianceManager.CurrentRemainSeconds != null) + TapTapComplianceManager.CurrentRemainSeconds--; + } + } + } + + IEnumerator Poll() + { + while (true) + { + // 上报/检查可玩 + Task checkPlayableTask = TapTapComplianceManager.CheckPlayableOnPolling(); + yield return new WaitUntil(() => checkPlayableTask.IsCompleted); + if (checkPlayableTask.Result.RemainTime <= 0) + { + _elpased = null; + break; + } + if(checkPlayableTask.Result.RemainTime > 0 && checkPlayableTask.Result.RemainTime < pollInterval){ + pollInterval = checkPlayableTask.Result.RemainTime; + } + if (_elpased == null) + _elpased = 0; + + yield return new WaitForSeconds(pollInterval); + } + } + + /// + /// 切换后台 + /// + /// + void OnApplicationPause(bool pauseStatus) + { + TapLogger.Debug("Anti OnApplicationPause " + pauseStatus); + if(pauseStatus){ + TapTapComplianceManager.LeaveGame(); + }else{ + TapTapComplianceManager.EnterGame(); + } + } + + + private static void SendPlayableRequest() + { +#pragma warning disable CS4014 + Network.CheckPlayable(); +#pragma warning restore CS4014 + } + } +} diff --git a/Standalone/Runtime/Internal/CompliancePoll.cs.meta b/Standalone/Runtime/Internal/CompliancePoll.cs.meta new file mode 100644 index 0000000..75eb754 --- /dev/null +++ b/Standalone/Runtime/Internal/CompliancePoll.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 235ab012a0811443aae2840412be8cae +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Standalone/Runtime/Internal/Config.cs b/Standalone/Runtime/Internal/Config.cs new file mode 100644 index 0000000..22629e5 --- /dev/null +++ b/Standalone/Runtime/Internal/Config.cs @@ -0,0 +1,137 @@ +using System; +using System.IO; +using System.Globalization; +using System.Threading.Tasks; +using System.Collections.Generic; +using UnityEngine; +using Newtonsoft.Json; +using TapSDK.Compliance.Model; +using TapSDK.Core; + +namespace TapSDK.Compliance.Internal +{ + public static class Config + { + internal static readonly string ANTI_ADDICTION_DIR = "tap-anti-addiction"; + static readonly string CONFIG_FILENAME = "realname_config"; + static readonly string USER_CONFIG_FILENAME = "user_config"; + + private const string TIME_FROMAT = "HH:mm"; + + internal static readonly Persistence persistence = new Persistence(Path.Combine(Application.persistentDataPath, + ANTI_ADDICTION_DIR, CONFIG_FILENAME)); + internal static readonly Persistence userPersistence = new Persistence(Path.Combine(Application.persistentDataPath, + ANTI_ADDICTION_DIR, USER_CONFIG_FILENAME)); + + + static RealNameConfigResult current; + + public static Local userLocalConfig; + + public static RealNameConfigResult Current + { + get => current; + private set => current = value; + } + + private static RealNameConfigResult _localConfig; + + internal static async Task Fetch(string userId) + { + while(true){ + //从服务端加载 + TapLogger.Debug("start feat global config from server"); + try + { + Current = await Network.FetchConfig(userId); + if (IsValid()) + { + await persistence.Save(Current); + return true; + } + } + catch (Exception e) + { + TapLogger.Error(e); + if (e is ComplianceException aee && aee.code < 500) + { + return false; + } + } + + TapLogger.Debug("start feat global config from local"); + + // 从设备缓存加载 + try + { + Current = await persistence.Load(); + if (Current != null) + return true; + } + catch (Exception e) + { + TapLogger.Error(e); + } + //使用本地默认 + // _localConfig = LoadFromBuiltin(); + // Current = _localConfig; + return false; + } + } + + + private static bool IsValid() + { + if (current == null) return false; + if (current.realNameText == null) return false; + return true; + } + + + + internal static bool NeedUploadUserAction => true; + + public static HealthReminderDesc GetMinorUnplayableHealthReminderTip() + { + return userLocalConfig.timeRangeConfig.uITipText.reject; + + } + + + internal static Prompt GetInputIdentifyTip() + { + return Current.realNameText.manualAuthTip; + } + internal static Prompt GetQuickVerifyTipPanelTip() + { + return Current.realNameText.tapAuthTip; + } + + public static Prompt GetInputIdentifyFormatErrorTip() + { + return Current.realNameText.manualAuthFailedTip; + } + + /// + /// 认证中提示(因为中宣部认证无响应) + /// + /// + public static Prompt GetInputIdentifyBlockingTip() + { + return Current.realNameText.authWaitingTip; + } + + public static HealthReminderDesc GetMinorPlayableHealthReminderTip() + { + return userLocalConfig.timeRangeConfig.uITipText.allow; + } + + public static DateTimeOffset StrictStartTime => + DateTimeOffset.ParseExact(userLocalConfig.timeRangeConfig.timeStart, + TIME_FROMAT, CultureInfo.InvariantCulture); + + public static DateTimeOffset StrictEndTime => + DateTimeOffset.ParseExact(userLocalConfig.timeRangeConfig.timeEnd, + TIME_FROMAT, CultureInfo.InvariantCulture); + } +} diff --git a/Standalone/Runtime/Internal/Config.cs.meta b/Standalone/Runtime/Internal/Config.cs.meta new file mode 100644 index 0000000..4a2c0b7 --- /dev/null +++ b/Standalone/Runtime/Internal/Config.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: ee273246998dc4d38b340de827a09b72 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Standalone/Runtime/Internal/Http.meta b/Standalone/Runtime/Internal/Http.meta new file mode 100644 index 0000000..bd70f29 --- /dev/null +++ b/Standalone/Runtime/Internal/Http.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 2edbe69d7d45a4436b4ad0f4fb889a0f +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Standalone/Runtime/Internal/Http/ComplianceHttpClient.cs b/Standalone/Runtime/Internal/Http/ComplianceHttpClient.cs new file mode 100644 index 0000000..49cdb73 --- /dev/null +++ b/Standalone/Runtime/Internal/Http/ComplianceHttpClient.cs @@ -0,0 +1,213 @@ +using System; +using System.Text; +using System.Linq; +using System.Collections.Generic; +using System.Net; +using System.Net.Http; +using System.Net.Http.Headers; +using System.Threading.Tasks; +using Newtonsoft.Json; +using TapSDK.Core; +using TapSDK.Core.Internal.Json; +using TapSDK.Core.Internal.Http; +using TapSDK.Compliance.Model; + +namespace TapSDK.Compliance.Internal.Http { + public class ComplianceHttpClient { + static readonly int INTERNAL_SERVER_ERROR_LIMIT = 3; + + internal readonly string serverUrl; + + private readonly HttpClient client; + + private readonly Dictionary>> runtimeHeaderTasks = new Dictionary>>(); + + private readonly Dictionary additionalHeaders = new Dictionary(); + + public ComplianceHttpClient(string serverUrl) { + this.serverUrl = serverUrl; + client = new HttpClient(); + client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); + } + + public void AddRuntimeHeaderTask(string key, Func> task) { + if (string.IsNullOrEmpty(key)) { + return; + } + if (task == null) { + return; + } + runtimeHeaderTasks[key] = task; + } + + public void ChangeAddtionalHeader(string key, string value) { + if (string.IsNullOrEmpty(key)) { + return; + } + + if (string.IsNullOrEmpty(value)) + { + if (additionalHeaders.ContainsKey(key)) + additionalHeaders.Remove(key); + } + else + { + additionalHeaders[key] = value; + } + } + + public Task Get(string path, + Dictionary headers = null, + Dictionary queryParams = null) { + return Request(path, HttpMethod.Get, headers, null, queryParams); + } + + public Task Post(string path, + Dictionary headers = null, + object data = null, + Dictionary queryParams = null) { + return Request(path, HttpMethod.Post, headers, data, queryParams); + } + + public Task Put(string path, + Dictionary headers = null, + object data = null, + Dictionary queryParams = null) { + return Request(path, HttpMethod.Put, headers, data, queryParams); + } + + public Task Delete(string path, + Dictionary headers = null, + object data = null, + Dictionary queryParams = null) { + return Request>(path, HttpMethod.Delete, headers, data, queryParams); + } + + async Task Request(string path, + HttpMethod method, + Dictionary headers = null, + object data = null, + Dictionary queryParams = null) { + + int retryTimes = INTERNAL_SERVER_ERROR_LIMIT; + HttpStatusCode serverErrorStatusCode = HttpStatusCode.InternalServerError; + string serverErrorString = ""; + while(retryTimes > 0){ + string url = BuildUrl(path, queryParams); + HttpRequestMessage request = new HttpRequestMessage { + RequestUri = new Uri(url), + Method = method, + }; + await FillHeaders(request.Headers, headers); + + string content = null; + if (data != null) { + content = JsonConvert.SerializeObject(data); + StringContent requestContent = new StringContent(content); + requestContent.Headers.ContentType = new MediaTypeHeaderValue("application/json"); + request.Content = requestContent; + } + TapHttpUtils.PrintRequest(client, request, content); + + HttpResponseMessage response = await client.SendAsync(request, HttpCompletionOption.ResponseHeadersRead); + request.Dispose(); + + string resultString = await response.Content.ReadAsStringAsync(); + response.Dispose(); + TapHttpUtils.PrintResponse(response, resultString); + + if (response.IsSuccessStatusCode) + { + T ret = JsonConvert.DeserializeObject(resultString, + TapJsonConverter.Default); + if (ret is BaseResponse baseResponse && !baseResponse.Success) + { + throw HandleErrorResponse(response.StatusCode, resultString); + } + return ret; + } + TapLogger.Debug("http log response code = " + response.StatusCode + " result = " + resultString); + if(response.StatusCode >= HttpStatusCode.InternalServerError){ + retryTimes--; + serverErrorStatusCode = response.StatusCode; + serverErrorString = resultString; + }else{ + throw HandleErrorResponse(response.StatusCode, resultString); + } + } + throw HandleErrorResponse(serverErrorStatusCode, serverErrorString); + } + + Exception HandleErrorResponse(HttpStatusCode statusCode, string responseContent) + { + + if (statusCode >= HttpStatusCode.InternalServerError) { + return new ComplianceException((int)statusCode, responseContent); + } + + int code = (int)statusCode; + string message = responseContent; + string err = null; + string desc = null; + long timestamp = 0; + long errorCode = -1; + try { + // 尝试获取 LeanCloud 返回错误信息 + ErrorResponse error = JsonConvert.DeserializeObject(responseContent, + TapJsonConverter.Default); + message = error.Result.Message; + err = error.Result.Error; + desc = error.Result.Description; + timestamp = error.Now; + errorCode = error.Result.ErrorCode; + } catch (Exception e) { + TapLogger.Error(e); + } + return new ComplianceException(code, message) { + Error = err, + Description = desc, + Now = timestamp, + ErrorCode = errorCode + }; + } + + string BuildUrl(string path, Dictionary queryParams) { + string apiServer = serverUrl; + StringBuilder urlSB = new StringBuilder(apiServer.TrimEnd('/')); + urlSB.Append($"/{path}"); + string url = urlSB.ToString(); + if (queryParams != null) { + IEnumerable queryPairs = queryParams.Select(kv => $"{kv.Key}={Uri.EscapeDataString(kv.Value.ToString())}"); + string queries = string.Join("&", queryPairs); + url = $"{url}?{queries}"; + } + return url; + } + + async Task FillHeaders(HttpRequestHeaders headers, Dictionary reqHeaders = null) { + // 额外 headers + if (reqHeaders != null) { + foreach (KeyValuePair kv in reqHeaders) { + headers.Add(kv.Key, kv.Value.ToString()); + } + } + if (additionalHeaders.Count > 0) { + foreach (KeyValuePair kv in additionalHeaders) { + headers.Add(kv.Key, kv.Value); + } + } + // 服务额外 headers + foreach (KeyValuePair>> kv in runtimeHeaderTasks) { + if (headers.Contains(kv.Key)) { + continue; + } + string value = await kv.Value.Invoke(); + if (string.IsNullOrEmpty(value)) { + continue; + } + headers.Add(kv.Key, value); + } + } + + } +} diff --git a/Standalone/Runtime/Internal/Http/ComplianceHttpClient.cs.meta b/Standalone/Runtime/Internal/Http/ComplianceHttpClient.cs.meta new file mode 100644 index 0000000..13a4228 --- /dev/null +++ b/Standalone/Runtime/Internal/Http/ComplianceHttpClient.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: f62dbac404d3c4c479411bf9e6ddb142 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Standalone/Runtime/Internal/Model.meta b/Standalone/Runtime/Internal/Model.meta new file mode 100644 index 0000000..b46de4c --- /dev/null +++ b/Standalone/Runtime/Internal/Model.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: e83a7bd1d31384ce29a5a6668bb3ffc6 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Standalone/Runtime/Internal/Model/BaseResponse.cs b/Standalone/Runtime/Internal/Model/BaseResponse.cs new file mode 100644 index 0000000..357a95a --- /dev/null +++ b/Standalone/Runtime/Internal/Model/BaseResponse.cs @@ -0,0 +1,14 @@ +using Newtonsoft.Json; + +namespace TapSDK.Compliance.Model +{ + internal class BaseResponse + { + [JsonProperty("success")] + internal bool Success { get; private set; } + + [JsonProperty("now")] + internal long Now { get; private set; } + } + +} diff --git a/Standalone/Runtime/Internal/Model/BaseResponse.cs.meta b/Standalone/Runtime/Internal/Model/BaseResponse.cs.meta new file mode 100644 index 0000000..1b25d68 --- /dev/null +++ b/Standalone/Runtime/Internal/Model/BaseResponse.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 8a5e00b2c27a345cb9d3fb00161519a5 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Standalone/Runtime/Internal/Model/ErrorResponse.cs b/Standalone/Runtime/Internal/Model/ErrorResponse.cs new file mode 100644 index 0000000..fb8750e --- /dev/null +++ b/Standalone/Runtime/Internal/Model/ErrorResponse.cs @@ -0,0 +1,27 @@ +using Newtonsoft.Json; + +namespace TapSDK.Compliance.Model +{ + internal class ErrorResult + { + [JsonProperty("error")] + internal string Error { get; private set; } + + [JsonProperty("error_description")] + internal string Description { get; private set; } + + [JsonProperty("msg")] + internal string Message { get; private set; } + + [JsonProperty("code")] + internal long ErrorCode { get; private set; } + + + } + + internal class ErrorResponse : BaseResponse + { + [JsonProperty("data")] + internal ErrorResult Result { get; private set; } + } +} diff --git a/Standalone/Runtime/Internal/Model/ErrorResponse.cs.meta b/Standalone/Runtime/Internal/Model/ErrorResponse.cs.meta new file mode 100644 index 0000000..116e60c --- /dev/null +++ b/Standalone/Runtime/Internal/Model/ErrorResponse.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: bba58f47f1d80410bb0f97e06466789a +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Standalone/Runtime/Internal/Model/Payable.cs b/Standalone/Runtime/Internal/Model/Payable.cs new file mode 100644 index 0000000..a29b1ee --- /dev/null +++ b/Standalone/Runtime/Internal/Model/Payable.cs @@ -0,0 +1,23 @@ +using Newtonsoft.Json; + +namespace TapSDK.Compliance.Model +{ + public class PayableResult + { + + [JsonProperty("allow")] + public bool Status { get; internal set; } + + [JsonProperty("title")] + public string Title { get; internal set; } + + [JsonProperty("description_plain")] + public string Content { get; internal set; } + } + + internal class PayableResponse : BaseResponse + { + [JsonProperty("data")] + internal PayableResult Result { get; private set; } + } +} diff --git a/Standalone/Runtime/Internal/Model/Payable.cs.meta b/Standalone/Runtime/Internal/Model/Payable.cs.meta new file mode 100644 index 0000000..4aa9398 --- /dev/null +++ b/Standalone/Runtime/Internal/Model/Payable.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 01006849de93e48a9ad09975bb01494c +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Standalone/Runtime/Internal/Model/Playable.cs b/Standalone/Runtime/Internal/Model/Playable.cs new file mode 100644 index 0000000..5a2018e --- /dev/null +++ b/Standalone/Runtime/Internal/Model/Playable.cs @@ -0,0 +1,48 @@ +using Newtonsoft.Json; +using TapSDK.Compliance.Model; + +namespace TapSDK.Compliance +{ + public class PlayableResult + { + private static readonly int MAX_CHINA_REMAIN_TIME = 60; + + /// + /// 单日游戏最大剩余时间(分钟) + /// + internal static int MaxRemainTime + { + get + { + return MAX_CHINA_REMAIN_TIME; + } + } + + /// + /// 剩余时长,用于 UI 展示 + /// + [JsonProperty("remain_time")] + public int RemainTime { get; set; } + + + /// + /// 标题,用于 UI 展示 + /// + [JsonProperty("title")] + public string Title { get; set; } + + /// + /// 内容,用于 UI 展示 + /// + [JsonProperty("description_plain")] + public string Content { get; set; } + + + } + + internal class PlayableResponse : BaseResponse + { + [JsonProperty("data")] + public PlayableResult Result; + } +} \ No newline at end of file diff --git a/Standalone/Runtime/Internal/Model/Playable.cs.meta b/Standalone/Runtime/Internal/Model/Playable.cs.meta new file mode 100644 index 0000000..3698157 --- /dev/null +++ b/Standalone/Runtime/Internal/Model/Playable.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 345e8b28e085f43a796f1870a13de98f +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Standalone/Runtime/Internal/Model/RealNameConfig.cs b/Standalone/Runtime/Internal/Model/RealNameConfig.cs new file mode 100644 index 0000000..a2f4b97 --- /dev/null +++ b/Standalone/Runtime/Internal/Model/RealNameConfig.cs @@ -0,0 +1,73 @@ +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace TapSDK.Compliance.Model +{ + + + public class Prompt + { + + /// + /// 标题 + /// + [JsonProperty("title")] + public string Title { get; private set; } + + /// + /// 内容 + /// + [JsonProperty("description_plain")] + public string Content { get; private set; } + + /// + /// 否定按钮内容 + /// + [JsonProperty("negative_button")] + public string NegativeButtonText { get; private set; } + + /// + /// 否定按钮内容 + /// + [JsonProperty("positive_button")] + public string PositiveButtonText { get; private set; } + } + + + public class RealNameText + { + // Tap 快速实名认证提示 + [JsonProperty("taptap_auth")] + public Prompt tapAuthTip; + + // 手动实名认证提示 + [JsonProperty("manual_auth")] + public Prompt manualAuthTip; + + //认证信息正在审核中提示 + [JsonProperty("auth_waiting")] + public Prompt authWaitingTip; + + //上次手动认证失败,再次手动认证提示 + [JsonProperty("auth_failed")] + public Prompt manualAuthFailedTip; + } + + + public class RealNameConfigResult + { + // 实名过程 UI 提示文案 + [JsonProperty("real_name_text")] + public RealNameText realNameText { get; private set; } + + [JsonProperty("manual_auth_enable")] + public bool useManual = true; + + } + + internal class RealNameConfigResponse : BaseResponse + { + [JsonProperty("data")] + internal RealNameConfigResult Result { get; private set; } + } +} diff --git a/Standalone/Runtime/Internal/Model/RealNameConfig.cs.meta b/Standalone/Runtime/Internal/Model/RealNameConfig.cs.meta new file mode 100644 index 0000000..d8116c6 --- /dev/null +++ b/Standalone/Runtime/Internal/Model/RealNameConfig.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 66cee1d2687df46c09a324f14689d11a +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Standalone/Runtime/Internal/Model/ServerTime.cs b/Standalone/Runtime/Internal/Model/ServerTime.cs new file mode 100644 index 0000000..0be31f4 --- /dev/null +++ b/Standalone/Runtime/Internal/Model/ServerTime.cs @@ -0,0 +1,19 @@ +using Newtonsoft.Json; + +namespace TapSDK.Compliance.Model +{ + internal class ServerTimeResult + { + /// + /// 服务器当前时间戳 + /// + [JsonProperty("timestamp")] + internal long Timestamp { get; private set; } + } + + internal class ServerTimeResponse : BaseResponse + { + [JsonProperty("data")] + internal ServerTimeResult Result { get; private set; } + } +} diff --git a/Standalone/Runtime/Internal/Model/ServerTime.cs.meta b/Standalone/Runtime/Internal/Model/ServerTime.cs.meta new file mode 100644 index 0000000..5c4ddc7 --- /dev/null +++ b/Standalone/Runtime/Internal/Model/ServerTime.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 76cf46e0c9bf243ea9089184bc0e83e0 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Standalone/Runtime/Internal/Model/StandaloneResponse.cs b/Standalone/Runtime/Internal/Model/StandaloneResponse.cs new file mode 100644 index 0000000..3f65e5f --- /dev/null +++ b/Standalone/Runtime/Internal/Model/StandaloneResponse.cs @@ -0,0 +1,12 @@ +using Newtonsoft.Json; + +namespace TapSDK.Compliance.Model +{ + public class StandaloneResponse + { + [JsonProperty("stand_alone_mode")] + private int Mode { get; set; } + + public bool Enabled => Mode == 1; + } +} diff --git a/Standalone/Runtime/Internal/Model/StandaloneResponse.cs.meta b/Standalone/Runtime/Internal/Model/StandaloneResponse.cs.meta new file mode 100644 index 0000000..e84d1c3 --- /dev/null +++ b/Standalone/Runtime/Internal/Model/StandaloneResponse.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 474d8d7cbc4fc4c0faca44d9c42ce5a4 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Standalone/Runtime/Internal/Model/SubmitPayment.cs b/Standalone/Runtime/Internal/Model/SubmitPayment.cs new file mode 100644 index 0000000..d48bf23 --- /dev/null +++ b/Standalone/Runtime/Internal/Model/SubmitPayment.cs @@ -0,0 +1,8 @@ + +namespace TapSDK.Compliance.Model +{ + internal class SubmitPaymentResponse : BaseResponse + { + + } +} diff --git a/Standalone/Runtime/Internal/Model/SubmitPayment.cs.meta b/Standalone/Runtime/Internal/Model/SubmitPayment.cs.meta new file mode 100644 index 0000000..6e739ab --- /dev/null +++ b/Standalone/Runtime/Internal/Model/SubmitPayment.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: b7e53be11ede347dba134ff2a94690dc +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Standalone/Runtime/Internal/Model/UserComplianceConfig.cs b/Standalone/Runtime/Internal/Model/UserComplianceConfig.cs new file mode 100644 index 0000000..8bbf976 --- /dev/null +++ b/Standalone/Runtime/Internal/Model/UserComplianceConfig.cs @@ -0,0 +1,109 @@ +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace TapSDK.Compliance.Model +{ + + public class UserState + { + // Tap 快速实名认证提示 + [JsonProperty("age_limit")] + public int ageLimit; + + // 手动实名认证提示 + [JsonProperty("is_adult")] + public bool isAdult; + + } + + public class Policy + { + // 政策 + [JsonProperty("policy_active")] + public string active; + + // 执行策略本地或服务端 + [JsonProperty("policy_model")] + public string model; + + //心跳间隔 + [JsonProperty("policy_heartbeat_interval")] + public int heartbeatInterval; + + + } + + public class AgeCheckResult + { + // 政策 + [JsonProperty("allow")] + public bool allow; + + } + + public class Local + { + // 政策 + [JsonProperty("time_range")] + public TimeRangeConfig timeRangeConfig; + + } + + public class TimeRangeConfig + { + // 政策 + [JsonProperty("time_start")] + public string timeStart; + + [JsonProperty("time_end")] + public string timeEnd; + + [JsonProperty("text")] + public HealthReminderTip uITipText; + + [JsonProperty("holidays")] + public List holidays; + + } + + public class HealthReminderTip + { + [JsonProperty("allow")] + public HealthReminderDesc allow; + + [JsonProperty("reject")] + public HealthReminderDesc reject; + } + + public class HealthReminderDesc + { + [JsonProperty("title")] + public string tipTitle=""; + + [JsonProperty("description_plain")] + public string tipDescription=""; + } + + public class UserComplianceConfigResult + { + // 实名过程 UI 提示文案 + [JsonProperty("real_name")] + public UserState userState { get; private set; } + + [JsonProperty("anti_addiction")] + public Policy policy { get; private set; } + + [JsonProperty("content_rating_check")] + public AgeCheckResult ageCheckResult { get; private set; } + + [JsonProperty("local")] + public Local localConfig { get; private set; } + + } + + internal class UserComplianceConfigResponse : BaseResponse + { + [JsonProperty("data")] + internal UserComplianceConfigResult Result { get; private set; } + } +} diff --git a/Standalone/Runtime/Internal/Model/UserComplianceConfig.cs.meta b/Standalone/Runtime/Internal/Model/UserComplianceConfig.cs.meta new file mode 100644 index 0000000..8c59039 --- /dev/null +++ b/Standalone/Runtime/Internal/Model/UserComplianceConfig.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 15ee631a75a2341cdbc30fff8649c5c5 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Standalone/Runtime/Internal/Model/Verification.cs b/Standalone/Runtime/Internal/Model/Verification.cs new file mode 100644 index 0000000..daaea6c --- /dev/null +++ b/Standalone/Runtime/Internal/Model/Verification.cs @@ -0,0 +1,88 @@ +using Newtonsoft.Json; +using TapSDK.Compliance; +using TapSDK.Compliance.Internal; +using TapSDK.Core; + +namespace TapSDK.Compliance.Model +{ + public class VerificationResult + { + + [JsonProperty("status")] + public string Status { get; private set; } + + [JsonProperty("anti_addiction_token")] + internal string ComplianceToken { get; private set; } + + [JsonProperty("code")] + public int errorCode { get; private set; } + + [JsonProperty("error")] + public string error { get; private set; } + + [JsonProperty("error_description")] + public string errorDescription { get; private set; } + + [JsonProperty("msg")] + public string msg { get; private set; } + + internal VerificationResult() { } + + internal VerificationResult(VerificationResult other) + { + TapLogger.Debug("current state = " + other.Status); + Status = other.Status; + ComplianceToken = other.ComplianceToken; + errorCode = other.errorCode; + error = other.error; + errorDescription = other.errorDescription; + msg = other.msg; + } + } + + + internal class ServerVerificationResponse : BaseResponse + { + [JsonProperty("data")] + internal VerificationResult Result; + [JsonProperty("code")] + internal string Code { get; private set; } + [JsonProperty("msg")] + internal string Message { get; private set; } + } + + public class LocalVerification : VerificationResult + { + [JsonProperty("user_id")] + internal string UserId { get; set; } + + [JsonProperty("age_limit")] + public int AgeLimit; + + [JsonProperty("is_adult")] + public bool IsAdult; + + internal LocalVerification() { } + + internal LocalVerification(VerificationResult obj) : base(obj) { } + + /// + /// 是否已认证 + /// + internal bool IsVerified => Status.Equals(ComplianceConst.VERIFICATION_STATUS_SUCCESS); + + /// + /// 是否在认证中 + /// /// + internal bool IsVerifing => Status.Equals(ComplianceConst.VERIFICATION_STATUS_WAITING); + + /// + /// 是否认证失败 + /// /// + internal bool IsVerifyFailed => Status.Equals(ComplianceConst.VERIFICATION_STATUS_FAILED); + + internal bool CheckIsAdult => AgeLimit == Verification.AGE_LIMIT_ADULT || AgeLimit == Verification.UNKNOWN_AGE_ADULT; + + + } +} diff --git a/Standalone/Runtime/Internal/Model/Verification.cs.meta b/Standalone/Runtime/Internal/Model/Verification.cs.meta new file mode 100644 index 0000000..0a77c69 --- /dev/null +++ b/Standalone/Runtime/Internal/Model/Verification.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 0790669ea7eef4987bfce1e3abbaac2e +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Standalone/Runtime/Internal/Network.cs b/Standalone/Runtime/Internal/Network.cs new file mode 100644 index 0000000..afb7d0d --- /dev/null +++ b/Standalone/Runtime/Internal/Network.cs @@ -0,0 +1,296 @@ +using System; +using System.Collections.Generic; +using System.Globalization; +using System.Net.Http.Headers; +using System.Reflection; +using System.Threading.Tasks; +using Newtonsoft.Json; +using TapSDK.Compliance.Internal.Http; +using TapSDK.Compliance.Model; +using TapSDK.Core; +using TapSDK.Login; +using TapSDK.Login.Internal; +using TapSDK.Login.Standalone; +using UnityEngine; +using System.Security.Cryptography; +using System.Text; +using System.Linq; +using TapSDK.Core.Standalone.Internal; + + +namespace TapSDK.Compliance.Internal +{ + public static class Network { + static readonly string ChinaHost = "https://tapsdk.tapapis.cn"; + + private static ComplianceHttpClient + HttpClient = new ComplianceHttpClient(ChinaHost); + + private static string gameId; + + private static string clientToken; + + private static bool enableTestMode; + + internal static void SetGameInfo(string gameId, string clientToken) + { + Network.gameId = gameId; + Network.clientToken = clientToken; + HttpClient.ChangeAddtionalHeader("X-LC-Id", gameId); + } + + internal static void InitSetting() + { + HttpClient.ChangeAddtionalHeader("Accept-Language","zh-CN"); + string host = ChinaHost; + if (HttpClient != null) + { + Type httpClientType = typeof(ComplianceHttpClient); + var hostFieldInfo = httpClientType.GetField("serverUrl", BindingFlags.NonPublic | BindingFlags.Instance); + hostFieldInfo?.SetValue(HttpClient, host); + } + } + + /// + /// 拉取配置并缓存在内存 + /// 没有持久化的原因是无法判断 SDK 自带与本地持久化版本的高低 + /// + /// + internal static async Task FetchConfig(string userId) { + string path = $"real-name/v1/get-global-config?client_id={gameId}"; + var headers = GetAuthHeaders(path,"GET", 0, null); + RealNameConfigResponse response = await HttpClient.Get(path, headers); + return response.Result; + } + + /// + /// 拉取实名认证数据 + /// + /// + internal static async Task FetchVerification(string userId) + { + string path = $"real-name/v1/anti-addiction-token?client_id={gameId}"; + var headers = GetAuthHeaders(path,"GET", 0, null); + ServerVerificationResponse response = await HttpClient.Get(path, headers); + return response.Result; + } + + /// + /// V1 升级 v2 token + internal static async Task UpgradeToken(string userId, string oldToken) + { + string path = $"real-name/v1/anti-addiction-token-upgrade?client_id={gameId}"; + var param = new Dictionary { + ["anti_addiction_token_v1"] = oldToken + }; + var headers = GetAuthHeaders(path,"POST", 0, param); + ServerVerificationResponse response = await HttpClient.Post(path, headers, data:param); + return response.Result; + } + + /// + /// 使用 TapToken 获取实名 token + /// + public static async Task FetchVerificationByTapToken(string userId, AccessToken token, long timestamp = 0) { + string path = $"real-name/v1/anti-addiction-token-taptap?client_id={gameId}"; + var httpClientType = typeof(ComplianceHttpClient); + var hostFieldInfo = httpClientType.GetField("serverUrl", BindingFlags.NonPublic | BindingFlags.Instance); + string host = hostFieldInfo?.GetValue(HttpClient) as string; + var uri = new Uri(host + "/" + path); + + var sign = GetMacToken(token, uri, timestamp); + var headers = GetAuthHeaders(path,"GET", (int)timestamp, null); + headers.Add("Authorization", sign); + ServerVerificationResponse response = await HttpClient.Get(path, headers:headers); + return response.Result; + } + + private static string GetMacToken(AccessToken token, Uri uri, long timestamp = 0) { + TapLogger.Debug(" uri = " + uri.Host + " path = " + uri.PathAndQuery + " token mac = " + + token.macKey); + int ts = (int)timestamp; + if (ts == 0) { + var dt = DateTime.UtcNow - new DateTime(1970, 1, 1); + ts = (int)dt.TotalSeconds; + } + TapLogger.Debug(" GetMacToken ts = " + ts); + var sign = "MAC " + LoginService.GetAuthorizationHeader(token.kid, + token.macKey, + token.macAlgorithm, + "GET", + uri.PathAndQuery, + uri.Host, + "443", ts); + return sign; + } + + /// + /// 检测身份信息是否通过 + /// + /// 用户名 + /// 身份证信息 + /// + internal static async Task FetchVerificationManual(string userName, string idCard) + { + var tcs = new TaskCompletionSource(); + string path = $"real-name/v1/anti-addiction-token-manual?client_id={gameId}"; + Dictionary data = new Dictionary + { + ["name"] = userName, + ["idcard"] = idCard + }; + var headers = GetAuthHeaders(path,"POST", 0, data); + ServerVerificationResponse response = await HttpClient.Post(path, headers, data: data); + tcs.TrySetResult(response.Result); + + return await tcs.Task; + } + + /// + /// 获取用户配置 + /// + /// + internal static async Task CheckUserConfig() + { + string path; + if (!enableTestMode) { + path = $"anti-addiction/v1/get-config-by-token?platform=pc&client_id={gameId}"; + }else{ + path = $"anti-addiction/v1/get-config-by-token?platform=pc&client_id={gameId}&test_mode=1"; + } + Dictionary headers = GetAuthHeaders(path,"GET",0,null); + UserComplianceConfigResponse response = await HttpClient.Get(path, headers: headers); + #if UNITY_EDITOR + TapLogger.Debug($"检查用户状态: ageLimit: {response.Result.userState.ageLimit} ageCheck: {response.Result.ageCheckResult.allow} IsAdult: {response.Result.userState.isAdult} "); + #endif + return response.Result; + } + /// + /// 检测是否可玩 + /// + /// + internal static async Task CheckPlayable() + { + string path = ""; + if (!enableTestMode) { + path = $"anti-addiction/v1/heartbeat?client_id={gameId}"; + } + else { + path = $"anti-addiction/v1/heartbeat?client_id={gameId}&test_mode=1"; + } + Dictionary data = new Dictionary{ + ["session_id"] = TapTapComplianceManager.CurrentSession + }; + Dictionary headers = GetAuthHeaders(path,"POST",0, data); + PlayableResponse response = await HttpClient.Post(path, headers: headers, data:data); + #if UNITY_EDITOR + TapLogger.Debug($"检查是否可玩结果: remainTime: {response.Result.RemainTime} Content: {response.Result.Content}"); + #endif + return response.Result; + } + + /// + /// 检测是否可充值 + /// + /// + /// + internal static async Task CheckPayable(long amount) + { + string path = ""; + if (!enableTestMode) { + path = $"anti-addiction/v1/payable?client_id={gameId}&amount={amount}"; + } + else { + path = $"anti-addiction/v1/payable?client_id={gameId}&amount={amount}&test_mode=1"; + } + Dictionary headers = GetAuthHeaders(path, "GET", 0, null); + PayableResponse response = await HttpClient.Get(path, headers: headers); + return response.Result; + } + + /// + /// 上传充值操作 + /// + /// + /// + internal static async Task SubmitPayment(long amount) + { + string path = ""; + if (!enableTestMode) { + path = $"anti-addiction/v1/payment-submit?client_id={gameId}"; + } + else { + path = $"anti-addiction/v1/payment-submit?client_id={gameId}&test_mode=1"; + } + Dictionary data = new Dictionary + { + { "amount", amount } + }; + Dictionary headers = GetAuthHeaders(path, "POST", 0, data); + + await HttpClient.Post(path, headers:headers, data: data); + } + // internal static Dictionary GetAuthHeaders(){ + // return new Dictionary{}; + // } + + internal static Dictionary GetAuthHeaders(string path, string httpMethod,int timestamp, Dictionary body) + { + var httpClientType = typeof(ComplianceHttpClient); + var hostFieldInfo = httpClientType.GetField("serverUrl", BindingFlags.NonPublic | BindingFlags.Instance); + string host = hostFieldInfo?.GetValue(HttpClient) as string; + var uri = "/" + path; + int ts = timestamp; + if (ts == 0) { + var dt = DateTime.UtcNow - new DateTime(1970, 1, 1); + ts = (int)dt.TotalSeconds; + } + var nonce = new System.Random().Next().ToString(); + var headers = new Dictionary + { + { "X-Tap-PN", "TapSDK" }, + { "X-Tap-Lang", Tracker.getServerLanguage() }, + { "X-Tap-Device-Id", SystemInfo.deviceUniqueIdentifier}, + { "X-Tap-Platform", "PC"}, + { "X-Tap-SDK-Module","TapCompliance"}, + { "X-Tap-SDK-Module-Version", TapTapSDK.Version}, + { "X-Tap-SDK-Artifact", "Unity"}, + { "User-Agent","TapSDK-Unity/" + TapTapSDK.Version}, + { "X-Tap-Nonce", nonce}, + { "X-Tap-Ts",ts} + }; + string token = Verification.GetCurrentToken(); + if (!string.IsNullOrEmpty(token)) + { + headers.Add("X-Tap-Anti-Addiction-Token", token); + } + if(!string.IsNullOrEmpty(TapTapComplianceManager.UserId)){ + headers.Add("X-Tap-SDK-Game-User-Id", TapTapComplianceManager.UserId); + } + headers = headers.OrderBy(x => x.Key).ToDictionary(x => x.Key, y=>y.Value); + List headerList = new List(); + foreach(KeyValuePair kv in headers){ + if(kv.Key.ToLower().StartsWith("x-tap-")){ + headerList.Add(kv.Key.ToLower()+":"+kv.Value); + } + } + string headerString = string.Join("\n",headerList); + var normalizedString = $"{httpMethod}\n{uri}\n{headerString}\n"; + if(body != null){ + normalizedString += $"{JsonConvert.SerializeObject(body)}\n"; + }else{ + normalizedString += "\n"; + } + + HashAlgorithm hashGenerator= new HMACSHA256(Encoding.UTF8.GetBytes(clientToken)); + + var hash = Convert.ToBase64String(hashGenerator.ComputeHash(Encoding.UTF8.GetBytes(normalizedString))); + headers.Add("X-Tap-Sign",hash); + return headers; + } + + internal static void SetTestEnvironment(bool enable) { + enableTestMode = enable; + } + } +} diff --git a/Standalone/Runtime/Internal/Network.cs.meta b/Standalone/Runtime/Internal/Network.cs.meta new file mode 100644 index 0000000..858afa0 --- /dev/null +++ b/Standalone/Runtime/Internal/Network.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 910abb7ee00694280b283794b40b50de +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Standalone/Runtime/Internal/Persistence.cs b/Standalone/Runtime/Internal/Persistence.cs new file mode 100644 index 0000000..7be8c5f --- /dev/null +++ b/Standalone/Runtime/Internal/Persistence.cs @@ -0,0 +1,91 @@ +using System; +using System.Text; +using System.IO; +using System.Threading.Tasks; +using Newtonsoft.Json; +using TapSDK.Core; + +namespace TapSDK.Compliance.Internal +{ + /// + /// 通用 JSON 序列化工具 + /// + internal class Persistence + { + private readonly string _filePath; + + internal Persistence(string path) + { + _filePath = path; + } + + internal async Task Load() where T : class + { + TapLogger.Debug(_filePath); + if (!File.Exists(_filePath)) + { + return null; + } + + string text; + using (FileStream fs = File.OpenRead(_filePath)) + { + byte[] buffer = new byte[fs.Length]; + await fs.ReadAsync(buffer, 0, (int)fs.Length); + text = Encoding.UTF8.GetString(buffer); + } + try + { + return JsonConvert.DeserializeObject(text); + } + catch (Exception e) + { + TapLogger.Error(e); + Delete(); + return null; + } + } + + internal async Task Save(T obj) + { + if (obj == null) + { + TapLogger.Error("Saved object is null."); + return; + } + + string text; + try + { + text = JsonConvert.SerializeObject(obj); + } + catch (Exception e) + { + TapLogger.Error(e); + return; + } + + string dirPath = Path.GetDirectoryName(_filePath); + if (!string.IsNullOrEmpty(dirPath) && !Directory.Exists(dirPath)) + { + Directory.CreateDirectory(dirPath); + } + + using (FileStream fs = File.Create(_filePath)) + { + byte[] buffer = Encoding.UTF8.GetBytes(text); + await fs.WriteAsync(buffer, 0, buffer.Length); + } + } + + internal void Delete() + { + if (!File.Exists(_filePath)) + { + return; + } + + File.Delete(_filePath); + } + } +} diff --git a/Standalone/Runtime/Internal/Persistence.cs.meta b/Standalone/Runtime/Internal/Persistence.cs.meta new file mode 100644 index 0000000..b95e105 --- /dev/null +++ b/Standalone/Runtime/Internal/Persistence.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 623ffdac98b9e4298ad241563c1f5b2b +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Standalone/Runtime/Internal/TapComplianceUI.cs b/Standalone/Runtime/Internal/TapComplianceUI.cs new file mode 100644 index 0000000..c607a2b --- /dev/null +++ b/Standalone/Runtime/Internal/TapComplianceUI.cs @@ -0,0 +1,68 @@ +using System; +using System.Threading.Tasks; +using TapSDK.Compliance.Model; +using TapSDK.Compliance.Internal; +using TapSDK.UI; + +namespace TapSDK.Compliance +{ + public static class TapComplianceUI + { + /// + /// 打开健康提醒窗口 + /// + internal static void OpenHealthReminderPanel(PlayableResult playable, Action onOk = null, Action onSwitchAccount = null) + { + var path = ComplianceConst.GetPrefabPath(ComplianceConst.HEALTH_REMINDER_PANEL_NAME, + TapTapComplianceManager.IsUseMobileUI()); + var healthReminderPanel = UIManager.Instance.OpenUI(path); + healthReminderPanel.Show(playable, onOk, onSwitchAccount); + } + + /// + /// 打开健康充值提醒窗口 + /// + /// + internal static void OpenHealthPaymentPanel(PayableResult payable) + { + var path = ComplianceConst.GetPrefabPath(ComplianceConst.HEALTH_PAYMENT_PANEL_NAME, + TapTapComplianceManager.IsUseMobileUI()); + var healthPaymentPanel = UIManager.Instance.OpenUI(path); + healthPaymentPanel.Show(payable); + } + + /// + /// 打开健康充值提醒窗口.填入自定义的文本内容 + /// + /// + /// + /// + public static void OpenHealthPaymentPanel(string title, string content, string buttonText, Action onOk = null) + { + var path = ComplianceConst.GetPrefabPath(ComplianceConst.HEALTH_PAYMENT_PANEL_NAME, + TapTapComplianceManager.IsUseMobileUI()); + var healthPaymentPanel = UIManager.Instance.OpenUI(path); + healthPaymentPanel.Show(title, content, buttonText, onOk); + } + + /// + /// 打开重试对话框 + /// + internal static void ShowRetryDialog(string message, Action onRetry, string confirmButtonText = null) + { + var path = ComplianceConst.GetPrefabPath(ComplianceConst.RETRY_ALERT_PANEL_NAME, + TapTapComplianceManager.IsUseMobileUI()); + var retryAlert = + UIManager.Instance.OpenUI(path); + retryAlert.Show(message, onRetry, confirmButtonText); + } + + public static Task ShowRetryDialog(string message, string confirmButtonText = null) + { + TaskCompletionSource tcs = new TaskCompletionSource(); + ShowRetryDialog(message, () => tcs.TrySetResult(null), confirmButtonText); + return tcs.Task; + } + + } +} diff --git a/Standalone/Runtime/Internal/TapComplianceUI.cs.meta b/Standalone/Runtime/Internal/TapComplianceUI.cs.meta new file mode 100644 index 0000000..20ba89f --- /dev/null +++ b/Standalone/Runtime/Internal/TapComplianceUI.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: d10ccafaeefb34ef1b44229650242b4c +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Standalone/Runtime/Internal/TapLoginPermissionProvider.cs b/Standalone/Runtime/Internal/TapLoginPermissionProvider.cs new file mode 100644 index 0000000..894a4f9 --- /dev/null +++ b/Standalone/Runtime/Internal/TapLoginPermissionProvider.cs @@ -0,0 +1,24 @@ +using TapSDK.Login; +using TapSDK.Login.Standalone; + +namespace TapSDK.Compliance +{ + public class TapLoginPermissionConfig : IComplianceProvider + { + public string GetAgeRangeScope() + { + if (TapTapComplianceManager.ClientId != null) + { + if (TapTapComplianceManager.ComplianceConfig.useAgeRange) + { + return ComplianceWorker.SCOPE_COMPLIANCE; + } + else + { + return ComplianceWorker.SCOPE_COMPLIANCE_BASIC; + } + } + return null; + } + } +} diff --git a/Standalone/Runtime/Internal/TapLoginPermissionProvider.cs.meta b/Standalone/Runtime/Internal/TapLoginPermissionProvider.cs.meta new file mode 100644 index 0000000..166cc81 --- /dev/null +++ b/Standalone/Runtime/Internal/TapLoginPermissionProvider.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 27ecc10c6928546698d857028fb46cc7 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Standalone/Runtime/Internal/TapTapComplianceManager.cs b/Standalone/Runtime/Internal/TapTapComplianceManager.cs new file mode 100644 index 0000000..8a04cfa --- /dev/null +++ b/Standalone/Runtime/Internal/TapTapComplianceManager.cs @@ -0,0 +1,253 @@ +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Threading.Tasks; +using TapSDK.Compliance.Internal; +using TapSDK.Compliance.Localization; +using TapSDK.UI; +using TapSDK.Compliance.Model; +using TapSDK.Core; +using UnityEngine; +using TapSDK.Login; +using Network = TapSDK.Compliance.Internal.Network; + +namespace TapSDK.Compliance +{ + public class TapTapComplianceManager + { + public static string UserId; + + public static string ClientId { get; private set; } + + public static TapTapComplianceOption config; + + private static bool needResumePoll; + + public static TapTapComplianceOption ComplianceConfig => config == null ? config = new TapTapComplianceOption() : config; + + public static ComplianceLocalizationItems LocalizationItems + { + get + { + if (_ComplianceLocalizationItems == null) + { + var textAsset = Resources.Load(ComplianceLocalizationItems.PATH); + _ComplianceLocalizationItems = ComplianceLocalizationItems.FromJson(textAsset.text); + } + return _ComplianceLocalizationItems; + } + } + private static ComplianceLocalizationItems _ComplianceLocalizationItems; + public static bool CanPlay = false; + + private static PlayableResult _currentPlayableResult; + internal static PlayableResult CurrentPlayableResult + { + get => _currentPlayableResult; + set + { + if (CurrentRemainSeconds == null) + { + CompliancePoll.StartCountdownRemainTime(); + } + + if (value != null) + { + CurrentRemainSeconds = value.RemainTime; + } + _currentPlayableResult = value; + } + } + + private static UserComplianceConfigResult _currentUserAntiResult; + public static UserComplianceConfigResult CurrentUserAntiResult + { + get => _currentUserAntiResult; + set + { + Config.userLocalConfig = value.localConfig; + _currentUserAntiResult = value; + } + } + + internal static string CurrentSession = ""; + + internal static int? CurrentRemainSeconds {get; set; } + + private static BaseComplianceWorker worker; + + /// + /// 初始化, 建议使用这个接口,因为默认调用了 SetRegion,如果使用另一个 Init 接口,需要在 Init 之后,手动调用 SetRegion + /// + /// + public static void Init(string clientId, string clientToken, TapTapComplianceOption config) + { + if (config == null) + { + throw new ArgumentNullException(nameof(config)); + } + + TapTapComplianceManager.config = config; + if (string.IsNullOrEmpty(clientId)) + { + throw new ArgumentNullException(nameof(clientId)); + } + TapTapComplianceManager.ClientId = clientId; + Network.SetGameInfo(clientId, clientToken); + Network.InitSetting(); + var textAsset = Resources.Load(ComplianceLocalizationItems.PATH); + _ComplianceLocalizationItems = ComplianceLocalizationItems.FromJson(textAsset.text); + } + + public static void SetTestEnvironment(bool enable) { + Network.SetTestEnvironment(enable); + if (enable) + UIManager.Instance.OpenTip("当前处于防沉迷调试模式", Color.red, TextAnchor.UpperRight); + else { + UIManager.Instance.CloseTip(); + } + } + /// + /// 启动 + /// + /// 用户名 + /// + public static async Task StartUp(string userId) { + if (string.IsNullOrEmpty(userId)) + { + throw new ArgumentNullException(nameof(userId)); + } + + UserId = userId; + UIManager.Instance.OpenLoading(); + InitWorker(); + bool isSuccess = await UpdateConfig(userId); + if(isSuccess){ + return await Worker.StartUp(UserId); + }else{ + UIManager.Instance.CloseLoading(); + return StartUpResult.INVALID_CLIENT_OR_NETWORK_ERROR; + } + } + + private static void InitWorker() { + var worker = Worker; + TapTapComplianceManager.worker = worker; + } + + private static async Task UpdateConfig(string userId) { + return await worker.FetchConfigAsync(userId); + } + + /// + /// 登出 + /// + public static void Logout() + { + CurrentRemainSeconds = null; + CurrentPlayableResult = null; + Worker.Logout(); + } + + internal static void ClearUserCache(){ + CurrentRemainSeconds = null; + CurrentPlayableResult = null; + Worker.Logout(false); + } + + + /// + /// 检查支付 + /// + /// + /// + public static async Task CheckPayLimit(long amount) + { + return await Worker.CheckPayableAsync(amount); + } + + /// + /// 上报支付 + /// + /// + /// + public static Task SubmitPayResult(long amount) + { + return Worker.SubmitPayResult(amount); + } + + /// + /// 轮询时,检查可玩性 + /// + /// + internal static async Task CheckPlayableOnPolling() + { + CurrentPlayableResult = await Worker.CheckPlayableOnPollingAsync(); + return CurrentPlayableResult; + } + + public static void EnterGame() + { + if (CanPlay && needResumePoll) + { + TapLogger.Debug("enter game in antiAddiciton " ); + CompliancePoll.StartUp(); + needResumePoll = false; + } + } + + public static void LeaveGame() + { + if (CanPlay && CompliancePoll.StartPoll) + { + TapLogger.Debug("leave game in antiAddiciton "); + CompliancePoll.Logout(); + needResumePoll = true; + } + } + + /// + /// 是否使用移动版 UI,否则就是用 Standalone 版本 UI + /// + /// + public static bool IsUseMobileUI() + { + return false; + } + + public static bool? useMobileUI; + + #region Worker + + private static BaseComplianceWorker currentWorker ; + + private static BaseComplianceWorker GetWorker() + { + if (currentWorker == null){ + currentWorker = GetChinaWorker(); + } + return currentWorker; + + } + + private static BaseComplianceWorker Worker => GetWorker(); + + private static BaseComplianceWorker GetChinaWorker() { + // get ChinaComplianceWorker from TapSDK.Compliance.Standalone.Runtime dll + Type baseWorkerType = typeof(BaseComplianceWorker); + Type[] chinaWorkerType = AppDomain.CurrentDomain.GetAssemblies() + .Where(asssembly => asssembly.GetName().FullName.StartsWith("TapSDK.Compliance.Standalone.Runtime")) + .SelectMany(assembly => assembly.GetTypes()) + .Where(clazz => baseWorkerType.IsAssignableFrom(clazz) && clazz.IsClass) + .ToArray(); + if (chinaWorkerType != null && chinaWorkerType.Length > 0) { + return Activator.CreateInstance(chinaWorkerType[0]) as BaseComplianceWorker; + } + + return null; + } + + #endregion + } +} diff --git a/Standalone/Runtime/Internal/TapTapComplianceManager.cs.meta b/Standalone/Runtime/Internal/TapTapComplianceManager.cs.meta new file mode 100644 index 0000000..06707b3 --- /dev/null +++ b/Standalone/Runtime/Internal/TapTapComplianceManager.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: f21050346037b4fb38b4cd2bd97bf676 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Standalone/Runtime/Internal/Tool.cs b/Standalone/Runtime/Internal/Tool.cs new file mode 100644 index 0000000..b5a5060 --- /dev/null +++ b/Standalone/Runtime/Internal/Tool.cs @@ -0,0 +1,211 @@ +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Security.Cryptography; +using System.Text; +using UnityEngine; + +namespace TapSDK.Compliance.Internal +{ + public static class Tool + { + public static int GetMonthDayCount(int year, int month) + { + switch (month) + { + case 1: + case 3: + case 5: + case 7: + case 8: + case 10: + case 12: + return 31; + case 2: + return IsLeapYear(year) ? 29 : 28; + default: + return 30; + } + } + + public static bool IsLeapYear(int year) + { + return year % 4 == 0 && year % 100 != 0 || year % 400 == 0; + } + + /// + /// md5加密 + /// + /// + /// + public static string EncryptString(string str) + { + MD5 md5 = MD5.Create(); + // 将字符串转换成字节数组 + byte[] byteOld = Encoding.UTF8.GetBytes(str); + // 调用加密方法 + byte[] byteNew = md5.ComputeHash(byteOld); + // 将加密结果转换为字符串 + StringBuilder sb = new StringBuilder(); + foreach (byte b in byteNew) + { + // 将字节转换成16进制表示的字符串, + sb.Append(b.ToString("x2")); + } + + // 返回加密的字符串 + return sb.ToString(); + } + + /// + /// Encrypt the content with public key (in string) + /// + /// + /// + /// + public static string RsaEncrypt(string input, string key) + { + //https://stackoverflow.com/questions/11506891/how-to-load-the-rsa-public-key-from-file-in-c-sharp + try + { + var base64Info = Convert.FromBase64String(key); + RSACryptoServiceProvider rsa = DecodeX509PublicKey(base64Info); + int chunckSize = 245; + var encodeInfo = Encoding.UTF8.GetBytes(input); + + // 用来存储加密后的数据的列表 + List encryptedDataList = new List(); + + // 分段加密 + for (int i = 0; i < encodeInfo.Length; i += chunckSize) { + int blockSize = Math.Min(chunckSize, encodeInfo.Length - i); + byte[] blockData = new byte[blockSize]; + Buffer.BlockCopy(encodeInfo, i, blockData, 0, blockSize); + byte[] encryptedBlock = rsa.Encrypt(blockData, false); + encryptedDataList.Add(encryptedBlock); + } + // 将加密后的数据拼接在一起 + byte[] encryptedData = encryptedDataList.SelectMany(x => x).ToArray(); + // 最终的加密结果可以保存到文件或通过网络传输 + string encryptedString = Convert.ToBase64String(encryptedData); + return encryptedString; + } + catch (Exception e) + { + Debug.LogErrorFormat("RSA Encrypt Error! input: {0} key: {1}\n Msg: {2}", input, key, e.Message); + return null; + } + } + + private static bool CompareBytearrays(byte[] a, byte[] b) + { + if (a.Length != b.Length) + return false; + int i = 0; + foreach (byte c in a) + { + if (c != b[i]) + return false; + i++; + } + + return true; + } + + private static RSACryptoServiceProvider DecodeX509PublicKey(byte[] x509Key) + { + // encoded OID sequence for PKCS #1 rsaEncryption szOID_RSA_RSA = "1.2.840.113549.1.1.1" + byte[] seqOid = { 0x30, 0x0D, 0x06, 0x09, 0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x01, 0x01, 0x05, 0x00 }; + // --------- Set up stream to read the asn.1 encoded SubjectPublicKeyInfo blob ------ + MemoryStream mem = new MemoryStream(x509Key); + BinaryReader binaryReader = new BinaryReader(mem); //wrap Memory Stream with BinaryReader for easy reading + + try + { + + var twoBytes = binaryReader.ReadUInt16(); + if (twoBytes == 0x8130) //data read as little endian order (actual data order for Sequence is 30 81) + binaryReader.ReadByte(); //advance 1 byte + else if (twoBytes == 0x8230) + binaryReader.ReadInt16(); //advance 2 bytes + else + return null; + + var seq = binaryReader.ReadBytes(15); + if (!CompareBytearrays(seq, seqOid)) //make sure Sequence for OID is correct + return null; + + twoBytes = binaryReader.ReadUInt16(); + if (twoBytes == 0x8103) //data read as little endian order (actual data order for Bit String is 03 81) + binaryReader.ReadByte(); //advance 1 byte + else if (twoBytes == 0x8203) + binaryReader.ReadInt16(); //advance 2 bytes + else + return null; + + var bt = binaryReader.ReadByte(); + if (bt != 0x00) //expect null byte next + return null; + + twoBytes = binaryReader.ReadUInt16(); + if (twoBytes == 0x8130) //data read as little endian order (actual data order for Sequence is 30 81) + binaryReader.ReadByte(); //advance 1 byte + else if (twoBytes == 0x8230) + binaryReader.ReadInt16(); //advance 2 bytes + else + return null; + + twoBytes = binaryReader.ReadUInt16(); + byte lowByte; + byte highByte = 0x00; + + if (twoBytes == 0x8102) //data read as little endian order (actual data order for Integer is 02 81) + lowByte = binaryReader.ReadByte(); // read next bytes which is bytes in modulus + else if (twoBytes == 0x8202) + { + highByte = binaryReader.ReadByte(); //advance 2 bytes + lowByte = binaryReader.ReadByte(); + } + else + return null; + byte[] modInt = { lowByte, highByte, 0x00, 0x00 }; //reverse byte order since asn.1 key uses big endian order + int modSize = BitConverter.ToInt32(modInt, 0); + + byte firstByte = binaryReader.ReadByte(); + binaryReader.BaseStream.Seek(-1, SeekOrigin.Current); + + if (firstByte == 0x00) + { //if first byte (highest order) of modulus is zero, don't include it + binaryReader.ReadByte(); //skip this null byte + modSize -= 1; //reduce modulus buffer size by 1 + } + + byte[] modulus = binaryReader.ReadBytes(modSize); //read the modulus bytes + + if (binaryReader.ReadByte() != 0x02) //expect an Integer for the exponent data + return null; + int expBytes = binaryReader.ReadByte(); // should only need one byte for actual exponent data (for all useful values) + byte[] exponent = binaryReader.ReadBytes(expBytes); + + // ------- create RSACryptoServiceProvider instance and initialize with public key ----- + RSACryptoServiceProvider rsa = new RSACryptoServiceProvider(); + RSAParameters rsaKeyInfo = new RSAParameters + { + Modulus = modulus, + Exponent = exponent + }; + rsa.ImportParameters(rsaKeyInfo); + return rsa; + } + catch (Exception) + { + return null; + } + + finally { binaryReader.Close(); } + + } + } +} + diff --git a/Standalone/Runtime/Internal/Tool.cs.meta b/Standalone/Runtime/Internal/Tool.cs.meta new file mode 100644 index 0000000..bfa2637 --- /dev/null +++ b/Standalone/Runtime/Internal/Tool.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: b8d08e31271604fae8aaa759475dddee +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Standalone/Runtime/Internal/Tracker.meta b/Standalone/Runtime/Internal/Tracker.meta new file mode 100644 index 0000000..bd89bb1 --- /dev/null +++ b/Standalone/Runtime/Internal/Tracker.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: d879e2179b79147d2bd211a51ff3aa90 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Standalone/Runtime/Internal/Tracker/TapComplianceTracker.cs b/Standalone/Runtime/Internal/Tracker/TapComplianceTracker.cs new file mode 100644 index 0000000..b69bd1d --- /dev/null +++ b/Standalone/Runtime/Internal/Tracker/TapComplianceTracker.cs @@ -0,0 +1,109 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; +using TapSDK.Core.Standalone.Internal.Openlog; + +namespace TapSDK.Compliance.Standalone.Internal +{ + internal class TapComplianceTracker + { + + private const string ACTION_INIT = "init"; + private const string ACTION_START = "start"; + private const string ACTION_SUCCESS = "success"; + private const string ACTION_FAIL = "fail"; + private const string ACTION_CANCEL = "cancel"; + + private static TapComplianceTracker instance; + + private TapOpenlogStandalone openlog; + + internal string currentVerifyType; + + private TapComplianceTracker() + { + openlog = new TapOpenlogStandalone("TapCompliance", TapTapCompliance.Version); + } + + public static TapComplianceTracker Instance + { + get + { + if (instance == null) + { + instance = new TapComplianceTracker(); + } + return instance; + } + } + + internal void TrackInit() + { + ReportLog(ACTION_INIT); + } + + internal void TrackStart(string funcNace, string seesionId) + { + currentVerifyType = "fast_verify"; + Dictionary parameters = new Dictionary + { + { "func_name", funcNace }, + { "seesion_id", seesionId }, + }; + ReportLog(ACTION_START, new Dictionary() + { + { "args", JsonConvert.SerializeObject(parameters) } + }); + } + + internal void TrackSuccess(string funcNace, string seesionId) + { + Dictionary parameters = new Dictionary + { + { "func_name", funcNace }, + { "seesion_id", seesionId }, + { "identity_verify_type", currentVerifyType } + }; + ReportLog(ACTION_SUCCESS, new Dictionary() + { + { "args", JsonConvert.SerializeObject(parameters) } + }); + } + + internal void TrackCancel(string funcNace, string seesionId) + { + Dictionary parameters = new Dictionary + { + { "func_name", funcNace }, + { "seesion_id", seesionId }, + { "identity_verify_type", currentVerifyType } + }; + ReportLog(ACTION_CANCEL, new Dictionary() + { + { "args", JsonConvert.SerializeObject(parameters) } + }); + } + + internal void TrackFailure(string funcNace, string seesionId, int errorCode = -1, string errorMessage = null) + { + Dictionary parameters = new Dictionary + { + { "func_name", funcNace }, + { "seesion_id", seesionId }, + { "error_code", errorCode.ToString() }, + { "error_msg", errorMessage }, + { "identity_verify_type", currentVerifyType } + }; + ReportLog(ACTION_FAIL, new Dictionary() + { + { "args", JsonConvert.SerializeObject(parameters) } + }); + } + + + private void ReportLog(string action, Dictionary parameters = null) + { + openlog.LogBusiness(action, parameters); + } + } +} \ No newline at end of file diff --git a/Standalone/Runtime/Internal/Tracker/TapComplianceTracker.cs.meta b/Standalone/Runtime/Internal/Tracker/TapComplianceTracker.cs.meta new file mode 100644 index 0000000..658abd1 --- /dev/null +++ b/Standalone/Runtime/Internal/Tracker/TapComplianceTracker.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: afb7267533f2b47ac9967f0c98205b2b +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Standalone/Runtime/Internal/UI.meta b/Standalone/Runtime/Internal/UI.meta new file mode 100644 index 0000000..82f8b60 --- /dev/null +++ b/Standalone/Runtime/Internal/UI.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: cef463ed366794d3f9197dc0f4f38555 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Standalone/Runtime/Internal/UI/Controller.meta b/Standalone/Runtime/Internal/UI/Controller.meta new file mode 100644 index 0000000..853cb41 --- /dev/null +++ b/Standalone/Runtime/Internal/UI/Controller.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 5ba7bd01a7dc246f9b484a79c05ae9d8 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Standalone/Runtime/Internal/UI/Controller/TapTapChinaVerifyFinishPanelController.cs b/Standalone/Runtime/Internal/UI/Controller/TapTapChinaVerifyFinishPanelController.cs new file mode 100644 index 0000000..dcf093e --- /dev/null +++ b/Standalone/Runtime/Internal/UI/Controller/TapTapChinaVerifyFinishPanelController.cs @@ -0,0 +1,81 @@ +using System; +using System.Collections; +using TapSDK.UI; +using TapSDK.Compliance.Model; +using UnityEngine; +using UnityEngine.UI; + +namespace TapSDK.Compliance.Internal { + public class TapTapChinaVerifyFinishPanelController : BasePanelController + { + public Text titleText; + public Text contentText; + public Text closeTipText; + public Button okButton; + public Button closeButton; + + private float _closeTime = 5.0f; + private float _elapse; + + private Action OnOk; + + /// + /// bind ugui components for every panel + /// + protected override void BindComponents() + { + titleText = transform.Find("Root/TitleText").GetComponent(); + contentText = transform.Find("Root/ContentText").GetComponent(); + closeTipText = transform.Find("Root/CloseTipText").GetComponent(); + okButton = transform.Find("Root/OKButton").GetComponent