├── .github ├── Images │ ├── GDPRConsentDialog.png │ └── TermsOfServiceDialog.png └── README.md ├── LICENSE.txt ├── LICENSE.txt.meta ├── Plugins.meta ├── Plugins ├── SimpleGDPRConsent.meta └── SimpleGDPRConsent │ ├── Prefabs.meta │ ├── Prefabs │ ├── GDPRSection.prefab │ ├── GDPRSection.prefab.meta │ ├── HorizontalLine.prefab │ ├── HorizontalLine.prefab.meta │ ├── PrivacyPolicy.prefab │ └── PrivacyPolicy.prefab.meta │ ├── README.txt │ ├── README.txt.meta │ ├── Resources.meta │ ├── Resources │ ├── GDPRConsentCanvas.prefab │ └── GDPRConsentCanvas.prefab.meta │ ├── Scripts.meta │ ├── Scripts │ ├── Dialogs.meta │ ├── Dialogs │ │ ├── GDPRConsentDialog.cs │ │ ├── GDPRConsentDialog.cs.meta │ │ ├── TermsOfServiceDialog.cs │ │ └── TermsOfServiceDialog.cs.meta │ ├── EventSystemHandler.cs │ ├── EventSystemHandler.cs.meta │ ├── SimpleGDPR.cs │ ├── SimpleGDPR.cs.meta │ ├── UI.meta │ └── UI │ │ ├── GDPRConsentCanvas.cs │ │ ├── GDPRConsentCanvas.cs.meta │ │ ├── GDPRSection.cs │ │ ├── GDPRSection.cs.meta │ │ ├── PrivacyPolicyLink.cs │ │ ├── PrivacyPolicyLink.cs.meta │ │ ├── SlidingToggle.cs │ │ └── SlidingToggle.cs.meta │ ├── SimpleGDPRConsent.Runtime.asmdef │ ├── SimpleGDPRConsent.Runtime.asmdef.meta │ ├── Sprites.meta │ └── Sprites │ ├── ButtonBackground.psd │ ├── ButtonBackground.psd.meta │ ├── PanelBackground.psd │ ├── PanelBackground.psd.meta │ ├── Toggle.psd │ ├── Toggle.psd.meta │ ├── WhiteBackground.psd │ └── WhiteBackground.psd.meta ├── package.json └── package.json.meta /.github/Images/GDPRConsentDialog.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yasirkula/UnitySimpleGDPRConsent/b3d42ed8c4ec7286e6f9da536cbf6c1eb83103bf/.github/Images/GDPRConsentDialog.png -------------------------------------------------------------------------------- /.github/Images/TermsOfServiceDialog.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yasirkula/UnitySimpleGDPRConsent/b3d42ed8c4ec7286e6f9da536cbf6c1eb83103bf/.github/Images/TermsOfServiceDialog.png -------------------------------------------------------------------------------- /.github/README.md: -------------------------------------------------------------------------------- 1 | # Unity GDPR Consent Plugin 2 | 3 | **Available on Asset Store:** https://assetstore.unity.com/packages/tools/gui/simple-gdpr-consent-151966 4 | 5 | **Forum Thread:** https://forum.unity.com/threads/simple-gdpr-consent-open-source.723866/ 6 | 7 | **Discord:** https://discord.gg/UJJt549AaV 8 | 9 | **[GitHub Sponsors ☕](https://github.com/sponsors/yasirkula)** 10 | 11 | This plugin helps you present a GDPR consent dialog to the users. Please note that you are responsible from forwarding the consent data to your SDKs. 12 | 13 | ## INSTALLATION 14 | 15 | There are 5 ways to install this plugin: 16 | 17 | - import [SimpleGDPR.unitypackage](https://github.com/yasirkula/UnitySimpleGDPRConsent/releases) via *Assets-Import Package* 18 | - clone/[download](https://github.com/yasirkula/UnitySimpleGDPRConsent/archive/master.zip) this repository and move the *Plugins* folder to your Unity project's *Assets* folder 19 | - import it from [Asset Store](https://assetstore.unity.com/packages/tools/gui/simple-gdpr-consent-151966) 20 | - *(via Package Manager)* click the + button and install the package from the following git URL: 21 | - `https://github.com/yasirkula/UnitySimpleGDPRConsent.git` 22 | - *(via [OpenUPM](https://openupm.com))* after installing [openupm-cli](https://github.com/openupm/openupm-cli), run the following command: 23 | - `openupm add com.yasirkula.simplegdprconsent` 24 | 25 | ## FAQ 26 | 27 | - **New Input System isn't supported on Unity 2019.2.5 or earlier** 28 | 29 | Add `ENABLE_INPUT_SYSTEM` compiler directive to **Player Settings/Scripting Define Symbols** (these symbols are platform specific, so if you change the active platform later, you'll have to add the compiler directive again). 30 | 31 | - **"Unity.InputSystem" assembly can't be resolved on Unity 2018.4 or earlier** 32 | 33 | Remove `Unity.InputSystem` assembly from **SimpleGDPRConsent.Runtime** Assembly Definition File's *Assembly Definition References* list. 34 | 35 | ## HOW TO 36 | 37 | **SimpleGDPR** class has the following functions and properties: 38 | 39 | `ConsentState GetConsentState( string identifier )`: returns *Yes*, if user has given consent for the **identifier** event to collect their data (e.g. ads personalization, analytics data collection); *No*, if user has disallowed this data collection and *Unknown*, if the permission hasn't been asked yet 40 | 41 | `void ShowDialog( IGDPRDialog dialog, DialogClosedDelegate onDialogClosed = null )`: presents the **dialog** to the user. When the dialog is closed, **onDialogClosed** is invoked (*DialogClosedDelegate* takes no parameters). See the [Dialogs](#dialogs) section below for more info about the dialogs 42 | 43 | `IEnumerator WaitForDialog( IGDPRDialog dialog )`: coroutine equivalent of *ShowDialog* 44 | 45 | `void OpenURL( string url )`: opens the specified **url** in the web browser. On WebGL, the url is opened in a new tab 46 | 47 | `bool IsDialogVisible`: returns *true* if a dialog is currently visible 48 | 49 | `bool IsTermsOfServiceAccepted`: returns *true* if user has accepted the *Terms of Service* and/or the *Privacy Policy* 50 | 51 | `bool IsGDPRApplicable`: returns *true*, if user is located in the EEA or the request location is unknown. Returns *false*, if user is not located in the EEA. This value is determined by sending a request to `http://adservice.google.com/getconfig/pubvendors`, so an active internet connection is required (on Android, set *Internet Access* to *Require* in Player Settings) 52 | 53 | **NOTE:** To comply with GDPR, users must be allowed to change the consents they've provided at any time. So, make sure that users can access the consent dialog from e.g. the settings menu. 54 | 55 | ## DIALOGS 56 | 57 | There are two types of dialogs (*IGDPRDialog*). After creating a dialog instance, you can customize it by chaining the dialog's functions (see [Example Code](example-code)). Then, you can show it to the user via the *ShowDialog* or *WaitForDialog* functions. 58 | 59 | ### TermsOfServiceDialog 60 | 61 | ![image](Images/TermsOfServiceDialog.png) 62 | 63 | This dialog prompts the user to accept your *Terms of Service* and/or *Privacy Policy*. User must press the **Accept** button to close the dialog. 64 | 65 | - `new TermsOfServiceDialog()`: creates a new instance of this dialog 66 | - `SetTermsOfServiceLink( string termsOfServiceLink )`: sets the *Terms of Service* url 67 | - `SetPrivacyPolicyLink( string privacyPolicyLink )`: sets the *Privacy Policy* url 68 | 69 | --- 70 | 71 | ### GDPRConsentDialog 72 | 73 | ![image](Images/GDPRConsentDialog.png) 74 | 75 | This dialog consists of a number of sections and a list of privacy policies that explain how the user's data is collected and used. Each section of the dialog asks for a different event's consent (e.g. ads personalization, analytics data collection). There are two types of sections: sections with a toggle and sections with a button. For SDKs that handle their consents in their own way, a button can be used (e.g. Unity Analytics handles the consent via a webpage). Otherwise, it is easier to manage a consent via a toggle. 76 | 77 | - `new GDPRConsentDialog()`: creates a new instance of this dialog 78 | - `AddSectionWithToggle( string identifier, string title, string description = null, bool initialConsentValue = true )`: adds a section with a toggle to the dialog. Here, **identifier** is a unique identifier for the particular event you are asking the consent for (e.g. you can use "*Ads*" for ads personalization). After the dialog is closed, you can pass the same *identifier* to the *SimpleGDPR.GetConsentState* function to check whether or not you have consent to collect user's data for that event 79 | - `AddSectionWithButton( ButtonClickDelegate onButtonClicked, string title, string description = null, string buttonLabel = null )`: adds a section with a button to the dialog. When the button is clicked, **onButtonClicked** is invoked (*ButtonClickDelegate* takes no parameters) 80 | - `AddPrivacyPolicy( string link )`: adds a privacy policy to the list of privacy policies 81 | - `AddPrivacyPolicies( params string[] links )`: adds a number of privacy policies to the list of privacy policies 82 | 83 | ## EXAMPLE CODE 84 | 85 | The following code has two functions: 86 | 87 | - if you click the left half of the screen, a *TermsOfServiceDialog* is presented 88 | - if you click the right half of the screen, a *GDPRConsentDialog* is presented 89 | 90 | ```csharp 91 | private const string ADS_PERSONALIZATION_CONSENT = "Ads"; 92 | 93 | private void Start() 94 | { 95 | Debug.Log( "Terms of Service has been accepted: " + SimpleGDPR.IsTermsOfServiceAccepted ); 96 | Debug.Log( "Ads personalization consent state: " + SimpleGDPR.GetConsentState( ADS_PERSONALIZATION_CONSENT ) ); 97 | Debug.Log( "Is user possibly located in the EEA: " + SimpleGDPR.IsGDPRApplicable ); 98 | } 99 | 100 | private void Update() 101 | { 102 | if( Input.GetMouseButtonDown( 0 ) ) 103 | { 104 | // Don't attempt to show a dialog if another dialog is already visible 105 | if( SimpleGDPR.IsDialogVisible ) 106 | return; 107 | 108 | if( Input.mousePosition.x < Screen.width / 2 ) 109 | { 110 | // Show a dialog that prompts the user to accept the Terms of Service and Privacy Policy 111 | SimpleGDPR.ShowDialog( new TermsOfServiceDialog(). 112 | SetTermsOfServiceLink( "https://my.tos.url" ). 113 | SetPrivacyPolicyLink( "https://my.policy.url" ), 114 | TermsOfServiceDialogClosed ); 115 | } 116 | else 117 | StartCoroutine( ShowGDPRConsentDialogAndWait() ); 118 | 119 | } 120 | } 121 | 122 | private void TermsOfServiceDialogClosed() 123 | { 124 | // We can assume that user has accepted the terms because 125 | // TermsOfServiceDialog dialog can only be closed via the 'Accept' button 126 | Debug.Log( "Accepted Terms of Service" ); 127 | } 128 | 129 | private IEnumerator ShowGDPRConsentDialogAndWait() 130 | { 131 | // Show a consent dialog with two sections (and wait for the dialog to be closed): 132 | // - Ads Personalization: its value can be changed directly from the UI, 133 | // result is stored in the ADS_PERSONALIZATION_CONSENT identifier 134 | // - Unity Analytics: its value can't be changed from the UI since Unity presents its own UI 135 | // to toggle Analytics consent. Instead, a button is shown and when the button is clicked, 136 | // UnityAnalyticsButtonClicked function is called to present Unity's own UI 137 | yield return SimpleGDPR.WaitForDialog( new GDPRConsentDialog(). 138 | AddSectionWithToggle( ADS_PERSONALIZATION_CONSENT, "Ads Personalization", "When enabled, you'll see ads that are more relevant to you. Otherwise, you will still receive ads, but they will no longer be tailored toward you." ). 139 | AddSectionWithButton( UnityAnalyticsButtonClicked, "Unity Analytics", "The collected data allows us to optimize the gameplay and update the game with new enjoyable content. You can see your collected data or change your settings from the dashboard.", "Open Analytics Dashboard" ). 140 | AddPrivacyPolicies( "https://policies.google.com/privacy", "https://unity3d.com/legal/privacy-policy", "https://my.policy.url" ) ); 141 | 142 | // Check if user has granted the Ads Personalization permission 143 | if( SimpleGDPR.GetConsentState( ADS_PERSONALIZATION_CONSENT ) == SimpleGDPR.ConsentState.Yes ) 144 | { 145 | // You can show personalized ads to the user 146 | } 147 | else 148 | { 149 | // Don't show personalized ads to the user 150 | } 151 | } 152 | 153 | private void UnityAnalyticsButtonClicked() 154 | { 155 | // Fetch the URL of the page that allows the user to toggle the Unity Analytics consent 156 | // "Unity Data Privacy Plug-in" is required: https://assetstore.unity.com/packages/add-ons/services/unity-data-privacy-plug-in-118922 157 | #if !UNITY_5_3_OR_NEWER && !UNITY_5_2 // Initialize must be called on Unity 5.1 or earlier 158 | //UnityEngine.Analytics.DataPrivacy.Initialize(); 159 | #endif 160 | //UnityEngine.Analytics.DataPrivacy.FetchPrivacyUrl( 161 | // ( url ) => SimpleGDPR.OpenURL( url ), // On WebGL, this opens the URL in a new tab 162 | // ( error ) => Debug.LogError( "Couldn't fetch url: " + error ) ); 163 | } 164 | ``` 165 | -------------------------------------------------------------------------------- /LICENSE.txt: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2019 Süleyman Yasir KULA 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /LICENSE.txt.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 30c547f27e2804041bafe38677e13723 3 | TextScriptImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Plugins.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c413a392c8219e54cbd08f0581549244 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Plugins/SimpleGDPRConsent.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 92feecee4a81ed94086c993a432bf923 3 | folderAsset: yes 4 | timeCreated: 1565083289 5 | licenseType: Free 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Plugins/SimpleGDPRConsent/Prefabs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ae28f19f19285ce48a2ffabaa293dcf7 3 | folderAsset: yes 4 | timeCreated: 1565090846 5 | licenseType: Free 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Plugins/SimpleGDPRConsent/Prefabs/GDPRSection.prefab: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!1001 &100100000 4 | Prefab: 5 | m_ObjectHideFlags: 1 6 | serializedVersion: 2 7 | m_Modification: 8 | m_TransformParent: {fileID: 0} 9 | m_Modifications: [] 10 | m_RemovedComponents: [] 11 | m_ParentPrefab: {fileID: 0} 12 | m_RootGameObject: {fileID: 1042558196441396} 13 | m_IsPrefabParent: 1 14 | --- !u!1 &1042558196441396 15 | GameObject: 16 | m_ObjectHideFlags: 0 17 | m_PrefabParentObject: {fileID: 0} 18 | m_PrefabInternal: {fileID: 100100000} 19 | serializedVersion: 5 20 | m_Component: 21 | - component: {fileID: 224630367090938570} 22 | - component: {fileID: 114272462845477878} 23 | - component: {fileID: 114255265888672088} 24 | - component: {fileID: 114307185636209700} 25 | m_Layer: 5 26 | m_Name: GDPRSection 27 | m_TagString: Untagged 28 | m_Icon: {fileID: 0} 29 | m_NavMeshLayer: 0 30 | m_StaticEditorFlags: 0 31 | m_IsActive: 1 32 | --- !u!1 &1048876918241602 33 | GameObject: 34 | m_ObjectHideFlags: 1 35 | m_PrefabParentObject: {fileID: 0} 36 | m_PrefabInternal: {fileID: 100100000} 37 | serializedVersion: 5 38 | m_Component: 39 | - component: {fileID: 224014464215056562} 40 | - component: {fileID: 222253817421472054} 41 | - component: {fileID: 114175794245987090} 42 | m_Layer: 5 43 | m_Name: Background 44 | m_TagString: Untagged 45 | m_Icon: {fileID: 0} 46 | m_NavMeshLayer: 0 47 | m_StaticEditorFlags: 0 48 | m_IsActive: 1 49 | --- !u!1 &1063462110044800 50 | GameObject: 51 | m_ObjectHideFlags: 0 52 | m_PrefabParentObject: {fileID: 0} 53 | m_PrefabInternal: {fileID: 100100000} 54 | serializedVersion: 5 55 | m_Component: 56 | - component: {fileID: 224736743781816692} 57 | - component: {fileID: 114368234213365374} 58 | - component: {fileID: 114009591776024186} 59 | - component: {fileID: 114055364794145300} 60 | m_Layer: 5 61 | m_Name: Header 62 | m_TagString: Untagged 63 | m_Icon: {fileID: 0} 64 | m_NavMeshLayer: 0 65 | m_StaticEditorFlags: 0 66 | m_IsActive: 1 67 | --- !u!1 &1079256262610834 68 | GameObject: 69 | m_ObjectHideFlags: 1 70 | m_PrefabParentObject: {fileID: 0} 71 | m_PrefabInternal: {fileID: 100100000} 72 | serializedVersion: 5 73 | m_Component: 74 | - component: {fileID: 224075991875268750} 75 | - component: {fileID: 222999642905814994} 76 | - component: {fileID: 114075858219016502} 77 | m_Layer: 5 78 | m_Name: ButtonLabel 79 | m_TagString: Untagged 80 | m_Icon: {fileID: 0} 81 | m_NavMeshLayer: 0 82 | m_StaticEditorFlags: 0 83 | m_IsActive: 1 84 | --- !u!1 &1296320580272348 85 | GameObject: 86 | m_ObjectHideFlags: 1 87 | m_PrefabParentObject: {fileID: 0} 88 | m_PrefabInternal: {fileID: 100100000} 89 | serializedVersion: 5 90 | m_Component: 91 | - component: {fileID: 224149134288973172} 92 | - component: {fileID: 114210808014081354} 93 | m_Layer: 5 94 | m_Name: Toggle 95 | m_TagString: Untagged 96 | m_Icon: {fileID: 0} 97 | m_NavMeshLayer: 0 98 | m_StaticEditorFlags: 0 99 | m_IsActive: 1 100 | --- !u!1 &1414183003710292 101 | GameObject: 102 | m_ObjectHideFlags: 1 103 | m_PrefabParentObject: {fileID: 0} 104 | m_PrefabInternal: {fileID: 100100000} 105 | serializedVersion: 5 106 | m_Component: 107 | - component: {fileID: 224466905186635452} 108 | - component: {fileID: 222074188944390688} 109 | - component: {fileID: 114724760881754288} 110 | - component: {fileID: 114327073584325336} 111 | m_Layer: 5 112 | m_Name: Handle 113 | m_TagString: Untagged 114 | m_Icon: {fileID: 0} 115 | m_NavMeshLayer: 0 116 | m_StaticEditorFlags: 0 117 | m_IsActive: 1 118 | --- !u!1 &1613350562434162 119 | GameObject: 120 | m_ObjectHideFlags: 1 121 | m_PrefabParentObject: {fileID: 0} 122 | m_PrefabInternal: {fileID: 100100000} 123 | serializedVersion: 5 124 | m_Component: 125 | - component: {fileID: 224625223544143542} 126 | - component: {fileID: 222885457505125074} 127 | - component: {fileID: 114662583809496742} 128 | - component: {fileID: 114773983814201460} 129 | m_Layer: 5 130 | m_Name: Title 131 | m_TagString: Untagged 132 | m_Icon: {fileID: 0} 133 | m_NavMeshLayer: 0 134 | m_StaticEditorFlags: 0 135 | m_IsActive: 1 136 | --- !u!1 &1808633572348110 137 | GameObject: 138 | m_ObjectHideFlags: 0 139 | m_PrefabParentObject: {fileID: 0} 140 | m_PrefabInternal: {fileID: 100100000} 141 | serializedVersion: 5 142 | m_Component: 143 | - component: {fileID: 224751364393805188} 144 | - component: {fileID: 222026217666331854} 145 | - component: {fileID: 114420331911653156} 146 | m_Layer: 5 147 | m_Name: Description 148 | m_TagString: Untagged 149 | m_Icon: {fileID: 0} 150 | m_NavMeshLayer: 0 151 | m_StaticEditorFlags: 0 152 | m_IsActive: 1 153 | --- !u!1 &1948332086867750 154 | GameObject: 155 | m_ObjectHideFlags: 0 156 | m_PrefabParentObject: {fileID: 0} 157 | m_PrefabInternal: {fileID: 100100000} 158 | serializedVersion: 5 159 | m_Component: 160 | - component: {fileID: 224457612747348782} 161 | - component: {fileID: 222413108592679584} 162 | - component: {fileID: 114115573791507032} 163 | - component: {fileID: 114479054879710650} 164 | - component: {fileID: 114661398695431132} 165 | m_Layer: 5 166 | m_Name: Button 167 | m_TagString: Untagged 168 | m_Icon: {fileID: 0} 169 | m_NavMeshLayer: 0 170 | m_StaticEditorFlags: 0 171 | m_IsActive: 1 172 | --- !u!114 &114009591776024186 173 | MonoBehaviour: 174 | m_ObjectHideFlags: 1 175 | m_PrefabParentObject: {fileID: 0} 176 | m_PrefabInternal: {fileID: 100100000} 177 | m_GameObject: {fileID: 1063462110044800} 178 | m_Enabled: 1 179 | m_EditorHideFlags: 0 180 | m_Script: {fileID: 1741964061, guid: f70555f144d8491a825f0804e09c671c, type: 3} 181 | m_Name: 182 | m_EditorClassIdentifier: 183 | m_HorizontalFit: 0 184 | m_VerticalFit: 2 185 | --- !u!114 &114055364794145300 186 | MonoBehaviour: 187 | m_ObjectHideFlags: 1 188 | m_PrefabParentObject: {fileID: 0} 189 | m_PrefabInternal: {fileID: 100100000} 190 | m_GameObject: {fileID: 1063462110044800} 191 | m_Enabled: 1 192 | m_EditorHideFlags: 0 193 | m_Script: {fileID: 11500000, guid: bf4473e16c02571459bfb89a874c805e, type: 3} 194 | m_Name: 195 | m_EditorClassIdentifier: 196 | handle: {fileID: 224466905186635452} 197 | background: {fileID: 114175794245987090} 198 | backgroundOn: {fileID: 21300004, guid: 7b2789887a9459442946c4e09e29e17d, type: 3} 199 | backgroundOff: {fileID: 21300000, guid: 7b2789887a9459442946c4e09e29e17d, type: 3} 200 | --- !u!114 &114075858219016502 201 | MonoBehaviour: 202 | m_ObjectHideFlags: 1 203 | m_PrefabParentObject: {fileID: 0} 204 | m_PrefabInternal: {fileID: 100100000} 205 | m_GameObject: {fileID: 1079256262610834} 206 | m_Enabled: 1 207 | m_EditorHideFlags: 0 208 | m_Script: {fileID: 708705254, guid: f70555f144d8491a825f0804e09c671c, type: 3} 209 | m_Name: 210 | m_EditorClassIdentifier: 211 | m_Material: {fileID: 0} 212 | m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} 213 | m_RaycastTarget: 1 214 | m_OnCullStateChanged: 215 | m_PersistentCalls: 216 | m_Calls: [] 217 | m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, 218 | Version=1.0.0.0, Culture=neutral, PublicKeyToken=null 219 | m_FontData: 220 | m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} 221 | m_FontSize: 18 222 | m_FontStyle: 0 223 | m_BestFit: 1 224 | m_MinSize: 1 225 | m_MaxSize: 18 226 | m_Alignment: 4 227 | m_AlignByGeometry: 0 228 | m_RichText: 1 229 | m_HorizontalOverflow: 0 230 | m_VerticalOverflow: 0 231 | m_LineSpacing: 1 232 | m_Text: Configure 233 | --- !u!114 &114115573791507032 234 | MonoBehaviour: 235 | m_ObjectHideFlags: 1 236 | m_PrefabParentObject: {fileID: 0} 237 | m_PrefabInternal: {fileID: 100100000} 238 | m_GameObject: {fileID: 1948332086867750} 239 | m_Enabled: 1 240 | m_EditorHideFlags: 0 241 | m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3} 242 | m_Name: 243 | m_EditorClassIdentifier: 244 | m_Material: {fileID: 0} 245 | m_Color: {r: 1, g: 1, b: 1, a: 1} 246 | m_RaycastTarget: 1 247 | m_OnCullStateChanged: 248 | m_PersistentCalls: 249 | m_Calls: [] 250 | m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, 251 | Version=1.0.0.0, Culture=neutral, PublicKeyToken=null 252 | m_Sprite: {fileID: 21300000, guid: 9c89873c7bdca6f4c91dec1e244f0b53, type: 3} 253 | m_Type: 1 254 | m_PreserveAspect: 0 255 | m_FillCenter: 1 256 | m_FillMethod: 4 257 | m_FillAmount: 1 258 | m_FillClockwise: 1 259 | m_FillOrigin: 0 260 | --- !u!114 &114175794245987090 261 | MonoBehaviour: 262 | m_ObjectHideFlags: 1 263 | m_PrefabParentObject: {fileID: 0} 264 | m_PrefabInternal: {fileID: 100100000} 265 | m_GameObject: {fileID: 1048876918241602} 266 | m_Enabled: 1 267 | m_EditorHideFlags: 0 268 | m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3} 269 | m_Name: 270 | m_EditorClassIdentifier: 271 | m_Material: {fileID: 0} 272 | m_Color: {r: 1, g: 1, b: 1, a: 1} 273 | m_RaycastTarget: 1 274 | m_OnCullStateChanged: 275 | m_PersistentCalls: 276 | m_Calls: [] 277 | m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, 278 | Version=1.0.0.0, Culture=neutral, PublicKeyToken=null 279 | m_Sprite: {fileID: 21300004, guid: 7b2789887a9459442946c4e09e29e17d, type: 3} 280 | m_Type: 0 281 | m_PreserveAspect: 0 282 | m_FillCenter: 1 283 | m_FillMethod: 4 284 | m_FillAmount: 1 285 | m_FillClockwise: 1 286 | m_FillOrigin: 0 287 | --- !u!114 &114210808014081354 288 | MonoBehaviour: 289 | m_ObjectHideFlags: 1 290 | m_PrefabParentObject: {fileID: 0} 291 | m_PrefabInternal: {fileID: 100100000} 292 | m_GameObject: {fileID: 1296320580272348} 293 | m_Enabled: 1 294 | m_EditorHideFlags: 0 295 | m_Script: {fileID: 1679637790, guid: f70555f144d8491a825f0804e09c671c, type: 3} 296 | m_Name: 297 | m_EditorClassIdentifier: 298 | m_IgnoreLayout: 0 299 | m_MinWidth: -1 300 | m_MinHeight: 40 301 | m_PreferredWidth: 70 302 | m_PreferredHeight: 40 303 | m_FlexibleWidth: 0 304 | m_FlexibleHeight: -1 305 | --- !u!114 &114255265888672088 306 | MonoBehaviour: 307 | m_ObjectHideFlags: 1 308 | m_PrefabParentObject: {fileID: 0} 309 | m_PrefabInternal: {fileID: 100100000} 310 | m_GameObject: {fileID: 1042558196441396} 311 | m_Enabled: 1 312 | m_EditorHideFlags: 0 313 | m_Script: {fileID: 1741964061, guid: f70555f144d8491a825f0804e09c671c, type: 3} 314 | m_Name: 315 | m_EditorClassIdentifier: 316 | m_HorizontalFit: 0 317 | m_VerticalFit: 2 318 | --- !u!114 &114272462845477878 319 | MonoBehaviour: 320 | m_ObjectHideFlags: 1 321 | m_PrefabParentObject: {fileID: 0} 322 | m_PrefabInternal: {fileID: 100100000} 323 | m_GameObject: {fileID: 1042558196441396} 324 | m_Enabled: 1 325 | m_EditorHideFlags: 0 326 | m_Script: {fileID: 1297475563, guid: f70555f144d8491a825f0804e09c671c, type: 3} 327 | m_Name: 328 | m_EditorClassIdentifier: 329 | m_Padding: 330 | m_Left: 0 331 | m_Right: 0 332 | m_Top: 0 333 | m_Bottom: 0 334 | m_ChildAlignment: 0 335 | m_Spacing: 20 336 | m_ChildForceExpandWidth: 0 337 | m_ChildForceExpandHeight: 0 338 | m_ChildControlWidth: 1 339 | m_ChildControlHeight: 1 340 | --- !u!114 &114307185636209700 341 | MonoBehaviour: 342 | m_ObjectHideFlags: 1 343 | m_PrefabParentObject: {fileID: 0} 344 | m_PrefabInternal: {fileID: 100100000} 345 | m_GameObject: {fileID: 1042558196441396} 346 | m_Enabled: 1 347 | m_EditorHideFlags: 0 348 | m_Script: {fileID: 11500000, guid: ead9f1377c515c7459f156de89a0a5ac, type: 3} 349 | m_Name: 350 | m_EditorClassIdentifier: 351 | title: {fileID: 114662583809496742} 352 | buttonLabel: {fileID: 114075858219016502} 353 | description: {fileID: 114420331911653156} 354 | button: {fileID: 114479054879710650} 355 | toggleHolder: {fileID: 114055364794145300} 356 | toggle: {fileID: 1296320580272348} 357 | --- !u!114 &114327073584325336 358 | MonoBehaviour: 359 | m_ObjectHideFlags: 1 360 | m_PrefabParentObject: {fileID: 0} 361 | m_PrefabInternal: {fileID: 100100000} 362 | m_GameObject: {fileID: 1414183003710292} 363 | m_Enabled: 1 364 | m_EditorHideFlags: 0 365 | m_Script: {fileID: -1254083943, guid: f70555f144d8491a825f0804e09c671c, type: 3} 366 | m_Name: 367 | m_EditorClassIdentifier: 368 | m_AspectMode: 2 369 | m_AspectRatio: 1 370 | --- !u!114 &114368234213365374 371 | MonoBehaviour: 372 | m_ObjectHideFlags: 1 373 | m_PrefabParentObject: {fileID: 0} 374 | m_PrefabInternal: {fileID: 100100000} 375 | m_GameObject: {fileID: 1063462110044800} 376 | m_Enabled: 1 377 | m_EditorHideFlags: 0 378 | m_Script: {fileID: -405508275, guid: f70555f144d8491a825f0804e09c671c, type: 3} 379 | m_Name: 380 | m_EditorClassIdentifier: 381 | m_Padding: 382 | m_Left: 0 383 | m_Right: 0 384 | m_Top: 0 385 | m_Bottom: 0 386 | m_ChildAlignment: 0 387 | m_Spacing: 15 388 | m_ChildForceExpandWidth: 0 389 | m_ChildForceExpandHeight: 1 390 | m_ChildControlWidth: 1 391 | m_ChildControlHeight: 1 392 | --- !u!114 &114420331911653156 393 | MonoBehaviour: 394 | m_ObjectHideFlags: 1 395 | m_PrefabParentObject: {fileID: 0} 396 | m_PrefabInternal: {fileID: 100100000} 397 | m_GameObject: {fileID: 1808633572348110} 398 | m_Enabled: 1 399 | m_EditorHideFlags: 0 400 | m_Script: {fileID: 708705254, guid: f70555f144d8491a825f0804e09c671c, type: 3} 401 | m_Name: 402 | m_EditorClassIdentifier: 403 | m_Material: {fileID: 0} 404 | m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} 405 | m_RaycastTarget: 1 406 | m_OnCullStateChanged: 407 | m_PersistentCalls: 408 | m_Calls: [] 409 | m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, 410 | Version=1.0.0.0, Culture=neutral, PublicKeyToken=null 411 | m_FontData: 412 | m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} 413 | m_FontSize: 18 414 | m_FontStyle: 0 415 | m_BestFit: 0 416 | m_MinSize: 1 417 | m_MaxSize: 40 418 | m_Alignment: 0 419 | m_AlignByGeometry: 0 420 | m_RichText: 1 421 | m_HorizontalOverflow: 0 422 | m_VerticalOverflow: 0 423 | m_LineSpacing: 1 424 | m_Text: When enabled, you'll see ads that are more relevant to you. Otherwise, you 425 | will still receive ads, but they will no longer be tailored toward you. 426 | --- !u!114 &114479054879710650 427 | MonoBehaviour: 428 | m_ObjectHideFlags: 1 429 | m_PrefabParentObject: {fileID: 0} 430 | m_PrefabInternal: {fileID: 100100000} 431 | m_GameObject: {fileID: 1948332086867750} 432 | m_Enabled: 1 433 | m_EditorHideFlags: 0 434 | m_Script: {fileID: 1392445389, guid: f70555f144d8491a825f0804e09c671c, type: 3} 435 | m_Name: 436 | m_EditorClassIdentifier: 437 | m_Navigation: 438 | m_Mode: 3 439 | m_SelectOnUp: {fileID: 0} 440 | m_SelectOnDown: {fileID: 0} 441 | m_SelectOnLeft: {fileID: 0} 442 | m_SelectOnRight: {fileID: 0} 443 | m_Transition: 1 444 | m_Colors: 445 | m_NormalColor: {r: 1, g: 1, b: 1, a: 1} 446 | m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} 447 | m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} 448 | m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} 449 | m_ColorMultiplier: 1 450 | m_FadeDuration: 0.1 451 | m_SpriteState: 452 | m_HighlightedSprite: {fileID: 0} 453 | m_PressedSprite: {fileID: 0} 454 | m_DisabledSprite: {fileID: 0} 455 | m_AnimationTriggers: 456 | m_NormalTrigger: Normal 457 | m_HighlightedTrigger: Highlighted 458 | m_PressedTrigger: Pressed 459 | m_DisabledTrigger: Disabled 460 | m_Interactable: 1 461 | m_TargetGraphic: {fileID: 114115573791507032} 462 | m_OnClick: 463 | m_PersistentCalls: 464 | m_Calls: [] 465 | m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0, 466 | Culture=neutral, PublicKeyToken=null 467 | --- !u!114 &114661398695431132 468 | MonoBehaviour: 469 | m_ObjectHideFlags: 1 470 | m_PrefabParentObject: {fileID: 0} 471 | m_PrefabInternal: {fileID: 100100000} 472 | m_GameObject: {fileID: 1948332086867750} 473 | m_Enabled: 1 474 | m_EditorHideFlags: 0 475 | m_Script: {fileID: 1679637790, guid: f70555f144d8491a825f0804e09c671c, type: 3} 476 | m_Name: 477 | m_EditorClassIdentifier: 478 | m_IgnoreLayout: 0 479 | m_MinWidth: -1 480 | m_MinHeight: -1 481 | m_PreferredWidth: -1 482 | m_PreferredHeight: 40 483 | m_FlexibleWidth: 1 484 | m_FlexibleHeight: -1 485 | --- !u!114 &114662583809496742 486 | MonoBehaviour: 487 | m_ObjectHideFlags: 1 488 | m_PrefabParentObject: {fileID: 0} 489 | m_PrefabInternal: {fileID: 100100000} 490 | m_GameObject: {fileID: 1613350562434162} 491 | m_Enabled: 1 492 | m_EditorHideFlags: 0 493 | m_Script: {fileID: 708705254, guid: f70555f144d8491a825f0804e09c671c, type: 3} 494 | m_Name: 495 | m_EditorClassIdentifier: 496 | m_Material: {fileID: 0} 497 | m_Color: {r: 0, g: 0, b: 0, a: 1} 498 | m_RaycastTarget: 1 499 | m_OnCullStateChanged: 500 | m_PersistentCalls: 501 | m_Calls: [] 502 | m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, 503 | Version=1.0.0.0, Culture=neutral, PublicKeyToken=null 504 | m_FontData: 505 | m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} 506 | m_FontSize: 24 507 | m_FontStyle: 0 508 | m_BestFit: 0 509 | m_MinSize: 1 510 | m_MaxSize: 40 511 | m_Alignment: 3 512 | m_AlignByGeometry: 0 513 | m_RichText: 0 514 | m_HorizontalOverflow: 0 515 | m_VerticalOverflow: 0 516 | m_LineSpacing: 1 517 | m_Text: Ads Personalization 518 | --- !u!114 &114724760881754288 519 | MonoBehaviour: 520 | m_ObjectHideFlags: 1 521 | m_PrefabParentObject: {fileID: 0} 522 | m_PrefabInternal: {fileID: 100100000} 523 | m_GameObject: {fileID: 1414183003710292} 524 | m_Enabled: 1 525 | m_EditorHideFlags: 0 526 | m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3} 527 | m_Name: 528 | m_EditorClassIdentifier: 529 | m_Material: {fileID: 0} 530 | m_Color: {r: 1, g: 1, b: 1, a: 1} 531 | m_RaycastTarget: 0 532 | m_OnCullStateChanged: 533 | m_PersistentCalls: 534 | m_Calls: [] 535 | m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, 536 | Version=1.0.0.0, Culture=neutral, PublicKeyToken=null 537 | m_Sprite: {fileID: 21300002, guid: 7b2789887a9459442946c4e09e29e17d, type: 3} 538 | m_Type: 0 539 | m_PreserveAspect: 0 540 | m_FillCenter: 1 541 | m_FillMethod: 4 542 | m_FillAmount: 1 543 | m_FillClockwise: 1 544 | m_FillOrigin: 0 545 | --- !u!114 &114773983814201460 546 | MonoBehaviour: 547 | m_ObjectHideFlags: 1 548 | m_PrefabParentObject: {fileID: 0} 549 | m_PrefabInternal: {fileID: 100100000} 550 | m_GameObject: {fileID: 1613350562434162} 551 | m_Enabled: 1 552 | m_EditorHideFlags: 0 553 | m_Script: {fileID: 1679637790, guid: f70555f144d8491a825f0804e09c671c, type: 3} 554 | m_Name: 555 | m_EditorClassIdentifier: 556 | m_IgnoreLayout: 0 557 | m_MinWidth: -1 558 | m_MinHeight: -1 559 | m_PreferredWidth: -1 560 | m_PreferredHeight: -1 561 | m_FlexibleWidth: 1 562 | m_FlexibleHeight: -1 563 | --- !u!222 &222026217666331854 564 | CanvasRenderer: 565 | m_ObjectHideFlags: 1 566 | m_PrefabParentObject: {fileID: 0} 567 | m_PrefabInternal: {fileID: 100100000} 568 | m_GameObject: {fileID: 1808633572348110} 569 | --- !u!222 &222074188944390688 570 | CanvasRenderer: 571 | m_ObjectHideFlags: 1 572 | m_PrefabParentObject: {fileID: 0} 573 | m_PrefabInternal: {fileID: 100100000} 574 | m_GameObject: {fileID: 1414183003710292} 575 | --- !u!222 &222253817421472054 576 | CanvasRenderer: 577 | m_ObjectHideFlags: 1 578 | m_PrefabParentObject: {fileID: 0} 579 | m_PrefabInternal: {fileID: 100100000} 580 | m_GameObject: {fileID: 1048876918241602} 581 | --- !u!222 &222413108592679584 582 | CanvasRenderer: 583 | m_ObjectHideFlags: 1 584 | m_PrefabParentObject: {fileID: 0} 585 | m_PrefabInternal: {fileID: 100100000} 586 | m_GameObject: {fileID: 1948332086867750} 587 | --- !u!222 &222885457505125074 588 | CanvasRenderer: 589 | m_ObjectHideFlags: 1 590 | m_PrefabParentObject: {fileID: 0} 591 | m_PrefabInternal: {fileID: 100100000} 592 | m_GameObject: {fileID: 1613350562434162} 593 | --- !u!222 &222999642905814994 594 | CanvasRenderer: 595 | m_ObjectHideFlags: 1 596 | m_PrefabParentObject: {fileID: 0} 597 | m_PrefabInternal: {fileID: 100100000} 598 | m_GameObject: {fileID: 1079256262610834} 599 | --- !u!224 &224014464215056562 600 | RectTransform: 601 | m_ObjectHideFlags: 1 602 | m_PrefabParentObject: {fileID: 0} 603 | m_PrefabInternal: {fileID: 100100000} 604 | m_GameObject: {fileID: 1048876918241602} 605 | m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} 606 | m_LocalPosition: {x: 0, y: 0, z: 0} 607 | m_LocalScale: {x: 1, y: 1, z: 1} 608 | m_Children: 609 | - {fileID: 224466905186635452} 610 | m_Father: {fileID: 224149134288973172} 611 | m_RootOrder: 0 612 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 613 | m_AnchorMin: {x: 0, y: 0.5} 614 | m_AnchorMax: {x: 1, y: 0.5} 615 | m_AnchoredPosition: {x: 0, y: 0} 616 | m_SizeDelta: {x: 0, y: 44} 617 | m_Pivot: {x: 0, y: 0.5} 618 | --- !u!224 &224075991875268750 619 | RectTransform: 620 | m_ObjectHideFlags: 1 621 | m_PrefabParentObject: {fileID: 0} 622 | m_PrefabInternal: {fileID: 100100000} 623 | m_GameObject: {fileID: 1079256262610834} 624 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 625 | m_LocalPosition: {x: 0, y: 0, z: 0} 626 | m_LocalScale: {x: 1, y: 1, z: 1} 627 | m_Children: [] 628 | m_Father: {fileID: 224457612747348782} 629 | m_RootOrder: 0 630 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 631 | m_AnchorMin: {x: 0, y: 0} 632 | m_AnchorMax: {x: 1, y: 1} 633 | m_AnchoredPosition: {x: 0, y: 0} 634 | m_SizeDelta: {x: 0, y: 0} 635 | m_Pivot: {x: 0.5, y: 0.5} 636 | --- !u!224 &224149134288973172 637 | RectTransform: 638 | m_ObjectHideFlags: 1 639 | m_PrefabParentObject: {fileID: 0} 640 | m_PrefabInternal: {fileID: 100100000} 641 | m_GameObject: {fileID: 1296320580272348} 642 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 643 | m_LocalPosition: {x: 0, y: 0, z: 0} 644 | m_LocalScale: {x: 1, y: 1, z: 1} 645 | m_Children: 646 | - {fileID: 224014464215056562} 647 | m_Father: {fileID: 224736743781816692} 648 | m_RootOrder: 0 649 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 650 | m_AnchorMin: {x: 0, y: 0} 651 | m_AnchorMax: {x: 0, y: 0} 652 | m_AnchoredPosition: {x: 0, y: 0} 653 | m_SizeDelta: {x: 0, y: 0} 654 | m_Pivot: {x: 0.5, y: 0.5} 655 | --- !u!224 &224457612747348782 656 | RectTransform: 657 | m_ObjectHideFlags: 1 658 | m_PrefabParentObject: {fileID: 0} 659 | m_PrefabInternal: {fileID: 100100000} 660 | m_GameObject: {fileID: 1948332086867750} 661 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 662 | m_LocalPosition: {x: 0, y: 0, z: 0} 663 | m_LocalScale: {x: 1, y: 1, z: 1} 664 | m_Children: 665 | - {fileID: 224075991875268750} 666 | m_Father: {fileID: 224630367090938570} 667 | m_RootOrder: 2 668 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 669 | m_AnchorMin: {x: 0, y: 0} 670 | m_AnchorMax: {x: 0, y: 0} 671 | m_AnchoredPosition: {x: 0, y: 0} 672 | m_SizeDelta: {x: 0, y: 0} 673 | m_Pivot: {x: 0.5, y: 0.5} 674 | --- !u!224 &224466905186635452 675 | RectTransform: 676 | m_ObjectHideFlags: 1 677 | m_PrefabParentObject: {fileID: 0} 678 | m_PrefabInternal: {fileID: 100100000} 679 | m_GameObject: {fileID: 1414183003710292} 680 | m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} 681 | m_LocalPosition: {x: 0, y: 0, z: 0} 682 | m_LocalScale: {x: 1, y: 1, z: 1} 683 | m_Children: [] 684 | m_Father: {fileID: 224014464215056562} 685 | m_RootOrder: 0 686 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 687 | m_AnchorMin: {x: 1, y: 0} 688 | m_AnchorMax: {x: 1, y: 1} 689 | m_AnchoredPosition: {x: -1, y: 0} 690 | m_SizeDelta: {x: 0, y: -2} 691 | m_Pivot: {x: 1, y: 0.5} 692 | --- !u!224 &224625223544143542 693 | RectTransform: 694 | m_ObjectHideFlags: 1 695 | m_PrefabParentObject: {fileID: 0} 696 | m_PrefabInternal: {fileID: 100100000} 697 | m_GameObject: {fileID: 1613350562434162} 698 | m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} 699 | m_LocalPosition: {x: 0, y: 0, z: 0} 700 | m_LocalScale: {x: 1, y: 1, z: 1} 701 | m_Children: [] 702 | m_Father: {fileID: 224736743781816692} 703 | m_RootOrder: 1 704 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 705 | m_AnchorMin: {x: 0, y: 0} 706 | m_AnchorMax: {x: 0, y: 0} 707 | m_AnchoredPosition: {x: 0, y: 0} 708 | m_SizeDelta: {x: 0, y: 0} 709 | m_Pivot: {x: 0.5, y: 0.5} 710 | --- !u!224 &224630367090938570 711 | RectTransform: 712 | m_ObjectHideFlags: 1 713 | m_PrefabParentObject: {fileID: 0} 714 | m_PrefabInternal: {fileID: 100100000} 715 | m_GameObject: {fileID: 1042558196441396} 716 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 717 | m_LocalPosition: {x: 0, y: 0, z: 0} 718 | m_LocalScale: {x: 1, y: 1, z: 1} 719 | m_Children: 720 | - {fileID: 224736743781816692} 721 | - {fileID: 224751364393805188} 722 | - {fileID: 224457612747348782} 723 | m_Father: {fileID: 0} 724 | m_RootOrder: 0 725 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 726 | m_AnchorMin: {x: 0, y: 0} 727 | m_AnchorMax: {x: 0, y: 0} 728 | m_AnchoredPosition: {x: 278.5, y: 0} 729 | m_SizeDelta: {x: 557, y: 0} 730 | m_Pivot: {x: 0.5, y: 0.5} 731 | --- !u!224 &224736743781816692 732 | RectTransform: 733 | m_ObjectHideFlags: 1 734 | m_PrefabParentObject: {fileID: 0} 735 | m_PrefabInternal: {fileID: 100100000} 736 | m_GameObject: {fileID: 1063462110044800} 737 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 738 | m_LocalPosition: {x: 0, y: 0, z: 0} 739 | m_LocalScale: {x: 1, y: 1, z: 1} 740 | m_Children: 741 | - {fileID: 224149134288973172} 742 | - {fileID: 224625223544143542} 743 | m_Father: {fileID: 224630367090938570} 744 | m_RootOrder: 0 745 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 746 | m_AnchorMin: {x: 0, y: 0} 747 | m_AnchorMax: {x: 0, y: 0} 748 | m_AnchoredPosition: {x: 278.5, y: 0} 749 | m_SizeDelta: {x: 557, y: 0} 750 | m_Pivot: {x: 0.5, y: 0.5} 751 | --- !u!224 &224751364393805188 752 | RectTransform: 753 | m_ObjectHideFlags: 1 754 | m_PrefabParentObject: {fileID: 0} 755 | m_PrefabInternal: {fileID: 100100000} 756 | m_GameObject: {fileID: 1808633572348110} 757 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 758 | m_LocalPosition: {x: 0, y: 0, z: 0} 759 | m_LocalScale: {x: 1, y: 1, z: 1} 760 | m_Children: [] 761 | m_Father: {fileID: 224630367090938570} 762 | m_RootOrder: 1 763 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 764 | m_AnchorMin: {x: 0, y: 0} 765 | m_AnchorMax: {x: 0, y: 0} 766 | m_AnchoredPosition: {x: 0, y: 0} 767 | m_SizeDelta: {x: 0, y: 0} 768 | m_Pivot: {x: 0.5, y: 0.5} 769 | -------------------------------------------------------------------------------- /Plugins/SimpleGDPRConsent/Prefabs/GDPRSection.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 10349db548f9a284c98bf169262b02a6 3 | timeCreated: 1565095767 4 | licenseType: Free 5 | NativeFormatImporter: 6 | mainObjectFileID: 100100000 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Plugins/SimpleGDPRConsent/Prefabs/HorizontalLine.prefab: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!1001 &100100000 4 | Prefab: 5 | m_ObjectHideFlags: 1 6 | serializedVersion: 2 7 | m_Modification: 8 | m_TransformParent: {fileID: 0} 9 | m_Modifications: [] 10 | m_RemovedComponents: [] 11 | m_ParentPrefab: {fileID: 0} 12 | m_RootGameObject: {fileID: 1344382309543184} 13 | m_IsPrefabParent: 1 14 | --- !u!1 &1344382309543184 15 | GameObject: 16 | m_ObjectHideFlags: 0 17 | m_PrefabParentObject: {fileID: 0} 18 | m_PrefabInternal: {fileID: 100100000} 19 | serializedVersion: 5 20 | m_Component: 21 | - component: {fileID: 224521789589360794} 22 | - component: {fileID: 222711022711302700} 23 | - component: {fileID: 114774663585625866} 24 | - component: {fileID: 114066733830756464} 25 | m_Layer: 5 26 | m_Name: HorizontalLine 27 | m_TagString: Untagged 28 | m_Icon: {fileID: 0} 29 | m_NavMeshLayer: 0 30 | m_StaticEditorFlags: 0 31 | m_IsActive: 1 32 | --- !u!114 &114066733830756464 33 | MonoBehaviour: 34 | m_ObjectHideFlags: 1 35 | m_PrefabParentObject: {fileID: 0} 36 | m_PrefabInternal: {fileID: 100100000} 37 | m_GameObject: {fileID: 1344382309543184} 38 | m_Enabled: 1 39 | m_EditorHideFlags: 0 40 | m_Script: {fileID: 1679637790, guid: f70555f144d8491a825f0804e09c671c, type: 3} 41 | m_Name: 42 | m_EditorClassIdentifier: 43 | m_IgnoreLayout: 0 44 | m_MinWidth: -1 45 | m_MinHeight: -1 46 | m_PreferredWidth: -1 47 | m_PreferredHeight: 2 48 | m_FlexibleWidth: -1 49 | m_FlexibleHeight: -1 50 | --- !u!114 &114774663585625866 51 | MonoBehaviour: 52 | m_ObjectHideFlags: 1 53 | m_PrefabParentObject: {fileID: 0} 54 | m_PrefabInternal: {fileID: 100100000} 55 | m_GameObject: {fileID: 1344382309543184} 56 | m_Enabled: 1 57 | m_EditorHideFlags: 0 58 | m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3} 59 | m_Name: 60 | m_EditorClassIdentifier: 61 | m_Material: {fileID: 0} 62 | m_Color: {r: 0, g: 0, b: 0, a: 0.39215687} 63 | m_RaycastTarget: 0 64 | m_OnCullStateChanged: 65 | m_PersistentCalls: 66 | m_Calls: [] 67 | m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, 68 | Version=1.0.0.0, Culture=neutral, PublicKeyToken=null 69 | m_Sprite: {fileID: 21300000, guid: 1cb8a0bc8434e304c8c28586dd7a8c97, type: 3} 70 | m_Type: 0 71 | m_PreserveAspect: 0 72 | m_FillCenter: 1 73 | m_FillMethod: 4 74 | m_FillAmount: 1 75 | m_FillClockwise: 1 76 | m_FillOrigin: 0 77 | --- !u!222 &222711022711302700 78 | CanvasRenderer: 79 | m_ObjectHideFlags: 1 80 | m_PrefabParentObject: {fileID: 0} 81 | m_PrefabInternal: {fileID: 100100000} 82 | m_GameObject: {fileID: 1344382309543184} 83 | --- !u!224 &224521789589360794 84 | RectTransform: 85 | m_ObjectHideFlags: 1 86 | m_PrefabParentObject: {fileID: 0} 87 | m_PrefabInternal: {fileID: 100100000} 88 | m_GameObject: {fileID: 1344382309543184} 89 | m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} 90 | m_LocalPosition: {x: 0, y: 0, z: 0} 91 | m_LocalScale: {x: 1, y: 1, z: 1} 92 | m_Children: [] 93 | m_Father: {fileID: 0} 94 | m_RootOrder: 0 95 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 96 | m_AnchorMin: {x: 0, y: 0} 97 | m_AnchorMax: {x: 0, y: 0} 98 | m_AnchoredPosition: {x: 0, y: 0} 99 | m_SizeDelta: {x: 0, y: 0} 100 | m_Pivot: {x: 0.5, y: 0.5} 101 | -------------------------------------------------------------------------------- /Plugins/SimpleGDPRConsent/Prefabs/HorizontalLine.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: eae21849ee49d6546bc64b993f7d7328 3 | timeCreated: 1565092157 4 | licenseType: Free 5 | NativeFormatImporter: 6 | mainObjectFileID: 100100000 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Plugins/SimpleGDPRConsent/Prefabs/PrivacyPolicy.prefab: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!1001 &100100000 4 | Prefab: 5 | m_ObjectHideFlags: 1 6 | serializedVersion: 2 7 | m_Modification: 8 | m_TransformParent: {fileID: 0} 9 | m_Modifications: [] 10 | m_RemovedComponents: [] 11 | m_ParentPrefab: {fileID: 0} 12 | m_RootGameObject: {fileID: 1468411852095494} 13 | m_IsPrefabParent: 1 14 | --- !u!1 &1468411852095494 15 | GameObject: 16 | m_ObjectHideFlags: 0 17 | m_PrefabParentObject: {fileID: 0} 18 | m_PrefabInternal: {fileID: 100100000} 19 | serializedVersion: 5 20 | m_Component: 21 | - component: {fileID: 224064716795040770} 22 | - component: {fileID: 222774109387551532} 23 | - component: {fileID: 114848218983247704} 24 | - component: {fileID: 114140791500514446} 25 | m_Layer: 5 26 | m_Name: PrivacyPolicy 27 | m_TagString: Untagged 28 | m_Icon: {fileID: 0} 29 | m_NavMeshLayer: 0 30 | m_StaticEditorFlags: 0 31 | m_IsActive: 1 32 | --- !u!114 &114140791500514446 33 | MonoBehaviour: 34 | m_ObjectHideFlags: 1 35 | m_PrefabParentObject: {fileID: 0} 36 | m_PrefabInternal: {fileID: 100100000} 37 | m_GameObject: {fileID: 1468411852095494} 38 | m_Enabled: 1 39 | m_EditorHideFlags: 0 40 | m_Script: {fileID: 11500000, guid: b8e449c3707a3f04a9a4d95d242c62ff, type: 3} 41 | m_Name: 42 | m_EditorClassIdentifier: 43 | text: {fileID: 114848218983247704} 44 | --- !u!114 &114848218983247704 45 | MonoBehaviour: 46 | m_ObjectHideFlags: 1 47 | m_PrefabParentObject: {fileID: 0} 48 | m_PrefabInternal: {fileID: 100100000} 49 | m_GameObject: {fileID: 1468411852095494} 50 | m_Enabled: 1 51 | m_EditorHideFlags: 0 52 | m_Script: {fileID: 708705254, guid: f70555f144d8491a825f0804e09c671c, type: 3} 53 | m_Name: 54 | m_EditorClassIdentifier: 55 | m_Material: {fileID: 0} 56 | m_Color: {r: 0.023529412, g: 0.27058825, b: 0.6784314, a: 1} 57 | m_RaycastTarget: 1 58 | m_OnCullStateChanged: 59 | m_PersistentCalls: 60 | m_Calls: [] 61 | m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, 62 | Version=1.0.0.0, Culture=neutral, PublicKeyToken=null 63 | m_FontData: 64 | m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} 65 | m_FontSize: 18 66 | m_FontStyle: 0 67 | m_BestFit: 0 68 | m_MinSize: 1 69 | m_MaxSize: 40 70 | m_Alignment: 3 71 | m_AlignByGeometry: 0 72 | m_RichText: 0 73 | m_HorizontalOverflow: 0 74 | m_VerticalOverflow: 0 75 | m_LineSpacing: 1 76 | m_Text: https://lorem-ipsum.com/privacy-policy.html 77 | --- !u!222 &222774109387551532 78 | CanvasRenderer: 79 | m_ObjectHideFlags: 1 80 | m_PrefabParentObject: {fileID: 0} 81 | m_PrefabInternal: {fileID: 100100000} 82 | m_GameObject: {fileID: 1468411852095494} 83 | --- !u!224 &224064716795040770 84 | RectTransform: 85 | m_ObjectHideFlags: 1 86 | m_PrefabParentObject: {fileID: 0} 87 | m_PrefabInternal: {fileID: 100100000} 88 | m_GameObject: {fileID: 1468411852095494} 89 | m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} 90 | m_LocalPosition: {x: 0, y: 0, z: 0} 91 | m_LocalScale: {x: 1, y: 1, z: 1} 92 | m_Children: [] 93 | m_Father: {fileID: 0} 94 | m_RootOrder: 0 95 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 96 | m_AnchorMin: {x: 0, y: 0} 97 | m_AnchorMax: {x: 0, y: 0} 98 | m_AnchoredPosition: {x: 0, y: 0} 99 | m_SizeDelta: {x: 0, y: 0} 100 | m_Pivot: {x: 0.5, y: 0.5} 101 | -------------------------------------------------------------------------------- /Plugins/SimpleGDPRConsent/Prefabs/PrivacyPolicy.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 7d038e06ac175234d8c74b35ad9166ae 3 | timeCreated: 1565091587 4 | licenseType: Free 5 | NativeFormatImporter: 6 | mainObjectFileID: 100100000 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Plugins/SimpleGDPRConsent/README.txt: -------------------------------------------------------------------------------- 1 | = Simple GDPR Consent (v1.1.3) = 2 | 3 | Documentation: https://github.com/yasirkula/UnitySimpleGDPRConsent 4 | FAQ: https://github.com/yasirkula/UnitySimpleGDPRConsent#faq 5 | Example code: https://github.com/yasirkula/UnitySimpleGDPRConsent#example-code 6 | E-mail: yasirkula@gmail.com -------------------------------------------------------------------------------- /Plugins/SimpleGDPRConsent/README.txt.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 92c6ec4b6be14a842951296be146fce0 3 | timeCreated: 1563308465 4 | licenseType: Free 5 | TextScriptImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Plugins/SimpleGDPRConsent/Resources.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 314480b665ac51b4b90fd3a08c7da32a 3 | folderAsset: yes 4 | timeCreated: 1565083360 5 | licenseType: Free 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Plugins/SimpleGDPRConsent/Resources/GDPRConsentCanvas.prefab: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!1001 &100100000 4 | Prefab: 5 | m_ObjectHideFlags: 1 6 | serializedVersion: 2 7 | m_Modification: 8 | m_TransformParent: {fileID: 0} 9 | m_Modifications: [] 10 | m_RemovedComponents: [] 11 | m_ParentPrefab: {fileID: 0} 12 | m_RootGameObject: {fileID: 1218750497802748} 13 | m_IsPrefabParent: 1 14 | --- !u!1 &1026385382863514 15 | GameObject: 16 | m_ObjectHideFlags: 1 17 | m_PrefabParentObject: {fileID: 0} 18 | m_PrefabInternal: {fileID: 100100000} 19 | serializedVersion: 5 20 | m_Component: 21 | - component: {fileID: 224253419454293056} 22 | m_Layer: 5 23 | m_Name: Sliding Area 24 | m_TagString: Untagged 25 | m_Icon: {fileID: 0} 26 | m_NavMeshLayer: 0 27 | m_StaticEditorFlags: 0 28 | m_IsActive: 1 29 | --- !u!1 &1103928775017616 30 | GameObject: 31 | m_ObjectHideFlags: 1 32 | m_PrefabParentObject: {fileID: 0} 33 | m_PrefabInternal: {fileID: 100100000} 34 | serializedVersion: 5 35 | m_Component: 36 | - component: {fileID: 224067000489701334} 37 | - component: {fileID: 222654363772744418} 38 | - component: {fileID: 114121360132013348} 39 | m_Layer: 5 40 | m_Name: Handle 41 | m_TagString: Untagged 42 | m_Icon: {fileID: 0} 43 | m_NavMeshLayer: 0 44 | m_StaticEditorFlags: 0 45 | m_IsActive: 1 46 | --- !u!1 &1139156153783760 47 | GameObject: 48 | m_ObjectHideFlags: 1 49 | m_PrefabParentObject: {fileID: 0} 50 | m_PrefabInternal: {fileID: 100100000} 51 | serializedVersion: 5 52 | m_Component: 53 | - component: {fileID: 224194801063767090} 54 | - component: {fileID: 222922359087650928} 55 | - component: {fileID: 114981408167332626} 56 | m_Layer: 5 57 | m_Name: Introduction 58 | m_TagString: Untagged 59 | m_Icon: {fileID: 0} 60 | m_NavMeshLayer: 0 61 | m_StaticEditorFlags: 0 62 | m_IsActive: 1 63 | --- !u!1 &1163280533721250 64 | GameObject: 65 | m_ObjectHideFlags: 1 66 | m_PrefabParentObject: {fileID: 0} 67 | m_PrefabInternal: {fileID: 100100000} 68 | serializedVersion: 5 69 | m_Component: 70 | - component: {fileID: 224500052424180490} 71 | - component: {fileID: 222110571767658022} 72 | - component: {fileID: 114845470117446280} 73 | m_Layer: 5 74 | m_Name: Text 75 | m_TagString: Untagged 76 | m_Icon: {fileID: 0} 77 | m_NavMeshLayer: 0 78 | m_StaticEditorFlags: 0 79 | m_IsActive: 1 80 | --- !u!1 &1211755309954232 81 | GameObject: 82 | m_ObjectHideFlags: 1 83 | m_PrefabParentObject: {fileID: 0} 84 | m_PrefabInternal: {fileID: 100100000} 85 | serializedVersion: 5 86 | m_Component: 87 | - component: {fileID: 224880521695437248} 88 | - component: {fileID: 114599771968054050} 89 | m_Layer: 5 90 | m_Name: Viewport 91 | m_TagString: Untagged 92 | m_Icon: {fileID: 0} 93 | m_NavMeshLayer: 0 94 | m_StaticEditorFlags: 0 95 | m_IsActive: 1 96 | --- !u!1 &1218750497802748 97 | GameObject: 98 | m_ObjectHideFlags: 0 99 | m_PrefabParentObject: {fileID: 0} 100 | m_PrefabInternal: {fileID: 100100000} 101 | serializedVersion: 5 102 | m_Component: 103 | - component: {fileID: 224804428783523186} 104 | - component: {fileID: 223648594915010758} 105 | - component: {fileID: 114269607777506660} 106 | - component: {fileID: 114576984593259620} 107 | - component: {fileID: 114902194396559972} 108 | - component: {fileID: 225818152581031718} 109 | - component: {fileID: 114661163447697800} 110 | m_Layer: 5 111 | m_Name: GDPRConsentCanvas 112 | m_TagString: Untagged 113 | m_Icon: {fileID: 0} 114 | m_NavMeshLayer: 0 115 | m_StaticEditorFlags: 0 116 | m_IsActive: 1 117 | --- !u!1 &1329588292357292 118 | GameObject: 119 | m_ObjectHideFlags: 1 120 | m_PrefabParentObject: {fileID: 0} 121 | m_PrefabInternal: {fileID: 100100000} 122 | serializedVersion: 5 123 | m_Component: 124 | - component: {fileID: 224098530379466878} 125 | - component: {fileID: 222000205045306610} 126 | - component: {fileID: 114774621868722798} 127 | - component: {fileID: 114298628218464350} 128 | m_Layer: 5 129 | m_Name: TermsOfService 130 | m_TagString: Untagged 131 | m_Icon: {fileID: 0} 132 | m_NavMeshLayer: 0 133 | m_StaticEditorFlags: 0 134 | m_IsActive: 1 135 | --- !u!1 &1450999469347056 136 | GameObject: 137 | m_ObjectHideFlags: 1 138 | m_PrefabParentObject: {fileID: 0} 139 | m_PrefabInternal: {fileID: 100100000} 140 | serializedVersion: 5 141 | m_Component: 142 | - component: {fileID: 224552717544701476} 143 | - component: {fileID: 114383886671576280} 144 | - component: {fileID: 222814598666368766} 145 | - component: {fileID: 114845435939626878} 146 | m_Layer: 5 147 | m_Name: Scroll View 148 | m_TagString: Untagged 149 | m_Icon: {fileID: 0} 150 | m_NavMeshLayer: 0 151 | m_StaticEditorFlags: 0 152 | m_IsActive: 1 153 | --- !u!1 &1492345341603244 154 | GameObject: 155 | m_ObjectHideFlags: 1 156 | m_PrefabParentObject: {fileID: 0} 157 | m_PrefabInternal: {fileID: 100100000} 158 | serializedVersion: 5 159 | m_Component: 160 | - component: {fileID: 224876246041818802} 161 | - component: {fileID: 222111430851885046} 162 | - component: {fileID: 114585507841753684} 163 | - component: {fileID: 114324451617295484} 164 | - component: {fileID: 114329024596871952} 165 | m_Layer: 5 166 | m_Name: CloseButton 167 | m_TagString: Untagged 168 | m_Icon: {fileID: 0} 169 | m_NavMeshLayer: 0 170 | m_StaticEditorFlags: 0 171 | m_IsActive: 1 172 | --- !u!1 &1560841530139060 173 | GameObject: 174 | m_ObjectHideFlags: 1 175 | m_PrefabParentObject: {fileID: 0} 176 | m_PrefabInternal: {fileID: 100100000} 177 | serializedVersion: 5 178 | m_Component: 179 | - component: {fileID: 224735574637786928} 180 | - component: {fileID: 114803850446722874} 181 | - component: {fileID: 114536262889538606} 182 | m_Layer: 5 183 | m_Name: PrivacyPolicies 184 | m_TagString: Untagged 185 | m_Icon: {fileID: 0} 186 | m_NavMeshLayer: 0 187 | m_StaticEditorFlags: 0 188 | m_IsActive: 1 189 | --- !u!1 &1573301284493860 190 | GameObject: 191 | m_ObjectHideFlags: 1 192 | m_PrefabParentObject: {fileID: 0} 193 | m_PrefabInternal: {fileID: 100100000} 194 | serializedVersion: 5 195 | m_Component: 196 | - component: {fileID: 224074624626068126} 197 | - component: {fileID: 222946494623828840} 198 | - component: {fileID: 114192837153496016} 199 | - component: {fileID: 114766862796907208} 200 | m_Layer: 5 201 | m_Name: Scrollbar Vertical 202 | m_TagString: Untagged 203 | m_Icon: {fileID: 0} 204 | m_NavMeshLayer: 0 205 | m_StaticEditorFlags: 0 206 | m_IsActive: 1 207 | --- !u!1 &1589969511697648 208 | GameObject: 209 | m_ObjectHideFlags: 1 210 | m_PrefabParentObject: {fileID: 0} 211 | m_PrefabInternal: {fileID: 100100000} 212 | serializedVersion: 5 213 | m_Component: 214 | - component: {fileID: 224108677760075380} 215 | - component: {fileID: 222024742304748678} 216 | - component: {fileID: 114601109669315426} 217 | - component: {fileID: 114988791861125562} 218 | - component: {fileID: 114784828285561744} 219 | m_Layer: 5 220 | m_Name: AcceptButton 221 | m_TagString: Untagged 222 | m_Icon: {fileID: 0} 223 | m_NavMeshLayer: 0 224 | m_StaticEditorFlags: 0 225 | m_IsActive: 1 226 | --- !u!1 &1665783135042026 227 | GameObject: 228 | m_ObjectHideFlags: 1 229 | m_PrefabParentObject: {fileID: 0} 230 | m_PrefabInternal: {fileID: 100100000} 231 | serializedVersion: 5 232 | m_Component: 233 | - component: {fileID: 224749354475284874} 234 | - component: {fileID: 222376206880651234} 235 | - component: {fileID: 114292621635828302} 236 | m_Layer: 5 237 | m_Name: Title 238 | m_TagString: Untagged 239 | m_Icon: {fileID: 0} 240 | m_NavMeshLayer: 0 241 | m_StaticEditorFlags: 0 242 | m_IsActive: 1 243 | --- !u!1 &1695789471541514 244 | GameObject: 245 | m_ObjectHideFlags: 1 246 | m_PrefabParentObject: {fileID: 0} 247 | m_PrefabInternal: {fileID: 100100000} 248 | serializedVersion: 5 249 | m_Component: 250 | - component: {fileID: 224663782967401968} 251 | - component: {fileID: 114424923844948666} 252 | - component: {fileID: 114567368387756782} 253 | m_Layer: 5 254 | m_Name: ConsentView 255 | m_TagString: Untagged 256 | m_Icon: {fileID: 0} 257 | m_NavMeshLayer: 0 258 | m_StaticEditorFlags: 0 259 | m_IsActive: 0 260 | --- !u!1 &1745589516315998 261 | GameObject: 262 | m_ObjectHideFlags: 1 263 | m_PrefabParentObject: {fileID: 0} 264 | m_PrefabInternal: {fileID: 100100000} 265 | serializedVersion: 5 266 | m_Component: 267 | - component: {fileID: 224464891903142344} 268 | - component: {fileID: 222013427082957790} 269 | - component: {fileID: 114094703599289568} 270 | m_Layer: 5 271 | m_Name: Text 272 | m_TagString: Untagged 273 | m_Icon: {fileID: 0} 274 | m_NavMeshLayer: 0 275 | m_StaticEditorFlags: 0 276 | m_IsActive: 1 277 | --- !u!1 &1822824975470362 278 | GameObject: 279 | m_ObjectHideFlags: 1 280 | m_PrefabParentObject: {fileID: 0} 281 | m_PrefabInternal: {fileID: 100100000} 282 | serializedVersion: 5 283 | m_Component: 284 | - component: {fileID: 224177668017760768} 285 | - component: {fileID: 222809418832587332} 286 | - component: {fileID: 114361362398777562} 287 | - component: {fileID: 114642423353391898} 288 | m_Layer: 5 289 | m_Name: PrivacyPolicy 290 | m_TagString: Untagged 291 | m_Icon: {fileID: 0} 292 | m_NavMeshLayer: 0 293 | m_StaticEditorFlags: 0 294 | m_IsActive: 1 295 | --- !u!1 &1879977527467810 296 | GameObject: 297 | m_ObjectHideFlags: 1 298 | m_PrefabParentObject: {fileID: 0} 299 | m_PrefabInternal: {fileID: 100100000} 300 | serializedVersion: 5 301 | m_Component: 302 | - component: {fileID: 224962039710274606} 303 | - component: {fileID: 222303813079543838} 304 | - component: {fileID: 114000096268143268} 305 | m_Layer: 5 306 | m_Name: Title 307 | m_TagString: Untagged 308 | m_Icon: {fileID: 0} 309 | m_NavMeshLayer: 0 310 | m_StaticEditorFlags: 0 311 | m_IsActive: 1 312 | --- !u!1 &1897039110561838 313 | GameObject: 314 | m_ObjectHideFlags: 1 315 | m_PrefabParentObject: {fileID: 0} 316 | m_PrefabInternal: {fileID: 100100000} 317 | serializedVersion: 5 318 | m_Component: 319 | - component: {fileID: 224141755373307460} 320 | - component: {fileID: 222528723295750776} 321 | - component: {fileID: 114030528262018906} 322 | m_Layer: 5 323 | m_Name: Introduction 324 | m_TagString: Untagged 325 | m_Icon: {fileID: 0} 326 | m_NavMeshLayer: 0 327 | m_StaticEditorFlags: 0 328 | m_IsActive: 1 329 | --- !u!1 &1897494549985828 330 | GameObject: 331 | m_ObjectHideFlags: 0 332 | m_PrefabParentObject: {fileID: 0} 333 | m_PrefabInternal: {fileID: 100100000} 334 | serializedVersion: 5 335 | m_Component: 336 | - component: {fileID: 224511377021376446} 337 | - component: {fileID: 222170233427326838} 338 | - component: {fileID: 114032327654469428} 339 | m_Layer: 5 340 | m_Name: ConsentDialog 341 | m_TagString: Untagged 342 | m_Icon: {fileID: 0} 343 | m_NavMeshLayer: 0 344 | m_StaticEditorFlags: 0 345 | m_IsActive: 1 346 | --- !u!1 &1942764876912198 347 | GameObject: 348 | m_ObjectHideFlags: 1 349 | m_PrefabParentObject: {fileID: 0} 350 | m_PrefabInternal: {fileID: 100100000} 351 | serializedVersion: 5 352 | m_Component: 353 | - component: {fileID: 224314514392556760} 354 | - component: {fileID: 114443082298084982} 355 | - component: {fileID: 114544920061438338} 356 | m_Layer: 5 357 | m_Name: Sections 358 | m_TagString: Untagged 359 | m_Icon: {fileID: 0} 360 | m_NavMeshLayer: 0 361 | m_StaticEditorFlags: 0 362 | m_IsActive: 1 363 | --- !u!1 &1951661710988436 364 | GameObject: 365 | m_ObjectHideFlags: 1 366 | m_PrefabParentObject: {fileID: 0} 367 | m_PrefabInternal: {fileID: 100100000} 368 | serializedVersion: 5 369 | m_Component: 370 | - component: {fileID: 224328926290790830} 371 | - component: {fileID: 114005797917515544} 372 | - component: {fileID: 114484448151891576} 373 | m_Layer: 5 374 | m_Name: TermsView 375 | m_TagString: Untagged 376 | m_Icon: {fileID: 0} 377 | m_NavMeshLayer: 0 378 | m_StaticEditorFlags: 0 379 | m_IsActive: 0 380 | --- !u!1 &1953971859849354 381 | GameObject: 382 | m_ObjectHideFlags: 0 383 | m_PrefabParentObject: {fileID: 0} 384 | m_PrefabInternal: {fileID: 100100000} 385 | serializedVersion: 5 386 | m_Component: 387 | - component: {fileID: 4079048544581872} 388 | - component: {fileID: 114741406349433576} 389 | - component: {fileID: 114341509570059798} 390 | - component: {fileID: 114671533258207622} 391 | m_Layer: 0 392 | m_Name: EventSystem 393 | m_TagString: Untagged 394 | m_Icon: {fileID: 0} 395 | m_NavMeshLayer: 0 396 | m_StaticEditorFlags: 0 397 | m_IsActive: 0 398 | --- !u!1 &1985282466359750 399 | GameObject: 400 | m_ObjectHideFlags: 0 401 | m_PrefabParentObject: {fileID: 0} 402 | m_PrefabInternal: {fileID: 100100000} 403 | serializedVersion: 5 404 | m_Component: 405 | - component: {fileID: 224292798281097702} 406 | - component: {fileID: 222239424549340978} 407 | - component: {fileID: 114555183837247104} 408 | m_Layer: 5 409 | m_Name: Fade 410 | m_TagString: Untagged 411 | m_Icon: {fileID: 0} 412 | m_NavMeshLayer: 0 413 | m_StaticEditorFlags: 0 414 | m_IsActive: 1 415 | --- !u!4 &4079048544581872 416 | Transform: 417 | m_ObjectHideFlags: 1 418 | m_PrefabParentObject: {fileID: 0} 419 | m_PrefabInternal: {fileID: 100100000} 420 | m_GameObject: {fileID: 1953971859849354} 421 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 422 | m_LocalPosition: {x: 0, y: 0, z: 0} 423 | m_LocalScale: {x: 1, y: 1, z: 1} 424 | m_Children: [] 425 | m_Father: {fileID: 224804428783523186} 426 | m_RootOrder: 0 427 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 428 | --- !u!114 &114000096268143268 429 | MonoBehaviour: 430 | m_ObjectHideFlags: 1 431 | m_PrefabParentObject: {fileID: 0} 432 | m_PrefabInternal: {fileID: 100100000} 433 | m_GameObject: {fileID: 1879977527467810} 434 | m_Enabled: 1 435 | m_EditorHideFlags: 0 436 | m_Script: {fileID: 708705254, guid: f70555f144d8491a825f0804e09c671c, type: 3} 437 | m_Name: 438 | m_EditorClassIdentifier: 439 | m_Material: {fileID: 0} 440 | m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} 441 | m_RaycastTarget: 0 442 | m_OnCullStateChanged: 443 | m_PersistentCalls: 444 | m_Calls: [] 445 | m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, 446 | Version=1.0.0.0, Culture=neutral, PublicKeyToken=null 447 | m_FontData: 448 | m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} 449 | m_FontSize: 18 450 | m_FontStyle: 0 451 | m_BestFit: 0 452 | m_MinSize: 1 453 | m_MaxSize: 40 454 | m_Alignment: 3 455 | m_AlignByGeometry: 0 456 | m_RichText: 0 457 | m_HorizontalOverflow: 0 458 | m_VerticalOverflow: 0 459 | m_LineSpacing: 1 460 | m_Text: 'Links to our Partners'' Privacy Policies: 461 | 462 | ' 463 | --- !u!114 &114005797917515544 464 | MonoBehaviour: 465 | m_ObjectHideFlags: 1 466 | m_PrefabParentObject: {fileID: 0} 467 | m_PrefabInternal: {fileID: 100100000} 468 | m_GameObject: {fileID: 1951661710988436} 469 | m_Enabled: 1 470 | m_EditorHideFlags: 0 471 | m_Script: {fileID: 1297475563, guid: f70555f144d8491a825f0804e09c671c, type: 3} 472 | m_Name: 473 | m_EditorClassIdentifier: 474 | m_Padding: 475 | m_Left: 0 476 | m_Right: 0 477 | m_Top: 0 478 | m_Bottom: 0 479 | m_ChildAlignment: 0 480 | m_Spacing: 20 481 | m_ChildForceExpandWidth: 1 482 | m_ChildForceExpandHeight: 0 483 | m_ChildControlWidth: 1 484 | m_ChildControlHeight: 1 485 | --- !u!114 &114030528262018906 486 | MonoBehaviour: 487 | m_ObjectHideFlags: 1 488 | m_PrefabParentObject: {fileID: 0} 489 | m_PrefabInternal: {fileID: 100100000} 490 | m_GameObject: {fileID: 1897039110561838} 491 | m_Enabled: 1 492 | m_EditorHideFlags: 0 493 | m_Script: {fileID: 708705254, guid: f70555f144d8491a825f0804e09c671c, type: 3} 494 | m_Name: 495 | m_EditorClassIdentifier: 496 | m_Material: {fileID: 0} 497 | m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} 498 | m_RaycastTarget: 0 499 | m_OnCullStateChanged: 500 | m_PersistentCalls: 501 | m_Calls: [] 502 | m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, 503 | Version=1.0.0.0, Culture=neutral, PublicKeyToken=null 504 | m_FontData: 505 | m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} 506 | m_FontSize: 18 507 | m_FontStyle: 0 508 | m_BestFit: 0 509 | m_MinSize: 1 510 | m_MaxSize: 40 511 | m_Alignment: 4 512 | m_AlignByGeometry: 0 513 | m_RichText: 0 514 | m_HorizontalOverflow: 0 515 | m_VerticalOverflow: 0 516 | m_LineSpacing: 1 517 | m_Text: 'Thank you for playing our game! 518 | 519 | 520 | We aim to enhance your user experience and improve our services using data about 521 | you, with your consent. 522 | 523 | 524 | You have the right to opt out of data collection. Although it negatively affects 525 | our services, we respect your decision. 526 | 527 | 528 | By opting in to data collection, you confirm that you are at least 16 years old. 529 | 530 | 531 | You can change your choices anytime in the app settings.' 532 | --- !u!114 &114032327654469428 533 | MonoBehaviour: 534 | m_ObjectHideFlags: 1 535 | m_PrefabParentObject: {fileID: 0} 536 | m_PrefabInternal: {fileID: 100100000} 537 | m_GameObject: {fileID: 1897494549985828} 538 | m_Enabled: 1 539 | m_EditorHideFlags: 0 540 | m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3} 541 | m_Name: 542 | m_EditorClassIdentifier: 543 | m_Material: {fileID: 0} 544 | m_Color: {r: 1, g: 1, b: 1, a: 1} 545 | m_RaycastTarget: 0 546 | m_OnCullStateChanged: 547 | m_PersistentCalls: 548 | m_Calls: [] 549 | m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, 550 | Version=1.0.0.0, Culture=neutral, PublicKeyToken=null 551 | m_Sprite: {fileID: 21300000, guid: 6c2767c93730b1548a880e530e9003c5, type: 3} 552 | m_Type: 1 553 | m_PreserveAspect: 0 554 | m_FillCenter: 1 555 | m_FillMethod: 4 556 | m_FillAmount: 1 557 | m_FillClockwise: 1 558 | m_FillOrigin: 0 559 | --- !u!114 &114094703599289568 560 | MonoBehaviour: 561 | m_ObjectHideFlags: 1 562 | m_PrefabParentObject: {fileID: 0} 563 | m_PrefabInternal: {fileID: 100100000} 564 | m_GameObject: {fileID: 1745589516315998} 565 | m_Enabled: 1 566 | m_EditorHideFlags: 0 567 | m_Script: {fileID: 708705254, guid: f70555f144d8491a825f0804e09c671c, type: 3} 568 | m_Name: 569 | m_EditorClassIdentifier: 570 | m_Material: {fileID: 0} 571 | m_Color: {r: 1, g: 1, b: 1, a: 1} 572 | m_RaycastTarget: 0 573 | m_OnCullStateChanged: 574 | m_PersistentCalls: 575 | m_Calls: [] 576 | m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, 577 | Version=1.0.0.0, Culture=neutral, PublicKeyToken=null 578 | m_FontData: 579 | m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} 580 | m_FontSize: 24 581 | m_FontStyle: 0 582 | m_BestFit: 0 583 | m_MinSize: 1 584 | m_MaxSize: 40 585 | m_Alignment: 4 586 | m_AlignByGeometry: 0 587 | m_RichText: 1 588 | m_HorizontalOverflow: 0 589 | m_VerticalOverflow: 0 590 | m_LineSpacing: 1 591 | m_Text: Accept 592 | --- !u!114 &114121360132013348 593 | MonoBehaviour: 594 | m_ObjectHideFlags: 1 595 | m_PrefabParentObject: {fileID: 0} 596 | m_PrefabInternal: {fileID: 100100000} 597 | m_GameObject: {fileID: 1103928775017616} 598 | m_Enabled: 1 599 | m_EditorHideFlags: 0 600 | m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3} 601 | m_Name: 602 | m_EditorClassIdentifier: 603 | m_Material: {fileID: 0} 604 | m_Color: {r: 0, g: 0, b: 0, a: 0.5019608} 605 | m_RaycastTarget: 0 606 | m_OnCullStateChanged: 607 | m_PersistentCalls: 608 | m_Calls: [] 609 | m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, 610 | Version=1.0.0.0, Culture=neutral, PublicKeyToken=null 611 | m_Sprite: {fileID: 21300000, guid: 1cb8a0bc8434e304c8c28586dd7a8c97, type: 3} 612 | m_Type: 0 613 | m_PreserveAspect: 0 614 | m_FillCenter: 1 615 | m_FillMethod: 4 616 | m_FillAmount: 1 617 | m_FillClockwise: 1 618 | m_FillOrigin: 0 619 | --- !u!114 &114192837153496016 620 | MonoBehaviour: 621 | m_ObjectHideFlags: 1 622 | m_PrefabParentObject: {fileID: 0} 623 | m_PrefabInternal: {fileID: 100100000} 624 | m_GameObject: {fileID: 1573301284493860} 625 | m_Enabled: 1 626 | m_EditorHideFlags: 0 627 | m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3} 628 | m_Name: 629 | m_EditorClassIdentifier: 630 | m_Material: {fileID: 0} 631 | m_Color: {r: 0, g: 0, b: 0, a: 0.2509804} 632 | m_RaycastTarget: 0 633 | m_OnCullStateChanged: 634 | m_PersistentCalls: 635 | m_Calls: [] 636 | m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, 637 | Version=1.0.0.0, Culture=neutral, PublicKeyToken=null 638 | m_Sprite: {fileID: 21300000, guid: 1cb8a0bc8434e304c8c28586dd7a8c97, type: 3} 639 | m_Type: 0 640 | m_PreserveAspect: 0 641 | m_FillCenter: 1 642 | m_FillMethod: 4 643 | m_FillAmount: 1 644 | m_FillClockwise: 1 645 | m_FillOrigin: 0 646 | --- !u!114 &114269607777506660 647 | MonoBehaviour: 648 | m_ObjectHideFlags: 1 649 | m_PrefabParentObject: {fileID: 0} 650 | m_PrefabInternal: {fileID: 100100000} 651 | m_GameObject: {fileID: 1218750497802748} 652 | m_Enabled: 1 653 | m_EditorHideFlags: 0 654 | m_Script: {fileID: 1980459831, guid: f70555f144d8491a825f0804e09c671c, type: 3} 655 | m_Name: 656 | m_EditorClassIdentifier: 657 | m_UiScaleMode: 1 658 | m_ReferencePixelsPerUnit: 100 659 | m_ScaleFactor: 1 660 | m_ReferenceResolution: {x: 900, y: 768} 661 | m_ScreenMatchMode: 0 662 | m_MatchWidthOrHeight: 1 663 | m_PhysicalUnit: 3 664 | m_FallbackScreenDPI: 96 665 | m_DefaultSpriteDPI: 96 666 | m_DynamicPixelsPerUnit: 1 667 | --- !u!114 &114292621635828302 668 | MonoBehaviour: 669 | m_ObjectHideFlags: 1 670 | m_PrefabParentObject: {fileID: 0} 671 | m_PrefabInternal: {fileID: 100100000} 672 | m_GameObject: {fileID: 1665783135042026} 673 | m_Enabled: 1 674 | m_EditorHideFlags: 0 675 | m_Script: {fileID: 708705254, guid: f70555f144d8491a825f0804e09c671c, type: 3} 676 | m_Name: 677 | m_EditorClassIdentifier: 678 | m_Material: {fileID: 0} 679 | m_Color: {r: 0, g: 0, b: 0, a: 1} 680 | m_RaycastTarget: 0 681 | m_OnCullStateChanged: 682 | m_PersistentCalls: 683 | m_Calls: [] 684 | m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, 685 | Version=1.0.0.0, Culture=neutral, PublicKeyToken=null 686 | m_FontData: 687 | m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} 688 | m_FontSize: 24 689 | m_FontStyle: 0 690 | m_BestFit: 0 691 | m_MinSize: 1 692 | m_MaxSize: 40 693 | m_Alignment: 4 694 | m_AlignByGeometry: 0 695 | m_RichText: 0 696 | m_HorizontalOverflow: 0 697 | m_VerticalOverflow: 0 698 | m_LineSpacing: 1 699 | m_Text: Welcome! 700 | --- !u!114 &114298628218464350 701 | MonoBehaviour: 702 | m_ObjectHideFlags: 1 703 | m_PrefabParentObject: {fileID: 0} 704 | m_PrefabInternal: {fileID: 100100000} 705 | m_GameObject: {fileID: 1329588292357292} 706 | m_Enabled: 1 707 | m_EditorHideFlags: 0 708 | m_Script: {fileID: 11500000, guid: b8e449c3707a3f04a9a4d95d242c62ff, type: 3} 709 | m_Name: 710 | m_EditorClassIdentifier: 711 | text: {fileID: 114774621868722798} 712 | --- !u!114 &114324451617295484 713 | MonoBehaviour: 714 | m_ObjectHideFlags: 1 715 | m_PrefabParentObject: {fileID: 0} 716 | m_PrefabInternal: {fileID: 100100000} 717 | m_GameObject: {fileID: 1492345341603244} 718 | m_Enabled: 1 719 | m_EditorHideFlags: 0 720 | m_Script: {fileID: 1392445389, guid: f70555f144d8491a825f0804e09c671c, type: 3} 721 | m_Name: 722 | m_EditorClassIdentifier: 723 | m_Navigation: 724 | m_Mode: 3 725 | m_SelectOnUp: {fileID: 0} 726 | m_SelectOnDown: {fileID: 0} 727 | m_SelectOnLeft: {fileID: 0} 728 | m_SelectOnRight: {fileID: 0} 729 | m_Transition: 1 730 | m_Colors: 731 | m_NormalColor: {r: 1, g: 1, b: 1, a: 1} 732 | m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} 733 | m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} 734 | m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} 735 | m_ColorMultiplier: 1 736 | m_FadeDuration: 0.1 737 | m_SpriteState: 738 | m_HighlightedSprite: {fileID: 0} 739 | m_PressedSprite: {fileID: 0} 740 | m_DisabledSprite: {fileID: 0} 741 | m_AnimationTriggers: 742 | m_NormalTrigger: Normal 743 | m_HighlightedTrigger: Highlighted 744 | m_PressedTrigger: Pressed 745 | m_DisabledTrigger: Disabled 746 | m_Interactable: 1 747 | m_TargetGraphic: {fileID: 114585507841753684} 748 | m_OnClick: 749 | m_PersistentCalls: 750 | m_Calls: [] 751 | m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0, 752 | Culture=neutral, PublicKeyToken=null 753 | --- !u!114 &114329024596871952 754 | MonoBehaviour: 755 | m_ObjectHideFlags: 1 756 | m_PrefabParentObject: {fileID: 0} 757 | m_PrefabInternal: {fileID: 100100000} 758 | m_GameObject: {fileID: 1492345341603244} 759 | m_Enabled: 1 760 | m_EditorHideFlags: 0 761 | m_Script: {fileID: 1679637790, guid: f70555f144d8491a825f0804e09c671c, type: 3} 762 | m_Name: 763 | m_EditorClassIdentifier: 764 | m_IgnoreLayout: 0 765 | m_MinWidth: -1 766 | m_MinHeight: -1 767 | m_PreferredWidth: -1 768 | m_PreferredHeight: 60 769 | m_FlexibleWidth: -1 770 | m_FlexibleHeight: -1 771 | --- !u!114 &114341509570059798 772 | MonoBehaviour: 773 | m_ObjectHideFlags: 1 774 | m_PrefabParentObject: {fileID: 0} 775 | m_PrefabInternal: {fileID: 100100000} 776 | m_GameObject: {fileID: 1953971859849354} 777 | m_Enabled: 1 778 | m_EditorHideFlags: 0 779 | m_Script: {fileID: 1077351063, guid: f70555f144d8491a825f0804e09c671c, type: 3} 780 | m_Name: 781 | m_EditorClassIdentifier: 782 | m_HorizontalAxis: Horizontal 783 | m_VerticalAxis: Vertical 784 | m_SubmitButton: Submit 785 | m_CancelButton: Cancel 786 | m_InputActionsPerSecond: 10 787 | m_RepeatDelay: 0.5 788 | m_ForceModuleActive: 0 789 | --- !u!114 &114361362398777562 790 | MonoBehaviour: 791 | m_ObjectHideFlags: 1 792 | m_PrefabParentObject: {fileID: 0} 793 | m_PrefabInternal: {fileID: 100100000} 794 | m_GameObject: {fileID: 1822824975470362} 795 | m_Enabled: 1 796 | m_EditorHideFlags: 0 797 | m_Script: {fileID: 708705254, guid: f70555f144d8491a825f0804e09c671c, type: 3} 798 | m_Name: 799 | m_EditorClassIdentifier: 800 | m_Material: {fileID: 0} 801 | m_Color: {r: 0.023529412, g: 0.27058825, b: 0.6784314, a: 1} 802 | m_RaycastTarget: 1 803 | m_OnCullStateChanged: 804 | m_PersistentCalls: 805 | m_Calls: [] 806 | m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, 807 | Version=1.0.0.0, Culture=neutral, PublicKeyToken=null 808 | m_FontData: 809 | m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} 810 | m_FontSize: 18 811 | m_FontStyle: 0 812 | m_BestFit: 0 813 | m_MinSize: 1 814 | m_MaxSize: 40 815 | m_Alignment: 4 816 | m_AlignByGeometry: 0 817 | m_RichText: 0 818 | m_HorizontalOverflow: 0 819 | m_VerticalOverflow: 0 820 | m_LineSpacing: 1 821 | m_Text: Privacy Policy 822 | --- !u!114 &114383886671576280 823 | MonoBehaviour: 824 | m_ObjectHideFlags: 1 825 | m_PrefabParentObject: {fileID: 0} 826 | m_PrefabInternal: {fileID: 100100000} 827 | m_GameObject: {fileID: 1450999469347056} 828 | m_Enabled: 1 829 | m_EditorHideFlags: 0 830 | m_Script: {fileID: 1367256648, guid: f70555f144d8491a825f0804e09c671c, type: 3} 831 | m_Name: 832 | m_EditorClassIdentifier: 833 | m_Content: {fileID: 224663782967401968} 834 | m_Horizontal: 0 835 | m_Vertical: 1 836 | m_MovementType: 2 837 | m_Elasticity: 0.1 838 | m_Inertia: 1 839 | m_DecelerationRate: 0.00001 840 | m_ScrollSensitivity: 40 841 | m_Viewport: {fileID: 224880521695437248} 842 | m_HorizontalScrollbar: {fileID: 0} 843 | m_VerticalScrollbar: {fileID: 114766862796907208} 844 | m_HorizontalScrollbarVisibility: 2 845 | m_VerticalScrollbarVisibility: 1 846 | m_HorizontalScrollbarSpacing: -3 847 | m_VerticalScrollbarSpacing: -5 848 | m_OnValueChanged: 849 | m_PersistentCalls: 850 | m_Calls: [] 851 | m_TypeName: UnityEngine.UI.ScrollRect+ScrollRectEvent, UnityEngine.UI, Version=1.0.0.0, 852 | Culture=neutral, PublicKeyToken=null 853 | --- !u!114 &114424923844948666 854 | MonoBehaviour: 855 | m_ObjectHideFlags: 1 856 | m_PrefabParentObject: {fileID: 0} 857 | m_PrefabInternal: {fileID: 100100000} 858 | m_GameObject: {fileID: 1695789471541514} 859 | m_Enabled: 1 860 | m_EditorHideFlags: 0 861 | m_Script: {fileID: 1297475563, guid: f70555f144d8491a825f0804e09c671c, type: 3} 862 | m_Name: 863 | m_EditorClassIdentifier: 864 | m_Padding: 865 | m_Left: 0 866 | m_Right: 0 867 | m_Top: 0 868 | m_Bottom: 0 869 | m_ChildAlignment: 0 870 | m_Spacing: 20 871 | m_ChildForceExpandWidth: 1 872 | m_ChildForceExpandHeight: 0 873 | m_ChildControlWidth: 1 874 | m_ChildControlHeight: 1 875 | --- !u!114 &114443082298084982 876 | MonoBehaviour: 877 | m_ObjectHideFlags: 1 878 | m_PrefabParentObject: {fileID: 0} 879 | m_PrefabInternal: {fileID: 100100000} 880 | m_GameObject: {fileID: 1942764876912198} 881 | m_Enabled: 1 882 | m_EditorHideFlags: 0 883 | m_Script: {fileID: 1297475563, guid: f70555f144d8491a825f0804e09c671c, type: 3} 884 | m_Name: 885 | m_EditorClassIdentifier: 886 | m_Padding: 887 | m_Left: 0 888 | m_Right: 0 889 | m_Top: 0 890 | m_Bottom: 0 891 | m_ChildAlignment: 0 892 | m_Spacing: 20 893 | m_ChildForceExpandWidth: 1 894 | m_ChildForceExpandHeight: 0 895 | m_ChildControlWidth: 1 896 | m_ChildControlHeight: 1 897 | --- !u!114 &114484448151891576 898 | MonoBehaviour: 899 | m_ObjectHideFlags: 1 900 | m_PrefabParentObject: {fileID: 0} 901 | m_PrefabInternal: {fileID: 100100000} 902 | m_GameObject: {fileID: 1951661710988436} 903 | m_Enabled: 1 904 | m_EditorHideFlags: 0 905 | m_Script: {fileID: 1741964061, guid: f70555f144d8491a825f0804e09c671c, type: 3} 906 | m_Name: 907 | m_EditorClassIdentifier: 908 | m_HorizontalFit: 0 909 | m_VerticalFit: 2 910 | --- !u!114 &114536262889538606 911 | MonoBehaviour: 912 | m_ObjectHideFlags: 1 913 | m_PrefabParentObject: {fileID: 0} 914 | m_PrefabInternal: {fileID: 100100000} 915 | m_GameObject: {fileID: 1560841530139060} 916 | m_Enabled: 1 917 | m_EditorHideFlags: 0 918 | m_Script: {fileID: 1741964061, guid: f70555f144d8491a825f0804e09c671c, type: 3} 919 | m_Name: 920 | m_EditorClassIdentifier: 921 | m_HorizontalFit: 0 922 | m_VerticalFit: 2 923 | --- !u!114 &114544920061438338 924 | MonoBehaviour: 925 | m_ObjectHideFlags: 1 926 | m_PrefabParentObject: {fileID: 0} 927 | m_PrefabInternal: {fileID: 100100000} 928 | m_GameObject: {fileID: 1942764876912198} 929 | m_Enabled: 1 930 | m_EditorHideFlags: 0 931 | m_Script: {fileID: 1741964061, guid: f70555f144d8491a825f0804e09c671c, type: 3} 932 | m_Name: 933 | m_EditorClassIdentifier: 934 | m_HorizontalFit: 0 935 | m_VerticalFit: 2 936 | --- !u!114 &114555183837247104 937 | MonoBehaviour: 938 | m_ObjectHideFlags: 1 939 | m_PrefabParentObject: {fileID: 0} 940 | m_PrefabInternal: {fileID: 100100000} 941 | m_GameObject: {fileID: 1985282466359750} 942 | m_Enabled: 1 943 | m_EditorHideFlags: 0 944 | m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3} 945 | m_Name: 946 | m_EditorClassIdentifier: 947 | m_Material: {fileID: 0} 948 | m_Color: {r: 1, g: 1, b: 1, a: 0.5647059} 949 | m_RaycastTarget: 1 950 | m_OnCullStateChanged: 951 | m_PersistentCalls: 952 | m_Calls: [] 953 | m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, 954 | Version=1.0.0.0, Culture=neutral, PublicKeyToken=null 955 | m_Sprite: {fileID: 21300000, guid: 1cb8a0bc8434e304c8c28586dd7a8c97, type: 3} 956 | m_Type: 0 957 | m_PreserveAspect: 0 958 | m_FillCenter: 1 959 | m_FillMethod: 4 960 | m_FillAmount: 1 961 | m_FillClockwise: 1 962 | m_FillOrigin: 0 963 | --- !u!114 &114567368387756782 964 | MonoBehaviour: 965 | m_ObjectHideFlags: 1 966 | m_PrefabParentObject: {fileID: 0} 967 | m_PrefabInternal: {fileID: 100100000} 968 | m_GameObject: {fileID: 1695789471541514} 969 | m_Enabled: 1 970 | m_EditorHideFlags: 0 971 | m_Script: {fileID: 1741964061, guid: f70555f144d8491a825f0804e09c671c, type: 3} 972 | m_Name: 973 | m_EditorClassIdentifier: 974 | m_HorizontalFit: 0 975 | m_VerticalFit: 2 976 | --- !u!114 &114576984593259620 977 | MonoBehaviour: 978 | m_ObjectHideFlags: 1 979 | m_PrefabParentObject: {fileID: 0} 980 | m_PrefabInternal: {fileID: 100100000} 981 | m_GameObject: {fileID: 1218750497802748} 982 | m_Enabled: 1 983 | m_EditorHideFlags: 0 984 | m_Script: {fileID: 1301386320, guid: f70555f144d8491a825f0804e09c671c, type: 3} 985 | m_Name: 986 | m_EditorClassIdentifier: 987 | m_IgnoreReversedGraphics: 1 988 | m_BlockingObjects: 0 989 | m_BlockingMask: 990 | serializedVersion: 2 991 | m_Bits: 4294967295 992 | --- !u!114 &114585507841753684 993 | MonoBehaviour: 994 | m_ObjectHideFlags: 1 995 | m_PrefabParentObject: {fileID: 0} 996 | m_PrefabInternal: {fileID: 100100000} 997 | m_GameObject: {fileID: 1492345341603244} 998 | m_Enabled: 1 999 | m_EditorHideFlags: 0 1000 | m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3} 1001 | m_Name: 1002 | m_EditorClassIdentifier: 1003 | m_Material: {fileID: 0} 1004 | m_Color: {r: 0.2509804, g: 0.5019608, b: 0.8901961, a: 1} 1005 | m_RaycastTarget: 1 1006 | m_OnCullStateChanged: 1007 | m_PersistentCalls: 1008 | m_Calls: [] 1009 | m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, 1010 | Version=1.0.0.0, Culture=neutral, PublicKeyToken=null 1011 | m_Sprite: {fileID: 21300000, guid: 9c89873c7bdca6f4c91dec1e244f0b53, type: 3} 1012 | m_Type: 1 1013 | m_PreserveAspect: 0 1014 | m_FillCenter: 1 1015 | m_FillMethod: 4 1016 | m_FillAmount: 1 1017 | m_FillClockwise: 1 1018 | m_FillOrigin: 0 1019 | --- !u!114 &114599771968054050 1020 | MonoBehaviour: 1021 | m_ObjectHideFlags: 1 1022 | m_PrefabParentObject: {fileID: 0} 1023 | m_PrefabInternal: {fileID: 100100000} 1024 | m_GameObject: {fileID: 1211755309954232} 1025 | m_Enabled: 1 1026 | m_EditorHideFlags: 0 1027 | m_Script: {fileID: -146154839, guid: f70555f144d8491a825f0804e09c671c, type: 3} 1028 | m_Name: 1029 | m_EditorClassIdentifier: 1030 | --- !u!114 &114601109669315426 1031 | MonoBehaviour: 1032 | m_ObjectHideFlags: 1 1033 | m_PrefabParentObject: {fileID: 0} 1034 | m_PrefabInternal: {fileID: 100100000} 1035 | m_GameObject: {fileID: 1589969511697648} 1036 | m_Enabled: 1 1037 | m_EditorHideFlags: 0 1038 | m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3} 1039 | m_Name: 1040 | m_EditorClassIdentifier: 1041 | m_Material: {fileID: 0} 1042 | m_Color: {r: 0.23529412, g: 0.69411767, b: 0.5529412, a: 1} 1043 | m_RaycastTarget: 1 1044 | m_OnCullStateChanged: 1045 | m_PersistentCalls: 1046 | m_Calls: [] 1047 | m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, 1048 | Version=1.0.0.0, Culture=neutral, PublicKeyToken=null 1049 | m_Sprite: {fileID: 21300000, guid: 9c89873c7bdca6f4c91dec1e244f0b53, type: 3} 1050 | m_Type: 1 1051 | m_PreserveAspect: 0 1052 | m_FillCenter: 1 1053 | m_FillMethod: 4 1054 | m_FillAmount: 1 1055 | m_FillClockwise: 1 1056 | m_FillOrigin: 0 1057 | --- !u!114 &114642423353391898 1058 | MonoBehaviour: 1059 | m_ObjectHideFlags: 1 1060 | m_PrefabParentObject: {fileID: 0} 1061 | m_PrefabInternal: {fileID: 100100000} 1062 | m_GameObject: {fileID: 1822824975470362} 1063 | m_Enabled: 1 1064 | m_EditorHideFlags: 0 1065 | m_Script: {fileID: 11500000, guid: b8e449c3707a3f04a9a4d95d242c62ff, type: 3} 1066 | m_Name: 1067 | m_EditorClassIdentifier: 1068 | text: {fileID: 114361362398777562} 1069 | --- !u!114 &114661163447697800 1070 | MonoBehaviour: 1071 | m_ObjectHideFlags: 1 1072 | m_PrefabParentObject: {fileID: 0} 1073 | m_PrefabInternal: {fileID: 100100000} 1074 | m_GameObject: {fileID: 1218750497802748} 1075 | m_Enabled: 1 1076 | m_EditorHideFlags: 0 1077 | m_Script: {fileID: 11500000, guid: c4ba2ec1001cae94880ac63ff635834d, type: 3} 1078 | m_Name: 1079 | m_EditorClassIdentifier: 1080 | embeddedEventSystem: {fileID: 1953971859849354} 1081 | --- !u!114 &114671533258207622 1082 | MonoBehaviour: 1083 | m_ObjectHideFlags: 1 1084 | m_PrefabParentObject: {fileID: 0} 1085 | m_PrefabInternal: {fileID: 100100000} 1086 | m_GameObject: {fileID: 1953971859849354} 1087 | m_Enabled: 1 1088 | m_EditorHideFlags: 0 1089 | m_Script: {fileID: 1327945023, guid: f70555f144d8491a825f0804e09c671c, type: 3} 1090 | m_Name: 1091 | m_EditorClassIdentifier: 1092 | --- !u!114 &114741406349433576 1093 | MonoBehaviour: 1094 | m_ObjectHideFlags: 1 1095 | m_PrefabParentObject: {fileID: 0} 1096 | m_PrefabInternal: {fileID: 100100000} 1097 | m_GameObject: {fileID: 1953971859849354} 1098 | m_Enabled: 1 1099 | m_EditorHideFlags: 0 1100 | m_Script: {fileID: -619905303, guid: f70555f144d8491a825f0804e09c671c, type: 3} 1101 | m_Name: 1102 | m_EditorClassIdentifier: 1103 | m_FirstSelected: {fileID: 0} 1104 | m_sendNavigationEvents: 0 1105 | m_DragThreshold: 10 1106 | --- !u!114 &114766862796907208 1107 | MonoBehaviour: 1108 | m_ObjectHideFlags: 1 1109 | m_PrefabParentObject: {fileID: 0} 1110 | m_PrefabInternal: {fileID: 100100000} 1111 | m_GameObject: {fileID: 1573301284493860} 1112 | m_Enabled: 1 1113 | m_EditorHideFlags: 0 1114 | m_Script: {fileID: -2061169968, guid: f70555f144d8491a825f0804e09c671c, type: 3} 1115 | m_Name: 1116 | m_EditorClassIdentifier: 1117 | m_Navigation: 1118 | m_Mode: 3 1119 | m_SelectOnUp: {fileID: 0} 1120 | m_SelectOnDown: {fileID: 0} 1121 | m_SelectOnLeft: {fileID: 0} 1122 | m_SelectOnRight: {fileID: 0} 1123 | m_Transition: 0 1124 | m_Colors: 1125 | m_NormalColor: {r: 1, g: 1, b: 1, a: 1} 1126 | m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} 1127 | m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} 1128 | m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} 1129 | m_ColorMultiplier: 1 1130 | m_FadeDuration: 0.1 1131 | m_SpriteState: 1132 | m_HighlightedSprite: {fileID: 0} 1133 | m_PressedSprite: {fileID: 0} 1134 | m_DisabledSprite: {fileID: 0} 1135 | m_AnimationTriggers: 1136 | m_NormalTrigger: Normal 1137 | m_HighlightedTrigger: Highlighted 1138 | m_PressedTrigger: Pressed 1139 | m_DisabledTrigger: Disabled 1140 | m_Interactable: 0 1141 | m_TargetGraphic: {fileID: 114121360132013348} 1142 | m_HandleRect: {fileID: 224067000489701334} 1143 | m_Direction: 2 1144 | m_Value: 0 1145 | m_Size: 0.99999994 1146 | m_NumberOfSteps: 0 1147 | m_OnValueChanged: 1148 | m_PersistentCalls: 1149 | m_Calls: [] 1150 | m_TypeName: UnityEngine.UI.Scrollbar+ScrollEvent, UnityEngine.UI, Version=1.0.0.0, 1151 | Culture=neutral, PublicKeyToken=null 1152 | --- !u!114 &114774621868722798 1153 | MonoBehaviour: 1154 | m_ObjectHideFlags: 1 1155 | m_PrefabParentObject: {fileID: 0} 1156 | m_PrefabInternal: {fileID: 100100000} 1157 | m_GameObject: {fileID: 1329588292357292} 1158 | m_Enabled: 1 1159 | m_EditorHideFlags: 0 1160 | m_Script: {fileID: 708705254, guid: f70555f144d8491a825f0804e09c671c, type: 3} 1161 | m_Name: 1162 | m_EditorClassIdentifier: 1163 | m_Material: {fileID: 0} 1164 | m_Color: {r: 0.023529412, g: 0.27058825, b: 0.6784314, a: 1} 1165 | m_RaycastTarget: 1 1166 | m_OnCullStateChanged: 1167 | m_PersistentCalls: 1168 | m_Calls: [] 1169 | m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, 1170 | Version=1.0.0.0, Culture=neutral, PublicKeyToken=null 1171 | m_FontData: 1172 | m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} 1173 | m_FontSize: 18 1174 | m_FontStyle: 0 1175 | m_BestFit: 0 1176 | m_MinSize: 1 1177 | m_MaxSize: 40 1178 | m_Alignment: 4 1179 | m_AlignByGeometry: 0 1180 | m_RichText: 0 1181 | m_HorizontalOverflow: 0 1182 | m_VerticalOverflow: 0 1183 | m_LineSpacing: 1 1184 | m_Text: Terms of Service 1185 | --- !u!114 &114784828285561744 1186 | MonoBehaviour: 1187 | m_ObjectHideFlags: 1 1188 | m_PrefabParentObject: {fileID: 0} 1189 | m_PrefabInternal: {fileID: 100100000} 1190 | m_GameObject: {fileID: 1589969511697648} 1191 | m_Enabled: 1 1192 | m_EditorHideFlags: 0 1193 | m_Script: {fileID: 1679637790, guid: f70555f144d8491a825f0804e09c671c, type: 3} 1194 | m_Name: 1195 | m_EditorClassIdentifier: 1196 | m_IgnoreLayout: 0 1197 | m_MinWidth: -1 1198 | m_MinHeight: -1 1199 | m_PreferredWidth: -1 1200 | m_PreferredHeight: 60 1201 | m_FlexibleWidth: -1 1202 | m_FlexibleHeight: -1 1203 | --- !u!114 &114803850446722874 1204 | MonoBehaviour: 1205 | m_ObjectHideFlags: 1 1206 | m_PrefabParentObject: {fileID: 0} 1207 | m_PrefabInternal: {fileID: 100100000} 1208 | m_GameObject: {fileID: 1560841530139060} 1209 | m_Enabled: 1 1210 | m_EditorHideFlags: 0 1211 | m_Script: {fileID: 1297475563, guid: f70555f144d8491a825f0804e09c671c, type: 3} 1212 | m_Name: 1213 | m_EditorClassIdentifier: 1214 | m_Padding: 1215 | m_Left: 0 1216 | m_Right: 0 1217 | m_Top: 0 1218 | m_Bottom: 0 1219 | m_ChildAlignment: 0 1220 | m_Spacing: 5 1221 | m_ChildForceExpandWidth: 1 1222 | m_ChildForceExpandHeight: 0 1223 | m_ChildControlWidth: 1 1224 | m_ChildControlHeight: 1 1225 | --- !u!114 &114845435939626878 1226 | MonoBehaviour: 1227 | m_ObjectHideFlags: 1 1228 | m_PrefabParentObject: {fileID: 0} 1229 | m_PrefabInternal: {fileID: 100100000} 1230 | m_GameObject: {fileID: 1450999469347056} 1231 | m_Enabled: 1 1232 | m_EditorHideFlags: 0 1233 | m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3} 1234 | m_Name: 1235 | m_EditorClassIdentifier: 1236 | m_Material: {fileID: 0} 1237 | m_Color: {r: 1, g: 1, b: 1, a: 0} 1238 | m_RaycastTarget: 1 1239 | m_OnCullStateChanged: 1240 | m_PersistentCalls: 1241 | m_Calls: [] 1242 | m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, 1243 | Version=1.0.0.0, Culture=neutral, PublicKeyToken=null 1244 | m_Sprite: {fileID: 21300000, guid: 1cb8a0bc8434e304c8c28586dd7a8c97, type: 3} 1245 | m_Type: 0 1246 | m_PreserveAspect: 0 1247 | m_FillCenter: 1 1248 | m_FillMethod: 4 1249 | m_FillAmount: 1 1250 | m_FillClockwise: 1 1251 | m_FillOrigin: 0 1252 | --- !u!114 &114845470117446280 1253 | MonoBehaviour: 1254 | m_ObjectHideFlags: 1 1255 | m_PrefabParentObject: {fileID: 0} 1256 | m_PrefabInternal: {fileID: 100100000} 1257 | m_GameObject: {fileID: 1163280533721250} 1258 | m_Enabled: 1 1259 | m_EditorHideFlags: 0 1260 | m_Script: {fileID: 708705254, guid: f70555f144d8491a825f0804e09c671c, type: 3} 1261 | m_Name: 1262 | m_EditorClassIdentifier: 1263 | m_Material: {fileID: 0} 1264 | m_Color: {r: 1, g: 1, b: 1, a: 1} 1265 | m_RaycastTarget: 0 1266 | m_OnCullStateChanged: 1267 | m_PersistentCalls: 1268 | m_Calls: [] 1269 | m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, 1270 | Version=1.0.0.0, Culture=neutral, PublicKeyToken=null 1271 | m_FontData: 1272 | m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} 1273 | m_FontSize: 24 1274 | m_FontStyle: 0 1275 | m_BestFit: 0 1276 | m_MinSize: 1 1277 | m_MaxSize: 40 1278 | m_Alignment: 4 1279 | m_AlignByGeometry: 0 1280 | m_RichText: 1 1281 | m_HorizontalOverflow: 0 1282 | m_VerticalOverflow: 0 1283 | m_LineSpacing: 1 1284 | m_Text: Close 1285 | --- !u!114 &114902194396559972 1286 | MonoBehaviour: 1287 | m_ObjectHideFlags: 1 1288 | m_PrefabParentObject: {fileID: 0} 1289 | m_PrefabInternal: {fileID: 100100000} 1290 | m_GameObject: {fileID: 1218750497802748} 1291 | m_Enabled: 1 1292 | m_EditorHideFlags: 0 1293 | m_Script: {fileID: 11500000, guid: 0f7c28723cbba194cb22a9b0895f09a4, type: 3} 1294 | m_Name: 1295 | m_EditorClassIdentifier: 1296 | _termsOfService: {fileID: 114298628218464350} 1297 | _privacyPolicy: {fileID: 114642423353391898} 1298 | acceptButton: {fileID: 114988791861125562} 1299 | sectionPrefab: {fileID: 114307185636209700, guid: 10349db548f9a284c98bf169262b02a6, 1300 | type: 2} 1301 | horizontalLinePrefab: {fileID: 224521789589360794, guid: eae21849ee49d6546bc64b993f7d7328, 1302 | type: 2} 1303 | privacyPolicyPrefab: {fileID: 114140791500514446, guid: 7d038e06ac175234d8c74b35ad9166ae, 1304 | type: 2} 1305 | sectionsParent: {fileID: 224314514392556760} 1306 | privacyPoliciesParent: {fileID: 224735574637786928} 1307 | closeButton: {fileID: 114324451617295484} 1308 | dialog: {fileID: 224511377021376446} 1309 | dialogCanvasGroup: {fileID: 225818152581031718} 1310 | scrollView: {fileID: 114383886671576280} 1311 | termsView: {fileID: 224328926290790830} 1312 | consentView: {fileID: 224663782967401968} 1313 | dialogPadding: {x: 0, y: 100} 1314 | --- !u!114 &114981408167332626 1315 | MonoBehaviour: 1316 | m_ObjectHideFlags: 1 1317 | m_PrefabParentObject: {fileID: 0} 1318 | m_PrefabInternal: {fileID: 100100000} 1319 | m_GameObject: {fileID: 1139156153783760} 1320 | m_Enabled: 1 1321 | m_EditorHideFlags: 0 1322 | m_Script: {fileID: 708705254, guid: f70555f144d8491a825f0804e09c671c, type: 3} 1323 | m_Name: 1324 | m_EditorClassIdentifier: 1325 | m_Material: {fileID: 0} 1326 | m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} 1327 | m_RaycastTarget: 0 1328 | m_OnCullStateChanged: 1329 | m_PersistentCalls: 1330 | m_Calls: [] 1331 | m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, 1332 | Version=1.0.0.0, Culture=neutral, PublicKeyToken=null 1333 | m_FontData: 1334 | m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} 1335 | m_FontSize: 18 1336 | m_FontStyle: 0 1337 | m_BestFit: 0 1338 | m_MinSize: 1 1339 | m_MaxSize: 40 1340 | m_Alignment: 4 1341 | m_AlignByGeometry: 0 1342 | m_RichText: 0 1343 | m_HorizontalOverflow: 0 1344 | m_VerticalOverflow: 0 1345 | m_LineSpacing: 1 1346 | m_Text: Before playing this game, you need to accept our Terms of Service and read 1347 | our Privacy Policy. 1348 | --- !u!114 &114988791861125562 1349 | MonoBehaviour: 1350 | m_ObjectHideFlags: 1 1351 | m_PrefabParentObject: {fileID: 0} 1352 | m_PrefabInternal: {fileID: 100100000} 1353 | m_GameObject: {fileID: 1589969511697648} 1354 | m_Enabled: 1 1355 | m_EditorHideFlags: 0 1356 | m_Script: {fileID: 1392445389, guid: f70555f144d8491a825f0804e09c671c, type: 3} 1357 | m_Name: 1358 | m_EditorClassIdentifier: 1359 | m_Navigation: 1360 | m_Mode: 3 1361 | m_SelectOnUp: {fileID: 0} 1362 | m_SelectOnDown: {fileID: 0} 1363 | m_SelectOnLeft: {fileID: 0} 1364 | m_SelectOnRight: {fileID: 0} 1365 | m_Transition: 1 1366 | m_Colors: 1367 | m_NormalColor: {r: 1, g: 1, b: 1, a: 1} 1368 | m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} 1369 | m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} 1370 | m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} 1371 | m_ColorMultiplier: 1 1372 | m_FadeDuration: 0.1 1373 | m_SpriteState: 1374 | m_HighlightedSprite: {fileID: 0} 1375 | m_PressedSprite: {fileID: 0} 1376 | m_DisabledSprite: {fileID: 0} 1377 | m_AnimationTriggers: 1378 | m_NormalTrigger: Normal 1379 | m_HighlightedTrigger: Highlighted 1380 | m_PressedTrigger: Pressed 1381 | m_DisabledTrigger: Disabled 1382 | m_Interactable: 1 1383 | m_TargetGraphic: {fileID: 114601109669315426} 1384 | m_OnClick: 1385 | m_PersistentCalls: 1386 | m_Calls: [] 1387 | m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0, 1388 | Culture=neutral, PublicKeyToken=null 1389 | --- !u!222 &222000205045306610 1390 | CanvasRenderer: 1391 | m_ObjectHideFlags: 1 1392 | m_PrefabParentObject: {fileID: 0} 1393 | m_PrefabInternal: {fileID: 100100000} 1394 | m_GameObject: {fileID: 1329588292357292} 1395 | --- !u!222 &222013427082957790 1396 | CanvasRenderer: 1397 | m_ObjectHideFlags: 1 1398 | m_PrefabParentObject: {fileID: 0} 1399 | m_PrefabInternal: {fileID: 100100000} 1400 | m_GameObject: {fileID: 1745589516315998} 1401 | --- !u!222 &222024742304748678 1402 | CanvasRenderer: 1403 | m_ObjectHideFlags: 1 1404 | m_PrefabParentObject: {fileID: 0} 1405 | m_PrefabInternal: {fileID: 100100000} 1406 | m_GameObject: {fileID: 1589969511697648} 1407 | --- !u!222 &222110571767658022 1408 | CanvasRenderer: 1409 | m_ObjectHideFlags: 1 1410 | m_PrefabParentObject: {fileID: 0} 1411 | m_PrefabInternal: {fileID: 100100000} 1412 | m_GameObject: {fileID: 1163280533721250} 1413 | --- !u!222 &222111430851885046 1414 | CanvasRenderer: 1415 | m_ObjectHideFlags: 1 1416 | m_PrefabParentObject: {fileID: 0} 1417 | m_PrefabInternal: {fileID: 100100000} 1418 | m_GameObject: {fileID: 1492345341603244} 1419 | --- !u!222 &222170233427326838 1420 | CanvasRenderer: 1421 | m_ObjectHideFlags: 1 1422 | m_PrefabParentObject: {fileID: 0} 1423 | m_PrefabInternal: {fileID: 100100000} 1424 | m_GameObject: {fileID: 1897494549985828} 1425 | --- !u!222 &222239424549340978 1426 | CanvasRenderer: 1427 | m_ObjectHideFlags: 1 1428 | m_PrefabParentObject: {fileID: 0} 1429 | m_PrefabInternal: {fileID: 100100000} 1430 | m_GameObject: {fileID: 1985282466359750} 1431 | --- !u!222 &222303813079543838 1432 | CanvasRenderer: 1433 | m_ObjectHideFlags: 1 1434 | m_PrefabParentObject: {fileID: 0} 1435 | m_PrefabInternal: {fileID: 100100000} 1436 | m_GameObject: {fileID: 1879977527467810} 1437 | --- !u!222 &222376206880651234 1438 | CanvasRenderer: 1439 | m_ObjectHideFlags: 1 1440 | m_PrefabParentObject: {fileID: 0} 1441 | m_PrefabInternal: {fileID: 100100000} 1442 | m_GameObject: {fileID: 1665783135042026} 1443 | --- !u!222 &222528723295750776 1444 | CanvasRenderer: 1445 | m_ObjectHideFlags: 1 1446 | m_PrefabParentObject: {fileID: 0} 1447 | m_PrefabInternal: {fileID: 100100000} 1448 | m_GameObject: {fileID: 1897039110561838} 1449 | --- !u!222 &222654363772744418 1450 | CanvasRenderer: 1451 | m_ObjectHideFlags: 1 1452 | m_PrefabParentObject: {fileID: 0} 1453 | m_PrefabInternal: {fileID: 100100000} 1454 | m_GameObject: {fileID: 1103928775017616} 1455 | --- !u!222 &222809418832587332 1456 | CanvasRenderer: 1457 | m_ObjectHideFlags: 1 1458 | m_PrefabParentObject: {fileID: 0} 1459 | m_PrefabInternal: {fileID: 100100000} 1460 | m_GameObject: {fileID: 1822824975470362} 1461 | --- !u!222 &222814598666368766 1462 | CanvasRenderer: 1463 | m_ObjectHideFlags: 1 1464 | m_PrefabParentObject: {fileID: 0} 1465 | m_PrefabInternal: {fileID: 100100000} 1466 | m_GameObject: {fileID: 1450999469347056} 1467 | --- !u!222 &222922359087650928 1468 | CanvasRenderer: 1469 | m_ObjectHideFlags: 1 1470 | m_PrefabParentObject: {fileID: 0} 1471 | m_PrefabInternal: {fileID: 100100000} 1472 | m_GameObject: {fileID: 1139156153783760} 1473 | --- !u!222 &222946494623828840 1474 | CanvasRenderer: 1475 | m_ObjectHideFlags: 1 1476 | m_PrefabParentObject: {fileID: 0} 1477 | m_PrefabInternal: {fileID: 100100000} 1478 | m_GameObject: {fileID: 1573301284493860} 1479 | --- !u!223 &223648594915010758 1480 | Canvas: 1481 | m_ObjectHideFlags: 1 1482 | m_PrefabParentObject: {fileID: 0} 1483 | m_PrefabInternal: {fileID: 100100000} 1484 | m_GameObject: {fileID: 1218750497802748} 1485 | m_Enabled: 1 1486 | serializedVersion: 3 1487 | m_RenderMode: 0 1488 | m_Camera: {fileID: 0} 1489 | m_PlaneDistance: 100 1490 | m_PixelPerfect: 0 1491 | m_ReceivesEvents: 1 1492 | m_OverrideSorting: 0 1493 | m_OverridePixelPerfect: 0 1494 | m_SortingBucketNormalizedSize: 0 1495 | m_AdditionalShaderChannelsFlag: 0 1496 | m_SortingLayerID: 0 1497 | m_SortingOrder: 1000 1498 | m_TargetDisplay: 0 1499 | --- !u!224 &224067000489701334 1500 | RectTransform: 1501 | m_ObjectHideFlags: 1 1502 | m_PrefabParentObject: {fileID: 0} 1503 | m_PrefabInternal: {fileID: 100100000} 1504 | m_GameObject: {fileID: 1103928775017616} 1505 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 1506 | m_LocalPosition: {x: 0, y: 0, z: 0} 1507 | m_LocalScale: {x: 1, y: 1, z: 1} 1508 | m_Children: [] 1509 | m_Father: {fileID: 224253419454293056} 1510 | m_RootOrder: 0 1511 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 1512 | m_AnchorMin: {x: 0, y: 0} 1513 | m_AnchorMax: {x: 0, y: 0} 1514 | m_AnchoredPosition: {x: 0, y: 0} 1515 | m_SizeDelta: {x: 0, y: 0} 1516 | m_Pivot: {x: 0.5, y: 0.5} 1517 | --- !u!224 &224074624626068126 1518 | RectTransform: 1519 | m_ObjectHideFlags: 1 1520 | m_PrefabParentObject: {fileID: 0} 1521 | m_PrefabInternal: {fileID: 100100000} 1522 | m_GameObject: {fileID: 1573301284493860} 1523 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 1524 | m_LocalPosition: {x: 0, y: 0, z: 0} 1525 | m_LocalScale: {x: 1, y: 1, z: 1} 1526 | m_Children: 1527 | - {fileID: 224253419454293056} 1528 | m_Father: {fileID: 224552717544701476} 1529 | m_RootOrder: 1 1530 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 1531 | m_AnchorMin: {x: 1, y: 0} 1532 | m_AnchorMax: {x: 1, y: 1} 1533 | m_AnchoredPosition: {x: 12, y: 0} 1534 | m_SizeDelta: {x: 5, y: 0} 1535 | m_Pivot: {x: 1, y: 1} 1536 | --- !u!224 &224098530379466878 1537 | RectTransform: 1538 | m_ObjectHideFlags: 1 1539 | m_PrefabParentObject: {fileID: 0} 1540 | m_PrefabInternal: {fileID: 100100000} 1541 | m_GameObject: {fileID: 1329588292357292} 1542 | m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} 1543 | m_LocalPosition: {x: 0, y: 0, z: 0} 1544 | m_LocalScale: {x: 1, y: 1, z: 1} 1545 | m_Children: [] 1546 | m_Father: {fileID: 224328926290790830} 1547 | m_RootOrder: 2 1548 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 1549 | m_AnchorMin: {x: 0, y: 1} 1550 | m_AnchorMax: {x: 0, y: 1} 1551 | m_AnchoredPosition: {x: 198.56425, y: -116.59438} 1552 | m_SizeDelta: {x: 397.1285, y: 19.534136} 1553 | m_Pivot: {x: 0.5, y: 0.5} 1554 | --- !u!224 &224108677760075380 1555 | RectTransform: 1556 | m_ObjectHideFlags: 1 1557 | m_PrefabParentObject: {fileID: 0} 1558 | m_PrefabInternal: {fileID: 100100000} 1559 | m_GameObject: {fileID: 1589969511697648} 1560 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 1561 | m_LocalPosition: {x: 0, y: 0, z: 0} 1562 | m_LocalScale: {x: 1, y: 1, z: 1} 1563 | m_Children: 1564 | - {fileID: 224464891903142344} 1565 | m_Father: {fileID: 224328926290790830} 1566 | m_RootOrder: 4 1567 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 1568 | m_AnchorMin: {x: 0, y: 1} 1569 | m_AnchorMax: {x: 0, y: 1} 1570 | m_AnchoredPosition: {x: 198.56425, y: -215.89558} 1571 | m_SizeDelta: {x: 397.1285, y: 60} 1572 | m_Pivot: {x: 0.5, y: 0.5} 1573 | --- !u!224 &224141755373307460 1574 | RectTransform: 1575 | m_ObjectHideFlags: 1 1576 | m_PrefabParentObject: {fileID: 0} 1577 | m_PrefabInternal: {fileID: 100100000} 1578 | m_GameObject: {fileID: 1897039110561838} 1579 | m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} 1580 | m_LocalPosition: {x: 0, y: 0, z: 0} 1581 | m_LocalScale: {x: 1, y: 1, z: 1} 1582 | m_Children: [] 1583 | m_Father: {fileID: 224663782967401968} 1584 | m_RootOrder: 0 1585 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 1586 | m_AnchorMin: {x: 0, y: 1} 1587 | m_AnchorMax: {x: 0, y: 1} 1588 | m_AnchoredPosition: {x: 198.56425, y: -122.859436} 1589 | m_SizeDelta: {x: 397.1285, y: 245.71887} 1590 | m_Pivot: {x: 0.5, y: 0.5} 1591 | --- !u!224 &224177668017760768 1592 | RectTransform: 1593 | m_ObjectHideFlags: 1 1594 | m_PrefabParentObject: {fileID: 0} 1595 | m_PrefabInternal: {fileID: 100100000} 1596 | m_GameObject: {fileID: 1822824975470362} 1597 | m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} 1598 | m_LocalPosition: {x: 0, y: 0, z: 0} 1599 | m_LocalScale: {x: 1.0000001, y: 1.0000001, z: 1.0000001} 1600 | m_Children: [] 1601 | m_Father: {fileID: 224328926290790830} 1602 | m_RootOrder: 3 1603 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 1604 | m_AnchorMin: {x: 0, y: 1} 1605 | m_AnchorMax: {x: 0, y: 1} 1606 | m_AnchoredPosition: {x: 198.56427, y: -156.12852} 1607 | m_SizeDelta: {x: 397.1285, y: 19.534136} 1608 | m_Pivot: {x: 0.5, y: 0.5} 1609 | --- !u!224 &224194801063767090 1610 | RectTransform: 1611 | m_ObjectHideFlags: 1 1612 | m_PrefabParentObject: {fileID: 0} 1613 | m_PrefabInternal: {fileID: 100100000} 1614 | m_GameObject: {fileID: 1139156153783760} 1615 | m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} 1616 | m_LocalPosition: {x: 0, y: 0, z: 0} 1617 | m_LocalScale: {x: 1, y: 1, z: 1} 1618 | m_Children: [] 1619 | m_Father: {fileID: 224328926290790830} 1620 | m_RootOrder: 1 1621 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 1622 | m_AnchorMin: {x: 0, y: 1} 1623 | m_AnchorMax: {x: 0, y: 1} 1624 | m_AnchoredPosition: {x: 198.56425, y: -66.77912} 1625 | m_SizeDelta: {x: 397.1285, y: 40.096386} 1626 | m_Pivot: {x: 0.5, y: 0.5} 1627 | --- !u!224 &224253419454293056 1628 | RectTransform: 1629 | m_ObjectHideFlags: 1 1630 | m_PrefabParentObject: {fileID: 0} 1631 | m_PrefabInternal: {fileID: 100100000} 1632 | m_GameObject: {fileID: 1026385382863514} 1633 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 1634 | m_LocalPosition: {x: 0, y: 0, z: 0} 1635 | m_LocalScale: {x: 1, y: 1, z: 1} 1636 | m_Children: 1637 | - {fileID: 224067000489701334} 1638 | m_Father: {fileID: 224074624626068126} 1639 | m_RootOrder: 0 1640 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 1641 | m_AnchorMin: {x: 0, y: 0} 1642 | m_AnchorMax: {x: 1, y: 1} 1643 | m_AnchoredPosition: {x: 0, y: 0} 1644 | m_SizeDelta: {x: 0, y: 0} 1645 | m_Pivot: {x: 0.5, y: 0.5} 1646 | --- !u!224 &224292798281097702 1647 | RectTransform: 1648 | m_ObjectHideFlags: 1 1649 | m_PrefabParentObject: {fileID: 0} 1650 | m_PrefabInternal: {fileID: 100100000} 1651 | m_GameObject: {fileID: 1985282466359750} 1652 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 1653 | m_LocalPosition: {x: 0, y: 0, z: 0} 1654 | m_LocalScale: {x: 1, y: 1, z: 1} 1655 | m_Children: [] 1656 | m_Father: {fileID: 224804428783523186} 1657 | m_RootOrder: 1 1658 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 1659 | m_AnchorMin: {x: 0, y: 0} 1660 | m_AnchorMax: {x: 1, y: 1} 1661 | m_AnchoredPosition: {x: 0, y: 0} 1662 | m_SizeDelta: {x: 100, y: 100} 1663 | m_Pivot: {x: 0.5, y: 0.5} 1664 | --- !u!224 &224314514392556760 1665 | RectTransform: 1666 | m_ObjectHideFlags: 1 1667 | m_PrefabParentObject: {fileID: 0} 1668 | m_PrefabInternal: {fileID: 100100000} 1669 | m_GameObject: {fileID: 1942764876912198} 1670 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 1671 | m_LocalPosition: {x: 0, y: 0, z: 0} 1672 | m_LocalScale: {x: 1, y: 1, z: 1} 1673 | m_Children: [] 1674 | m_Father: {fileID: 224663782967401968} 1675 | m_RootOrder: 1 1676 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 1677 | m_AnchorMin: {x: 0, y: 1} 1678 | m_AnchorMax: {x: 0, y: 1} 1679 | m_AnchoredPosition: {x: 198.56425, y: -265.71887} 1680 | m_SizeDelta: {x: 397.1285, y: 0} 1681 | m_Pivot: {x: 0.5, y: 0.5} 1682 | --- !u!224 &224328926290790830 1683 | RectTransform: 1684 | m_ObjectHideFlags: 1 1685 | m_PrefabParentObject: {fileID: 0} 1686 | m_PrefabInternal: {fileID: 100100000} 1687 | m_GameObject: {fileID: 1951661710988436} 1688 | m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} 1689 | m_LocalPosition: {x: 0, y: 0, z: 0} 1690 | m_LocalScale: {x: 1, y: 1, z: 1} 1691 | m_Children: 1692 | - {fileID: 224749354475284874} 1693 | - {fileID: 224194801063767090} 1694 | - {fileID: 224098530379466878} 1695 | - {fileID: 224177668017760768} 1696 | - {fileID: 224108677760075380} 1697 | m_Father: {fileID: 224880521695437248} 1698 | m_RootOrder: 0 1699 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 1700 | m_AnchorMin: {x: 0, y: 1} 1701 | m_AnchorMax: {x: 1, y: 1} 1702 | m_AnchoredPosition: {x: 0, y: 0} 1703 | m_SizeDelta: {x: 0, y: 245.89557} 1704 | m_Pivot: {x: 0, y: 1} 1705 | --- !u!224 &224464891903142344 1706 | RectTransform: 1707 | m_ObjectHideFlags: 1 1708 | m_PrefabParentObject: {fileID: 0} 1709 | m_PrefabInternal: {fileID: 100100000} 1710 | m_GameObject: {fileID: 1745589516315998} 1711 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 1712 | m_LocalPosition: {x: 0, y: 0, z: 0} 1713 | m_LocalScale: {x: 1, y: 1, z: 1} 1714 | m_Children: [] 1715 | m_Father: {fileID: 224108677760075380} 1716 | m_RootOrder: 0 1717 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 1718 | m_AnchorMin: {x: 0, y: 0} 1719 | m_AnchorMax: {x: 1, y: 1} 1720 | m_AnchoredPosition: {x: 0, y: 0} 1721 | m_SizeDelta: {x: 0, y: 0} 1722 | m_Pivot: {x: 0.5, y: 0.5} 1723 | --- !u!224 &224500052424180490 1724 | RectTransform: 1725 | m_ObjectHideFlags: 1 1726 | m_PrefabParentObject: {fileID: 0} 1727 | m_PrefabInternal: {fileID: 100100000} 1728 | m_GameObject: {fileID: 1163280533721250} 1729 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 1730 | m_LocalPosition: {x: 0, y: 0, z: 0} 1731 | m_LocalScale: {x: 1, y: 1, z: 1} 1732 | m_Children: [] 1733 | m_Father: {fileID: 224876246041818802} 1734 | m_RootOrder: 0 1735 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 1736 | m_AnchorMin: {x: 0, y: 0} 1737 | m_AnchorMax: {x: 1, y: 1} 1738 | m_AnchoredPosition: {x: 0, y: 0} 1739 | m_SizeDelta: {x: 0, y: 0} 1740 | m_Pivot: {x: 0.5, y: 0.5} 1741 | --- !u!224 &224511377021376446 1742 | RectTransform: 1743 | m_ObjectHideFlags: 1 1744 | m_PrefabParentObject: {fileID: 0} 1745 | m_PrefabInternal: {fileID: 100100000} 1746 | m_GameObject: {fileID: 1897494549985828} 1747 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 1748 | m_LocalPosition: {x: 0, y: 0, z: 0} 1749 | m_LocalScale: {x: 1, y: 1, z: 1} 1750 | m_Children: 1751 | - {fileID: 224552717544701476} 1752 | m_Father: {fileID: 224804428783523186} 1753 | m_RootOrder: 2 1754 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 1755 | m_AnchorMin: {x: 0.5, y: 0.5} 1756 | m_AnchorMax: {x: 0.5, y: 0.5} 1757 | m_AnchoredPosition: {x: 0, y: 0} 1758 | m_SizeDelta: {x: 600, y: 600} 1759 | m_Pivot: {x: 0.5, y: 0.5} 1760 | --- !u!224 &224552717544701476 1761 | RectTransform: 1762 | m_ObjectHideFlags: 1 1763 | m_PrefabParentObject: {fileID: 0} 1764 | m_PrefabInternal: {fileID: 100100000} 1765 | m_GameObject: {fileID: 1450999469347056} 1766 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 1767 | m_LocalPosition: {x: 0, y: 0, z: 0} 1768 | m_LocalScale: {x: 1, y: 1, z: 1} 1769 | m_Children: 1770 | - {fileID: 224880521695437248} 1771 | - {fileID: 224074624626068126} 1772 | m_Father: {fileID: 224511377021376446} 1773 | m_RootOrder: 0 1774 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 1775 | m_AnchorMin: {x: 0, y: 0} 1776 | m_AnchorMax: {x: 1, y: 1} 1777 | m_AnchoredPosition: {x: -1.5, y: 0} 1778 | m_SizeDelta: {x: -43, y: -80} 1779 | m_Pivot: {x: 0.5, y: 0.5} 1780 | --- !u!224 &224663782967401968 1781 | RectTransform: 1782 | m_ObjectHideFlags: 1 1783 | m_PrefabParentObject: {fileID: 0} 1784 | m_PrefabInternal: {fileID: 100100000} 1785 | m_GameObject: {fileID: 1695789471541514} 1786 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 1787 | m_LocalPosition: {x: 0, y: 0, z: 0} 1788 | m_LocalScale: {x: 1, y: 1, z: 1} 1789 | m_Children: 1790 | - {fileID: 224141755373307460} 1791 | - {fileID: 224314514392556760} 1792 | - {fileID: 224735574637786928} 1793 | - {fileID: 224876246041818802} 1794 | m_Father: {fileID: 224880521695437248} 1795 | m_RootOrder: 1 1796 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 1797 | m_AnchorMin: {x: 0, y: 1} 1798 | m_AnchorMax: {x: 1, y: 1} 1799 | m_AnchoredPosition: {x: 0, y: 0} 1800 | m_SizeDelta: {x: 0, y: 405.81525} 1801 | m_Pivot: {x: 0, y: 1} 1802 | --- !u!224 &224735574637786928 1803 | RectTransform: 1804 | m_ObjectHideFlags: 1 1805 | m_PrefabParentObject: {fileID: 0} 1806 | m_PrefabInternal: {fileID: 100100000} 1807 | m_GameObject: {fileID: 1560841530139060} 1808 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 1809 | m_LocalPosition: {x: 0, y: 0, z: 0} 1810 | m_LocalScale: {x: 1, y: 1, z: 1} 1811 | m_Children: 1812 | - {fileID: 224962039710274606} 1813 | m_Father: {fileID: 224663782967401968} 1814 | m_RootOrder: 2 1815 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 1816 | m_AnchorMin: {x: 0, y: 1} 1817 | m_AnchorMax: {x: 0, y: 1} 1818 | m_AnchoredPosition: {x: 198.56425, y: -305.76706} 1819 | m_SizeDelta: {x: 397.1285, y: 40.096386} 1820 | m_Pivot: {x: 0.5, y: 0.5} 1821 | --- !u!224 &224749354475284874 1822 | RectTransform: 1823 | m_ObjectHideFlags: 1 1824 | m_PrefabParentObject: {fileID: 0} 1825 | m_PrefabInternal: {fileID: 100100000} 1826 | m_GameObject: {fileID: 1665783135042026} 1827 | m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} 1828 | m_LocalPosition: {x: 0, y: 0, z: 0} 1829 | m_LocalScale: {x: 1, y: 1, z: 1} 1830 | m_Children: [] 1831 | m_Father: {fileID: 224328926290790830} 1832 | m_RootOrder: 0 1833 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 1834 | m_AnchorMin: {x: 0, y: 1} 1835 | m_AnchorMax: {x: 0, y: 1} 1836 | m_AnchoredPosition: {x: 198.56427, y: -13.365462} 1837 | m_SizeDelta: {x: 397.1285, y: 26.730925} 1838 | m_Pivot: {x: 0.5, y: 0.5} 1839 | --- !u!224 &224804428783523186 1840 | RectTransform: 1841 | m_ObjectHideFlags: 1 1842 | m_PrefabParentObject: {fileID: 0} 1843 | m_PrefabInternal: {fileID: 100100000} 1844 | m_GameObject: {fileID: 1218750497802748} 1845 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 1846 | m_LocalPosition: {x: 0, y: 0, z: 0} 1847 | m_LocalScale: {x: 0, y: 0, z: 0} 1848 | m_Children: 1849 | - {fileID: 4079048544581872} 1850 | - {fileID: 224292798281097702} 1851 | - {fileID: 224511377021376446} 1852 | m_Father: {fileID: 0} 1853 | m_RootOrder: 0 1854 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 1855 | m_AnchorMin: {x: 0, y: 0} 1856 | m_AnchorMax: {x: 0, y: 0} 1857 | m_AnchoredPosition: {x: 0, y: 0} 1858 | m_SizeDelta: {x: 0, y: 0} 1859 | m_Pivot: {x: 0, y: 0} 1860 | --- !u!224 &224876246041818802 1861 | RectTransform: 1862 | m_ObjectHideFlags: 1 1863 | m_PrefabParentObject: {fileID: 0} 1864 | m_PrefabInternal: {fileID: 100100000} 1865 | m_GameObject: {fileID: 1492345341603244} 1866 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 1867 | m_LocalPosition: {x: 0, y: 0, z: 0} 1868 | m_LocalScale: {x: 1, y: 1, z: 1} 1869 | m_Children: 1870 | - {fileID: 224500052424180490} 1871 | m_Father: {fileID: 224663782967401968} 1872 | m_RootOrder: 3 1873 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 1874 | m_AnchorMin: {x: 0, y: 1} 1875 | m_AnchorMax: {x: 0, y: 1} 1876 | m_AnchoredPosition: {x: 198.56425, y: -375.81525} 1877 | m_SizeDelta: {x: 397.1285, y: 60} 1878 | m_Pivot: {x: 0.5, y: 0.5} 1879 | --- !u!224 &224880521695437248 1880 | RectTransform: 1881 | m_ObjectHideFlags: 1 1882 | m_PrefabParentObject: {fileID: 0} 1883 | m_PrefabInternal: {fileID: 100100000} 1884 | m_GameObject: {fileID: 1211755309954232} 1885 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 1886 | m_LocalPosition: {x: 0, y: 0, z: 0} 1887 | m_LocalScale: {x: 1, y: 1, z: 1} 1888 | m_Children: 1889 | - {fileID: 224328926290790830} 1890 | - {fileID: 224663782967401968} 1891 | m_Father: {fileID: 224552717544701476} 1892 | m_RootOrder: 0 1893 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 1894 | m_AnchorMin: {x: 0, y: 0} 1895 | m_AnchorMax: {x: 1, y: 1} 1896 | m_AnchoredPosition: {x: 0, y: 0} 1897 | m_SizeDelta: {x: 0, y: 0} 1898 | m_Pivot: {x: 0, y: 1} 1899 | --- !u!224 &224962039710274606 1900 | RectTransform: 1901 | m_ObjectHideFlags: 1 1902 | m_PrefabParentObject: {fileID: 0} 1903 | m_PrefabInternal: {fileID: 100100000} 1904 | m_GameObject: {fileID: 1879977527467810} 1905 | m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} 1906 | m_LocalPosition: {x: 0, y: 0, z: 0} 1907 | m_LocalScale: {x: 1, y: 1, z: 1} 1908 | m_Children: [] 1909 | m_Father: {fileID: 224735574637786928} 1910 | m_RootOrder: 0 1911 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 1912 | m_AnchorMin: {x: 0, y: 1} 1913 | m_AnchorMax: {x: 0, y: 1} 1914 | m_AnchoredPosition: {x: 198.56425, y: -20.048193} 1915 | m_SizeDelta: {x: 397.1285, y: 40.096386} 1916 | m_Pivot: {x: 0.5, y: 0.5} 1917 | --- !u!225 &225818152581031718 1918 | CanvasGroup: 1919 | m_ObjectHideFlags: 1 1920 | m_PrefabParentObject: {fileID: 0} 1921 | m_PrefabInternal: {fileID: 100100000} 1922 | m_GameObject: {fileID: 1218750497802748} 1923 | m_Enabled: 1 1924 | m_Alpha: 1 1925 | m_Interactable: 1 1926 | m_BlocksRaycasts: 1 1927 | m_IgnoreParentGroups: 0 1928 | -------------------------------------------------------------------------------- /Plugins/SimpleGDPRConsent/Resources/GDPRConsentCanvas.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e4f6d6dc4a804754f81ee068c41d0778 3 | timeCreated: 1565085789 4 | licenseType: Free 5 | NativeFormatImporter: 6 | mainObjectFileID: 100100000 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Plugins/SimpleGDPRConsent/Scripts.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e10585df94675364c9f85e2c55f4c262 3 | folderAsset: yes 4 | timeCreated: 1565090917 5 | licenseType: Free 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Plugins/SimpleGDPRConsent/Scripts/Dialogs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 74969a8c798ef2d49839858bf7f707bc 3 | folderAsset: yes 4 | timeCreated: 1565172152 5 | licenseType: Free 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Plugins/SimpleGDPRConsent/Scripts/Dialogs/GDPRConsentDialog.cs: -------------------------------------------------------------------------------- 1 | using SimpleGDPRConsent; 2 | using System.Collections.Generic; 3 | using UnityEngine; 4 | 5 | public class GDPRConsentDialog : IGDPRDialog 6 | { 7 | public struct Section 8 | { 9 | public readonly string description; 10 | public readonly string title; 11 | public readonly string identifier; 12 | public readonly bool initialConsentValue; 13 | public readonly string buttonLabel; 14 | public readonly SimpleGDPR.ButtonClickDelegate onButtonClicked; 15 | 16 | public Section( string description, string title, string identifier, bool initialConsentValue, string buttonLabel, SimpleGDPR.ButtonClickDelegate onButtonClicked ) 17 | { 18 | this.description = description; 19 | this.title = title; 20 | this.identifier = identifier; 21 | this.initialConsentValue = initialConsentValue; 22 | this.buttonLabel = buttonLabel; 23 | this.onButtonClicked = onButtonClicked; 24 | } 25 | } 26 | 27 | private List
sections; 28 | private List privacyPolicyLinks; 29 | 30 | public GDPRConsentDialog() 31 | { } 32 | 33 | private GDPRConsentDialog AddSection( Section section ) 34 | { 35 | if( sections == null ) 36 | sections = new List
( 2 ); 37 | 38 | sections.Add( section ); 39 | return this; 40 | } 41 | 42 | public GDPRConsentDialog AddSectionWithToggle( string identifier, string title, string description = null, bool initialConsentValue = true ) 43 | { 44 | if( string.IsNullOrEmpty( identifier ) ) 45 | { 46 | Debug.LogError( "Error: 'GDPR.identifier' was empty!" ); 47 | return this; 48 | } 49 | 50 | return AddSection( new Section( description, title, identifier, initialConsentValue, null, null ) ); 51 | } 52 | 53 | public GDPRConsentDialog AddSectionWithButton( SimpleGDPR.ButtonClickDelegate onButtonClicked, string title, string description = null, string buttonLabel = null ) 54 | { 55 | if( onButtonClicked == null ) 56 | { 57 | Debug.LogError( "Error: 'GDPR.onButtonClicked' was empty!" ); 58 | return this; 59 | } 60 | 61 | return AddSection( new Section( description, title, null, true, buttonLabel, onButtonClicked ) ); 62 | } 63 | 64 | public GDPRConsentDialog AddPrivacyPolicy( string link ) 65 | { 66 | if( string.IsNullOrEmpty( link ) ) 67 | { 68 | Debug.LogError( "Error: 'GDPR.link' was empty!" ); 69 | return this; 70 | } 71 | 72 | if( privacyPolicyLinks == null ) 73 | privacyPolicyLinks = new List( 4 ); 74 | 75 | if( !ContainsPrivacyPolicy( link ) ) 76 | privacyPolicyLinks.Add( link ); 77 | 78 | return this; 79 | } 80 | 81 | public GDPRConsentDialog AddPrivacyPolicies( params string[] links ) 82 | { 83 | if( links == null || links.Length == 0 ) 84 | { 85 | Debug.LogError( "Error: 'GDPR.links' was empty!" ); 86 | return this; 87 | } 88 | 89 | if( privacyPolicyLinks == null ) 90 | privacyPolicyLinks = new List( links.Length ); 91 | 92 | for( int i = 0; i < links.Length; i++ ) 93 | AddPrivacyPolicy( links[i] ); 94 | 95 | return this; 96 | } 97 | 98 | private bool ContainsPrivacyPolicy( string link ) 99 | { 100 | if( privacyPolicyLinks == null ) 101 | return false; 102 | 103 | for( int i = 0; i < privacyPolicyLinks.Count; i++ ) 104 | { 105 | if( privacyPolicyLinks[i] == link ) 106 | return true; 107 | } 108 | 109 | return false; 110 | } 111 | 112 | void IGDPRDialog.ShowDialog( SimpleGDPR.DialogClosedDelegate onDialogClosed ) 113 | { 114 | GDPRConsentCanvas.Instance.ShowConsentDialog( sections, privacyPolicyLinks, onDialogClosed ); 115 | } 116 | } -------------------------------------------------------------------------------- /Plugins/SimpleGDPRConsent/Scripts/Dialogs/GDPRConsentDialog.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: cf06335b9025ce24891c1b05a75e6ab8 3 | timeCreated: 1565096813 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Plugins/SimpleGDPRConsent/Scripts/Dialogs/TermsOfServiceDialog.cs: -------------------------------------------------------------------------------- 1 | using SimpleGDPRConsent; 2 | 3 | public class TermsOfServiceDialog : IGDPRDialog 4 | { 5 | private string termsOfServiceLink; 6 | private string privacyPolicyLink; 7 | 8 | public TermsOfServiceDialog() 9 | { } 10 | 11 | public TermsOfServiceDialog SetTermsOfServiceLink( string termsOfServiceLink ) 12 | { 13 | this.termsOfServiceLink = termsOfServiceLink; 14 | return this; 15 | } 16 | 17 | public TermsOfServiceDialog SetPrivacyPolicyLink( string privacyPolicyLink ) 18 | { 19 | this.privacyPolicyLink = privacyPolicyLink; 20 | return this; 21 | } 22 | 23 | void IGDPRDialog.ShowDialog( SimpleGDPR.DialogClosedDelegate onDialogClosed ) 24 | { 25 | GDPRConsentCanvas.Instance.ShowTermsOfServiceDialog( termsOfServiceLink, privacyPolicyLink, onDialogClosed ); 26 | } 27 | } -------------------------------------------------------------------------------- /Plugins/SimpleGDPRConsent/Scripts/Dialogs/TermsOfServiceDialog.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 98048cf87c3ca1446ae2b420108d0896 3 | timeCreated: 1565118849 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Plugins/SimpleGDPRConsent/Scripts/EventSystemHandler.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using UnityEngine.EventSystems; 3 | using UnityEngine.SceneManagement; 4 | #if ENABLE_INPUT_SYSTEM && !ENABLE_LEGACY_INPUT_MANAGER 5 | using UnityEngine.InputSystem.UI; 6 | #endif 7 | 8 | namespace SimpleGDPRConsent 9 | { 10 | // Avoid multiple EventSystems in the scene by activating the embedded EventSystem only if one doesn't already exist in the scene 11 | [DefaultExecutionOrder( 1000 )] 12 | public class EventSystemHandler : MonoBehaviour 13 | { 14 | #pragma warning disable 0649 15 | [SerializeField] 16 | private GameObject embeddedEventSystem; 17 | #pragma warning restore 0649 18 | 19 | #if ENABLE_INPUT_SYSTEM && !ENABLE_LEGACY_INPUT_MANAGER 20 | private void Awake() 21 | { 22 | StandaloneInputModule legacyInputModule = embeddedEventSystem.GetComponent(); 23 | if( legacyInputModule ) 24 | { 25 | DestroyImmediate( legacyInputModule ); 26 | embeddedEventSystem.AddComponent(); 27 | } 28 | } 29 | #endif 30 | 31 | private void OnEnable() 32 | { 33 | SceneManager.sceneLoaded -= OnSceneLoaded; 34 | SceneManager.sceneLoaded += OnSceneLoaded; 35 | SceneManager.sceneUnloaded -= OnSceneUnloaded; 36 | SceneManager.sceneUnloaded += OnSceneUnloaded; 37 | 38 | ActivateEventSystemIfNeeded(); 39 | } 40 | 41 | private void OnDisable() 42 | { 43 | SceneManager.sceneLoaded -= OnSceneLoaded; 44 | SceneManager.sceneUnloaded -= OnSceneUnloaded; 45 | 46 | DeactivateEventSystem(); 47 | } 48 | 49 | private void OnSceneLoaded( Scene scene, LoadSceneMode mode ) 50 | { 51 | #if UNITY_2017_2_OR_NEWER 52 | DeactivateEventSystem(); 53 | #endif 54 | ActivateEventSystemIfNeeded(); 55 | } 56 | 57 | private void OnSceneUnloaded( Scene current ) 58 | { 59 | // Deactivate the embedded EventSystem before changing scenes because the new scene might have its own EventSystem 60 | DeactivateEventSystem(); 61 | } 62 | 63 | private void ActivateEventSystemIfNeeded() 64 | { 65 | if( embeddedEventSystem && !EventSystem.current ) 66 | embeddedEventSystem.SetActive( true ); 67 | } 68 | 69 | private void DeactivateEventSystem() 70 | { 71 | if( embeddedEventSystem ) 72 | embeddedEventSystem.SetActive( false ); 73 | } 74 | } 75 | } -------------------------------------------------------------------------------- /Plugins/SimpleGDPRConsent/Scripts/EventSystemHandler.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c4ba2ec1001cae94880ac63ff635834d 3 | timeCreated: 1658741613 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Plugins/SimpleGDPRConsent/Scripts/SimpleGDPR.cs: -------------------------------------------------------------------------------- 1 | using SimpleGDPRConsent; 2 | using System.Collections; 3 | using System.Net; 4 | using UnityEngine; 5 | 6 | public interface IGDPRDialog 7 | { 8 | void ShowDialog( SimpleGDPR.DialogClosedDelegate onDialogClosed ); 9 | } 10 | 11 | public static class SimpleGDPR 12 | { 13 | public enum ConsentState { Unknown = 0, No = 1, Yes = 2 }; 14 | 15 | private const string EU_QUERY_URL = "http://adservice.google.com/getconfig/pubvendors"; 16 | 17 | public delegate void ButtonClickDelegate(); 18 | public delegate void DialogClosedDelegate(); 19 | 20 | public static bool IsDialogVisible { get { return GDPRConsentCanvas.IsVisible; } } 21 | public static bool IsTermsOfServiceAccepted { get { return GDPRConsentCanvas.GetTermsOfServiceState() == ConsentState.Yes; } } 22 | 23 | private static bool? m_isGDPRApplicable = null; 24 | public static bool IsGDPRApplicable 25 | { 26 | get 27 | { 28 | if( !m_isGDPRApplicable.HasValue ) 29 | { 30 | try 31 | { 32 | using( WebClient webClient = new WebClient() ) 33 | { 34 | string response = webClient.DownloadString( EU_QUERY_URL ); 35 | int index = response.IndexOf( "is_request_in_eea_or_unknown\":" ); 36 | if( index < 0 ) 37 | m_isGDPRApplicable = true; 38 | else 39 | { 40 | index += 30; 41 | m_isGDPRApplicable = index >= response.Length || !response.Substring( index ).TrimStart().StartsWith( "false" ); 42 | } 43 | } 44 | } 45 | catch( System.Exception e ) 46 | { 47 | Debug.LogException( e ); 48 | m_isGDPRApplicable = true; 49 | } 50 | } 51 | 52 | return m_isGDPRApplicable.Value; 53 | } 54 | } 55 | 56 | public static ConsentState GetConsentState( string identifier ) 57 | { 58 | return GDPRConsentCanvas.GetConsentState( identifier ); 59 | } 60 | 61 | public static void OpenURL( string url ) 62 | { 63 | #if !UNITY_EDITOR && UNITY_WEBGL 64 | Application.ExternalEval( "window.open(\"" + url + "\",\"_blank\")" ); 65 | #else 66 | Application.OpenURL( url ); 67 | #endif 68 | } 69 | 70 | public static void ShowDialog( this IGDPRDialog dialog, DialogClosedDelegate onDialogClosed = null ) 71 | { 72 | dialog.ShowDialog( onDialogClosed ); 73 | } 74 | 75 | public static IEnumerator WaitForDialog( this IGDPRDialog dialog ) 76 | { 77 | dialog.ShowDialog( null ); 78 | 79 | while( IsDialogVisible ) 80 | yield return null; 81 | } 82 | } -------------------------------------------------------------------------------- /Plugins/SimpleGDPRConsent/Scripts/SimpleGDPR.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2138624d066e2e4408242aa8d4160649 3 | timeCreated: 1565123833 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Plugins/SimpleGDPRConsent/Scripts/UI.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 378c4bd426863f0429215945ae42f443 3 | folderAsset: yes 4 | timeCreated: 1565172127 5 | licenseType: Free 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Plugins/SimpleGDPRConsent/Scripts/UI/GDPRConsentCanvas.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using UnityEngine; 3 | using UnityEngine.EventSystems; 4 | using UnityEngine.UI; 5 | 6 | namespace SimpleGDPRConsent 7 | { 8 | public class GDPRConsentCanvas : MonoBehaviour 9 | { 10 | private static GDPRConsentCanvas m_instance = null; 11 | public static GDPRConsentCanvas Instance 12 | { 13 | get 14 | { 15 | if( m_instance == null ) 16 | m_instance = Instantiate( Resources.Load( "GDPRConsentCanvas" ).GetComponent() ); 17 | 18 | return m_instance; 19 | } 20 | } 21 | 22 | #pragma warning disable 0649 23 | [Header( "Terms of Service View" )] 24 | [SerializeField] 25 | private PrivacyPolicyLink _termsOfService; 26 | 27 | [SerializeField] 28 | private PrivacyPolicyLink _privacyPolicy; 29 | 30 | [SerializeField] 31 | private Button acceptButton; 32 | 33 | [Header( "Consent View" )] 34 | [SerializeField] 35 | private GDPRSection sectionPrefab; 36 | 37 | [SerializeField] 38 | private RectTransform horizontalLinePrefab; 39 | 40 | [SerializeField] 41 | private PrivacyPolicyLink privacyPolicyPrefab; 42 | 43 | [SerializeField] 44 | private RectTransform sectionsParent; 45 | 46 | [SerializeField] 47 | private RectTransform privacyPoliciesParent; 48 | 49 | [SerializeField] 50 | private Button closeButton; 51 | 52 | [SerializeField] 53 | private RectTransform dialog; 54 | 55 | [SerializeField] 56 | private CanvasGroup dialogCanvasGroup; 57 | 58 | [SerializeField] 59 | private ScrollRect scrollView; 60 | 61 | [SerializeField] 62 | private RectTransform termsView; 63 | 64 | [SerializeField] 65 | private RectTransform consentView; 66 | 67 | [SerializeField] 68 | private Vector2 dialogPadding = new Vector2( 40f, 100f ); 69 | #pragma warning restore 0649 70 | 71 | private readonly List sectionsUI = new List( 4 ); 72 | private readonly List sectionSeparatorsUI = new List( 5 ); 73 | private readonly List privacyPoliciesUI = new List( 8 ); 74 | 75 | private SimpleGDPR.DialogClosedDelegate onDialogClosed = null; 76 | private int dimensionsChangeCountdown = 0; 77 | 78 | private float contentPaddingY; 79 | 80 | public static bool IsVisible 81 | { 82 | get 83 | { 84 | if( m_instance == null || m_instance.Equals( null ) ) 85 | return false; 86 | 87 | return m_instance.gameObject.activeSelf; 88 | } 89 | } 90 | 91 | private void Awake() 92 | { 93 | if( m_instance == null ) 94 | { 95 | m_instance = this; 96 | DontDestroyOnLoad( gameObject ); 97 | gameObject.SetActive( false ); 98 | } 99 | else if( this != m_instance ) 100 | { 101 | Destroy( gameObject ); 102 | return; 103 | } 104 | 105 | acceptButton.onClick.AddListener( OnAcceptTermsButtonClicked ); 106 | closeButton.onClick.AddListener( OnCloseDialogButtonClicked ); 107 | 108 | sectionSeparatorsUI.Add( (RectTransform) Instantiate( horizontalLinePrefab, sectionsParent, false ) ); 109 | contentPaddingY = -( (RectTransform) scrollView.transform ).sizeDelta.y + 5f; 110 | 111 | #if !UNITY_EDITOR && ( UNITY_ANDROID || UNITY_IOS ) 112 | // On mobile platforms, ScreenMatchMode.Shrink makes texts larger (legible) on landscape orientation 113 | GetComponent().screenMatchMode = CanvasScaler.ScreenMatchMode.Shrink; 114 | #endif 115 | } 116 | 117 | private void OnRectTransformDimensionsChange() 118 | { 119 | dimensionsChangeCountdown = 2; // Wait for 2 Update cycles, UI system will rebuild the layout during this time 120 | 121 | Vector2 size = ( (RectTransform) transform ).rect.size; 122 | #if UNITY_EDITOR || ( !UNITY_ANDROID && !UNITY_IOS ) 123 | float dialogMaxWidth = size.x - dialogPadding.x; 124 | float dialogTargetWidth = size.y - dialogPadding.y; // Make square dialog window if possible 125 | dialog.sizeDelta = new Vector2( dialogTargetWidth < dialogMaxWidth ? dialogTargetWidth : dialogMaxWidth, dialog.sizeDelta.y ); 126 | #else 127 | // On mobile platforms, the dialog should be as wide as possible since the screen is too small 128 | float dialogTargetPaddingX = size.x < size.y ? dialogPadding.x : dialogPadding.y; // Swapping padding values on landscape orientation 129 | dialog.sizeDelta = new Vector2( size.x - dialogTargetPaddingX, dialog.sizeDelta.y ); 130 | #endif 131 | } 132 | 133 | private void Update() 134 | { 135 | if( dimensionsChangeCountdown > 0 && --dimensionsChangeCountdown == 0 ) 136 | { 137 | Vector2 size = ( (RectTransform) transform ).rect.size; 138 | #if UNITY_EDITOR || ( !UNITY_ANDROID && !UNITY_IOS ) 139 | float dialogMaxHeight = size.y - dialogPadding.y; 140 | #else 141 | float dialogTargetPaddingY = size.x < size.y ? dialogPadding.y : dialogPadding.x; // Swapping padding values on landscape orientation 142 | float dialogMaxHeight = size.y - dialogTargetPaddingY; 143 | #endif 144 | float dialogTargetHeight = scrollView.content.rect.height + contentPaddingY; 145 | dialog.sizeDelta = new Vector2( dialog.sizeDelta.x, dialogTargetHeight < dialogMaxHeight ? dialogTargetHeight : dialogMaxHeight ); 146 | 147 | if( dialogCanvasGroup.alpha < 1f ) 148 | dialogCanvasGroup.alpha = 1f; 149 | 150 | // To prevent the scrollbar from overflowing when screen orientation changes 151 | scrollView.OnScroll( new PointerEventData( EventSystem.current ) ); 152 | } 153 | } 154 | 155 | public static SimpleGDPR.ConsentState GetTermsOfServiceState() 156 | { 157 | return (SimpleGDPR.ConsentState) PlayerPrefs.GetInt( "GDPR_Terms", (int) SimpleGDPR.ConsentState.Unknown ); 158 | } 159 | 160 | public static void SetTermsOfServiceState( SimpleGDPR.ConsentState value ) 161 | { 162 | PlayerPrefs.SetInt( "GDPR_Terms", (int) value ); 163 | } 164 | 165 | public static SimpleGDPR.ConsentState GetConsentState( string identifier ) 166 | { 167 | return (SimpleGDPR.ConsentState) PlayerPrefs.GetInt( "GDPR_" + identifier, (int) SimpleGDPR.ConsentState.Unknown ); 168 | } 169 | 170 | public static void SetConsentState( string identifier, SimpleGDPR.ConsentState value ) 171 | { 172 | PlayerPrefs.SetInt( "GDPR_" + identifier, (int) value ); 173 | } 174 | 175 | public void ShowTermsOfServiceDialog( string termsOfServiceLink, string privacyPolicyLink, SimpleGDPR.DialogClosedDelegate onDialogClosed ) 176 | { 177 | if( !string.IsNullOrEmpty( termsOfServiceLink ) ) 178 | { 179 | _termsOfService.Initialize( null, termsOfServiceLink ); 180 | _termsOfService.gameObject.SetActive( true ); 181 | } 182 | else 183 | _termsOfService.gameObject.SetActive( false ); 184 | 185 | if( !string.IsNullOrEmpty( privacyPolicyLink ) ) 186 | { 187 | _privacyPolicy.Initialize( null, privacyPolicyLink ); 188 | _privacyPolicy.gameObject.SetActive( true ); 189 | } 190 | else 191 | _privacyPolicy.gameObject.SetActive( false ); 192 | 193 | termsView.gameObject.SetActive( true ); 194 | consentView.gameObject.SetActive( false ); 195 | scrollView.content = termsView; 196 | 197 | OnDialogShown( onDialogClosed ); 198 | } 199 | 200 | public void ShowConsentDialog( List sections, List privacyPolicyLinks, SimpleGDPR.DialogClosedDelegate onDialogClosed ) 201 | { 202 | if( sections == null || sections.Count == 0 ) 203 | sectionsParent.gameObject.SetActive( false ); 204 | else 205 | { 206 | sectionsParent.gameObject.SetActive( true ); 207 | 208 | for( int i = sectionsUI.Count; i < sections.Count; i++ ) 209 | { 210 | sectionsUI.Add( (GDPRSection) Instantiate( sectionPrefab, sectionsParent, false ) ); 211 | sectionSeparatorsUI.Add( (RectTransform) Instantiate( horizontalLinePrefab, sectionsParent, false ) ); 212 | } 213 | 214 | for( int i = 0; i < sectionsUI.Count; i++ ) 215 | { 216 | bool isActive = i < sections.Count; 217 | 218 | sectionsUI[i].gameObject.SetActive( isActive ); 219 | sectionSeparatorsUI[i + 1].gameObject.SetActive( isActive ); 220 | } 221 | 222 | for( int i = 0; i < sections.Count; i++ ) 223 | sectionsUI[i].Initialize( sections[i] ); 224 | } 225 | 226 | if( privacyPolicyLinks == null || privacyPolicyLinks.Count == 0 ) 227 | privacyPoliciesParent.gameObject.SetActive( false ); 228 | else 229 | { 230 | privacyPoliciesParent.gameObject.SetActive( true ); 231 | 232 | for( int i = privacyPoliciesUI.Count; i < privacyPolicyLinks.Count; i++ ) 233 | privacyPoliciesUI.Add( (PrivacyPolicyLink) Instantiate( privacyPolicyPrefab, privacyPoliciesParent, false ) ); 234 | 235 | for( int i = 0; i < privacyPoliciesUI.Count; i++ ) 236 | privacyPoliciesUI[i].gameObject.SetActive( i < privacyPolicyLinks.Count ); 237 | 238 | for( int i = 0; i < privacyPolicyLinks.Count; i++ ) 239 | privacyPoliciesUI[i].Initialize( privacyPolicyLinks[i], privacyPolicyLinks[i] ); 240 | } 241 | 242 | termsView.gameObject.SetActive( false ); 243 | consentView.gameObject.SetActive( true ); 244 | scrollView.content = consentView; 245 | 246 | OnDialogShown( onDialogClosed ); 247 | } 248 | 249 | private void OnAcceptTermsButtonClicked() 250 | { 251 | SetTermsOfServiceState( SimpleGDPR.ConsentState.Yes ); 252 | OnDialogClosed(); 253 | } 254 | 255 | private void OnCloseDialogButtonClicked() 256 | { 257 | for( int i = 0; i < sectionsUI.Count; i++ ) 258 | sectionsUI[i].SaveConsent(); 259 | 260 | OnDialogClosed(); 261 | } 262 | 263 | private void OnDialogShown( SimpleGDPR.DialogClosedDelegate onDialogClosed ) 264 | { 265 | this.onDialogClosed = onDialogClosed; 266 | 267 | scrollView.verticalNormalizedPosition = 1f; 268 | dialogCanvasGroup.alpha = 0f; // To hide the annoying size flicker glitch 269 | 270 | OnRectTransformDimensionsChange(); 271 | gameObject.SetActive( true ); 272 | } 273 | 274 | private void OnDialogClosed() 275 | { 276 | PlayerPrefs.Save(); 277 | gameObject.SetActive( false ); 278 | 279 | if( onDialogClosed != null ) 280 | onDialogClosed(); 281 | } 282 | } 283 | } -------------------------------------------------------------------------------- /Plugins/SimpleGDPRConsent/Scripts/UI/GDPRConsentCanvas.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0f7c28723cbba194cb22a9b0895f09a4 3 | timeCreated: 1565095995 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Plugins/SimpleGDPRConsent/Scripts/UI/GDPRSection.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using UnityEngine.UI; 3 | 4 | namespace SimpleGDPRConsent 5 | { 6 | public class GDPRSection : MonoBehaviour 7 | { 8 | #pragma warning disable 0649 9 | [SerializeField] 10 | private Text title; 11 | 12 | [SerializeField] 13 | private Text buttonLabel; 14 | 15 | [SerializeField] 16 | private Text description; 17 | 18 | [SerializeField] 19 | private Button button; 20 | 21 | [SerializeField] 22 | private SlidingToggle toggleHolder; 23 | 24 | [SerializeField] 25 | private GameObject toggle; 26 | #pragma warning restore 0649 27 | 28 | private GDPRConsentDialog.Section section; 29 | 30 | private void Awake() 31 | { 32 | button.onClick.AddListener( OnButtonClicked ); 33 | } 34 | 35 | public void Initialize( GDPRConsentDialog.Section section ) 36 | { 37 | this.section = section; 38 | 39 | if( !string.IsNullOrEmpty( section.description ) ) 40 | { 41 | description.text = section.description; 42 | description.gameObject.SetActive( true ); 43 | } 44 | else 45 | description.gameObject.SetActive( false ); 46 | 47 | if( !string.IsNullOrEmpty( section.title ) ) 48 | { 49 | title.text = section.title; 50 | title.gameObject.SetActive( true ); 51 | } 52 | else 53 | title.gameObject.SetActive( false ); 54 | 55 | if( !string.IsNullOrEmpty( section.identifier ) ) 56 | { 57 | toggle.gameObject.SetActive( true ); 58 | 59 | SimpleGDPR.ConsentState consentState = GDPRConsentCanvas.GetConsentState( section.identifier ); 60 | if( consentState == SimpleGDPR.ConsentState.Unknown ) 61 | toggleHolder.Value = section.initialConsentValue; 62 | else 63 | toggleHolder.Value = consentState != SimpleGDPR.ConsentState.No; 64 | } 65 | else 66 | toggle.gameObject.SetActive( false ); 67 | 68 | if( section.onButtonClicked != null ) 69 | { 70 | buttonLabel.text = !string.IsNullOrEmpty( section.buttonLabel ) ? section.buttonLabel : "Configure"; 71 | button.gameObject.SetActive( true ); 72 | } 73 | else 74 | button.gameObject.SetActive( false ); 75 | 76 | toggleHolder.gameObject.SetActive( toggle.gameObject.activeSelf || title.gameObject.activeSelf ); 77 | } 78 | 79 | private void OnButtonClicked() 80 | { 81 | if( section.onButtonClicked != null ) 82 | section.onButtonClicked(); 83 | } 84 | 85 | public void SaveConsent() 86 | { 87 | if( !string.IsNullOrEmpty( section.identifier ) ) 88 | GDPRConsentCanvas.SetConsentState( section.identifier, toggleHolder.Value ? SimpleGDPR.ConsentState.Yes : SimpleGDPR.ConsentState.No ); 89 | } 90 | } 91 | } -------------------------------------------------------------------------------- /Plugins/SimpleGDPRConsent/Scripts/UI/GDPRSection.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ead9f1377c515c7459f156de89a0a5ac 3 | timeCreated: 1565096223 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Plugins/SimpleGDPRConsent/Scripts/UI/PrivacyPolicyLink.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using UnityEngine.EventSystems; 3 | using UnityEngine.UI; 4 | 5 | namespace SimpleGDPRConsent 6 | { 7 | public class PrivacyPolicyLink : MonoBehaviour, IPointerClickHandler 8 | { 9 | #pragma warning disable 0649 10 | [SerializeField] 11 | private Text text; 12 | #pragma warning restore 0649 13 | 14 | private string url; 15 | 16 | public void Initialize( string text, string url ) 17 | { 18 | if( !string.IsNullOrEmpty( text ) ) 19 | this.text.text = text; 20 | 21 | this.url = url; 22 | } 23 | 24 | public void OnPointerClick( PointerEventData eventData ) 25 | { 26 | SimpleGDPR.OpenURL( url ); 27 | } 28 | } 29 | } -------------------------------------------------------------------------------- /Plugins/SimpleGDPRConsent/Scripts/UI/PrivacyPolicyLink.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b8e449c3707a3f04a9a4d95d242c62ff 3 | timeCreated: 1565090924 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Plugins/SimpleGDPRConsent/Scripts/UI/SlidingToggle.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using UnityEngine.EventSystems; 3 | using UnityEngine.UI; 4 | 5 | namespace SimpleGDPRConsent 6 | { 7 | public class SlidingToggle : MonoBehaviour, IPointerClickHandler 8 | { 9 | #pragma warning disable 0649 10 | [SerializeField] 11 | private RectTransform handle; 12 | 13 | [SerializeField] 14 | private Image background; 15 | 16 | [SerializeField] 17 | private Sprite backgroundOn; 18 | 19 | [SerializeField] 20 | private Sprite backgroundOff; 21 | #pragma warning restore 0649 22 | 23 | private bool m_value = true; 24 | public bool Value 25 | { 26 | get { return m_value; } 27 | set 28 | { 29 | if( m_value != value ) 30 | { 31 | m_value = value; 32 | UpdateHandle(); 33 | } 34 | } 35 | } 36 | 37 | public void OnPointerClick( PointerEventData eventData ) 38 | { 39 | Value = !Value; 40 | } 41 | 42 | private void UpdateHandle() 43 | { 44 | if( Value ) 45 | { 46 | handle.anchorMin = new Vector2( 1f, 0f ); 47 | handle.anchorMax = new Vector2( 1f, 1f ); 48 | handle.pivot = new Vector2( 1f, 0.5f ); 49 | handle.anchoredPosition = new Vector2( -1f, 0f ); 50 | 51 | background.sprite = backgroundOn; 52 | } 53 | else 54 | { 55 | handle.anchorMin = new Vector2( 0f, 0f ); 56 | handle.anchorMax = new Vector2( 0f, 1f ); 57 | handle.pivot = new Vector2( 0f, 0.5f ); 58 | handle.anchoredPosition = new Vector2( 1f, 0f ); 59 | 60 | background.sprite = backgroundOff; 61 | } 62 | } 63 | } 64 | } -------------------------------------------------------------------------------- /Plugins/SimpleGDPRConsent/Scripts/UI/SlidingToggle.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: bf4473e16c02571459bfb89a874c805e 3 | timeCreated: 1565093409 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Plugins/SimpleGDPRConsent/SimpleGDPRConsent.Runtime.asmdef: -------------------------------------------------------------------------------- 1 | { 2 | "name": "SimpleGDPRConsent.Runtime", 3 | "references": [ 4 | "Unity.InputSystem" 5 | ] 6 | } -------------------------------------------------------------------------------- /Plugins/SimpleGDPRConsent/SimpleGDPRConsent.Runtime.asmdef.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 26d006ad6f38b0f44b2c4709d40b2943 3 | AssemblyDefinitionImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Plugins/SimpleGDPRConsent/Sprites.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: db2ce8bba735ac94aaaabd10de254ae6 3 | folderAsset: yes 4 | timeCreated: 1565083349 5 | licenseType: Free 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Plugins/SimpleGDPRConsent/Sprites/ButtonBackground.psd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yasirkula/UnitySimpleGDPRConsent/b3d42ed8c4ec7286e6f9da536cbf6c1eb83103bf/Plugins/SimpleGDPRConsent/Sprites/ButtonBackground.psd -------------------------------------------------------------------------------- /Plugins/SimpleGDPRConsent/Sprites/ButtonBackground.psd.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 9c89873c7bdca6f4c91dec1e244f0b53 3 | timeCreated: 1565194010 4 | licenseType: Free 5 | TextureImporter: 6 | fileIDToRecycleName: {} 7 | serializedVersion: 4 8 | mipmaps: 9 | mipMapMode: 0 10 | enableMipMap: 0 11 | sRGBTexture: 1 12 | linearTexture: 0 13 | fadeOut: 0 14 | borderMipMap: 0 15 | mipMapFadeDistanceStart: 1 16 | mipMapFadeDistanceEnd: 3 17 | bumpmap: 18 | convertToNormalMap: 0 19 | externalNormalMap: 0 20 | heightScale: 0.25 21 | normalMapFilter: 0 22 | isReadable: 0 23 | grayScaleToAlpha: 0 24 | generateCubemap: 6 25 | cubemapConvolution: 0 26 | seamlessCubemap: 0 27 | textureFormat: 1 28 | maxTextureSize: 2048 29 | textureSettings: 30 | filterMode: 1 31 | aniso: 16 32 | mipBias: -1 33 | wrapMode: 1 34 | nPOTScale: 0 35 | lightmap: 0 36 | compressionQuality: 50 37 | spriteMode: 1 38 | spriteExtrude: 1 39 | spriteMeshType: 1 40 | alignment: 0 41 | spritePivot: {x: 0.5, y: 0.5} 42 | spriteBorder: {x: 13, y: 13, z: 13, w: 13} 43 | spritePixelsToUnits: 100 44 | alphaUsage: 1 45 | alphaIsTransparency: 1 46 | spriteTessellationDetail: -1 47 | textureType: 8 48 | textureShape: 1 49 | maxTextureSizeSet: 0 50 | compressionQualitySet: 0 51 | textureFormatSet: 0 52 | platformSettings: 53 | - buildTarget: DefaultTexturePlatform 54 | maxTextureSize: 128 55 | textureFormat: -1 56 | textureCompression: 0 57 | compressionQuality: 50 58 | crunchedCompression: 0 59 | allowsAlphaSplitting: 0 60 | overridden: 0 61 | - buildTarget: Standalone 62 | maxTextureSize: 128 63 | textureFormat: -1 64 | textureCompression: 0 65 | compressionQuality: 50 66 | crunchedCompression: 0 67 | allowsAlphaSplitting: 0 68 | overridden: 0 69 | - buildTarget: Android 70 | maxTextureSize: 128 71 | textureFormat: -1 72 | textureCompression: 0 73 | compressionQuality: 50 74 | crunchedCompression: 0 75 | allowsAlphaSplitting: 0 76 | overridden: 0 77 | - buildTarget: WebGL 78 | maxTextureSize: 128 79 | textureFormat: -1 80 | textureCompression: 0 81 | compressionQuality: 50 82 | crunchedCompression: 0 83 | allowsAlphaSplitting: 0 84 | overridden: 0 85 | spriteSheet: 86 | serializedVersion: 2 87 | sprites: [] 88 | outline: [] 89 | spritePackingTag: SimpleGDPRUI 90 | userData: 91 | assetBundleName: 92 | assetBundleVariant: 93 | -------------------------------------------------------------------------------- /Plugins/SimpleGDPRConsent/Sprites/PanelBackground.psd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yasirkula/UnitySimpleGDPRConsent/b3d42ed8c4ec7286e6f9da536cbf6c1eb83103bf/Plugins/SimpleGDPRConsent/Sprites/PanelBackground.psd -------------------------------------------------------------------------------- /Plugins/SimpleGDPRConsent/Sprites/PanelBackground.psd.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6c2767c93730b1548a880e530e9003c5 3 | timeCreated: 1565194358 4 | licenseType: Free 5 | TextureImporter: 6 | fileIDToRecycleName: {} 7 | serializedVersion: 4 8 | mipmaps: 9 | mipMapMode: 0 10 | enableMipMap: 0 11 | sRGBTexture: 1 12 | linearTexture: 0 13 | fadeOut: 0 14 | borderMipMap: 0 15 | mipMapFadeDistanceStart: 1 16 | mipMapFadeDistanceEnd: 3 17 | bumpmap: 18 | convertToNormalMap: 0 19 | externalNormalMap: 0 20 | heightScale: 0.25 21 | normalMapFilter: 0 22 | isReadable: 0 23 | grayScaleToAlpha: 0 24 | generateCubemap: 6 25 | cubemapConvolution: 0 26 | seamlessCubemap: 0 27 | textureFormat: 5 28 | maxTextureSize: 32 29 | textureSettings: 30 | filterMode: 1 31 | aniso: 16 32 | mipBias: -1 33 | wrapMode: 1 34 | nPOTScale: 0 35 | lightmap: 0 36 | compressionQuality: 50 37 | spriteMode: 1 38 | spriteExtrude: 1 39 | spriteMeshType: 1 40 | alignment: 0 41 | spritePivot: {x: 0.5, y: 0.5} 42 | spriteBorder: {x: 13, y: 13, z: 13, w: 13} 43 | spritePixelsToUnits: 100 44 | alphaUsage: 1 45 | alphaIsTransparency: 1 46 | spriteTessellationDetail: -1 47 | textureType: 8 48 | textureShape: 1 49 | maxTextureSizeSet: 0 50 | compressionQualitySet: 0 51 | textureFormatSet: 0 52 | platformSettings: 53 | - buildTarget: DefaultTexturePlatform 54 | maxTextureSize: 128 55 | textureFormat: -1 56 | textureCompression: 0 57 | compressionQuality: 50 58 | crunchedCompression: 0 59 | allowsAlphaSplitting: 0 60 | overridden: 0 61 | - buildTarget: Standalone 62 | maxTextureSize: 128 63 | textureFormat: -1 64 | textureCompression: 0 65 | compressionQuality: 50 66 | crunchedCompression: 0 67 | allowsAlphaSplitting: 0 68 | overridden: 0 69 | - buildTarget: Android 70 | maxTextureSize: 128 71 | textureFormat: -1 72 | textureCompression: 0 73 | compressionQuality: 50 74 | crunchedCompression: 0 75 | allowsAlphaSplitting: 0 76 | overridden: 0 77 | - buildTarget: WebGL 78 | maxTextureSize: 128 79 | textureFormat: -1 80 | textureCompression: 0 81 | compressionQuality: 50 82 | crunchedCompression: 0 83 | allowsAlphaSplitting: 0 84 | overridden: 0 85 | spriteSheet: 86 | serializedVersion: 2 87 | sprites: [] 88 | outline: [] 89 | spritePackingTag: SimpleGDPRUI 90 | userData: 91 | assetBundleName: 92 | assetBundleVariant: 93 | -------------------------------------------------------------------------------- /Plugins/SimpleGDPRConsent/Sprites/Toggle.psd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yasirkula/UnitySimpleGDPRConsent/b3d42ed8c4ec7286e6f9da536cbf6c1eb83103bf/Plugins/SimpleGDPRConsent/Sprites/Toggle.psd -------------------------------------------------------------------------------- /Plugins/SimpleGDPRConsent/Sprites/Toggle.psd.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 7b2789887a9459442946c4e09e29e17d 3 | timeCreated: 1584872859 4 | licenseType: Free 5 | TextureImporter: 6 | fileIDToRecycleName: 7 | 21300000: BackgroundOff 8 | 21300002: Handle 9 | 21300004: BackgroundOn 10 | serializedVersion: 4 11 | mipmaps: 12 | mipMapMode: 0 13 | enableMipMap: 0 14 | sRGBTexture: 1 15 | linearTexture: 0 16 | fadeOut: 0 17 | borderMipMap: 0 18 | mipMapFadeDistanceStart: 1 19 | mipMapFadeDistanceEnd: 3 20 | bumpmap: 21 | convertToNormalMap: 0 22 | externalNormalMap: 0 23 | heightScale: 0.25 24 | normalMapFilter: 0 25 | isReadable: 0 26 | grayScaleToAlpha: 0 27 | generateCubemap: 6 28 | cubemapConvolution: 0 29 | seamlessCubemap: 0 30 | textureFormat: 5 31 | maxTextureSize: 32 32 | textureSettings: 33 | filterMode: 1 34 | aniso: 16 35 | mipBias: -1 36 | wrapMode: 1 37 | nPOTScale: 0 38 | lightmap: 0 39 | compressionQuality: 50 40 | spriteMode: 2 41 | spriteExtrude: 1 42 | spriteMeshType: 1 43 | alignment: 0 44 | spritePivot: {x: 0.5, y: 0.5} 45 | spriteBorder: {x: 31, y: 0, z: 31, w: 0} 46 | spritePixelsToUnits: 100 47 | alphaUsage: 1 48 | alphaIsTransparency: 1 49 | spriteTessellationDetail: -1 50 | textureType: 8 51 | textureShape: 1 52 | maxTextureSizeSet: 0 53 | compressionQualitySet: 0 54 | textureFormatSet: 0 55 | platformSettings: 56 | - buildTarget: DefaultTexturePlatform 57 | maxTextureSize: 128 58 | textureFormat: -1 59 | textureCompression: 0 60 | compressionQuality: 50 61 | crunchedCompression: 0 62 | allowsAlphaSplitting: 0 63 | overridden: 0 64 | - buildTarget: Standalone 65 | maxTextureSize: 128 66 | textureFormat: -1 67 | textureCompression: 0 68 | compressionQuality: 50 69 | crunchedCompression: 0 70 | allowsAlphaSplitting: 0 71 | overridden: 0 72 | - buildTarget: Android 73 | maxTextureSize: 128 74 | textureFormat: -1 75 | textureCompression: 0 76 | compressionQuality: 50 77 | crunchedCompression: 0 78 | allowsAlphaSplitting: 0 79 | overridden: 0 80 | - buildTarget: WebGL 81 | maxTextureSize: 128 82 | textureFormat: -1 83 | textureCompression: 0 84 | compressionQuality: 50 85 | crunchedCompression: 0 86 | allowsAlphaSplitting: 0 87 | overridden: 0 88 | spriteSheet: 89 | serializedVersion: 2 90 | sprites: 91 | - serializedVersion: 2 92 | name: BackgroundOff 93 | rect: 94 | serializedVersion: 2 95 | x: 7 96 | y: 167 97 | width: 142 98 | height: 82 99 | alignment: 0 100 | pivot: {x: 0.5, y: 0.5} 101 | border: {x: 0, y: 0, z: 0, w: 0} 102 | outline: [] 103 | tessellationDetail: 0 104 | - serializedVersion: 2 105 | name: Handle 106 | rect: 107 | serializedVersion: 2 108 | x: 162 109 | y: 165 110 | width: 86 111 | height: 86 112 | alignment: 0 113 | pivot: {x: 0.5, y: 0.5} 114 | border: {x: 0, y: 0, z: 0, w: 0} 115 | outline: [] 116 | tessellationDetail: 0 117 | - serializedVersion: 2 118 | name: BackgroundOn 119 | rect: 120 | serializedVersion: 2 121 | x: 7 122 | y: 80 123 | width: 142 124 | height: 82 125 | alignment: 0 126 | pivot: {x: 0.5, y: 0.5} 127 | border: {x: 0, y: 0, z: 0, w: 0} 128 | outline: [] 129 | tessellationDetail: 0 130 | outline: [] 131 | spritePackingTag: SimpleGDPRUI 132 | userData: 133 | assetBundleName: 134 | assetBundleVariant: 135 | -------------------------------------------------------------------------------- /Plugins/SimpleGDPRConsent/Sprites/WhiteBackground.psd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yasirkula/UnitySimpleGDPRConsent/b3d42ed8c4ec7286e6f9da536cbf6c1eb83103bf/Plugins/SimpleGDPRConsent/Sprites/WhiteBackground.psd -------------------------------------------------------------------------------- /Plugins/SimpleGDPRConsent/Sprites/WhiteBackground.psd.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1cb8a0bc8434e304c8c28586dd7a8c97 3 | timeCreated: 1565090595 4 | licenseType: Free 5 | TextureImporter: 6 | fileIDToRecycleName: {} 7 | serializedVersion: 4 8 | mipmaps: 9 | mipMapMode: 0 10 | enableMipMap: 0 11 | sRGBTexture: 1 12 | linearTexture: 0 13 | fadeOut: 0 14 | borderMipMap: 0 15 | mipMapFadeDistanceStart: 1 16 | mipMapFadeDistanceEnd: 3 17 | bumpmap: 18 | convertToNormalMap: 0 19 | externalNormalMap: 0 20 | heightScale: 0.25 21 | normalMapFilter: 0 22 | isReadable: 0 23 | grayScaleToAlpha: 0 24 | generateCubemap: 6 25 | cubemapConvolution: 0 26 | seamlessCubemap: 0 27 | textureFormat: 5 28 | maxTextureSize: 32 29 | textureSettings: 30 | filterMode: 1 31 | aniso: 16 32 | mipBias: -1 33 | wrapMode: 1 34 | nPOTScale: 0 35 | lightmap: 0 36 | compressionQuality: 50 37 | spriteMode: 1 38 | spriteExtrude: 1 39 | spriteMeshType: 1 40 | alignment: 0 41 | spritePivot: {x: 0.5, y: 0.5} 42 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 43 | spritePixelsToUnits: 100 44 | alphaUsage: 1 45 | alphaIsTransparency: 1 46 | spriteTessellationDetail: -1 47 | textureType: 8 48 | textureShape: 1 49 | maxTextureSizeSet: 0 50 | compressionQualitySet: 0 51 | textureFormatSet: 0 52 | platformSettings: 53 | - buildTarget: DefaultTexturePlatform 54 | maxTextureSize: 128 55 | textureFormat: -1 56 | textureCompression: 0 57 | compressionQuality: 50 58 | crunchedCompression: 0 59 | allowsAlphaSplitting: 0 60 | overridden: 0 61 | - buildTarget: Standalone 62 | maxTextureSize: 128 63 | textureFormat: -1 64 | textureCompression: 0 65 | compressionQuality: 50 66 | crunchedCompression: 0 67 | allowsAlphaSplitting: 0 68 | overridden: 0 69 | - buildTarget: Android 70 | maxTextureSize: 128 71 | textureFormat: -1 72 | textureCompression: 0 73 | compressionQuality: 50 74 | crunchedCompression: 0 75 | allowsAlphaSplitting: 0 76 | overridden: 0 77 | - buildTarget: WebGL 78 | maxTextureSize: 128 79 | textureFormat: -1 80 | textureCompression: 0 81 | compressionQuality: 50 82 | crunchedCompression: 0 83 | allowsAlphaSplitting: 0 84 | overridden: 0 85 | spriteSheet: 86 | serializedVersion: 2 87 | sprites: [] 88 | outline: [] 89 | spritePackingTag: SimpleGDPRUI 90 | userData: 91 | assetBundleName: 92 | assetBundleVariant: 93 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "com.yasirkula.simplegdprconsent", 3 | "displayName": "Simple GDPR Consent", 4 | "version": "1.1.3", 5 | "documentationUrl": "https://github.com/yasirkula/UnitySimpleGDPRConsent", 6 | "changelogUrl": "https://github.com/yasirkula/UnitySimpleGDPRConsent/releases", 7 | "licensesUrl": "https://github.com/yasirkula/UnitySimpleGDPRConsent/blob/master/LICENSE.txt", 8 | "description": "This plugin helps you present a GDPR consent dialog to the users. Please note that you are responsible from forwarding the consent data to your SDKs." 9 | } 10 | -------------------------------------------------------------------------------- /package.json.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2ab1698859998594bb19175c35540a91 3 | PackageManifestImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | --------------------------------------------------------------------------------