├── com.google.play.review
├── Editor.meta
├── Editor
│ ├── Dependencies.xml.meta
│ └── Dependencies.xml
├── Runtime
│ ├── Scripts
│ │ ├── Internal.meta
│ │ ├── PlayReviewInfo.cs.meta
│ │ ├── ReviewErrorCode.cs.meta
│ │ ├── ReviewManager.cs.meta
│ │ ├── Internal
│ │ │ ├── ReviewAsyncOperation.cs.meta
│ │ │ ├── ReviewPlayServiceTaskManager.cs.meta
│ │ │ ├── ReviewAsyncOperation.cs
│ │ │ └── ReviewPlayServiceTaskManager.cs
│ │ ├── PlayReviewInfo.cs
│ │ ├── ReviewErrorCode.cs
│ │ └── ReviewManager.cs
│ ├── Plugins
│ │ ├── com.google.play.review.metadata.jar
│ │ └── com.google.play.review.metadata.jar.meta
│ ├── Plugins.meta
│ ├── Google.Play.Review.asmdef.meta
│ ├── Scripts.meta
│ └── Google.Play.Review.asmdef
├── README.md.meta
├── CHANGELOG.md.meta
├── LICENSE.md.meta
├── Proguard
│ ├── review.txt.meta
│ └── review.txt
├── Proguard.meta
├── package.json.meta
├── Runtime.meta
├── package.json
└── CHANGELOG.md
├── Samples
├── ReviewDemo
│ ├── Scenes
│ │ ├── ReviewDemo.unity.meta
│ │ └── ReviewDemo.unity
│ ├── Scenes.meta
│ ├── Scripts.meta
│ └── Scripts
│ │ ├── ReviewDemo.cs.meta
│ │ └── ReviewDemo.cs
└── ReviewDemo.meta
├── CONTRIBUTING.md
├── README.md
└── LICENSE.md
/com.google.play.review/Editor.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 5770e333455d4f73a76451eb5ee2d2d8
3 | timeCreated: 1652822811
--------------------------------------------------------------------------------
/com.google.play.review/Editor/Dependencies.xml.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: f7f494f7a7e44b148f2bb77cb1d03644
3 | timeCreated: 1652822811
--------------------------------------------------------------------------------
/com.google.play.review/Runtime/Scripts/Internal.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: f3f59f9b904c45cfb8768cb3b650731a
3 | timeCreated: 1572618155
--------------------------------------------------------------------------------
/com.google.play.review/Runtime/Scripts/PlayReviewInfo.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 232034196a65477b95767555ac5dd868
3 | timeCreated: 1572628333
--------------------------------------------------------------------------------
/com.google.play.review/Runtime/Scripts/ReviewErrorCode.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: d4833bd36ea8437fa71bcc9432e429c7
3 | timeCreated: 1572619911
--------------------------------------------------------------------------------
/com.google.play.review/Runtime/Scripts/ReviewManager.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: e3cbddf63f14498585150b20288f05c5
3 | timeCreated: 1572620482
--------------------------------------------------------------------------------
/com.google.play.review/Runtime/Scripts/Internal/ReviewAsyncOperation.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 712102038e5b4421a04765467c4ef720
3 | timeCreated: 1572619751
--------------------------------------------------------------------------------
/com.google.play.review/Editor/Dependencies.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/com.google.play.review/Runtime/Plugins/com.google.play.review.metadata.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/google/play-in-app-reviews-unity/HEAD/com.google.play.review/Runtime/Plugins/com.google.play.review.metadata.jar
--------------------------------------------------------------------------------
/com.google.play.review/README.md.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: b906ace36b36540da9120de67c820967
3 | TextScriptImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/com.google.play.review/CHANGELOG.md.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: f95fff94975a749f7bef28d93327588e
3 | TextScriptImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/com.google.play.review/LICENSE.md.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 786780f9d79a44ee4854a7fba57775c2
3 | TextScriptImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/com.google.play.review/Proguard/review.txt.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 0b73574917d64429cb6723f1205fad60
3 | TextScriptImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/com.google.play.review/Proguard.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: da1cefb4c2643469286d533c9d5cd27b
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/com.google.play.review/Runtime/Plugins.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: ab509ede17a84484cb25a23a8574875b
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Samples/ReviewDemo/Scenes/ReviewDemo.unity.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: c2cb30b3c04e2407d802a430fd3de1d5
3 | timeCreated: 1573777066
4 | licenseType: Pro
5 | DefaultImporter:
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/com.google.play.review/package.json.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 2f42d35432f9d47beab1f7343808b294
3 | timeCreated: 1576696792
4 | licenseType: Pro
5 | TextScriptImporter:
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/com.google.play.review/Runtime/Google.Play.Review.asmdef.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 4139e191aa32f459e9eb2e331225ad7e
3 | AssemblyDefinitionImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Samples/ReviewDemo.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 8f017d611dffe4f7a8ece3c0ba4e96d2
3 | folderAsset: yes
4 | timeCreated: 1572224679
5 | licenseType: Pro
6 | DefaultImporter:
7 | userData:
8 | assetBundleName:
9 | assetBundleVariant:
10 |
--------------------------------------------------------------------------------
/Samples/ReviewDemo/Scenes.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: d69f8b1b285f0450e942600404ad7c1b
3 | folderAsset: yes
4 | timeCreated: 1572224718
5 | licenseType: Pro
6 | DefaultImporter:
7 | userData:
8 | assetBundleName:
9 | assetBundleVariant:
10 |
--------------------------------------------------------------------------------
/Samples/ReviewDemo/Scripts.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 11f3ed464338e44fc8ddf3a5608acf06
3 | folderAsset: yes
4 | timeCreated: 1572224706
5 | licenseType: Pro
6 | DefaultImporter:
7 | userData:
8 | assetBundleName:
9 | assetBundleVariant:
10 |
--------------------------------------------------------------------------------
/com.google.play.review/Runtime.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 093ba2959faf04c3d80a9db75ef2e77f
3 | folderAsset: yes
4 | timeCreated: 1576618908
5 | licenseType: Pro
6 | DefaultImporter:
7 | userData:
8 | assetBundleName:
9 | assetBundleVariant:
10 |
--------------------------------------------------------------------------------
/com.google.play.review/Runtime/Scripts.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 6db3ce4a93bc64e22a8a293d5641fff3
3 | folderAsset: yes
4 | timeCreated: 1580756426
5 | licenseType: Pro
6 | DefaultImporter:
7 | userData:
8 | assetBundleName:
9 | assetBundleVariant:
10 |
--------------------------------------------------------------------------------
/com.google.play.review/Runtime/Google.Play.Review.asmdef:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Google.Play.Review",
3 | "references": [
4 | "Google.Play.Common",
5 | "Google.Play.Core"
6 | ],
7 | "includePlatforms": [
8 | "Android",
9 | "Editor"
10 | ]
11 | }
--------------------------------------------------------------------------------
/Samples/ReviewDemo/Scripts/ReviewDemo.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 9675b28c5a72144148a7c86cdd40cba0
3 | timeCreated: 1573777559
4 | licenseType: Pro
5 | MonoImporter:
6 | serializedVersion: 2
7 | defaultReferences: []
8 | executionOrder: 0
9 | icon: {instanceID: 0}
10 | userData:
11 | assetBundleName:
12 | assetBundleVariant:
13 |
--------------------------------------------------------------------------------
/com.google.play.review/Runtime/Scripts/Internal/ReviewPlayServiceTaskManager.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 5fb3a11b55c864d88a7cd5c388adc025
3 | timeCreated: 1572224730
4 | licenseType: Pro
5 | MonoImporter:
6 | serializedVersion: 2
7 | defaultReferences: []
8 | executionOrder: 0
9 | icon: {instanceID: 0}
10 | userData:
11 | assetBundleName:
12 | assetBundleVariant:
13 |
--------------------------------------------------------------------------------
/com.google.play.review/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "com.google.play.review",
3 | "displayName": "Google Play In-app Review",
4 | "description": "The Google Play In-App Review package lets you prompt users to submit Play Store ratings and reviews without the inconvenience of leaving your game.",
5 | "version": "1.8.4",
6 | "unity": "2018.4",
7 | "author": {
8 | "name": "Google LLC"
9 | },
10 | "dependencies": {
11 | "com.google.play.common": "1.9.2",
12 | "com.google.play.core": "1.8.6"
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/com.google.play.review/Runtime/Plugins/com.google.play.review.metadata.jar.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 0874a819d0c54456eac65d83c88336c2
3 | PluginImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | iconMap: {}
7 | executionOrder: {}
8 | isPreloaded: 0
9 | isOverridable: 0
10 | platformData:
11 | - first:
12 | Android: Android
13 | second:
14 | enabled: 1
15 | settings: {}
16 | - first:
17 | Any:
18 | second:
19 | enabled: 0
20 | settings: {}
21 | - first:
22 | Editor: Editor
23 | second:
24 | enabled: 0
25 | settings:
26 | DefaultValueInitialized: true
27 | userData:
28 | assetBundleName:
29 | assetBundleVariant:
30 |
--------------------------------------------------------------------------------
/CONTRIBUTING.md:
--------------------------------------------------------------------------------
1 | # How to Contribute
2 |
3 | We'd love to accept your patches and contributions to this project. There are
4 | just a few small guidelines you need to follow.
5 |
6 | ## Contributor License Agreement
7 |
8 | Contributions to this project must be accompanied by a Contributor License
9 | Agreement. You (or your employer) retain the copyright to your contribution;
10 | this simply gives us permission to use and redistribute your contributions as
11 | part of the project. Head over to to see
12 | your current agreements on file or to sign a new one.
13 |
14 | You generally only need to submit a CLA once, so if you've already submitted one
15 | (even if it was for a different project), you probably don't need to do it
16 | again.
17 |
18 | ## Code reviews
19 |
20 | All submissions, including submissions by project members, require review. We
21 | use GitHub pull requests for this purpose. Consult
22 | [GitHub Help](https://help.github.com/articles/about-pull-requests/) for more
23 | information on using pull requests.
24 |
25 | ## Community Guidelines
26 |
27 | This project follows
28 | [Google's Open Source Community Guidelines](https://opensource.google/conduct/).
29 |
--------------------------------------------------------------------------------
/com.google.play.review/Runtime/Scripts/Internal/ReviewAsyncOperation.cs:
--------------------------------------------------------------------------------
1 | // Copyright 2019 Google LLC
2 | //
3 | // Licensed under the Apache License, Version 2.0 (the "License");
4 | // you may not use this file except in compliance with the License.
5 | // You may obtain a copy of the License at
6 | //
7 | // https://www.apache.org/licenses/LICENSE-2.0
8 | //
9 | // Unless required by applicable law or agreed to in writing, software
10 | // distributed under the License is distributed on an "AS IS" BASIS,
11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | // See the License for the specific language governing permissions and
13 | // limitations under the License.
14 |
15 | using Google.Play.Common.Internal;
16 |
17 | namespace Google.Play.Review.Internal
18 | {
19 | ///
20 | /// Represents an asynchronous operation that produces a result upon completion.
21 | ///
22 | /// The type of the result of the operation.
23 | internal class ReviewAsyncOperation : PlayAsyncOperationImpl
24 | {
25 | public override bool IsSuccessful
26 | {
27 | get { return IsDone && Error == ReviewErrorCode.NoError; }
28 | }
29 | }
30 | }
--------------------------------------------------------------------------------
/com.google.play.review/Runtime/Scripts/PlayReviewInfo.cs:
--------------------------------------------------------------------------------
1 | // Copyright 2019 Google LLC
2 | //
3 | // Licensed under the Apache License, Version 2.0 (the "License");
4 | // you may not use this file except in compliance with the License.
5 | // You may obtain a copy of the License at
6 | //
7 | // https://www.apache.org/licenses/LICENSE-2.0
8 | //
9 | // Unless required by applicable law or agreed to in writing, software
10 | // distributed under the License is distributed on an "AS IS" BASIS,
11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | // See the License for the specific language governing permissions and
13 | // limitations under the License.
14 |
15 | using UnityEngine;
16 |
17 | namespace Google.Play.Review
18 | {
19 | ///
20 | /// A wrapper around the Java ReviewInfo class. This class contains internal state needed to
21 | /// launch a review flow, but has no publicly visible information.
22 | ///
23 | public class PlayReviewInfo
24 | {
25 | private readonly AndroidJavaObject _reviewInfo;
26 |
27 | ///
28 | /// Contains the ReviewInfo required for requesting the in-app review dialog.
29 | ///
30 | internal PlayReviewInfo(AndroidJavaObject reviewInfo)
31 | {
32 | _reviewInfo = reviewInfo;
33 | }
34 |
35 | internal AndroidJavaObject GetReviewInfo()
36 | {
37 | return _reviewInfo;
38 | }
39 | }
40 | }
41 |
--------------------------------------------------------------------------------
/com.google.play.review/Runtime/Scripts/ReviewErrorCode.cs:
--------------------------------------------------------------------------------
1 | // Copyright 2019 Google LLC
2 | //
3 | // Licensed under the Apache License, Version 2.0 (the "License");
4 | // you may not use this file except in compliance with the License.
5 | // You may obtain a copy of the License at
6 | //
7 | // https://www.apache.org/licenses/LICENSE-2.0
8 | //
9 | // Unless required by applicable law or agreed to in writing, software
10 | // distributed under the License is distributed on an "AS IS" BASIS,
11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | // See the License for the specific language governing permissions and
13 | // limitations under the License.
14 |
15 | namespace Google.Play.Review
16 | {
17 | ///
18 | /// Errors that can be encountered while requesting the in-app review dialog.
19 | ///
20 | public enum ReviewErrorCode
21 | {
22 | ///
23 | /// No error has occurred.
24 | ///
25 | NoError = 0,
26 |
27 | ///
28 | /// Error indicating that an unknown error occurred while requesting in-app review flow.
29 | ///
30 | ErrorRequestingFlow = 1,
31 |
32 | ///
33 | /// Error indicating that an unknown error occurred while launching in-app review flow.
34 | ///
35 | ErrorLaunchingFlow = 2,
36 |
37 | ///
38 | /// Error indicating that the Play Store app is either not installed or not the official
39 | /// version.
40 | ///
41 | PlayStoreNotFound = 3,
42 | }
43 | }
44 |
--------------------------------------------------------------------------------
/com.google.play.review/Proguard/review.txt:
--------------------------------------------------------------------------------
1 | # Copyright 2019 Google LLC
2 | #
3 | # The Google Play Core Library is licensed to you under the Play Core Software
4 | # Development Kit Terms of Service
5 | # (https://developer.android.com/guide/playcore/license.html).
6 | # By using the Google Play Core Library, you agree to the Play Core Software
7 | # Development Kit Terms of Service.
8 |
9 | # Play Core Proguard Rules: Play In-app Review
10 |
11 | -keep class com.google.android.play.core.review.ReviewManager {
12 | public com.google.android.gms.tasks.Task requestReviewFlow();
13 | public com.google.android.gms.tasks.Task launchReviewFlow(android.app.Activity, com.google.android.play.core.review.ReviewInfo);
14 | }
15 |
16 | -keepnames class com.google.android.play.core.review.ReviewInfo
17 |
18 | -keep class com.google.android.play.core.review.ReviewManagerFactory {
19 | ();
20 |
21 | public static com.google.android.play.core.review.ReviewManager create(android.content.Context);
22 | }
23 |
24 | -keep class com.google.android.play.core.review.testing.FakeReviewManager {
25 | public (android.content.Context);
26 | public com.google.android.gms.tasks.Task requestReviewFlow();
27 | public com.google.android.gms.tasks.Task launchReviewFlow(android.app.Activity, com.google.android.play.core.review.ReviewInfo);
28 | }
29 |
30 | -keep class com.google.android.play.core.review.model.ReviewErrorCode {
31 | public static int NO_ERROR;
32 | public static int PLAY_STORE_NOT_FOUND;
33 | public static int INVALID_REQUEST;
34 | public static int INTERNAL_ERROR;
35 | }
36 |
37 | -keep class com.google.android.play.core.review.ReviewException {
38 | public int getErrorCode();
39 | }
40 |
--------------------------------------------------------------------------------
/com.google.play.review/CHANGELOG.md:
--------------------------------------------------------------------------------
1 | # Changelog for com.google.play.review
2 |
3 | ## [1.8.4] - 2025-02-05
4 | - Updated Play Core dependency to 1.8.6.
5 |
6 | ## [1.8.3] - 2024-09-18
7 | - Updated Play Common dependency to 1.9.2.
8 | - Updated Play Core dependency to 1.8.5.
9 |
10 | ## [1.8.2] - 2024-07-05
11 | - Added new versioning metadata.
12 | - Updated Play Common dependency to 1.9.1.
13 | - Updated Play Core dependency to 1.8.4.
14 | - Bumped minimum supported Unity version to 2018.4
15 |
16 | ## [1.8.1] - 2022-09-08
17 | - Updated plugin's data collection procedure. For more information and the opt-out
18 | process, please refer to the [data collection](https://github.com/google/play-unity-plugins#data-collection)
19 | section in README.
20 |
21 | ## [1.8.0] - 2022-07-06
22 | ### New Features
23 | - Migrated to [Play In-App Reviews 2.0.0](https://developer.android.com/reference/com/google/android/play/core/release-notes-in_app_reviews#2-0-0).
24 |
25 | ## [1.7.0] - 2022-02-15
26 | ### New Features
27 | - Incremented version number to match other packages
28 |
29 | ## [1.6.1] - 2022-01-24
30 | ### New Features
31 | - Incremented version number to match other packages
32 |
33 | ## [1.6.0] - 2021-11-15
34 | ### New Features
35 | - Incremented version number to match other packages
36 |
37 | ## [1.5.0] - 2021-06-14
38 | ### Other
39 | - Removed ability to compile plugin with Unity 5.6, 2017.1, 2017.2, 2017.3, 2018.1, and 2018.2
40 |
41 | ## [1.4.0] - 2021-03-08
42 | ### New Features
43 | - Added an error code to indicate that the Play Store app is either not installed or not the official version
44 |
45 | ## [1.3.0] - 2020-09-30
46 | ### New Features
47 | - Updated Play Core library license to https://developer.android.com/guide/playcore/license
48 |
49 | ## [1.2.0] - 2020-07-27
50 | ### New Features
51 | - Initial release
52 |
53 |
--------------------------------------------------------------------------------
/com.google.play.review/Runtime/Scripts/Internal/ReviewPlayServiceTaskManager.cs:
--------------------------------------------------------------------------------
1 | // Copyright 2019 Google LLC
2 | //
3 | // Licensed under the Apache License, Version 2.0 (the "License");
4 | // you may not use this file except in compliance with the License.
5 | // You may obtain a copy of the License at
6 | //
7 | // https://www.apache.org/licenses/LICENSE-2.0
8 | //
9 | // Unless required by applicable law or agreed to in writing, software
10 | // distributed under the License is distributed on an "AS IS" BASIS,
11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | // See the License for the specific language governing permissions and
13 | // limitations under the License.
14 |
15 | using System;
16 | using Google.Play.Common;
17 | using Google.Play.Core.Internal;
18 | using UnityEngine;
19 |
20 | namespace Google.Play.Review.Internal
21 | {
22 | ///
23 | /// Provides two methods in order to request the launch of
24 | /// the in-app review dialog.
25 | ///
26 | internal class ReviewPlayServicesTaskManager : IDisposable
27 | {
28 | private readonly AndroidJavaObject _javaReviewManager;
29 |
30 | internal ReviewPlayServicesTaskManager()
31 | {
32 | const string factoryClassName =
33 | PlayCoreConstants.PlayCorePackagePrefix + "review.ReviewManagerFactory";
34 |
35 | using (var activity = UnityPlayerHelper.GetCurrentActivity())
36 | using (var managerFactory = new AndroidJavaClass(factoryClassName))
37 | {
38 | _javaReviewManager = managerFactory.CallStatic("create", activity);
39 | }
40 |
41 | PlayCoreEventHandler.CreateInScene();
42 | }
43 |
44 | ///
45 | /// Returns a which returns a ReviewInfo
46 | /// AndroidJavaObject on the registered on success callback.
47 | ///
48 | public PlayServicesTask RequestReviewFlow()
49 | {
50 | var javaTask = _javaReviewManager.Call("requestReviewFlow");
51 | return new PlayServicesTask(javaTask);
52 | }
53 |
54 | ///
55 | /// Returns a when the user completes the review or
56 | /// the dialog is dismissed.
57 | ///
58 | /// The on success result of .
59 | public PlayServicesTask LaunchReviewFlow(AndroidJavaObject reviewInfo)
60 | {
61 | var javaTask =
62 | _javaReviewManager.Call("launchReviewFlow",
63 | UnityPlayerHelper.GetCurrentActivity(), reviewInfo);
64 | return new PlayServicesTask(javaTask);
65 | }
66 |
67 | public void Dispose()
68 | {
69 | _javaReviewManager.Dispose();
70 | }
71 | }
72 | }
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Google Play In-App Reviews Plugin for Unity
2 |
3 | ## Overview
4 |
5 | Google Play Plugins for Unity provide C# APIs for accessing Play in-game features from within the Unity Engine. These plugins also provide Unity Editor features for building a game before publishing it on Google Play.
6 |
7 | Play In-App Reviews lets you prompt users to submit Play Store ratings and reviews without leaving your game.
8 |
9 | Refer to the [documentation](https://developer.android.com/guide/playcore/in-app-review/unity) and [Runtime API reference](https://developer.android.com/reference/unity/namespace/Google/Play/Review) for more information.
10 |
11 | ## Pre-requisites
12 |
13 | ### Required Unity Version
14 |
15 | To use the Google Play In-App Reviews plugin, you must use a supported Unity version:
16 |
17 | - All versions of Unity 2019.x, 2020.x, and newer are supported.
18 | - If you use Unity 2018.x, version 2018.4 or newer are supported.
19 | - If you use Unity 2017.x, only Unity 2017.4.40 is supported. All other versions aren't supported.
20 |
21 | ### Required Android Version
22 | To use Google Play In-App Reviews plugin, you must target a minimum Android SDK version of:
23 |
24 | - Android Lollipop (API level 21)
25 |
26 | ### Required Play Plugins
27 |
28 | The following Google Play plugins will be installed automatically when you install the Google Play In-App Reviews plugin using OpenUPM or when importing the package from GitHub:
29 |
30 | - [External Dependency Manager plugin for Unity (EDM4U)](https://github.com/googlesamples/unity-jar-resolver). This plugin resolves AAR dependencies such as the Play Core library.
31 | - [Play Core plugin for Unity](https://github.com/google/play-core-unity). The Play Core plugin provides the Play Core Library required by some other Play plugins, such as Play Asset Delivery, Play Integrity, Play In-app Reviews, and Play In-app Updates.
32 | - [Play Common plugin for Unity](https://github.com/google/play-common-unity). The Play Common plugin provides common files required by some other Play plugins, such as Play Asset Delivery, Play Integrity, Play In-app Reviews, and Play In-app Updates.
33 |
34 | ## Install the Plugin
35 |
36 | To install the Google Play In-App Reviews plugin using Open UPM, follow the instructions to [install via package manager](https://openupm.com/packages/com.google.play.review/#modal-manualinstallation) or [install via command-line](https://openupm.com/packages/com.google.play.review/#modal-commandlinetool).
37 |
38 | Alternatively, you can download the latest `.unitypackage` from the Google Play In-App Reviews plugin [GitHub releases page](https://github.com/google/play-in-app-reviews-unity/releases) and import it [using these instructions](https://developers.google.com/unity/instructions#install-unitypackage) on the Google APIs for Unity site.
39 |
40 | ## Sample app
41 | You can find a sample app for Google Play In-App Reviews plugin in the [Samples folder](https://github.com/google/play-in-app-reviews-unity/tree/main/Samples) on Github. This sample app shows you a working example of the feature in a Unity game.
42 |
43 | ## Support
44 |
45 | To request features or report issues with the plugin, please use the [GitHub issue tracker](https://github.com/google/play-in-app-reviews-unity/issues).
46 |
47 | You can find more resources and support options in the official documentation for [Google Play In-App Reviews](https://developer.android.com/guide/playcore/in-app-review).
48 |
49 | ## Data Collection
50 |
51 | When you upload a game using this plugin to Google Play, Google collects the following data to help improve our products and services:
52 |
53 | - Package name
54 | - Version number
55 | - Google Play Plugin version number
56 |
57 | To opt-out of this data collection, remove the `packagename.metadata.jar` file found under each plugin's `Runtime/Plugins` folder.
58 |
59 | **Note:** This data collection is independent of Google’s collection of library dependencies declared in Gradle when you upload your game to Google Play.
60 |
61 | ## Related Plugins
62 |
63 | Browse other [Google Play plugins for Unity](https://developers.google.com/unity/packages#google_play).
64 |
--------------------------------------------------------------------------------
/com.google.play.review/Runtime/Scripts/ReviewManager.cs:
--------------------------------------------------------------------------------
1 | // Copyright 2019 Google LLC
2 | //
3 | // Licensed under the Apache License, Version 2.0 (the "License");
4 | // you may not use this file except in compliance with the License.
5 | // You may obtain a copy of the License at
6 | //
7 | // https://www.apache.org/licenses/LICENSE-2.0
8 | //
9 | // Unless required by applicable law or agreed to in writing, software
10 | // distributed under the License is distributed on an "AS IS" BASIS,
11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | // See the License for the specific language governing permissions and
13 | // limitations under the License.
14 |
15 | using Google.Play.Common;
16 | using Google.Play.Review.Internal;
17 |
18 | namespace Google.Play.Review
19 | {
20 | ///
21 | /// Manages operations for requesting and launching the In-App Review flow.
22 | ///
23 | public class ReviewManager
24 | {
25 | ///
26 | /// Translation of Java ReviewErrorCode from:
27 | ///
29 | ///
30 | private const int JavaReviewErrorCodePlayNotFound = -1;
31 |
32 | #if !UNITY_EDITOR
33 | private readonly ReviewPlayServicesTaskManager _reviewPlayServicesTaskManager;
34 | #endif
35 |
36 | public ReviewManager()
37 | {
38 | #if !UNITY_EDITOR
39 | _reviewPlayServicesTaskManager = new ReviewPlayServicesTaskManager();
40 | #endif
41 | }
42 |
43 | ///
44 | /// Retrieves all the needed information to launch the in-app review flow.
45 | /// Needs to be called before to obtain
46 | /// a which is required to launch the
47 | /// in-app review flow.
48 | ///
49 | public PlayAsyncOperation RequestReviewFlow()
50 | {
51 | #if UNITY_EDITOR
52 | var operation = new ReviewAsyncOperation();
53 | operation.SetResult(new PlayReviewInfo(null));
54 | return operation;
55 | #else
56 | return RequestReviewFlowInternal();
57 | #endif
58 | }
59 |
60 | ///
61 | /// Launches and displays the in-app review flow to the user.
62 | /// Returns a that will be marked IsDone when
63 | /// the in-app review dialog is closed.
64 | ///
65 | public PlayAsyncOperation LaunchReviewFlow(
66 | PlayReviewInfo reviewInfo)
67 | {
68 | #if UNITY_EDITOR
69 | var operation = new ReviewAsyncOperation();
70 | operation.SetResult(new VoidResult());
71 | return operation;
72 | #else
73 | return LaunchReviewFlowInternal(reviewInfo);
74 | #endif
75 | }
76 |
77 | #if !UNITY_EDITOR
78 | private PlayAsyncOperation RequestReviewFlowInternal()
79 | {
80 | var operation = new ReviewAsyncOperation();
81 | var requestFlowTask = _reviewPlayServicesTaskManager.RequestReviewFlow();
82 | requestFlowTask.RegisterOnSuccessCallback(reviewInfo =>
83 | {
84 | operation.SetResult(new PlayReviewInfo(reviewInfo));
85 | requestFlowTask.Dispose();
86 | });
87 | requestFlowTask.RegisterOnFailureCallback((reason, errorCode) =>
88 | {
89 | if (errorCode == JavaReviewErrorCodePlayNotFound) {
90 | operation.SetError(ReviewErrorCode.PlayStoreNotFound);
91 | } else {
92 | operation.SetError(ReviewErrorCode.ErrorRequestingFlow);
93 | }
94 | requestFlowTask.Dispose();
95 | });
96 | return operation;
97 | }
98 |
99 | private PlayAsyncOperation LaunchReviewFlowInternal(PlayReviewInfo reviewInfo)
100 | {
101 | var operation = new ReviewAsyncOperation();
102 | var requestFlowTask =
103 | _reviewPlayServicesTaskManager.LaunchReviewFlow(reviewInfo.GetReviewInfo());
104 | requestFlowTask.RegisterOnSuccessCallback(result =>
105 | {
106 | operation.SetResult(new VoidResult());
107 | requestFlowTask.Dispose();
108 | });
109 | requestFlowTask.RegisterOnFailureCallback((reason, errorCode) =>
110 | {
111 | operation.SetError(ReviewErrorCode.ErrorLaunchingFlow);
112 | requestFlowTask.Dispose();
113 | });
114 | return operation;
115 | }
116 | #endif
117 | }
118 | }
--------------------------------------------------------------------------------
/Samples/ReviewDemo/Scripts/ReviewDemo.cs:
--------------------------------------------------------------------------------
1 | // Copyright 2019 Google LLC
2 | //
3 | // Licensed under the Apache License, Version 2.0 (the "License");
4 | // you may not use this file except in compliance with the License.
5 | // You may obtain a copy of the License at
6 | //
7 | // https://www.apache.org/licenses/LICENSE-2.0
8 | //
9 | // Unless required by applicable law or agreed to in writing, software
10 | // distributed under the License is distributed on an "AS IS" BASIS,
11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | // See the License for the specific language governing permissions and
13 | // limitations under the License.
14 |
15 | using System;
16 | using System.Collections;
17 | using System.Collections.Generic;
18 | using System.Diagnostics;
19 | using UnityEngine;
20 | using UnityEngine.UI;
21 | using Debug = UnityEngine.Debug;
22 |
23 | namespace Google.Play.Review.Samples.ReviewDemo
24 | {
25 | public class ReviewDemo : MonoBehaviour
26 | {
27 | private static PlayReviewInfo _playReviewInfo;
28 | private ReviewManager _reviewManager;
29 | private Dictionary _keyMappings;
30 | public Text statusText;
31 | public Button requestFlowButton;
32 | public Button launchFlowButton;
33 | public Button allInOneButton;
34 |
35 | private void Start()
36 | {
37 | _reviewManager = new ReviewManager();
38 | requestFlowButton.onClick.AddListener(RequestFlowClick);
39 | launchFlowButton.onClick.AddListener(LaunchFlowClick);
40 | allInOneButton.onClick.AddListener(AllInOneFlowClick);
41 | requestFlowButton.interactable = true;
42 | launchFlowButton.interactable = false;
43 | allInOneButton.interactable = true;
44 |
45 | // Provides an interface to test via key press.
46 | _keyMappings = new Dictionary()
47 | {
48 | {KeyCode.A, AllInOneFlowClick}
49 | };
50 | Debug.Log("Initialized key mapping");
51 | }
52 |
53 | private void Update()
54 | {
55 | if (!Input.anyKeyDown)
56 | {
57 | return;
58 | }
59 |
60 | foreach (var keyMapping in _keyMappings)
61 | {
62 | if (Input.GetKeyDown(keyMapping.Key))
63 | {
64 | keyMapping.Value.Invoke();
65 | }
66 | }
67 | }
68 |
69 | private void RequestFlowClick()
70 | {
71 | StartCoroutine(RequestFlowCoroutine(true));
72 | }
73 |
74 | private void LaunchFlowClick()
75 | {
76 | StartCoroutine(LaunchFlowCoroutine());
77 | }
78 |
79 | private void AllInOneFlowClick()
80 | {
81 | StartCoroutine(AllInOneFlowCoroutine());
82 | }
83 |
84 | private IEnumerator RequestFlowCoroutine(bool isStepRequest)
85 | {
86 | Debug.Log("Initializing in-app review request flow");
87 | allInOneButton.interactable = false;
88 | requestFlowButton.interactable = false;
89 | statusText.text = "Requesting info...";
90 | var stopWatch = new Stopwatch();
91 | stopWatch.Start();
92 | var requestFlowOperation = _reviewManager.RequestReviewFlow();
93 | yield return requestFlowOperation;
94 | stopWatch.Stop();
95 | if (requestFlowOperation.Error != ReviewErrorCode.NoError)
96 | {
97 | ResetDisplay(requestFlowOperation.Error.ToString());
98 | yield break;
99 | }
100 |
101 | _playReviewInfo = requestFlowOperation.GetResult();
102 | statusText.text += "\nObtained info! (" + stopWatch.ElapsedMilliseconds + "ms)";
103 | if (isStepRequest)
104 | {
105 | launchFlowButton.interactable = true;
106 | }
107 | }
108 |
109 | private IEnumerator LaunchFlowCoroutine()
110 | {
111 | launchFlowButton.interactable = false;
112 | // Gives enough time to the UI to progress to full dimmed (not interactable) LaunchFlowButton
113 | // before the in-app review dialog is shown.
114 | yield return new WaitForSeconds(.1f);
115 | if (_playReviewInfo == null)
116 | {
117 | ResetDisplay("PlayReviewInfo is null.");
118 | yield break;
119 | }
120 |
121 | yield return statusText.text += "\nLaunching...";
122 | var launchFlowOperation = _reviewManager.LaunchReviewFlow(_playReviewInfo);
123 | yield return launchFlowOperation;
124 | _playReviewInfo = null;
125 | if (launchFlowOperation.Error != ReviewErrorCode.NoError)
126 | {
127 | ResetDisplay(launchFlowOperation.Error.ToString());
128 | yield break;
129 | }
130 |
131 | Debug.Log("In-app review launch is done!");
132 | statusText.text += "\nDone!";
133 | ResetDisplay(string.Empty);
134 | }
135 |
136 | private IEnumerator AllInOneFlowCoroutine()
137 | {
138 | yield return StartCoroutine(RequestFlowCoroutine(false));
139 | yield return StartCoroutine(LaunchFlowCoroutine());
140 | }
141 |
142 | private void ResetDisplay(string errorText)
143 | {
144 | if (!string.IsNullOrEmpty(errorText))
145 | {
146 | Debug.LogError(errorText);
147 | statusText.text += "\nError: " + errorText;
148 | }
149 |
150 | requestFlowButton.interactable = true;
151 | allInOneButton.interactable = true;
152 | }
153 | }
154 | }
--------------------------------------------------------------------------------
/LICENSE.md:
--------------------------------------------------------------------------------
1 | ===============================================================================
2 |
3 | The following file:
4 |
5 | - Proguard/review.txt
6 |
7 | is licensed under the
8 | [Play Core Software Development Kit Terms of Service](https://developer.android.com/guide/playcore/license).
9 | By using this file, you agree to the Play Core Software Development Kit Terms of
10 | Service.
11 |
12 | ===============================================================================
13 |
14 | Except as indicated previously in this LICENSE file, files in this package are
15 | licensed as follows:
16 |
17 | Apache License
18 | Version 2.0, January 2004
19 | https://www.apache.org/licenses/
20 |
21 | TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
22 |
23 | 1. Definitions.
24 |
25 | "License" shall mean the terms and conditions for use, reproduction,
26 | and distribution as defined by Sections 1 through 9 of this document.
27 |
28 | "Licensor" shall mean the copyright owner or entity authorized by
29 | the copyright owner that is granting the License.
30 |
31 | "Legal Entity" shall mean the union of the acting entity and all
32 | other entities that control, are controlled by, or are under common
33 | control with that entity. For the purposes of this definition,
34 | "control" means (i) the power, direct or indirect, to cause the
35 | direction or management of such entity, whether by contract or
36 | otherwise, or (ii) ownership of fifty percent (50%) or more of the
37 | outstanding shares, or (iii) beneficial ownership of such entity.
38 |
39 | "You" (or "Your") shall mean an individual or Legal Entity
40 | exercising permissions granted by this License.
41 |
42 | "Source" form shall mean the preferred form for making modifications,
43 | including but not limited to software source code, documentation
44 | source, and configuration files.
45 |
46 | "Object" form shall mean any form resulting from mechanical
47 | transformation or translation of a Source form, including but
48 | not limited to compiled object code, generated documentation,
49 | and conversions to other media types.
50 |
51 | "Work" shall mean the work of authorship, whether in Source or
52 | Object form, made available under the License, as indicated by a
53 | copyright notice that is included in or attached to the work
54 | (an example is provided in the Appendix below).
55 |
56 | "Derivative Works" shall mean any work, whether in Source or Object
57 | form, that is based on (or derived from) the Work and for which the
58 | editorial revisions, annotations, elaborations, or other modifications
59 | represent, as a whole, an original work of authorship. For the purposes
60 | of this License, Derivative Works shall not include works that remain
61 | separable from, or merely link (or bind by name) to the interfaces of,
62 | the Work and Derivative Works thereof.
63 |
64 | "Contribution" shall mean any work of authorship, including
65 | the original version of the Work and any modifications or additions
66 | to that Work or Derivative Works thereof, that is intentionally
67 | submitted to Licensor for inclusion in the Work by the copyright owner
68 | or by an individual or Legal Entity authorized to submit on behalf of
69 | the copyright owner. For the purposes of this definition, "submitted"
70 | means any form of electronic, verbal, or written communication sent
71 | to the Licensor or its representatives, including but not limited to
72 | communication on electronic mailing lists, source code control systems,
73 | and issue tracking systems that are managed by, or on behalf of, the
74 | Licensor for the purpose of discussing and improving the Work, but
75 | excluding communication that is conspicuously marked or otherwise
76 | designated in writing by the copyright owner as "Not a Contribution."
77 |
78 | "Contributor" shall mean Licensor and any individual or Legal Entity
79 | on behalf of whom a Contribution has been received by Licensor and
80 | subsequently incorporated within the Work.
81 |
82 | 2. Grant of Copyright License. Subject to the terms and conditions of
83 | this License, each Contributor hereby grants to You a perpetual,
84 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable
85 | copyright license to reproduce, prepare Derivative Works of,
86 | publicly display, publicly perform, sublicense, and distribute the
87 | Work and such Derivative Works in Source or Object form.
88 |
89 | 3. Grant of Patent License. Subject to the terms and conditions of
90 | this License, each Contributor hereby grants to You a perpetual,
91 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable
92 | (except as stated in this section) patent license to make, have made,
93 | use, offer to sell, sell, import, and otherwise transfer the Work,
94 | where such license applies only to those patent claims licensable
95 | by such Contributor that are necessarily infringed by their
96 | Contribution(s) alone or by combination of their Contribution(s)
97 | with the Work to which such Contribution(s) was submitted. If You
98 | institute patent litigation against any entity (including a
99 | cross-claim or counterclaim in a lawsuit) alleging that the Work
100 | or a Contribution incorporated within the Work constitutes direct
101 | or contributory patent infringement, then any patent licenses
102 | granted to You under this License for that Work shall terminate
103 | as of the date such litigation is filed.
104 |
105 | 4. Redistribution. You may reproduce and distribute copies of the
106 | Work or Derivative Works thereof in any medium, with or without
107 | modifications, and in Source or Object form, provided that You
108 | meet the following conditions:
109 |
110 | (a) You must give any other recipients of the Work or
111 | Derivative Works a copy of this License; and
112 |
113 | (b) You must cause any modified files to carry prominent notices
114 | stating that You changed the files; and
115 |
116 | (c) You must retain, in the Source form of any Derivative Works
117 | that You distribute, all copyright, patent, trademark, and
118 | attribution notices from the Source form of the Work,
119 | excluding those notices that do not pertain to any part of
120 | the Derivative Works; and
121 |
122 | (d) If the Work includes a "NOTICE" text file as part of its
123 | distribution, then any Derivative Works that You distribute must
124 | include a readable copy of the attribution notices contained
125 | within such NOTICE file, excluding those notices that do not
126 | pertain to any part of the Derivative Works, in at least one
127 | of the following places: within a NOTICE text file distributed
128 | as part of the Derivative Works; within the Source form or
129 | documentation, if provided along with the Derivative Works; or,
130 | within a display generated by the Derivative Works, if and
131 | wherever such third-party notices normally appear. The contents
132 | of the NOTICE file are for informational purposes only and
133 | do not modify the License. You may add Your own attribution
134 | notices within Derivative Works that You distribute, alongside
135 | or as an addendum to the NOTICE text from the Work, provided
136 | that such additional attribution notices cannot be construed
137 | as modifying the License.
138 |
139 | You may add Your own copyright statement to Your modifications and
140 | may provide additional or different license terms and conditions
141 | for use, reproduction, or distribution of Your modifications, or
142 | for any such Derivative Works as a whole, provided Your use,
143 | reproduction, and distribution of the Work otherwise complies with
144 | the conditions stated in this License.
145 |
146 | 5. Submission of Contributions. Unless You explicitly state otherwise,
147 | any Contribution intentionally submitted for inclusion in the Work
148 | by You to the Licensor shall be under the terms and conditions of
149 | this License, without any additional terms or conditions.
150 | Notwithstanding the above, nothing herein shall supersede or modify
151 | the terms of any separate license agreement you may have executed
152 | with Licensor regarding such Contributions.
153 |
154 | 6. Trademarks. This License does not grant permission to use the trade
155 | names, trademarks, service marks, or product names of the Licensor,
156 | except as required for reasonable and customary use in describing the
157 | origin of the Work and reproducing the content of the NOTICE file.
158 |
159 | 7. Disclaimer of Warranty. Unless required by applicable law or
160 | agreed to in writing, Licensor provides the Work (and each
161 | Contributor provides its Contributions) on an "AS IS" BASIS,
162 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
163 | implied, including, without limitation, any warranties or conditions
164 | of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
165 | PARTICULAR PURPOSE. You are solely responsible for determining the
166 | appropriateness of using or redistributing the Work and assume any
167 | risks associated with Your exercise of permissions under this License.
168 |
169 | 8. Limitation of Liability. In no event and under no legal theory,
170 | whether in tort (including negligence), contract, or otherwise,
171 | unless required by applicable law (such as deliberate and grossly
172 | negligent acts) or agreed to in writing, shall any Contributor be
173 | liable to You for damages, including any direct, indirect, special,
174 | incidental, or consequential damages of any character arising as a
175 | result of this License or out of the use or inability to use the
176 | Work (including but not limited to damages for loss of goodwill,
177 | work stoppage, computer failure or malfunction, or any and all
178 | other commercial damages or losses), even if such Contributor
179 | has been advised of the possibility of such damages.
180 |
181 | 9. Accepting Warranty or Additional Liability. While redistributing
182 | the Work or Derivative Works thereof, You may choose to offer,
183 | and charge a fee for, acceptance of support, warranty, indemnity,
184 | or other liability obligations and/or rights consistent with this
185 | License. However, in accepting such obligations, You may act only
186 | on Your own behalf and on Your sole responsibility, not on behalf
187 | of any other Contributor, and only if You agree to indemnify,
188 | defend, and hold each Contributor harmless for any liability
189 | incurred by, or claims asserted against, such Contributor by reason
190 | of your accepting any such warranty or additional liability.
191 |
192 | END OF TERMS AND CONDITIONS
193 |
194 | APPENDIX: How to apply the Apache License to your work.
195 |
196 | To apply the Apache License to your work, attach the following
197 | boilerplate notice, with the fields enclosed by brackets "[]"
198 | replaced with your own identifying information. (Don't include
199 | the brackets!) The text should be enclosed in the appropriate
200 | comment syntax for the file format. We also recommend that a
201 | file or class name and description of purpose be included on the
202 | same "printed page" as the copyright notice for easier
203 | identification within third-party archives.
204 |
205 | Copyright [yyyy] [name of copyright owner]
206 |
207 | Licensed under the Apache License, Version 2.0 (the "License");
208 | you may not use this file except in compliance with the License.
209 | You may obtain a copy of the License at
210 |
211 | https://www.apache.org/licenses/LICENSE-2.0
212 |
213 | Unless required by applicable law or agreed to in writing, software
214 | distributed under the License is distributed on an "AS IS" BASIS,
215 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
216 | See the License for the specific language governing permissions and
217 | limitations under the License.
218 |
219 |
--------------------------------------------------------------------------------
/Samples/ReviewDemo/Scenes/ReviewDemo.unity:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!29 &1
4 | OcclusionCullingSettings:
5 | m_ObjectHideFlags: 0
6 | serializedVersion: 2
7 | m_OcclusionBakeSettings:
8 | smallestOccluder: 5
9 | smallestHole: 0.25
10 | backfaceThreshold: 100
11 | m_SceneGUID: 00000000000000000000000000000000
12 | m_OcclusionCullingData: {fileID: 0}
13 | --- !u!104 &2
14 | RenderSettings:
15 | m_ObjectHideFlags: 0
16 | serializedVersion: 8
17 | m_Fog: 0
18 | m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1}
19 | m_FogMode: 3
20 | m_FogDensity: 0.01
21 | m_LinearFogStart: 0
22 | m_LinearFogEnd: 300
23 | m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1}
24 | m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1}
25 | m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1}
26 | m_AmbientIntensity: 1
27 | m_AmbientMode: 3
28 | m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1}
29 | m_SkyboxMaterial: {fileID: 0}
30 | m_HaloStrength: 0.5
31 | m_FlareStrength: 1
32 | m_FlareFadeSpeed: 3
33 | m_HaloTexture: {fileID: 0}
34 | m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0}
35 | m_DefaultReflectionMode: 1
36 | m_DefaultReflectionResolution: 128
37 | m_ReflectionBounces: 1
38 | m_ReflectionIntensity: 1
39 | m_CustomReflection: {fileID: 0}
40 | m_Sun: {fileID: 0}
41 | m_IndirectSpecularColor: {r: 0, g: 0, b: 0, a: 1}
42 | --- !u!157 &3
43 | LightmapSettings:
44 | m_ObjectHideFlags: 0
45 | serializedVersion: 9
46 | m_GIWorkflowMode: 0
47 | m_GISettings:
48 | serializedVersion: 2
49 | m_BounceScale: 1
50 | m_IndirectOutputScale: 1
51 | m_AlbedoBoost: 1
52 | m_TemporalCoherenceThreshold: 1
53 | m_EnvironmentLightingMode: 0
54 | m_EnableBakedLightmaps: 0
55 | m_EnableRealtimeLightmaps: 0
56 | m_LightmapEditorSettings:
57 | serializedVersion: 8
58 | m_Resolution: 2
59 | m_BakeResolution: 40
60 | m_TextureWidth: 1024
61 | m_TextureHeight: 1024
62 | m_AO: 0
63 | m_AOMaxDistance: 1
64 | m_CompAOExponent: 1
65 | m_CompAOExponentDirect: 0
66 | m_Padding: 2
67 | m_LightmapParameters: {fileID: 0}
68 | m_LightmapsBakeMode: 1
69 | m_TextureCompression: 1
70 | m_FinalGather: 0
71 | m_FinalGatherFiltering: 1
72 | m_FinalGatherRayCount: 256
73 | m_ReflectionCompression: 2
74 | m_MixedBakeMode: 2
75 | m_BakeBackend: 1
76 | m_PVRSampling: 1
77 | m_PVRDirectSampleCount: 32
78 | m_PVRSampleCount: 500
79 | m_PVRBounces: 2
80 | m_PVRFilterTypeDirect: 0
81 | m_PVRFilterTypeIndirect: 0
82 | m_PVRFilterTypeAO: 0
83 | m_PVRFilteringMode: 1
84 | m_PVRCulling: 1
85 | m_PVRFilteringGaussRadiusDirect: 1
86 | m_PVRFilteringGaussRadiusIndirect: 5
87 | m_PVRFilteringGaussRadiusAO: 2
88 | m_PVRFilteringAtrousPositionSigmaDirect: 0.5
89 | m_PVRFilteringAtrousPositionSigmaIndirect: 2
90 | m_PVRFilteringAtrousPositionSigmaAO: 1
91 | m_LightingDataAsset: {fileID: 0}
92 | m_ShadowMaskMode: 2
93 | --- !u!196 &4
94 | NavMeshSettings:
95 | serializedVersion: 2
96 | m_ObjectHideFlags: 0
97 | m_BuildSettings:
98 | serializedVersion: 2
99 | agentTypeID: 0
100 | agentRadius: 0.5
101 | agentHeight: 2
102 | agentSlope: 45
103 | agentClimb: 0.4
104 | ledgeDropHeight: 0
105 | maxJumpAcrossDistance: 0
106 | minRegionArea: 2
107 | manualCellSize: 0
108 | cellSize: 0.16666667
109 | manualTileSize: 0
110 | tileSize: 256
111 | accuratePlacement: 0
112 | m_NavMeshData: {fileID: 0}
113 | --- !u!1 &609962555
114 | GameObject:
115 | m_ObjectHideFlags: 0
116 | m_PrefabParentObject: {fileID: 0}
117 | m_PrefabInternal: {fileID: 0}
118 | serializedVersion: 5
119 | m_Component:
120 | - component: {fileID: 609962556}
121 | - component: {fileID: 609962558}
122 | - component: {fileID: 609962557}
123 | m_Layer: 5
124 | m_Name: Text
125 | m_TagString: Untagged
126 | m_Icon: {fileID: 0}
127 | m_NavMeshLayer: 0
128 | m_StaticEditorFlags: 0
129 | m_IsActive: 1
130 | --- !u!224 &609962556
131 | RectTransform:
132 | m_ObjectHideFlags: 0
133 | m_PrefabParentObject: {fileID: 0}
134 | m_PrefabInternal: {fileID: 0}
135 | m_GameObject: {fileID: 609962555}
136 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
137 | m_LocalPosition: {x: 0, y: 0, z: 0}
138 | m_LocalScale: {x: 1, y: 1, z: 1}
139 | m_Children: []
140 | m_Father: {fileID: 973572932}
141 | m_RootOrder: 0
142 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
143 | m_AnchorMin: {x: 0, y: 0}
144 | m_AnchorMax: {x: 1, y: 1}
145 | m_AnchoredPosition: {x: 0, y: 0}
146 | m_SizeDelta: {x: -124, y: -40}
147 | m_Pivot: {x: 0.5, y: 0.5}
148 | --- !u!114 &609962557
149 | MonoBehaviour:
150 | m_ObjectHideFlags: 0
151 | m_PrefabParentObject: {fileID: 0}
152 | m_PrefabInternal: {fileID: 0}
153 | m_GameObject: {fileID: 609962555}
154 | m_Enabled: 1
155 | m_EditorHideFlags: 0
156 | m_Script: {fileID: 708705254, guid: f70555f144d8491a825f0804e09c671c, type: 3}
157 | m_Name:
158 | m_EditorClassIdentifier:
159 | m_Material: {fileID: 0}
160 | m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
161 | m_RaycastTarget: 1
162 | m_OnCullStateChanged:
163 | m_PersistentCalls:
164 | m_Calls: []
165 | m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
166 | Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
167 | m_FontData:
168 | m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
169 | m_FontSize: 50
170 | m_FontStyle: 0
171 | m_BestFit: 0
172 | m_MinSize: 1
173 | m_MaxSize: 283
174 | m_Alignment: 4
175 | m_AlignByGeometry: 0
176 | m_RichText: 1
177 | m_HorizontalOverflow: 0
178 | m_VerticalOverflow: 0
179 | m_LineSpacing: 1
180 | m_Text: ALL IN ONE
181 | --- !u!222 &609962558
182 | CanvasRenderer:
183 | m_ObjectHideFlags: 0
184 | m_PrefabParentObject: {fileID: 0}
185 | m_PrefabInternal: {fileID: 0}
186 | m_GameObject: {fileID: 609962555}
187 | --- !u!1 &827816957
188 | GameObject:
189 | m_ObjectHideFlags: 0
190 | m_PrefabParentObject: {fileID: 0}
191 | m_PrefabInternal: {fileID: 0}
192 | serializedVersion: 5
193 | m_Component:
194 | - component: {fileID: 827816958}
195 | - component: {fileID: 827816961}
196 | - component: {fileID: 827816960}
197 | - component: {fileID: 827816959}
198 | m_Layer: 5
199 | m_Name: Launch
200 | m_TagString: Untagged
201 | m_Icon: {fileID: 0}
202 | m_NavMeshLayer: 0
203 | m_StaticEditorFlags: 0
204 | m_IsActive: 1
205 | --- !u!224 &827816958
206 | RectTransform:
207 | m_ObjectHideFlags: 0
208 | m_PrefabParentObject: {fileID: 0}
209 | m_PrefabInternal: {fileID: 0}
210 | m_GameObject: {fileID: 827816957}
211 | m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
212 | m_LocalPosition: {x: 0, y: 0, z: 0}
213 | m_LocalScale: {x: 1, y: 1, z: 1}
214 | m_Children:
215 | - {fileID: 890403258}
216 | m_Father: {fileID: 1870742910}
217 | m_RootOrder: 1
218 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
219 | m_AnchorMin: {x: 0.5, y: 1}
220 | m_AnchorMax: {x: 0.5, y: 1}
221 | m_AnchoredPosition: {x: 0, y: -650}
222 | m_SizeDelta: {x: 700, y: 200}
223 | m_Pivot: {x: 0.5, y: 0.5}
224 | --- !u!114 &827816959
225 | MonoBehaviour:
226 | m_ObjectHideFlags: 0
227 | m_PrefabParentObject: {fileID: 0}
228 | m_PrefabInternal: {fileID: 0}
229 | m_GameObject: {fileID: 827816957}
230 | m_Enabled: 1
231 | m_EditorHideFlags: 0
232 | m_Script: {fileID: 1392445389, guid: f70555f144d8491a825f0804e09c671c, type: 3}
233 | m_Name:
234 | m_EditorClassIdentifier:
235 | m_Navigation:
236 | m_Mode: 3
237 | m_SelectOnUp: {fileID: 0}
238 | m_SelectOnDown: {fileID: 0}
239 | m_SelectOnLeft: {fileID: 0}
240 | m_SelectOnRight: {fileID: 0}
241 | m_Transition: 1
242 | m_Colors:
243 | m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
244 | m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
245 | m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
246 | m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
247 | m_ColorMultiplier: 1
248 | m_FadeDuration: 0.1
249 | m_SpriteState:
250 | m_HighlightedSprite: {fileID: 0}
251 | m_PressedSprite: {fileID: 0}
252 | m_DisabledSprite: {fileID: 0}
253 | m_AnimationTriggers:
254 | m_NormalTrigger: Normal
255 | m_HighlightedTrigger: Highlighted
256 | m_PressedTrigger: Pressed
257 | m_DisabledTrigger: Disabled
258 | m_Interactable: 1
259 | m_TargetGraphic: {fileID: 827816960}
260 | m_OnClick:
261 | m_PersistentCalls:
262 | m_Calls:
263 | - m_Target: {fileID: 0}
264 | m_MethodName: ButtonEventReadCookie
265 | m_Mode: 1
266 | m_Arguments:
267 | m_ObjectArgument: {fileID: 0}
268 | m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
269 | m_IntArgument: 0
270 | m_FloatArgument: 0
271 | m_StringArgument:
272 | m_BoolArgument: 0
273 | m_CallState: 2
274 | m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0,
275 | Culture=neutral, PublicKeyToken=null
276 | --- !u!114 &827816960
277 | MonoBehaviour:
278 | m_ObjectHideFlags: 0
279 | m_PrefabParentObject: {fileID: 0}
280 | m_PrefabInternal: {fileID: 0}
281 | m_GameObject: {fileID: 827816957}
282 | m_Enabled: 1
283 | m_EditorHideFlags: 0
284 | m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3}
285 | m_Name:
286 | m_EditorClassIdentifier:
287 | m_Material: {fileID: 0}
288 | m_Color: {r: 1, g: 1, b: 1, a: 1}
289 | m_RaycastTarget: 1
290 | m_OnCullStateChanged:
291 | m_PersistentCalls:
292 | m_Calls: []
293 | m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
294 | Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
295 | m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0}
296 | m_Type: 1
297 | m_PreserveAspect: 0
298 | m_FillCenter: 1
299 | m_FillMethod: 4
300 | m_FillAmount: 1
301 | m_FillClockwise: 1
302 | m_FillOrigin: 0
303 | --- !u!222 &827816961
304 | CanvasRenderer:
305 | m_ObjectHideFlags: 0
306 | m_PrefabParentObject: {fileID: 0}
307 | m_PrefabInternal: {fileID: 0}
308 | m_GameObject: {fileID: 827816957}
309 | --- !u!1 &890403257
310 | GameObject:
311 | m_ObjectHideFlags: 0
312 | m_PrefabParentObject: {fileID: 0}
313 | m_PrefabInternal: {fileID: 0}
314 | serializedVersion: 5
315 | m_Component:
316 | - component: {fileID: 890403258}
317 | - component: {fileID: 890403260}
318 | - component: {fileID: 890403259}
319 | m_Layer: 5
320 | m_Name: Text
321 | m_TagString: Untagged
322 | m_Icon: {fileID: 0}
323 | m_NavMeshLayer: 0
324 | m_StaticEditorFlags: 0
325 | m_IsActive: 1
326 | --- !u!224 &890403258
327 | RectTransform:
328 | m_ObjectHideFlags: 0
329 | m_PrefabParentObject: {fileID: 0}
330 | m_PrefabInternal: {fileID: 0}
331 | m_GameObject: {fileID: 890403257}
332 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
333 | m_LocalPosition: {x: 0, y: 0, z: 0}
334 | m_LocalScale: {x: 1, y: 1, z: 1}
335 | m_Children: []
336 | m_Father: {fileID: 827816958}
337 | m_RootOrder: 0
338 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
339 | m_AnchorMin: {x: 0, y: 0}
340 | m_AnchorMax: {x: 1, y: 1}
341 | m_AnchoredPosition: {x: 0, y: 0}
342 | m_SizeDelta: {x: -124, y: -40}
343 | m_Pivot: {x: 0.5, y: 0.5}
344 | --- !u!114 &890403259
345 | MonoBehaviour:
346 | m_ObjectHideFlags: 0
347 | m_PrefabParentObject: {fileID: 0}
348 | m_PrefabInternal: {fileID: 0}
349 | m_GameObject: {fileID: 890403257}
350 | m_Enabled: 1
351 | m_EditorHideFlags: 0
352 | m_Script: {fileID: 708705254, guid: f70555f144d8491a825f0804e09c671c, type: 3}
353 | m_Name:
354 | m_EditorClassIdentifier:
355 | m_Material: {fileID: 0}
356 | m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
357 | m_RaycastTarget: 1
358 | m_OnCullStateChanged:
359 | m_PersistentCalls:
360 | m_Calls: []
361 | m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
362 | Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
363 | m_FontData:
364 | m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
365 | m_FontSize: 50
366 | m_FontStyle: 0
367 | m_BestFit: 0
368 | m_MinSize: 1
369 | m_MaxSize: 283
370 | m_Alignment: 4
371 | m_AlignByGeometry: 0
372 | m_RichText: 1
373 | m_HorizontalOverflow: 0
374 | m_VerticalOverflow: 0
375 | m_LineSpacing: 1
376 | m_Text: Launch Flow
377 | --- !u!222 &890403260
378 | CanvasRenderer:
379 | m_ObjectHideFlags: 0
380 | m_PrefabParentObject: {fileID: 0}
381 | m_PrefabInternal: {fileID: 0}
382 | m_GameObject: {fileID: 890403257}
383 | --- !u!1 &895177272
384 | GameObject:
385 | m_ObjectHideFlags: 0
386 | m_PrefabParentObject: {fileID: 0}
387 | m_PrefabInternal: {fileID: 0}
388 | serializedVersion: 5
389 | m_Component:
390 | - component: {fileID: 895177273}
391 | m_Layer: 5
392 | m_Name: Title
393 | m_TagString: Untagged
394 | m_Icon: {fileID: 0}
395 | m_NavMeshLayer: 0
396 | m_StaticEditorFlags: 0
397 | m_IsActive: 1
398 | --- !u!224 &895177273
399 | RectTransform:
400 | m_ObjectHideFlags: 0
401 | m_PrefabParentObject: {fileID: 0}
402 | m_PrefabInternal: {fileID: 0}
403 | m_GameObject: {fileID: 895177272}
404 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
405 | m_LocalPosition: {x: 0, y: 0, z: 0}
406 | m_LocalScale: {x: 1, y: 1, z: 1}
407 | m_Children:
408 | - {fileID: 1694712804}
409 | m_Father: {fileID: 1711967710}
410 | m_RootOrder: 1
411 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
412 | m_AnchorMin: {x: 0.5, y: 0.5}
413 | m_AnchorMax: {x: 0.5, y: 0.5}
414 | m_AnchoredPosition: {x: 0, y: 850}
415 | m_SizeDelta: {x: 1000, y: 300}
416 | m_Pivot: {x: 0.5, y: 0.5}
417 | --- !u!1 &973572931
418 | GameObject:
419 | m_ObjectHideFlags: 0
420 | m_PrefabParentObject: {fileID: 0}
421 | m_PrefabInternal: {fileID: 0}
422 | serializedVersion: 5
423 | m_Component:
424 | - component: {fileID: 973572932}
425 | - component: {fileID: 973572935}
426 | - component: {fileID: 973572934}
427 | - component: {fileID: 973572933}
428 | m_Layer: 5
429 | m_Name: AllInOneFlowButton
430 | m_TagString: Untagged
431 | m_Icon: {fileID: 0}
432 | m_NavMeshLayer: 0
433 | m_StaticEditorFlags: 0
434 | m_IsActive: 1
435 | --- !u!224 &973572932
436 | RectTransform:
437 | m_ObjectHideFlags: 0
438 | m_PrefabParentObject: {fileID: 0}
439 | m_PrefabInternal: {fileID: 0}
440 | m_GameObject: {fileID: 973572931}
441 | m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
442 | m_LocalPosition: {x: 0, y: 0, z: 0}
443 | m_LocalScale: {x: 1, y: 1, z: 1}
444 | m_Children:
445 | - {fileID: 609962556}
446 | m_Father: {fileID: 1870742910}
447 | m_RootOrder: 2
448 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
449 | m_AnchorMin: {x: 0.5, y: 1}
450 | m_AnchorMax: {x: 0.5, y: 1}
451 | m_AnchoredPosition: {x: 0, y: -900}
452 | m_SizeDelta: {x: 700, y: 200}
453 | m_Pivot: {x: 0.5, y: 0.5}
454 | --- !u!114 &973572933
455 | MonoBehaviour:
456 | m_ObjectHideFlags: 0
457 | m_PrefabParentObject: {fileID: 0}
458 | m_PrefabInternal: {fileID: 0}
459 | m_GameObject: {fileID: 973572931}
460 | m_Enabled: 1
461 | m_EditorHideFlags: 0
462 | m_Script: {fileID: 1392445389, guid: f70555f144d8491a825f0804e09c671c, type: 3}
463 | m_Name:
464 | m_EditorClassIdentifier:
465 | m_Navigation:
466 | m_Mode: 3
467 | m_SelectOnUp: {fileID: 0}
468 | m_SelectOnDown: {fileID: 0}
469 | m_SelectOnLeft: {fileID: 0}
470 | m_SelectOnRight: {fileID: 0}
471 | m_Transition: 1
472 | m_Colors:
473 | m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
474 | m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
475 | m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
476 | m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
477 | m_ColorMultiplier: 1
478 | m_FadeDuration: 0.1
479 | m_SpriteState:
480 | m_HighlightedSprite: {fileID: 0}
481 | m_PressedSprite: {fileID: 0}
482 | m_DisabledSprite: {fileID: 0}
483 | m_AnimationTriggers:
484 | m_NormalTrigger: Normal
485 | m_HighlightedTrigger: Highlighted
486 | m_PressedTrigger: Pressed
487 | m_DisabledTrigger: Disabled
488 | m_Interactable: 1
489 | m_TargetGraphic: {fileID: 973572934}
490 | m_OnClick:
491 | m_PersistentCalls:
492 | m_Calls:
493 | - m_Target: {fileID: 0}
494 | m_MethodName: ButtonEventShowInstallPrompt
495 | m_Mode: 1
496 | m_Arguments:
497 | m_ObjectArgument: {fileID: 0}
498 | m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
499 | m_IntArgument: 0
500 | m_FloatArgument: 0
501 | m_StringArgument:
502 | m_BoolArgument: 0
503 | m_CallState: 2
504 | m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0,
505 | Culture=neutral, PublicKeyToken=null
506 | --- !u!114 &973572934
507 | MonoBehaviour:
508 | m_ObjectHideFlags: 0
509 | m_PrefabParentObject: {fileID: 0}
510 | m_PrefabInternal: {fileID: 0}
511 | m_GameObject: {fileID: 973572931}
512 | m_Enabled: 1
513 | m_EditorHideFlags: 0
514 | m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3}
515 | m_Name:
516 | m_EditorClassIdentifier:
517 | m_Material: {fileID: 0}
518 | m_Color: {r: 1, g: 1, b: 1, a: 1}
519 | m_RaycastTarget: 1
520 | m_OnCullStateChanged:
521 | m_PersistentCalls:
522 | m_Calls: []
523 | m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
524 | Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
525 | m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0}
526 | m_Type: 1
527 | m_PreserveAspect: 0
528 | m_FillCenter: 1
529 | m_FillMethod: 4
530 | m_FillAmount: 1
531 | m_FillClockwise: 1
532 | m_FillOrigin: 0
533 | --- !u!222 &973572935
534 | CanvasRenderer:
535 | m_ObjectHideFlags: 0
536 | m_PrefabParentObject: {fileID: 0}
537 | m_PrefabInternal: {fileID: 0}
538 | m_GameObject: {fileID: 973572931}
539 | --- !u!1 &1035553835
540 | GameObject:
541 | m_ObjectHideFlags: 0
542 | m_PrefabParentObject: {fileID: 0}
543 | m_PrefabInternal: {fileID: 0}
544 | serializedVersion: 5
545 | m_Component:
546 | - component: {fileID: 1035553836}
547 | - component: {fileID: 1035553838}
548 | - component: {fileID: 1035553837}
549 | m_Layer: 5
550 | m_Name: Background
551 | m_TagString: Untagged
552 | m_Icon: {fileID: 0}
553 | m_NavMeshLayer: 0
554 | m_StaticEditorFlags: 0
555 | m_IsActive: 1
556 | --- !u!224 &1035553836
557 | RectTransform:
558 | m_ObjectHideFlags: 0
559 | m_PrefabParentObject: {fileID: 0}
560 | m_PrefabInternal: {fileID: 0}
561 | m_GameObject: {fileID: 1035553835}
562 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
563 | m_LocalPosition: {x: 0, y: 0, z: 0}
564 | m_LocalScale: {x: 1, y: 1, z: 1}
565 | m_Children: []
566 | m_Father: {fileID: 1711967710}
567 | m_RootOrder: 0
568 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
569 | m_AnchorMin: {x: 0, y: 0}
570 | m_AnchorMax: {x: 1, y: 1}
571 | m_AnchoredPosition: {x: 0, y: 0}
572 | m_SizeDelta: {x: 0, y: 0}
573 | m_Pivot: {x: 0.5, y: 0.5}
574 | --- !u!114 &1035553837
575 | MonoBehaviour:
576 | m_ObjectHideFlags: 0
577 | m_PrefabParentObject: {fileID: 0}
578 | m_PrefabInternal: {fileID: 0}
579 | m_GameObject: {fileID: 1035553835}
580 | m_Enabled: 1
581 | m_EditorHideFlags: 0
582 | m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3}
583 | m_Name:
584 | m_EditorClassIdentifier:
585 | m_Material: {fileID: 0}
586 | m_Color: {r: 0, g: 0, b: 0, a: 1}
587 | m_RaycastTarget: 1
588 | m_OnCullStateChanged:
589 | m_PersistentCalls:
590 | m_Calls: []
591 | m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
592 | Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
593 | m_Sprite: {fileID: 0}
594 | m_Type: 0
595 | m_PreserveAspect: 0
596 | m_FillCenter: 1
597 | m_FillMethod: 4
598 | m_FillAmount: 1
599 | m_FillClockwise: 1
600 | m_FillOrigin: 0
601 | --- !u!222 &1035553838
602 | CanvasRenderer:
603 | m_ObjectHideFlags: 0
604 | m_PrefabParentObject: {fileID: 0}
605 | m_PrefabInternal: {fileID: 0}
606 | m_GameObject: {fileID: 1035553835}
607 | --- !u!1 &1232613978
608 | GameObject:
609 | m_ObjectHideFlags: 0
610 | m_PrefabParentObject: {fileID: 0}
611 | m_PrefabInternal: {fileID: 0}
612 | serializedVersion: 5
613 | m_Component:
614 | - component: {fileID: 1232613979}
615 | - component: {fileID: 1232613982}
616 | - component: {fileID: 1232613981}
617 | - component: {fileID: 1232613980}
618 | m_Layer: 5
619 | m_Name: Request
620 | m_TagString: Untagged
621 | m_Icon: {fileID: 0}
622 | m_NavMeshLayer: 0
623 | m_StaticEditorFlags: 0
624 | m_IsActive: 1
625 | --- !u!224 &1232613979
626 | RectTransform:
627 | m_ObjectHideFlags: 0
628 | m_PrefabParentObject: {fileID: 0}
629 | m_PrefabInternal: {fileID: 0}
630 | m_GameObject: {fileID: 1232613978}
631 | m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
632 | m_LocalPosition: {x: 0, y: 0, z: 0}
633 | m_LocalScale: {x: 1, y: 1, z: 1}
634 | m_Children:
635 | - {fileID: 1336145279}
636 | m_Father: {fileID: 1870742910}
637 | m_RootOrder: 0
638 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
639 | m_AnchorMin: {x: 0.5, y: 1}
640 | m_AnchorMax: {x: 0.5, y: 1}
641 | m_AnchoredPosition: {x: 0, y: -400}
642 | m_SizeDelta: {x: 700, y: 200}
643 | m_Pivot: {x: 0.5, y: 0.5}
644 | --- !u!114 &1232613980
645 | MonoBehaviour:
646 | m_ObjectHideFlags: 0
647 | m_PrefabParentObject: {fileID: 0}
648 | m_PrefabInternal: {fileID: 0}
649 | m_GameObject: {fileID: 1232613978}
650 | m_Enabled: 1
651 | m_EditorHideFlags: 0
652 | m_Script: {fileID: 1392445389, guid: f70555f144d8491a825f0804e09c671c, type: 3}
653 | m_Name:
654 | m_EditorClassIdentifier:
655 | m_Navigation:
656 | m_Mode: 3
657 | m_SelectOnUp: {fileID: 0}
658 | m_SelectOnDown: {fileID: 0}
659 | m_SelectOnLeft: {fileID: 0}
660 | m_SelectOnRight: {fileID: 0}
661 | m_Transition: 1
662 | m_Colors:
663 | m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
664 | m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
665 | m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
666 | m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
667 | m_ColorMultiplier: 1
668 | m_FadeDuration: 0.1
669 | m_SpriteState:
670 | m_HighlightedSprite: {fileID: 0}
671 | m_PressedSprite: {fileID: 0}
672 | m_DisabledSprite: {fileID: 0}
673 | m_AnimationTriggers:
674 | m_NormalTrigger: Normal
675 | m_HighlightedTrigger: Highlighted
676 | m_PressedTrigger: Pressed
677 | m_DisabledTrigger: Disabled
678 | m_Interactable: 1
679 | m_TargetGraphic: {fileID: 1232613981}
680 | m_OnClick:
681 | m_PersistentCalls:
682 | m_Calls:
683 | - m_Target: {fileID: 0}
684 | m_MethodName: ButtonEventWriteCookie
685 | m_Mode: 1
686 | m_Arguments:
687 | m_ObjectArgument: {fileID: 0}
688 | m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
689 | m_IntArgument: 0
690 | m_FloatArgument: 0
691 | m_StringArgument:
692 | m_BoolArgument: 0
693 | m_CallState: 2
694 | m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0,
695 | Culture=neutral, PublicKeyToken=null
696 | --- !u!114 &1232613981
697 | MonoBehaviour:
698 | m_ObjectHideFlags: 0
699 | m_PrefabParentObject: {fileID: 0}
700 | m_PrefabInternal: {fileID: 0}
701 | m_GameObject: {fileID: 1232613978}
702 | m_Enabled: 1
703 | m_EditorHideFlags: 0
704 | m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3}
705 | m_Name:
706 | m_EditorClassIdentifier:
707 | m_Material: {fileID: 0}
708 | m_Color: {r: 1, g: 1, b: 1, a: 1}
709 | m_RaycastTarget: 1
710 | m_OnCullStateChanged:
711 | m_PersistentCalls:
712 | m_Calls: []
713 | m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
714 | Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
715 | m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0}
716 | m_Type: 1
717 | m_PreserveAspect: 0
718 | m_FillCenter: 1
719 | m_FillMethod: 4
720 | m_FillAmount: 1
721 | m_FillClockwise: 1
722 | m_FillOrigin: 0
723 | --- !u!222 &1232613982
724 | CanvasRenderer:
725 | m_ObjectHideFlags: 0
726 | m_PrefabParentObject: {fileID: 0}
727 | m_PrefabInternal: {fileID: 0}
728 | m_GameObject: {fileID: 1232613978}
729 | --- !u!1 &1336145278
730 | GameObject:
731 | m_ObjectHideFlags: 0
732 | m_PrefabParentObject: {fileID: 0}
733 | m_PrefabInternal: {fileID: 0}
734 | serializedVersion: 5
735 | m_Component:
736 | - component: {fileID: 1336145279}
737 | - component: {fileID: 1336145281}
738 | - component: {fileID: 1336145280}
739 | m_Layer: 5
740 | m_Name: Text
741 | m_TagString: Untagged
742 | m_Icon: {fileID: 0}
743 | m_NavMeshLayer: 0
744 | m_StaticEditorFlags: 0
745 | m_IsActive: 1
746 | --- !u!224 &1336145279
747 | RectTransform:
748 | m_ObjectHideFlags: 0
749 | m_PrefabParentObject: {fileID: 0}
750 | m_PrefabInternal: {fileID: 0}
751 | m_GameObject: {fileID: 1336145278}
752 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
753 | m_LocalPosition: {x: 0, y: 0, z: 0}
754 | m_LocalScale: {x: 1, y: 1, z: 1}
755 | m_Children: []
756 | m_Father: {fileID: 1232613979}
757 | m_RootOrder: 0
758 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
759 | m_AnchorMin: {x: 0, y: 0}
760 | m_AnchorMax: {x: 1, y: 1}
761 | m_AnchoredPosition: {x: 0, y: 0}
762 | m_SizeDelta: {x: -124, y: -40}
763 | m_Pivot: {x: 0.5, y: 0.5}
764 | --- !u!114 &1336145280
765 | MonoBehaviour:
766 | m_ObjectHideFlags: 0
767 | m_PrefabParentObject: {fileID: 0}
768 | m_PrefabInternal: {fileID: 0}
769 | m_GameObject: {fileID: 1336145278}
770 | m_Enabled: 1
771 | m_EditorHideFlags: 0
772 | m_Script: {fileID: 708705254, guid: f70555f144d8491a825f0804e09c671c, type: 3}
773 | m_Name:
774 | m_EditorClassIdentifier:
775 | m_Material: {fileID: 0}
776 | m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
777 | m_RaycastTarget: 1
778 | m_OnCullStateChanged:
779 | m_PersistentCalls:
780 | m_Calls: []
781 | m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
782 | Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
783 | m_FontData:
784 | m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
785 | m_FontSize: 50
786 | m_FontStyle: 0
787 | m_BestFit: 0
788 | m_MinSize: 1
789 | m_MaxSize: 283
790 | m_Alignment: 4
791 | m_AlignByGeometry: 0
792 | m_RichText: 1
793 | m_HorizontalOverflow: 0
794 | m_VerticalOverflow: 0
795 | m_LineSpacing: 1
796 | m_Text: Request Flow
797 | --- !u!222 &1336145281
798 | CanvasRenderer:
799 | m_ObjectHideFlags: 0
800 | m_PrefabParentObject: {fileID: 0}
801 | m_PrefabInternal: {fileID: 0}
802 | m_GameObject: {fileID: 1336145278}
803 | --- !u!1 &1613765330
804 | GameObject:
805 | m_ObjectHideFlags: 0
806 | m_PrefabParentObject: {fileID: 0}
807 | m_PrefabInternal: {fileID: 0}
808 | serializedVersion: 5
809 | m_Component:
810 | - component: {fileID: 1613765333}
811 | - component: {fileID: 1613765332}
812 | - component: {fileID: 1613765331}
813 | m_Layer: 0
814 | m_Name: EventSystem
815 | m_TagString: Untagged
816 | m_Icon: {fileID: 0}
817 | m_NavMeshLayer: 0
818 | m_StaticEditorFlags: 0
819 | m_IsActive: 1
820 | --- !u!114 &1613765331
821 | MonoBehaviour:
822 | m_ObjectHideFlags: 0
823 | m_PrefabParentObject: {fileID: 0}
824 | m_PrefabInternal: {fileID: 0}
825 | m_GameObject: {fileID: 1613765330}
826 | m_Enabled: 1
827 | m_EditorHideFlags: 0
828 | m_Script: {fileID: 1077351063, guid: f70555f144d8491a825f0804e09c671c, type: 3}
829 | m_Name:
830 | m_EditorClassIdentifier:
831 | m_HorizontalAxis: Horizontal
832 | m_VerticalAxis: Vertical
833 | m_SubmitButton: Submit
834 | m_CancelButton: Cancel
835 | m_InputActionsPerSecond: 10
836 | m_RepeatDelay: 0.5
837 | m_ForceModuleActive: 0
838 | --- !u!114 &1613765332
839 | MonoBehaviour:
840 | m_ObjectHideFlags: 0
841 | m_PrefabParentObject: {fileID: 0}
842 | m_PrefabInternal: {fileID: 0}
843 | m_GameObject: {fileID: 1613765330}
844 | m_Enabled: 1
845 | m_EditorHideFlags: 0
846 | m_Script: {fileID: -619905303, guid: f70555f144d8491a825f0804e09c671c, type: 3}
847 | m_Name:
848 | m_EditorClassIdentifier:
849 | m_FirstSelected: {fileID: 0}
850 | m_sendNavigationEvents: 1
851 | m_DragThreshold: 10
852 | --- !u!4 &1613765333
853 | Transform:
854 | m_ObjectHideFlags: 0
855 | m_PrefabParentObject: {fileID: 0}
856 | m_PrefabInternal: {fileID: 0}
857 | m_GameObject: {fileID: 1613765330}
858 | m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
859 | m_LocalPosition: {x: 0, y: 0, z: 0}
860 | m_LocalScale: {x: 1, y: 1, z: 1}
861 | m_Children: []
862 | m_Father: {fileID: 1647103413}
863 | m_RootOrder: 2
864 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
865 | --- !u!1 &1634394737
866 | GameObject:
867 | m_ObjectHideFlags: 0
868 | m_PrefabParentObject: {fileID: 0}
869 | m_PrefabInternal: {fileID: 0}
870 | serializedVersion: 5
871 | m_Component:
872 | - component: {fileID: 1634394739}
873 | - component: {fileID: 1634394738}
874 | m_Layer: 0
875 | m_Name: UICamera
876 | m_TagString: Untagged
877 | m_Icon: {fileID: 0}
878 | m_NavMeshLayer: 0
879 | m_StaticEditorFlags: 0
880 | m_IsActive: 1
881 | --- !u!20 &1634394738
882 | Camera:
883 | m_ObjectHideFlags: 0
884 | m_PrefabParentObject: {fileID: 0}
885 | m_PrefabInternal: {fileID: 0}
886 | m_GameObject: {fileID: 1634394737}
887 | m_Enabled: 1
888 | serializedVersion: 2
889 | m_ClearFlags: 2
890 | m_BackGroundColor: {r: 0, g: 0, b: 0, a: 0}
891 | m_NormalizedViewPortRect:
892 | serializedVersion: 2
893 | x: 0
894 | y: 0
895 | width: 1
896 | height: 1
897 | near clip plane: 0.3
898 | far clip plane: 1000
899 | field of view: 60
900 | orthographic: 0
901 | orthographic size: 5
902 | m_Depth: 0
903 | m_CullingMask:
904 | serializedVersion: 2
905 | m_Bits: 4294967295
906 | m_RenderingPath: -1
907 | m_TargetTexture: {fileID: 0}
908 | m_TargetDisplay: 0
909 | m_TargetEye: 3
910 | m_HDR: 1
911 | m_AllowMSAA: 1
912 | m_ForceIntoRT: 0
913 | m_OcclusionCulling: 1
914 | m_StereoConvergence: 10
915 | m_StereoSeparation: 0.022
916 | m_StereoMirrorMode: 0
917 | --- !u!4 &1634394739
918 | Transform:
919 | m_ObjectHideFlags: 0
920 | m_PrefabParentObject: {fileID: 0}
921 | m_PrefabInternal: {fileID: 0}
922 | m_GameObject: {fileID: 1634394737}
923 | m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
924 | m_LocalPosition: {x: 0, y: 0, z: 0}
925 | m_LocalScale: {x: 1, y: 1, z: 1}
926 | m_Children: []
927 | m_Father: {fileID: 1647103413}
928 | m_RootOrder: 0
929 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
930 | --- !u!1 &1647103411
931 | GameObject:
932 | m_ObjectHideFlags: 0
933 | m_PrefabParentObject: {fileID: 0}
934 | m_PrefabInternal: {fileID: 0}
935 | serializedVersion: 5
936 | m_Component:
937 | - component: {fileID: 1647103413}
938 | - component: {fileID: 1647103412}
939 | m_Layer: 0
940 | m_Name: TestApp
941 | m_TagString: Untagged
942 | m_Icon: {fileID: 0}
943 | m_NavMeshLayer: 0
944 | m_StaticEditorFlags: 0
945 | m_IsActive: 1
946 | --- !u!114 &1647103412
947 | MonoBehaviour:
948 | m_ObjectHideFlags: 0
949 | m_PrefabParentObject: {fileID: 0}
950 | m_PrefabInternal: {fileID: 0}
951 | m_GameObject: {fileID: 1647103411}
952 | m_Enabled: 1
953 | m_EditorHideFlags: 0
954 | m_Script: {fileID: 11500000, guid: 9675b28c5a72144148a7c86cdd40cba0, type: 3}
955 | m_Name:
956 | m_EditorClassIdentifier:
957 | statusText: {fileID: 1939454001}
958 | requestFlowButton: {fileID: 1232613980}
959 | launchFlowButton: {fileID: 827816959}
960 | allInOneButton: {fileID: 973572933}
961 | --- !u!4 &1647103413
962 | Transform:
963 | m_ObjectHideFlags: 0
964 | m_PrefabParentObject: {fileID: 0}
965 | m_PrefabInternal: {fileID: 0}
966 | m_GameObject: {fileID: 1647103411}
967 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
968 | m_LocalPosition: {x: 0, y: 0, z: 0}
969 | m_LocalScale: {x: 1, y: 1, z: 1}
970 | m_Children:
971 | - {fileID: 1634394739}
972 | - {fileID: 1711967710}
973 | - {fileID: 1613765333}
974 | m_Father: {fileID: 0}
975 | m_RootOrder: 0
976 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
977 | --- !u!1 &1694712803
978 | GameObject:
979 | m_ObjectHideFlags: 0
980 | m_PrefabParentObject: {fileID: 0}
981 | m_PrefabInternal: {fileID: 0}
982 | serializedVersion: 5
983 | m_Component:
984 | - component: {fileID: 1694712804}
985 | - component: {fileID: 1694712806}
986 | - component: {fileID: 1694712805}
987 | m_Layer: 5
988 | m_Name: Text
989 | m_TagString: Untagged
990 | m_Icon: {fileID: 0}
991 | m_NavMeshLayer: 0
992 | m_StaticEditorFlags: 0
993 | m_IsActive: 1
994 | --- !u!224 &1694712804
995 | RectTransform:
996 | m_ObjectHideFlags: 0
997 | m_PrefabParentObject: {fileID: 0}
998 | m_PrefabInternal: {fileID: 0}
999 | m_GameObject: {fileID: 1694712803}
1000 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
1001 | m_LocalPosition: {x: 0, y: 0, z: 0}
1002 | m_LocalScale: {x: 1, y: 1, z: 1}
1003 | m_Children: []
1004 | m_Father: {fileID: 895177273}
1005 | m_RootOrder: 0
1006 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
1007 | m_AnchorMin: {x: 0, y: 0}
1008 | m_AnchorMax: {x: 1, y: 1}
1009 | m_AnchoredPosition: {x: 0, y: -31}
1010 | m_SizeDelta: {x: -124, y: -62}
1011 | m_Pivot: {x: 0.5, y: 0.5}
1012 | --- !u!114 &1694712805
1013 | MonoBehaviour:
1014 | m_ObjectHideFlags: 0
1015 | m_PrefabParentObject: {fileID: 0}
1016 | m_PrefabInternal: {fileID: 0}
1017 | m_GameObject: {fileID: 1694712803}
1018 | m_Enabled: 1
1019 | m_EditorHideFlags: 0
1020 | m_Script: {fileID: 708705254, guid: f70555f144d8491a825f0804e09c671c, type: 3}
1021 | m_Name:
1022 | m_EditorClassIdentifier:
1023 | m_Material: {fileID: 0}
1024 | m_Color: {r: 1, g: 1, b: 1, a: 1}
1025 | m_RaycastTarget: 1
1026 | m_OnCullStateChanged:
1027 | m_PersistentCalls:
1028 | m_Calls: []
1029 | m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
1030 | Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
1031 | m_FontData:
1032 | m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
1033 | m_FontSize: 140
1034 | m_FontStyle: 0
1035 | m_BestFit: 0
1036 | m_MinSize: 0
1037 | m_MaxSize: 300
1038 | m_Alignment: 4
1039 | m_AlignByGeometry: 0
1040 | m_RichText: 1
1041 | m_HorizontalOverflow: 0
1042 | m_VerticalOverflow: 0
1043 | m_LineSpacing: 1
1044 | m_Text: IAR Demo
1045 | --- !u!222 &1694712806
1046 | CanvasRenderer:
1047 | m_ObjectHideFlags: 0
1048 | m_PrefabParentObject: {fileID: 0}
1049 | m_PrefabInternal: {fileID: 0}
1050 | m_GameObject: {fileID: 1694712803}
1051 | --- !u!1 &1711967706
1052 | GameObject:
1053 | m_ObjectHideFlags: 0
1054 | m_PrefabParentObject: {fileID: 0}
1055 | m_PrefabInternal: {fileID: 0}
1056 | serializedVersion: 5
1057 | m_Component:
1058 | - component: {fileID: 1711967710}
1059 | - component: {fileID: 1711967709}
1060 | - component: {fileID: 1711967708}
1061 | - component: {fileID: 1711967707}
1062 | m_Layer: 5
1063 | m_Name: Canvas
1064 | m_TagString: Untagged
1065 | m_Icon: {fileID: 0}
1066 | m_NavMeshLayer: 0
1067 | m_StaticEditorFlags: 0
1068 | m_IsActive: 1
1069 | --- !u!114 &1711967707
1070 | MonoBehaviour:
1071 | m_ObjectHideFlags: 0
1072 | m_PrefabParentObject: {fileID: 0}
1073 | m_PrefabInternal: {fileID: 0}
1074 | m_GameObject: {fileID: 1711967706}
1075 | m_Enabled: 1
1076 | m_EditorHideFlags: 0
1077 | m_Script: {fileID: 1301386320, guid: f70555f144d8491a825f0804e09c671c, type: 3}
1078 | m_Name:
1079 | m_EditorClassIdentifier:
1080 | m_IgnoreReversedGraphics: 1
1081 | m_BlockingObjects: 0
1082 | m_BlockingMask:
1083 | serializedVersion: 2
1084 | m_Bits: 4294967295
1085 | --- !u!114 &1711967708
1086 | MonoBehaviour:
1087 | m_ObjectHideFlags: 0
1088 | m_PrefabParentObject: {fileID: 0}
1089 | m_PrefabInternal: {fileID: 0}
1090 | m_GameObject: {fileID: 1711967706}
1091 | m_Enabled: 1
1092 | m_EditorHideFlags: 0
1093 | m_Script: {fileID: 1980459831, guid: f70555f144d8491a825f0804e09c671c, type: 3}
1094 | m_Name:
1095 | m_EditorClassIdentifier:
1096 | m_UiScaleMode: 1
1097 | m_ReferencePixelsPerUnit: 100
1098 | m_ScaleFactor: 1
1099 | m_ReferenceResolution: {x: 1440, y: 2560}
1100 | m_ScreenMatchMode: 0
1101 | m_MatchWidthOrHeight: 0
1102 | m_PhysicalUnit: 3
1103 | m_FallbackScreenDPI: 96
1104 | m_DefaultSpriteDPI: 96
1105 | m_DynamicPixelsPerUnit: 1
1106 | --- !u!223 &1711967709
1107 | Canvas:
1108 | m_ObjectHideFlags: 0
1109 | m_PrefabParentObject: {fileID: 0}
1110 | m_PrefabInternal: {fileID: 0}
1111 | m_GameObject: {fileID: 1711967706}
1112 | m_Enabled: 1
1113 | serializedVersion: 3
1114 | m_RenderMode: 0
1115 | m_Camera: {fileID: 1634394738}
1116 | m_PlaneDistance: 100
1117 | m_PixelPerfect: 0
1118 | m_ReceivesEvents: 1
1119 | m_OverrideSorting: 0
1120 | m_OverridePixelPerfect: 0
1121 | m_SortingBucketNormalizedSize: 0
1122 | m_AdditionalShaderChannelsFlag: 0
1123 | m_SortingLayerID: 0
1124 | m_SortingOrder: 0
1125 | m_TargetDisplay: 0
1126 | --- !u!224 &1711967710
1127 | RectTransform:
1128 | m_ObjectHideFlags: 0
1129 | m_PrefabParentObject: {fileID: 0}
1130 | m_PrefabInternal: {fileID: 0}
1131 | m_GameObject: {fileID: 1711967706}
1132 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
1133 | m_LocalPosition: {x: 0, y: 0, z: 0}
1134 | m_LocalScale: {x: 0, y: 0, z: 0}
1135 | m_Children:
1136 | - {fileID: 1035553836}
1137 | - {fileID: 895177273}
1138 | - {fileID: 1870742910}
1139 | - {fileID: 1939454000}
1140 | m_Father: {fileID: 1647103413}
1141 | m_RootOrder: 1
1142 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
1143 | m_AnchorMin: {x: 0, y: 0}
1144 | m_AnchorMax: {x: 0, y: 0}
1145 | m_AnchoredPosition: {x: 0, y: 0}
1146 | m_SizeDelta: {x: 0, y: 0}
1147 | m_Pivot: {x: 0, y: 0}
1148 | --- !u!1 &1870742909
1149 | GameObject:
1150 | m_ObjectHideFlags: 0
1151 | m_PrefabParentObject: {fileID: 0}
1152 | m_PrefabInternal: {fileID: 0}
1153 | serializedVersion: 5
1154 | m_Component:
1155 | - component: {fileID: 1870742910}
1156 | m_Layer: 5
1157 | m_Name: Buttons
1158 | m_TagString: Untagged
1159 | m_Icon: {fileID: 0}
1160 | m_NavMeshLayer: 0
1161 | m_StaticEditorFlags: 0
1162 | m_IsActive: 1
1163 | --- !u!224 &1870742910
1164 | RectTransform:
1165 | m_ObjectHideFlags: 0
1166 | m_PrefabParentObject: {fileID: 0}
1167 | m_PrefabInternal: {fileID: 0}
1168 | m_GameObject: {fileID: 1870742909}
1169 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
1170 | m_LocalPosition: {x: 0, y: 0, z: 0}
1171 | m_LocalScale: {x: 1, y: 1, z: 1}
1172 | m_Children:
1173 | - {fileID: 1232613979}
1174 | - {fileID: 827816958}
1175 | - {fileID: 973572932}
1176 | m_Father: {fileID: 1711967710}
1177 | m_RootOrder: 2
1178 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
1179 | m_AnchorMin: {x: 0, y: 0}
1180 | m_AnchorMax: {x: 1, y: 1}
1181 | m_AnchoredPosition: {x: 0, y: -200}
1182 | m_SizeDelta: {x: 0, y: -400}
1183 | m_Pivot: {x: 0.5, y: 0.5}
1184 | --- !u!1 &1939453999
1185 | GameObject:
1186 | m_ObjectHideFlags: 0
1187 | m_PrefabParentObject: {fileID: 0}
1188 | m_PrefabInternal: {fileID: 0}
1189 | serializedVersion: 5
1190 | m_Component:
1191 | - component: {fileID: 1939454000}
1192 | - component: {fileID: 1939454002}
1193 | - component: {fileID: 1939454001}
1194 | m_Layer: 5
1195 | m_Name: Status
1196 | m_TagString: Untagged
1197 | m_Icon: {fileID: 0}
1198 | m_NavMeshLayer: 0
1199 | m_StaticEditorFlags: 0
1200 | m_IsActive: 1
1201 | --- !u!224 &1939454000
1202 | RectTransform:
1203 | m_ObjectHideFlags: 0
1204 | m_PrefabParentObject: {fileID: 0}
1205 | m_PrefabInternal: {fileID: 0}
1206 | m_GameObject: {fileID: 1939453999}
1207 | m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
1208 | m_LocalPosition: {x: 0, y: 0, z: 0}
1209 | m_LocalScale: {x: 1, y: 1, z: 1}
1210 | m_Children: []
1211 | m_Father: {fileID: 1711967710}
1212 | m_RootOrder: 3
1213 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
1214 | m_AnchorMin: {x: 0.5, y: 0.5}
1215 | m_AnchorMax: {x: 0.5, y: 0.5}
1216 | m_AnchoredPosition: {x: 0, y: -400}
1217 | m_SizeDelta: {x: 700, y: 250}
1218 | m_Pivot: {x: 0.5, y: 0.5}
1219 | --- !u!114 &1939454001
1220 | MonoBehaviour:
1221 | m_ObjectHideFlags: 0
1222 | m_PrefabParentObject: {fileID: 0}
1223 | m_PrefabInternal: {fileID: 0}
1224 | m_GameObject: {fileID: 1939453999}
1225 | m_Enabled: 1
1226 | m_EditorHideFlags: 0
1227 | m_Script: {fileID: 708705254, guid: f70555f144d8491a825f0804e09c671c, type: 3}
1228 | m_Name:
1229 | m_EditorClassIdentifier:
1230 | m_Material: {fileID: 0}
1231 | m_Color: {r: 1, g: 1, b: 1, a: 1}
1232 | m_RaycastTarget: 1
1233 | m_OnCullStateChanged:
1234 | m_PersistentCalls:
1235 | m_Calls: []
1236 | m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
1237 | Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
1238 | m_FontData:
1239 | m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
1240 | m_FontSize: 50
1241 | m_FontStyle: 0
1242 | m_BestFit: 0
1243 | m_MinSize: 0
1244 | m_MaxSize: 274
1245 | m_Alignment: 6
1246 | m_AlignByGeometry: 0
1247 | m_RichText: 1
1248 | m_HorizontalOverflow: 0
1249 | m_VerticalOverflow: 0
1250 | m_LineSpacing: 1
1251 | m_Text:
1252 | --- !u!222 &1939454002
1253 | CanvasRenderer:
1254 | m_ObjectHideFlags: 0
1255 | m_PrefabParentObject: {fileID: 0}
1256 | m_PrefabInternal: {fileID: 0}
1257 | m_GameObject: {fileID: 1939453999}
1258 |
--------------------------------------------------------------------------------