From aca2b54e99484283a3d6c6f80ef0f18b6b7a39a4 Mon Sep 17 00:00:00 2001 From: Venkat Date: Mon, 3 Nov 2025 00:46:04 +0530 Subject: [PATCH 1/9] Init Commit --- .../trivialkart-recall-server/.gitignore | 5 + .../package-lock.json | 1282 + .../trivialkart-recall-server/package.json | 10 + .../trivialkart-recall-server/server.js | 200 + .../Assets/Editor/EditorMenuBuildOptions.cs | 99 +- .../Assets/ExternalDependencyManager.meta | 8 + .../ExternalDependencyManager/Editor.meta | 8 + .../Editor/1.2.182.meta | 8 + .../Editor/1.2.182/Google.IOSResolver.dll | Bin 0 -> 74240 bytes .../1.2.182/Google.IOSResolver.dll.meta | 32 + .../Editor/1.2.182/Google.JarResolver.dll | Bin 0 -> 364032 bytes .../1.2.182/Google.JarResolver.dll.meta | 32 + .../1.2.182/Google.PackageManagerResolver.dll | Bin 0 -> 74240 bytes .../Google.PackageManagerResolver.dll.meta | 32 + .../1.2.182/Google.VersionHandlerImpl.dll | Bin 0 -> 119296 bytes .../Google.VersionHandlerImpl.dll.meta | 32 + .../Editor/CHANGELOG.md | 1411 + .../Editor/CHANGELOG.md.meta | 11 + .../Editor/Google.VersionHandler.dll | Bin 0 -> 15360 bytes .../Editor/Google.VersionHandler.dll.meta | 32 + .../ExternalDependencyManager/Editor/LICENSE | 245 + .../Editor/LICENSE.meta | 11 + .../Editor/README.md | 897 + .../Editor/README.md.meta | 11 + ...dency-manager_version-1.2.182_manifest.txt | 13 + ...-manager_version-1.2.182_manifest.txt.meta | 14 + .../trivialkart-unity/Assets/GPGSIds.cs | 33 + .../trivialkart-unity/Assets/GPGSIds.cs.meta | 2 + .../Assets/GeneratedLocalRepo.meta | 8 + .../GeneratedLocalRepo/GooglePlayGames.meta | 8 + .../com.google.play.games.meta | 8 + .../com.google.play.games/Editor.meta | 8 + .../Editor/m2repository.meta | 8 + .../Editor/m2repository/com.meta | 8 + .../Editor/m2repository/com/google.meta | 8 + .../Editor/m2repository/com/google/games.meta | 8 + .../com/google/games/gpgs-plugin-support.meta | 8 + .../games/gpgs-plugin-support/2.1.0.meta | 8 + .../2.1.0/gpgs-plugin-support-2.1.0.aar | Bin 0 -> 31938 bytes .../2.1.0/gpgs-plugin-support-2.1.0.aar.meta | 25 + .../2.1.0/gpgs-plugin-support-2.1.0.pom | 20 + .../2.1.0/gpgs-plugin-support-2.1.0.pom.meta | 9 + .../Assets/GooglePlayGames.meta | 8 + .../com.google.play.games.meta | 8 + .../com.google.play.games/Editor.meta | 9 + .../Editor/GPGSAndroidSetupUI.cs | 460 + .../Editor/GPGSAndroidSetupUI.cs.meta | 14 + .../Editor/GPGSDocsUI.cs | 53 + .../Editor/GPGSDocsUI.cs.meta | 14 + .../Editor/GPGSPostBuild.cs | 42 + .../Editor/GPGSPostBuild.cs.meta | 14 + .../Editor/GPGSProjectSettings.cs | 197 + .../Editor/GPGSProjectSettings.cs.meta | 14 + .../Editor/GPGSStrings.cs | 174 + .../Editor/GPGSStrings.cs.meta | 14 + .../Editor/GPGSUpgrader.cs | 61 + .../Editor/GPGSUpgrader.cs.meta | 14 + .../com.google.play.games/Editor/GPGSUtil.cs | 798 + .../Editor/GPGSUtil.cs.meta | 14 + .../Editor/Google.Play.Games.Editor.asmdef | 9 + .../Google.Play.Games.Editor.asmdef.meta | 10 + .../GooglePlayGamesPluginDependencies.xml | 13 + ...GooglePlayGamesPluginDependencies.xml.meta | 9 + .../Editor/GooglePlayGamesPlugin_v2.1.0.txt | 100 + .../GooglePlayGamesPlugin_v2.1.0.txt.meta | 11 + .../Editor/NearbyConnectionUI.cs | 153 + .../Editor/NearbyConnectionUI.cs.meta | 14 + .../Editor/m2repository.meta | 10 + .../Editor/m2repository/com.meta | 8 + .../Editor/m2repository/com/google.meta | 8 + .../Editor/m2repository/com/google/games.meta | 8 + .../com/google/games/gpgs-plugin-support.meta | 8 + .../games/gpgs-plugin-support/2.1.0.meta | 8 + .../2.1.0/gpgs-plugin-support-2.1.0.pom | 20 + .../2.1.0/gpgs-plugin-support-2.1.0.pom.md5 | 1 + .../gpgs-plugin-support-2.1.0.pom.md5.meta | 9 + .../2.1.0/gpgs-plugin-support-2.1.0.pom.meta | 9 + .../2.1.0/gpgs-plugin-support-2.1.0.pom.sha1 | 1 + .../gpgs-plugin-support-2.1.0.pom.sha1.meta | 9 + .../gpgs-plugin-support-2.1.0.pom.sha256 | 1 + .../gpgs-plugin-support-2.1.0.pom.sha256.meta | 9 + .../gpgs-plugin-support-2.1.0.pom.sha512 | 1 + .../gpgs-plugin-support-2.1.0.pom.sha512.meta | 9 + .../2.1.0/gpgs-plugin-support-2.1.0.srcaar | Bin 0 -> 31938 bytes .../gpgs-plugin-support-2.1.0.srcaar.md5 | 1 + .../gpgs-plugin-support-2.1.0.srcaar.md5.meta | 9 + .../gpgs-plugin-support-2.1.0.srcaar.meta | 9 + .../gpgs-plugin-support-2.1.0.srcaar.sha1 | 1 + ...gpgs-plugin-support-2.1.0.srcaar.sha1.meta | 9 + .../gpgs-plugin-support-2.1.0.srcaar.sha256 | 1 + ...gs-plugin-support-2.1.0.srcaar.sha256.meta | 9 + .../gpgs-plugin-support-2.1.0.srcaar.sha512 | 1 + ...gs-plugin-support-2.1.0.srcaar.sha512.meta | 9 + .../gpgs-plugin-support/maven-metadata.xml | 13 + .../maven-metadata.xml.md5 | 1 + .../maven-metadata.xml.md5.meta | 9 + .../maven-metadata.xml.meta | 9 + .../maven-metadata.xml.sha1 | 1 + .../maven-metadata.xml.sha1.meta | 9 + .../maven-metadata.xml.sha256 | 1 + .../maven-metadata.xml.sha256.meta | 9 + .../maven-metadata.xml.sha512 | 1 + .../maven-metadata.xml.sha512.meta | 9 + .../Editor/template-AndroidManifest.txt | 27 + .../Editor/template-AndroidManifest.txt.meta | 10 + .../Editor/template-Constants.txt | 29 + .../Editor/template-Constants.txt.meta | 10 + .../Editor/template-GameInfo.txt | 71 + .../Editor/template-GameInfo.txt.meta | 10 + .../com.google.play.games/Proguard.meta | 8 + .../com.google.play.games/Runtime.meta | 8 + .../Runtime/Google.Play.Games.asmdef | 7 + .../Runtime/Google.Play.Games.asmdef.meta | 10 + .../Runtime/Scripts.meta | 8 + .../Runtime/Scripts/BasicApi.meta | 5 + .../Runtime/Scripts/BasicApi/Achievement.cs | 201 + .../Scripts/BasicApi/Achievement.cs.meta | 14 + .../Runtime/Scripts/BasicApi/AuthResponse.cs | 104 + .../Scripts/BasicApi/AuthResponse.cs.meta | 13 + .../Runtime/Scripts/BasicApi/AuthScope.cs | 102 + .../Scripts/BasicApi/AuthScope.cs.meta | 13 + .../Scripts/BasicApi/CommonStatusCodes.cs | 100 + .../BasicApi/CommonStatusCodes.cs.meta | 14 + .../Runtime/Scripts/BasicApi/CommonTypes.cs | 214 + .../Scripts/BasicApi/CommonTypes.cs.meta | 14 + .../Runtime/Scripts/BasicApi/DummyClient.cs | 495 + .../Scripts/BasicApi/DummyClient.cs.meta | 14 + .../Runtime/Scripts/BasicApi/Events.meta | 9 + .../Runtime/Scripts/BasicApi/Events/Event.cs | 53 + .../Scripts/BasicApi/Events/Event.cs.meta | 14 + .../Runtime/Scripts/BasicApi/Events/IEvent.cs | 60 + .../Scripts/BasicApi/Events/IEvent.cs.meta | 14 + .../Scripts/BasicApi/Events/IEventsClient.cs | 60 + .../BasicApi/Events/IEventsClient.cs.meta | 14 + .../Scripts/BasicApi/IPlayGamesClient.cs | 407 + .../Scripts/BasicApi/IPlayGamesClient.cs.meta | 14 + .../Scripts/BasicApi/LeaderboardScoreData.cs | 174 + .../BasicApi/LeaderboardScoreData.cs.meta | 14 + .../Runtime/Scripts/BasicApi/Nearby.meta | 9 + .../BasicApi/Nearby/AdvertisingResult.cs | 67 + .../BasicApi/Nearby/AdvertisingResult.cs.meta | 14 + .../BasicApi/Nearby/ConnectionRequest.cs | 61 + .../BasicApi/Nearby/ConnectionRequest.cs.meta | 14 + .../BasicApi/Nearby/ConnectionResponse.cs | 174 + .../Nearby/ConnectionResponse.cs.meta | 14 + .../Nearby/DummyNearbyConnectionClient.cs | 176 + .../DummyNearbyConnectionClient.cs.meta | 14 + .../BasicApi/Nearby/EndpointDetails.cs | 67 + .../BasicApi/Nearby/EndpointDetails.cs.meta | 14 + .../Nearby/INearbyConnectionClient.cs | 177 + .../Nearby/INearbyConnectionClient.cs.meta | 14 + .../Nearby/NearbyConnectionConfiguration.cs | 91 + .../NearbyConnectionConfiguration.cs.meta | 14 + .../Runtime/Scripts/BasicApi/Player.cs | 39 + .../Runtime/Scripts/BasicApi/Player.cs.meta | 13 + .../Runtime/Scripts/BasicApi/PlayerProfile.cs | 35 + .../Scripts/BasicApi/PlayerProfile.cs.meta | 13 + .../Runtime/Scripts/BasicApi/PlayerStats.cs | 268 + .../Scripts/BasicApi/PlayerStats.cs.meta | 14 + .../Runtime/Scripts/BasicApi/RecallAccess.cs | 57 + .../Scripts/BasicApi/RecallAccess.cs.meta | 13 + .../Runtime/Scripts/BasicApi/SavedGame.meta | 9 + .../BasicApi/SavedGame/ISavedGameClient.cs | 379 + .../SavedGame/ISavedGameClient.cs.meta | 14 + .../BasicApi/SavedGame/ISavedGameMetadata.cs | 77 + .../SavedGame/ISavedGameMetadata.cs.meta | 14 + .../SavedGame/SavedGameMetadataUpdate.cs | 160 + .../SavedGame/SavedGameMetadataUpdate.cs.meta | 14 + .../Scripts/BasicApi/ScorePageToken.cs | 112 + .../Scripts/BasicApi/ScorePageToken.cs.meta | 14 + .../Scripts/BasicApi/SignInInteractivity.cs | 29 + .../BasicApi/SignInInteractivity.cs.meta | 14 + .../Runtime/Scripts/BasicApi/SignInStatus.cs | 17 + .../Scripts/BasicApi/SignInStatus.cs.meta | 14 + .../Runtime/Scripts/GameInfo.cs | 71 + .../Runtime/Scripts/GameInfo.cs.meta | 14 + .../Runtime/Scripts/ISocialPlatform.meta | 5 + .../ISocialPlatform/PlayGamesAchievement.cs | 371 + .../PlayGamesAchievement.cs.meta | 14 + .../ISocialPlatform/PlayGamesLeaderboard.cs | 303 + .../PlayGamesLeaderboard.cs.meta | 14 + .../ISocialPlatform/PlayGamesLocalUser.cs | 227 + .../PlayGamesLocalUser.cs.meta | 14 + .../ISocialPlatform/PlayGamesPlatform.cs | 1404 + .../ISocialPlatform/PlayGamesPlatform.cs.meta | 14 + .../Scripts/ISocialPlatform/PlayGamesScore.cs | 149 + .../ISocialPlatform/PlayGamesScore.cs.meta | 14 + .../ISocialPlatform/PlayGamesUserProfile.cs | 299 + .../PlayGamesUserProfile.cs.meta | 14 + .../Runtime/Scripts/OurUtils.meta | 5 + .../Runtime/Scripts/OurUtils/Logger.cs | 92 + .../Runtime/Scripts/OurUtils/Logger.cs.meta | 14 + .../Runtime/Scripts/OurUtils/Misc.cs | 100 + .../Runtime/Scripts/OurUtils/Misc.cs.meta | 14 + .../Scripts/OurUtils/NearbyHelperObject.cs | 104 + .../OurUtils/NearbyHelperObject.cs.meta | 14 + .../Runtime/Scripts/OurUtils/PlatformUtils.cs | 42 + .../Scripts/OurUtils/PlatformUtils.cs.meta | 14 + .../Scripts/OurUtils/PlayGamesHelperObject.cs | 222 + .../OurUtils/PlayGamesHelperObject.cs.meta | 14 + .../Runtime/Scripts/Platforms.meta | 5 + .../Runtime/Scripts/Platforms/Android.meta | 9 + .../Platforms/Android/AndroidClient.cs | 1128 + .../Platforms/Android/AndroidClient.cs.meta | 14 + .../Platforms/Android/AndroidEventsClient.cs | 136 + .../Android/AndroidEventsClient.cs.meta | 14 + .../Android/AndroidHelperFragment.cs | 223 + .../Android/AndroidHelperFragment.cs.meta | 14 + .../Platforms/Android/AndroidJavaConverter.cs | 165 + .../Android/AndroidJavaConverter.cs.meta | 14 + .../Android/AndroidNearbyConnectionClient.cs | 443 + .../AndroidNearbyConnectionClient.cs.meta | 14 + .../Android/AndroidSavedGameClient.cs | 526 + .../Android/AndroidSavedGameClient.cs.meta | 14 + .../Android/AndroidSnapshotMetadata.cs | 90 + .../Android/AndroidSnapshotMetadata.cs.meta | 14 + .../Platforms/Android/AndroidTaskUtils.cs | 111 + .../Android/AndroidTaskUtils.cs.meta | 14 + .../NearbyConnectionClientFactory.cs | 41 + .../NearbyConnectionClientFactory.cs.meta | 14 + .../Platforms/PlayGamesClientFactory.cs | 44 + .../Platforms/PlayGamesClientFactory.cs.meta | 14 + .../Runtime/Scripts/PluginVersion.cs | 26 + .../Runtime/Scripts/PluginVersion.cs.meta | 14 + .../com.google.play.games/current-build.meta | 8 + .../com.google.play.games/package.json | 11 + .../com.google.play.games/package.json.meta | 10 + .../trivialkart-unity/Assets/Plugins.meta | 8 + .../Assets/Plugins/Android.meta | 8 + .../GooglePlayGamesManifest.androidlib.meta | 143 + .../AndroidManifest.xml | 36 + .../project.properties | 2 + .../Plugins/Android/gradleTemplate.properties | 8 + .../Android/gradleTemplate.properties.meta | 7 + .../Plugins/Android/mainTemplate.gradle | 59 + .../Plugins/Android/mainTemplate.gradle.meta | 7 + .../Plugins/Android/settingsTemplate.gradle | 30 + .../Android/settingsTemplate.gradle.meta | 7 + .../Assets/Resources/BillingMode.json | 1 + .../Assets/Resources/BillingMode.json.meta | 7 + .../Scenes/TrivialKartScene_RecallAPI.unity | 36276 ++++++++++++++++ .../TrivialKartScene_RecallAPI.unity.meta | 7 + .../Scripts/Controller/PGS/PGSController.cs | 13 +- .../Controller/PGS/PGSRecallManager.cs | 270 + .../Controller/PGS/PGSRecallManager.cs.meta | 2 + .../trivialkart-unity/Packages/manifest.json | 1 + .../Packages/packages-lock.json | 18 +- .../AndroidResolverDependencies.xml | 2 +- .../ProjectSettings/EditorBuildSettings.asset | 4 +- .../GooglePlayGameSettings.txt | 2 +- .../ProjectSettings/ProjectSettings.asset | 12 +- .../ProjectSettings/ProjectVersion.txt | 4 +- 252 files changed, 55192 insertions(+), 26 deletions(-) create mode 100644 trivialkart/trivialkart-recall-server/.gitignore create mode 100644 trivialkart/trivialkart-recall-server/package-lock.json create mode 100644 trivialkart/trivialkart-recall-server/package.json create mode 100644 trivialkart/trivialkart-recall-server/server.js create mode 100644 trivialkart/trivialkart-unity/Assets/ExternalDependencyManager.meta create mode 100644 trivialkart/trivialkart-unity/Assets/ExternalDependencyManager/Editor.meta create mode 100644 trivialkart/trivialkart-unity/Assets/ExternalDependencyManager/Editor/1.2.182.meta create mode 100755 trivialkart/trivialkart-unity/Assets/ExternalDependencyManager/Editor/1.2.182/Google.IOSResolver.dll create mode 100644 trivialkart/trivialkart-unity/Assets/ExternalDependencyManager/Editor/1.2.182/Google.IOSResolver.dll.meta create mode 100755 trivialkart/trivialkart-unity/Assets/ExternalDependencyManager/Editor/1.2.182/Google.JarResolver.dll create mode 100644 trivialkart/trivialkart-unity/Assets/ExternalDependencyManager/Editor/1.2.182/Google.JarResolver.dll.meta create mode 100755 trivialkart/trivialkart-unity/Assets/ExternalDependencyManager/Editor/1.2.182/Google.PackageManagerResolver.dll create mode 100644 trivialkart/trivialkart-unity/Assets/ExternalDependencyManager/Editor/1.2.182/Google.PackageManagerResolver.dll.meta create mode 100755 trivialkart/trivialkart-unity/Assets/ExternalDependencyManager/Editor/1.2.182/Google.VersionHandlerImpl.dll create mode 100644 trivialkart/trivialkart-unity/Assets/ExternalDependencyManager/Editor/1.2.182/Google.VersionHandlerImpl.dll.meta create mode 100755 trivialkart/trivialkart-unity/Assets/ExternalDependencyManager/Editor/CHANGELOG.md create mode 100644 trivialkart/trivialkart-unity/Assets/ExternalDependencyManager/Editor/CHANGELOG.md.meta create mode 100755 trivialkart/trivialkart-unity/Assets/ExternalDependencyManager/Editor/Google.VersionHandler.dll create mode 100644 trivialkart/trivialkart-unity/Assets/ExternalDependencyManager/Editor/Google.VersionHandler.dll.meta create mode 100755 trivialkart/trivialkart-unity/Assets/ExternalDependencyManager/Editor/LICENSE create mode 100644 trivialkart/trivialkart-unity/Assets/ExternalDependencyManager/Editor/LICENSE.meta create mode 100755 trivialkart/trivialkart-unity/Assets/ExternalDependencyManager/Editor/README.md create mode 100644 trivialkart/trivialkart-unity/Assets/ExternalDependencyManager/Editor/README.md.meta create mode 100755 trivialkart/trivialkart-unity/Assets/ExternalDependencyManager/Editor/external-dependency-manager_version-1.2.182_manifest.txt create mode 100644 trivialkart/trivialkart-unity/Assets/ExternalDependencyManager/Editor/external-dependency-manager_version-1.2.182_manifest.txt.meta create mode 100644 trivialkart/trivialkart-unity/Assets/GPGSIds.cs create mode 100644 trivialkart/trivialkart-unity/Assets/GPGSIds.cs.meta create mode 100644 trivialkart/trivialkart-unity/Assets/GeneratedLocalRepo.meta create mode 100644 trivialkart/trivialkart-unity/Assets/GeneratedLocalRepo/GooglePlayGames.meta create mode 100644 trivialkart/trivialkart-unity/Assets/GeneratedLocalRepo/GooglePlayGames/com.google.play.games.meta create mode 100644 trivialkart/trivialkart-unity/Assets/GeneratedLocalRepo/GooglePlayGames/com.google.play.games/Editor.meta create mode 100644 trivialkart/trivialkart-unity/Assets/GeneratedLocalRepo/GooglePlayGames/com.google.play.games/Editor/m2repository.meta create mode 100644 trivialkart/trivialkart-unity/Assets/GeneratedLocalRepo/GooglePlayGames/com.google.play.games/Editor/m2repository/com.meta create mode 100644 trivialkart/trivialkart-unity/Assets/GeneratedLocalRepo/GooglePlayGames/com.google.play.games/Editor/m2repository/com/google.meta create mode 100644 trivialkart/trivialkart-unity/Assets/GeneratedLocalRepo/GooglePlayGames/com.google.play.games/Editor/m2repository/com/google/games.meta create mode 100644 trivialkart/trivialkart-unity/Assets/GeneratedLocalRepo/GooglePlayGames/com.google.play.games/Editor/m2repository/com/google/games/gpgs-plugin-support.meta create mode 100644 trivialkart/trivialkart-unity/Assets/GeneratedLocalRepo/GooglePlayGames/com.google.play.games/Editor/m2repository/com/google/games/gpgs-plugin-support/2.1.0.meta create mode 100644 trivialkart/trivialkart-unity/Assets/GeneratedLocalRepo/GooglePlayGames/com.google.play.games/Editor/m2repository/com/google/games/gpgs-plugin-support/2.1.0/gpgs-plugin-support-2.1.0.aar create mode 100644 trivialkart/trivialkart-unity/Assets/GeneratedLocalRepo/GooglePlayGames/com.google.play.games/Editor/m2repository/com/google/games/gpgs-plugin-support/2.1.0/gpgs-plugin-support-2.1.0.aar.meta create mode 100644 trivialkart/trivialkart-unity/Assets/GeneratedLocalRepo/GooglePlayGames/com.google.play.games/Editor/m2repository/com/google/games/gpgs-plugin-support/2.1.0/gpgs-plugin-support-2.1.0.pom create mode 100644 trivialkart/trivialkart-unity/Assets/GeneratedLocalRepo/GooglePlayGames/com.google.play.games/Editor/m2repository/com/google/games/gpgs-plugin-support/2.1.0/gpgs-plugin-support-2.1.0.pom.meta create mode 100644 trivialkart/trivialkart-unity/Assets/GooglePlayGames.meta create mode 100644 trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games.meta create mode 100644 trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor.meta create mode 100644 trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/GPGSAndroidSetupUI.cs create mode 100644 trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/GPGSAndroidSetupUI.cs.meta create mode 100644 trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/GPGSDocsUI.cs create mode 100644 trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/GPGSDocsUI.cs.meta create mode 100644 trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/GPGSPostBuild.cs create mode 100644 trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/GPGSPostBuild.cs.meta create mode 100644 trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/GPGSProjectSettings.cs create mode 100644 trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/GPGSProjectSettings.cs.meta create mode 100644 trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/GPGSStrings.cs create mode 100644 trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/GPGSStrings.cs.meta create mode 100644 trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/GPGSUpgrader.cs create mode 100644 trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/GPGSUpgrader.cs.meta create mode 100644 trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/GPGSUtil.cs create mode 100644 trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/GPGSUtil.cs.meta create mode 100644 trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/Google.Play.Games.Editor.asmdef create mode 100644 trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/Google.Play.Games.Editor.asmdef.meta create mode 100644 trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/GooglePlayGamesPluginDependencies.xml create mode 100644 trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/GooglePlayGamesPluginDependencies.xml.meta create mode 100644 trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/GooglePlayGamesPlugin_v2.1.0.txt create mode 100644 trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/GooglePlayGamesPlugin_v2.1.0.txt.meta create mode 100644 trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/NearbyConnectionUI.cs create mode 100644 trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/NearbyConnectionUI.cs.meta create mode 100644 trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/m2repository.meta create mode 100644 trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/m2repository/com.meta create mode 100644 trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/m2repository/com/google.meta create mode 100644 trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/m2repository/com/google/games.meta create mode 100644 trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/m2repository/com/google/games/gpgs-plugin-support.meta create mode 100644 trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/m2repository/com/google/games/gpgs-plugin-support/2.1.0.meta create mode 100644 trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/m2repository/com/google/games/gpgs-plugin-support/2.1.0/gpgs-plugin-support-2.1.0.pom create mode 100644 trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/m2repository/com/google/games/gpgs-plugin-support/2.1.0/gpgs-plugin-support-2.1.0.pom.md5 create mode 100644 trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/m2repository/com/google/games/gpgs-plugin-support/2.1.0/gpgs-plugin-support-2.1.0.pom.md5.meta create mode 100644 trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/m2repository/com/google/games/gpgs-plugin-support/2.1.0/gpgs-plugin-support-2.1.0.pom.meta create mode 100644 trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/m2repository/com/google/games/gpgs-plugin-support/2.1.0/gpgs-plugin-support-2.1.0.pom.sha1 create mode 100644 trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/m2repository/com/google/games/gpgs-plugin-support/2.1.0/gpgs-plugin-support-2.1.0.pom.sha1.meta create mode 100644 trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/m2repository/com/google/games/gpgs-plugin-support/2.1.0/gpgs-plugin-support-2.1.0.pom.sha256 create mode 100644 trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/m2repository/com/google/games/gpgs-plugin-support/2.1.0/gpgs-plugin-support-2.1.0.pom.sha256.meta create mode 100644 trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/m2repository/com/google/games/gpgs-plugin-support/2.1.0/gpgs-plugin-support-2.1.0.pom.sha512 create mode 100644 trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/m2repository/com/google/games/gpgs-plugin-support/2.1.0/gpgs-plugin-support-2.1.0.pom.sha512.meta create mode 100644 trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/m2repository/com/google/games/gpgs-plugin-support/2.1.0/gpgs-plugin-support-2.1.0.srcaar create mode 100644 trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/m2repository/com/google/games/gpgs-plugin-support/2.1.0/gpgs-plugin-support-2.1.0.srcaar.md5 create mode 100644 trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/m2repository/com/google/games/gpgs-plugin-support/2.1.0/gpgs-plugin-support-2.1.0.srcaar.md5.meta create mode 100644 trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/m2repository/com/google/games/gpgs-plugin-support/2.1.0/gpgs-plugin-support-2.1.0.srcaar.meta create mode 100644 trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/m2repository/com/google/games/gpgs-plugin-support/2.1.0/gpgs-plugin-support-2.1.0.srcaar.sha1 create mode 100644 trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/m2repository/com/google/games/gpgs-plugin-support/2.1.0/gpgs-plugin-support-2.1.0.srcaar.sha1.meta create mode 100644 trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/m2repository/com/google/games/gpgs-plugin-support/2.1.0/gpgs-plugin-support-2.1.0.srcaar.sha256 create mode 100644 trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/m2repository/com/google/games/gpgs-plugin-support/2.1.0/gpgs-plugin-support-2.1.0.srcaar.sha256.meta create mode 100644 trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/m2repository/com/google/games/gpgs-plugin-support/2.1.0/gpgs-plugin-support-2.1.0.srcaar.sha512 create mode 100644 trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/m2repository/com/google/games/gpgs-plugin-support/2.1.0/gpgs-plugin-support-2.1.0.srcaar.sha512.meta create mode 100644 trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/m2repository/com/google/games/gpgs-plugin-support/maven-metadata.xml create mode 100644 trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/m2repository/com/google/games/gpgs-plugin-support/maven-metadata.xml.md5 create mode 100644 trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/m2repository/com/google/games/gpgs-plugin-support/maven-metadata.xml.md5.meta create mode 100644 trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/m2repository/com/google/games/gpgs-plugin-support/maven-metadata.xml.meta create mode 100644 trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/m2repository/com/google/games/gpgs-plugin-support/maven-metadata.xml.sha1 create mode 100644 trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/m2repository/com/google/games/gpgs-plugin-support/maven-metadata.xml.sha1.meta create mode 100644 trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/m2repository/com/google/games/gpgs-plugin-support/maven-metadata.xml.sha256 create mode 100644 trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/m2repository/com/google/games/gpgs-plugin-support/maven-metadata.xml.sha256.meta create mode 100644 trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/m2repository/com/google/games/gpgs-plugin-support/maven-metadata.xml.sha512 create mode 100644 trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/m2repository/com/google/games/gpgs-plugin-support/maven-metadata.xml.sha512.meta create mode 100644 trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/template-AndroidManifest.txt create mode 100644 trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/template-AndroidManifest.txt.meta create mode 100644 trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/template-Constants.txt create mode 100644 trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/template-Constants.txt.meta create mode 100644 trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/template-GameInfo.txt create mode 100644 trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/template-GameInfo.txt.meta create mode 100644 trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Proguard.meta create mode 100644 trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime.meta create mode 100644 trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Google.Play.Games.asmdef create mode 100644 trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Google.Play.Games.asmdef.meta create mode 100644 trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts.meta create mode 100644 trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi.meta create mode 100644 trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/Achievement.cs create mode 100644 trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/Achievement.cs.meta create mode 100644 trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/AuthResponse.cs create mode 100644 trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/AuthResponse.cs.meta create mode 100644 trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/AuthScope.cs create mode 100644 trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/AuthScope.cs.meta create mode 100644 trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/CommonStatusCodes.cs create mode 100644 trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/CommonStatusCodes.cs.meta create mode 100644 trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/CommonTypes.cs create mode 100644 trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/CommonTypes.cs.meta create mode 100644 trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/DummyClient.cs create mode 100644 trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/DummyClient.cs.meta create mode 100644 trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/Events.meta create mode 100644 trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/Events/Event.cs create mode 100644 trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/Events/Event.cs.meta create mode 100644 trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/Events/IEvent.cs create mode 100644 trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/Events/IEvent.cs.meta create mode 100644 trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/Events/IEventsClient.cs create mode 100644 trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/Events/IEventsClient.cs.meta create mode 100644 trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/IPlayGamesClient.cs create mode 100644 trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/IPlayGamesClient.cs.meta create mode 100644 trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/LeaderboardScoreData.cs create mode 100644 trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/LeaderboardScoreData.cs.meta create mode 100644 trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/Nearby.meta create mode 100644 trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/Nearby/AdvertisingResult.cs create mode 100644 trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/Nearby/AdvertisingResult.cs.meta create mode 100644 trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/Nearby/ConnectionRequest.cs create mode 100644 trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/Nearby/ConnectionRequest.cs.meta create mode 100644 trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/Nearby/ConnectionResponse.cs create mode 100644 trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/Nearby/ConnectionResponse.cs.meta create mode 100644 trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/Nearby/DummyNearbyConnectionClient.cs create mode 100644 trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/Nearby/DummyNearbyConnectionClient.cs.meta create mode 100644 trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/Nearby/EndpointDetails.cs create mode 100644 trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/Nearby/EndpointDetails.cs.meta create mode 100644 trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/Nearby/INearbyConnectionClient.cs create mode 100644 trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/Nearby/INearbyConnectionClient.cs.meta create mode 100644 trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/Nearby/NearbyConnectionConfiguration.cs create mode 100644 trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/Nearby/NearbyConnectionConfiguration.cs.meta create mode 100644 trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/Player.cs create mode 100644 trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/Player.cs.meta create mode 100644 trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/PlayerProfile.cs create mode 100644 trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/PlayerProfile.cs.meta create mode 100644 trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/PlayerStats.cs create mode 100644 trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/PlayerStats.cs.meta create mode 100644 trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/RecallAccess.cs create mode 100644 trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/RecallAccess.cs.meta create mode 100644 trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/SavedGame.meta create mode 100644 trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/SavedGame/ISavedGameClient.cs create mode 100644 trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/SavedGame/ISavedGameClient.cs.meta create mode 100644 trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/SavedGame/ISavedGameMetadata.cs create mode 100644 trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/SavedGame/ISavedGameMetadata.cs.meta create mode 100644 trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/SavedGame/SavedGameMetadataUpdate.cs create mode 100644 trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/SavedGame/SavedGameMetadataUpdate.cs.meta create mode 100644 trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/ScorePageToken.cs create mode 100644 trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/ScorePageToken.cs.meta create mode 100644 trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/SignInInteractivity.cs create mode 100644 trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/SignInInteractivity.cs.meta create mode 100644 trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/SignInStatus.cs create mode 100644 trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/SignInStatus.cs.meta create mode 100644 trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/GameInfo.cs create mode 100644 trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/GameInfo.cs.meta create mode 100644 trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/ISocialPlatform.meta create mode 100644 trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/ISocialPlatform/PlayGamesAchievement.cs create mode 100644 trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/ISocialPlatform/PlayGamesAchievement.cs.meta create mode 100644 trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/ISocialPlatform/PlayGamesLeaderboard.cs create mode 100644 trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/ISocialPlatform/PlayGamesLeaderboard.cs.meta create mode 100644 trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/ISocialPlatform/PlayGamesLocalUser.cs create mode 100644 trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/ISocialPlatform/PlayGamesLocalUser.cs.meta create mode 100644 trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/ISocialPlatform/PlayGamesPlatform.cs create mode 100644 trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/ISocialPlatform/PlayGamesPlatform.cs.meta create mode 100644 trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/ISocialPlatform/PlayGamesScore.cs create mode 100644 trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/ISocialPlatform/PlayGamesScore.cs.meta create mode 100644 trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/ISocialPlatform/PlayGamesUserProfile.cs create mode 100644 trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/ISocialPlatform/PlayGamesUserProfile.cs.meta create mode 100644 trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/OurUtils.meta create mode 100644 trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/OurUtils/Logger.cs create mode 100644 trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/OurUtils/Logger.cs.meta create mode 100644 trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/OurUtils/Misc.cs create mode 100644 trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/OurUtils/Misc.cs.meta create mode 100644 trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/OurUtils/NearbyHelperObject.cs create mode 100644 trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/OurUtils/NearbyHelperObject.cs.meta create mode 100644 trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/OurUtils/PlatformUtils.cs create mode 100644 trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/OurUtils/PlatformUtils.cs.meta create mode 100644 trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/OurUtils/PlayGamesHelperObject.cs create mode 100644 trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/OurUtils/PlayGamesHelperObject.cs.meta create mode 100644 trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/Platforms.meta create mode 100644 trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/Platforms/Android.meta create mode 100644 trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/Platforms/Android/AndroidClient.cs create mode 100644 trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/Platforms/Android/AndroidClient.cs.meta create mode 100644 trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/Platforms/Android/AndroidEventsClient.cs create mode 100644 trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/Platforms/Android/AndroidEventsClient.cs.meta create mode 100644 trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/Platforms/Android/AndroidHelperFragment.cs create mode 100644 trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/Platforms/Android/AndroidHelperFragment.cs.meta create mode 100644 trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/Platforms/Android/AndroidJavaConverter.cs create mode 100644 trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/Platforms/Android/AndroidJavaConverter.cs.meta create mode 100644 trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/Platforms/Android/AndroidNearbyConnectionClient.cs create mode 100644 trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/Platforms/Android/AndroidNearbyConnectionClient.cs.meta create mode 100644 trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/Platforms/Android/AndroidSavedGameClient.cs create mode 100644 trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/Platforms/Android/AndroidSavedGameClient.cs.meta create mode 100644 trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/Platforms/Android/AndroidSnapshotMetadata.cs create mode 100644 trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/Platforms/Android/AndroidSnapshotMetadata.cs.meta create mode 100644 trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/Platforms/Android/AndroidTaskUtils.cs create mode 100644 trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/Platforms/Android/AndroidTaskUtils.cs.meta create mode 100644 trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/Platforms/NearbyConnectionClientFactory.cs create mode 100644 trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/Platforms/NearbyConnectionClientFactory.cs.meta create mode 100644 trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/Platforms/PlayGamesClientFactory.cs create mode 100644 trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/Platforms/PlayGamesClientFactory.cs.meta create mode 100644 trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/PluginVersion.cs create mode 100644 trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/PluginVersion.cs.meta create mode 100644 trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/current-build.meta create mode 100644 trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/package.json create mode 100644 trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/package.json.meta create mode 100644 trivialkart/trivialkart-unity/Assets/Plugins.meta create mode 100644 trivialkart/trivialkart-unity/Assets/Plugins/Android.meta create mode 100644 trivialkart/trivialkart-unity/Assets/Plugins/Android/GooglePlayGamesManifest.androidlib.meta create mode 100644 trivialkart/trivialkart-unity/Assets/Plugins/Android/GooglePlayGamesManifest.androidlib/AndroidManifest.xml create mode 100644 trivialkart/trivialkart-unity/Assets/Plugins/Android/GooglePlayGamesManifest.androidlib/project.properties create mode 100644 trivialkart/trivialkart-unity/Assets/Plugins/Android/gradleTemplate.properties create mode 100644 trivialkart/trivialkart-unity/Assets/Plugins/Android/gradleTemplate.properties.meta create mode 100644 trivialkart/trivialkart-unity/Assets/Plugins/Android/mainTemplate.gradle create mode 100644 trivialkart/trivialkart-unity/Assets/Plugins/Android/mainTemplate.gradle.meta create mode 100644 trivialkart/trivialkart-unity/Assets/Plugins/Android/settingsTemplate.gradle create mode 100644 trivialkart/trivialkart-unity/Assets/Plugins/Android/settingsTemplate.gradle.meta create mode 100644 trivialkart/trivialkart-unity/Assets/Resources/BillingMode.json create mode 100644 trivialkart/trivialkart-unity/Assets/Resources/BillingMode.json.meta create mode 100644 trivialkart/trivialkart-unity/Assets/Scenes/TrivialKartScene_RecallAPI.unity create mode 100644 trivialkart/trivialkart-unity/Assets/Scenes/TrivialKartScene_RecallAPI.unity.meta create mode 100644 trivialkart/trivialkart-unity/Assets/Scripts/Controller/PGS/PGSRecallManager.cs create mode 100644 trivialkart/trivialkart-unity/Assets/Scripts/Controller/PGS/PGSRecallManager.cs.meta diff --git a/trivialkart/trivialkart-recall-server/.gitignore b/trivialkart/trivialkart-recall-server/.gitignore new file mode 100644 index 00000000..005c5803 --- /dev/null +++ b/trivialkart/trivialkart-recall-server/.gitignore @@ -0,0 +1,5 @@ +node_modules +build +npm-debug.log +.env +.DS_Store diff --git a/trivialkart/trivialkart-recall-server/package-lock.json b/trivialkart/trivialkart-recall-server/package-lock.json new file mode 100644 index 00000000..7306f23c --- /dev/null +++ b/trivialkart/trivialkart-recall-server/package-lock.json @@ -0,0 +1,1282 @@ +{ + "name": "trivialkart-recall-server", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "dependencies": { + "axios": "^1.12.2", + "cors": "^2.8.5", + "dotenv": "^17.2.3", + "express": "^5.1.0", + "google-auth-library": "^10.4.0", + "uuid": "^13.0.0" + } + }, + "node_modules/accepts": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-2.0.0.tgz", + "integrity": "sha512-5cvg6CtKwfgdmVqY1WIiXKc3Q1bkRqGLi+2W/6ao+6Y7gu/RCwRuAhGEzh5B4KlszSuTLgZYuqFqo5bImjNKng==", + "license": "MIT", + "dependencies": { + "mime-types": "^3.0.0", + "negotiator": "^1.0.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/agent-base": { + "version": "7.1.4", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.4.tgz", + "integrity": "sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ==", + "license": "MIT", + "engines": { + "node": ">= 14" + } + }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", + "license": "MIT" + }, + "node_modules/axios": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.12.2.tgz", + "integrity": "sha512-vMJzPewAlRyOgxV2dU0Cuz2O8zzzx9VYtbJOaBgXFeLc4IV/Eg50n4LowmehOOR61S8ZMpc2K5Sa7g6A4jfkUw==", + "license": "MIT", + "dependencies": { + "follow-redirects": "^1.15.6", + "form-data": "^4.0.4", + "proxy-from-env": "^1.1.0" + } + }, + "node_modules/base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/bignumber.js": { + "version": "9.3.1", + "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.3.1.tgz", + "integrity": "sha512-Ko0uX15oIUS7wJ3Rb30Fs6SkVbLmPBAKdlm7q9+ak9bbIeFf0MwuBsQV6z7+X768/cHsfg+WlysDWJcmthjsjQ==", + "license": "MIT", + "engines": { + "node": "*" + } + }, + "node_modules/body-parser": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-2.2.0.tgz", + "integrity": "sha512-02qvAaxv8tp7fBa/mw1ga98OGm+eCbqzJOKoRt70sLmfEEi+jyBYVTDGfCL/k06/4EMk/z01gCe7HoCH/f2LTg==", + "license": "MIT", + "dependencies": { + "bytes": "^3.1.2", + "content-type": "^1.0.5", + "debug": "^4.4.0", + "http-errors": "^2.0.0", + "iconv-lite": "^0.6.3", + "on-finished": "^2.4.1", + "qs": "^6.14.0", + "raw-body": "^3.0.0", + "type-is": "^2.0.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/buffer-equal-constant-time": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz", + "integrity": "sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA==", + "license": "BSD-3-Clause" + }, + "node_modules/bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/call-bind-apply-helpers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", + "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/call-bound": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz", + "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "get-intrinsic": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "license": "MIT", + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/content-disposition": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-1.0.0.tgz", + "integrity": "sha512-Au9nRL8VNUut/XSzbQA38+M78dzP4D+eqg3gfJHMIHHYa3bg067xj1KxMUWj+VULbiZMowKngFFbKczUrNJ1mg==", + "license": "MIT", + "dependencies": { + "safe-buffer": "5.2.1" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/content-type": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", + "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookie": { + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.2.tgz", + "integrity": "sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookie-signature": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.2.2.tgz", + "integrity": "sha512-D76uU73ulSXrD1UXF4KE2TMxVVwhsnCgfAyTg9k8P6KGZjlXKrOLe4dJQKI3Bxi5wjesZoFXJWElNWBjPZMbhg==", + "license": "MIT", + "engines": { + "node": ">=6.6.0" + } + }, + "node_modules/cors": { + "version": "2.8.5", + "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", + "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", + "license": "MIT", + "dependencies": { + "object-assign": "^4", + "vary": "^1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/data-uri-to-buffer": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-4.0.1.tgz", + "integrity": "sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==", + "license": "MIT", + "engines": { + "node": ">= 12" + } + }, + "node_modules/debug": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "license": "MIT", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/dotenv": { + "version": "17.2.3", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-17.2.3.tgz", + "integrity": "sha512-JVUnt+DUIzu87TABbhPmNfVdBDt18BLOWjMUFJMSi/Qqg7NTYtabbvSNJGOJ7afbRuv9D/lngizHtP7QyLQ+9w==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://dotenvx.com" + } + }, + "node_modules/dunder-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", + "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.1", + "es-errors": "^1.3.0", + "gopd": "^1.2.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/ecdsa-sig-formatter": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz", + "integrity": "sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==", + "license": "Apache-2.0", + "dependencies": { + "safe-buffer": "^5.0.1" + } + }, + "node_modules/ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", + "license": "MIT" + }, + "node_modules/encodeurl": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz", + "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/es-define-property": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", + "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-object-atoms": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", + "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-set-tostringtag": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz", + "integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.6", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", + "license": "MIT" + }, + "node_modules/etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/express": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/express/-/express-5.1.0.tgz", + "integrity": "sha512-DT9ck5YIRU+8GYzzU5kT3eHGA5iL+1Zd0EutOmTE9Dtk+Tvuzd23VBU+ec7HPNSTxXYO55gPV/hq4pSBJDjFpA==", + "license": "MIT", + "dependencies": { + "accepts": "^2.0.0", + "body-parser": "^2.2.0", + "content-disposition": "^1.0.0", + "content-type": "^1.0.5", + "cookie": "^0.7.1", + "cookie-signature": "^1.2.1", + "debug": "^4.4.0", + "encodeurl": "^2.0.0", + "escape-html": "^1.0.3", + "etag": "^1.8.1", + "finalhandler": "^2.1.0", + "fresh": "^2.0.0", + "http-errors": "^2.0.0", + "merge-descriptors": "^2.0.0", + "mime-types": "^3.0.0", + "on-finished": "^2.4.1", + "once": "^1.4.0", + "parseurl": "^1.3.3", + "proxy-addr": "^2.0.7", + "qs": "^6.14.0", + "range-parser": "^1.2.1", + "router": "^2.2.0", + "send": "^1.1.0", + "serve-static": "^2.2.0", + "statuses": "^2.0.1", + "type-is": "^2.0.1", + "vary": "^1.1.2" + }, + "engines": { + "node": ">= 18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", + "license": "MIT" + }, + "node_modules/fetch-blob": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/fetch-blob/-/fetch-blob-3.2.0.tgz", + "integrity": "sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/jimmywarting" + }, + { + "type": "paypal", + "url": "https://paypal.me/jimmywarting" + } + ], + "license": "MIT", + "dependencies": { + "node-domexception": "^1.0.0", + "web-streams-polyfill": "^3.0.3" + }, + "engines": { + "node": "^12.20 || >= 14.13" + } + }, + "node_modules/finalhandler": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-2.1.0.tgz", + "integrity": "sha512-/t88Ty3d5JWQbWYgaOGCCYfXRwV1+be02WqYYlL6h0lEiUAMPM8o8qKGO01YIkOHzka2up08wvgYD0mDiI+q3Q==", + "license": "MIT", + "dependencies": { + "debug": "^4.4.0", + "encodeurl": "^2.0.0", + "escape-html": "^1.0.3", + "on-finished": "^2.4.1", + "parseurl": "^1.3.3", + "statuses": "^2.0.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/follow-redirects": { + "version": "1.15.11", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.11.tgz", + "integrity": "sha512-deG2P0JfjrTxl50XGCDyfI97ZGVCxIpfKYmfyrQ54n5FO/0gfIES8C/Psl6kWVDolizcaaxZJnTS0QSMxvnsBQ==", + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "license": "MIT", + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } + }, + "node_modules/form-data": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.4.tgz", + "integrity": "sha512-KrGhL9Q4zjj0kiUt5OO4Mr/A/jlI2jDYs5eHBpYHPcBEVSiipAvn2Ko2HnPe20rmcuuvMHNdZFp+4IlGTMF0Ow==", + "license": "MIT", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "es-set-tostringtag": "^2.1.0", + "hasown": "^2.0.2", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/form-data/node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/form-data/node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "license": "MIT", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/formdata-polyfill": { + "version": "4.0.10", + "resolved": "https://registry.npmjs.org/formdata-polyfill/-/formdata-polyfill-4.0.10.tgz", + "integrity": "sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==", + "license": "MIT", + "dependencies": { + "fetch-blob": "^3.1.2" + }, + "engines": { + "node": ">=12.20.0" + } + }, + "node_modules/forwarded": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fresh": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-2.0.0.tgz", + "integrity": "sha512-Rx/WycZ60HOaqLKAi6cHRKKI7zxWbJ31MhntmtwMoaTeF7XFH9hhBp8vITaMidfljRQ6eYWCKkaTK+ykVJHP2A==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/gaxios": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/gaxios/-/gaxios-7.1.2.tgz", + "integrity": "sha512-/Szrn8nr+2TsQT1Gp8iIe/BEytJmbyfrbFh419DfGQSkEgNEhbPi7JRJuughjkTzPWgU9gBQf5AVu3DbHt0OXA==", + "license": "Apache-2.0", + "dependencies": { + "extend": "^3.0.2", + "https-proxy-agent": "^7.0.1", + "node-fetch": "^3.3.2" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/gcp-metadata": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/gcp-metadata/-/gcp-metadata-7.0.1.tgz", + "integrity": "sha512-UcO3kefx6dCcZkgcTGgVOTFb7b1LlQ02hY1omMjjrrBzkajRMCFgYOjs7J71WqnuG1k2b+9ppGL7FsOfhZMQKQ==", + "license": "Apache-2.0", + "dependencies": { + "gaxios": "^7.0.0", + "google-logging-utils": "^1.0.0", + "json-bigint": "^1.0.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/get-intrinsic": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", + "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "function-bind": "^1.1.2", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "math-intrinsics": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", + "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", + "license": "MIT", + "dependencies": { + "dunder-proto": "^1.0.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/google-auth-library": { + "version": "10.4.0", + "resolved": "https://registry.npmjs.org/google-auth-library/-/google-auth-library-10.4.0.tgz", + "integrity": "sha512-CmIrSy1bqMQUsPmA9+hcSbAXL80cFhu40cGMUjCaLpNKVzzvi+0uAHq8GNZxkoGYIsTX4ZQ7e4aInAqWxgn4fg==", + "license": "Apache-2.0", + "dependencies": { + "base64-js": "^1.3.0", + "ecdsa-sig-formatter": "^1.0.11", + "gaxios": "^7.0.0", + "gcp-metadata": "^7.0.0", + "google-logging-utils": "^1.0.0", + "gtoken": "^8.0.0", + "jws": "^4.0.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/google-logging-utils": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/google-logging-utils/-/google-logging-utils-1.1.1.tgz", + "integrity": "sha512-rcX58I7nqpu4mbKztFeOAObbomBbHU2oIb/d3tJfF3dizGSApqtSwYJigGCooHdnMyQBIw8BrWyK96w3YXgr6A==", + "license": "Apache-2.0", + "engines": { + "node": ">=14" + } + }, + "node_modules/gopd": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", + "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/gtoken": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/gtoken/-/gtoken-8.0.0.tgz", + "integrity": "sha512-+CqsMbHPiSTdtSO14O51eMNlrp9N79gmeqmXeouJOhfucAedHw9noVe/n5uJk3tbKE6a+6ZCQg3RPhVhHByAIw==", + "license": "MIT", + "dependencies": { + "gaxios": "^7.0.0", + "jws": "^4.0.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/has-symbols": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", + "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-tostringtag": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", + "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", + "license": "MIT", + "dependencies": { + "has-symbols": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/http-errors": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", + "license": "MIT", + "dependencies": { + "depd": "2.0.0", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/http-errors/node_modules/statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/https-proxy-agent": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz", + "integrity": "sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==", + "license": "MIT", + "dependencies": { + "agent-base": "^7.1.2", + "debug": "4" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "license": "MIT", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "license": "ISC" + }, + "node_modules/ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", + "license": "MIT", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/is-promise": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-4.0.0.tgz", + "integrity": "sha512-hvpoI6korhJMnej285dSg6nu1+e6uxs7zG3BYAm5byqDsgJNWwxzM6z6iZiAgQR4TJ30JmBTOwqZUw3WlyH3AQ==", + "license": "MIT" + }, + "node_modules/json-bigint": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-bigint/-/json-bigint-1.0.0.tgz", + "integrity": "sha512-SiPv/8VpZuWbvLSMtTDU8hEfrZWg/mH/nV/b4o0CYbSxu1UIQPLdwKOCIyLQX+VIPO5vrLX3i8qtqFyhdPSUSQ==", + "license": "MIT", + "dependencies": { + "bignumber.js": "^9.0.0" + } + }, + "node_modules/jwa": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/jwa/-/jwa-2.0.1.tgz", + "integrity": "sha512-hRF04fqJIP8Abbkq5NKGN0Bbr3JxlQ+qhZufXVr0DvujKy93ZCbXZMHDL4EOtodSbCWxOqR8MS1tXA5hwqCXDg==", + "license": "MIT", + "dependencies": { + "buffer-equal-constant-time": "^1.0.1", + "ecdsa-sig-formatter": "1.0.11", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/jws": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jws/-/jws-4.0.0.tgz", + "integrity": "sha512-KDncfTmOZoOMTFG4mBlG0qUIOlc03fmzH+ru6RgYVZhPkyiy/92Owlt/8UEN+a4TXR1FQetfIpJE8ApdvdVxTg==", + "license": "MIT", + "dependencies": { + "jwa": "^2.0.0", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/math-intrinsics": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", + "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/media-typer": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-1.1.0.tgz", + "integrity": "sha512-aisnrDP4GNe06UcKFnV5bfMNPBUw4jsLGaWwWfnH3v02GnBuXX2MCVn5RbrWo0j3pczUilYblq7fQ7Nw2t5XKw==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/merge-descriptors": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-2.0.0.tgz", + "integrity": "sha512-Snk314V5ayFLhp3fkUREub6WtjBfPdCPY1Ln8/8munuLuiYhsABgBVWsozAG+MWMbVEvcdcpbi9R7ww22l9Q3g==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/mime-db": { + "version": "1.54.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.54.0.tgz", + "integrity": "sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-3.0.1.tgz", + "integrity": "sha512-xRc4oEhT6eaBpU1XF7AjpOFD+xQmXNB5OVKwp4tqCuBpHLS/ZbBDrc07mYTDqVMg6PfxUjjNp85O6Cd2Z/5HWA==", + "license": "MIT", + "dependencies": { + "mime-db": "^1.54.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "license": "MIT" + }, + "node_modules/negotiator": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-1.0.0.tgz", + "integrity": "sha512-8Ofs/AUQh8MaEcrlq5xOX0CQ9ypTF5dl78mjlMNfOK08fzpgTHQRQPBxcPlEtIw0yRpws+Zo/3r+5WRby7u3Gg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/node-domexception": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/node-domexception/-/node-domexception-1.0.0.tgz", + "integrity": "sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==", + "deprecated": "Use your platform's native DOMException instead", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/jimmywarting" + }, + { + "type": "github", + "url": "https://paypal.me/jimmywarting" + } + ], + "license": "MIT", + "engines": { + "node": ">=10.5.0" + } + }, + "node_modules/node-fetch": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-3.3.2.tgz", + "integrity": "sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA==", + "license": "MIT", + "dependencies": { + "data-uri-to-buffer": "^4.0.0", + "fetch-blob": "^3.1.4", + "formdata-polyfill": "^4.0.10" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/node-fetch" + } + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-inspect": { + "version": "1.13.4", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz", + "integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "license": "MIT", + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "license": "ISC", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/path-to-regexp": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-8.3.0.tgz", + "integrity": "sha512-7jdwVIRtsP8MYpdXSwOS0YdD0Du+qOoF/AEPIt88PcCFrZCzx41oxku1jD88hZBwbNUIEfpqvuhjFaMAqMTWnA==", + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/proxy-addr": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", + "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", + "license": "MIT", + "dependencies": { + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/proxy-from-env": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", + "license": "MIT" + }, + "node_modules/qs": { + "version": "6.14.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.14.0.tgz", + "integrity": "sha512-YWWTjgABSKcvs/nWBi9PycY/JiPJqOD4JA6o9Sej2AtvSGarXxKC3OQSk4pAarbdQlKAh5D4FCQkJNkW+GAn3w==", + "license": "BSD-3-Clause", + "dependencies": { + "side-channel": "^1.1.0" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/raw-body": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-3.0.1.tgz", + "integrity": "sha512-9G8cA+tuMS75+6G/TzW8OtLzmBDMo8p1JRxN5AZ+LAp8uxGA8V8GZm4GQ4/N5QNQEnLmg6SS7wyuSmbKepiKqA==", + "license": "MIT", + "dependencies": { + "bytes": "3.1.2", + "http-errors": "2.0.0", + "iconv-lite": "0.7.0", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/raw-body/node_modules/iconv-lite": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.7.0.tgz", + "integrity": "sha512-cf6L2Ds3h57VVmkZe+Pn+5APsT7FpqJtEhhieDCvrE2MK5Qk9MyffgQyuxQTm6BChfeZNtcOLHp9IcWRVcIcBQ==", + "license": "MIT", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/router": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/router/-/router-2.2.0.tgz", + "integrity": "sha512-nLTrUKm2UyiL7rlhapu/Zl45FwNgkZGaCpZbIHajDYgwlJCOzLSk+cIPAnsEqV955GjILJnKbdQC1nVPz+gAYQ==", + "license": "MIT", + "dependencies": { + "debug": "^4.4.0", + "depd": "^2.0.0", + "is-promise": "^4.0.0", + "parseurl": "^1.3.3", + "path-to-regexp": "^8.0.0" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "license": "MIT" + }, + "node_modules/send": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/send/-/send-1.2.0.tgz", + "integrity": "sha512-uaW0WwXKpL9blXE2o0bRhoL2EGXIrZxQ2ZQ4mgcfoBxdFmQold+qWsD2jLrfZ0trjKL6vOw0j//eAwcALFjKSw==", + "license": "MIT", + "dependencies": { + "debug": "^4.3.5", + "encodeurl": "^2.0.0", + "escape-html": "^1.0.3", + "etag": "^1.8.1", + "fresh": "^2.0.0", + "http-errors": "^2.0.0", + "mime-types": "^3.0.1", + "ms": "^2.1.3", + "on-finished": "^2.4.1", + "range-parser": "^1.2.1", + "statuses": "^2.0.1" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/serve-static": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-2.2.0.tgz", + "integrity": "sha512-61g9pCh0Vnh7IutZjtLGGpTA355+OPn2TyDv/6ivP2h/AdAVX9azsoxmg2/M6nZeQZNYBEwIcsne1mJd9oQItQ==", + "license": "MIT", + "dependencies": { + "encodeurl": "^2.0.0", + "escape-html": "^1.0.3", + "parseurl": "^1.3.3", + "send": "^1.2.0" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", + "license": "ISC" + }, + "node_modules/side-channel": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz", + "integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.3", + "side-channel-list": "^1.0.0", + "side-channel-map": "^1.0.1", + "side-channel-weakmap": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-list": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.0.tgz", + "integrity": "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-map": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz", + "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-weakmap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz", + "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3", + "side-channel-map": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/statuses": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.2.tgz", + "integrity": "sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", + "license": "MIT", + "engines": { + "node": ">=0.6" + } + }, + "node_modules/type-is": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-2.0.1.tgz", + "integrity": "sha512-OZs6gsjF4vMp32qrCbiVSkrFmXtG/AZhY3t0iAMrMBiAZyV9oALtXO8hsrHbMXF9x6L3grlFuwW2oAz7cav+Gw==", + "license": "MIT", + "dependencies": { + "content-type": "^1.0.5", + "media-typer": "^1.1.0", + "mime-types": "^3.0.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/uuid": { + "version": "13.0.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-13.0.0.tgz", + "integrity": "sha512-XQegIaBTVUjSHliKqcnFqYypAd4S+WCYt5NIeRs6w/UAry7z8Y9j5ZwRRL4kzq9U3sD6v+85er9FvkEaBpji2w==", + "funding": [ + "https://github.com/sponsors/broofa", + "https://github.com/sponsors/ctavan" + ], + "license": "MIT", + "bin": { + "uuid": "dist-node/bin/uuid" + } + }, + "node_modules/vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/web-streams-polyfill": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-3.3.3.tgz", + "integrity": "sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw==", + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "license": "ISC" + } + } +} diff --git a/trivialkart/trivialkart-recall-server/package.json b/trivialkart/trivialkart-recall-server/package.json new file mode 100644 index 00000000..d9501643 --- /dev/null +++ b/trivialkart/trivialkart-recall-server/package.json @@ -0,0 +1,10 @@ +{ + "dependencies": { + "axios": "^1.12.2", + "cors": "^2.8.5", + "dotenv": "^17.2.3", + "express": "^5.1.0", + "google-auth-library": "^10.4.0", + "uuid": "^13.0.0" + } +} diff --git a/trivialkart/trivialkart-recall-server/server.js b/trivialkart/trivialkart-recall-server/server.js new file mode 100644 index 00000000..6b9601e8 --- /dev/null +++ b/trivialkart/trivialkart-recall-server/server.js @@ -0,0 +1,200 @@ +const express = require('express'); +const cors = require('cors'); +const fs = require('fs'); +const { JWT } = require('google-auth-library'); +const axios = require('axios'); +const { v4: uuidv4 } = require('uuid'); // Used for generating unique tokens +require('dotenv').config(); + +// --- Simulated Database --- +// In a real application, this would be a real database like PostgreSQL, MongoDB, etc. +// We use the unique 'recallToken' as the key. +const playerDatabase = new Map(); + +// --- Google Auth Initialization (Unchanged) --- +const KEY_FILE_PATH = process.env.KEY_FILE_PATH; +const SCOPES = ['https://www.googleapis.com/auth/androidpublisher']; + +let auth; +try { + if (!fs.existsSync(KEY_FILE_PATH)) { + throw new Error(`Service account key file not found at path: ${KEY_FILE_PATH}`); + } + const keyFileContent = fs.readFileSync(KEY_FILE_PATH, 'utf8'); + const credentials = JSON.parse(keyFileContent); + + auth = new JWT({ + email: credentials.client_email, + key: credentials.private_key, + scopes: SCOPES, + }); +} catch (error) { + console.error('FATAL ERROR: Could not initialize Google Authentication.'); + console.error('Original error:', error.message); + process.exit(1); +} + +const app = express(); +const port = process.env.PORT || 3000; + +app.use(cors()); +app.use(express.json()); + + +// --- Google API Functions --- + +async function getAccessToken() { + const tokenResponse = await auth.getAccessToken(); + const accessToken = tokenResponse.token; + if (!accessToken) { + throw new Error('Failed to retrieve a valid access token'); + } + console.log('Successfully obtained Google API access token.'); + return accessToken; +} + +// Function to link a new persona +async function linkNewPersona(recallSessionId, persona, token) { + console.log(`Attempting to link persona '${persona}'...`); + const accessToken = await getAccessToken(); + const apiUrl = `https://games.googleapis.com/games/v1/recall:linkPersona`; + + try { + await axios.post(apiUrl, { + token: token, + persona: persona, + // cardinality_constraint: 'ONE_TOKEN_PER_PERSONA_PER_GAME', + conflicting_links_resolution_policy: 'CREATE_NEW_LINK' + }, { + headers: { + 'Authorization': `Bearer ${accessToken}`, + 'Content-Type': 'application/json' + }, + params: { + sessionId: recallSessionId + } + }); + console.log(`Successfully linked persona '${persona}'.`); + return true; + } catch (error) { + console.error('Error calling Google Link Persona API:', error.response ? JSON.stringify(error.response.data, null, 2) : error.message); + throw new Error('Failed to link new persona.'); + } +} + + +// --- Routes --- +app.get('/', (req, res) => { + res.send('Node.js server for Unity Recall API is running!'); +}); + + +app.post('/recall-session', async (req, res) => { + console.log('\nReceived a request on /recall-session'); + const { token: recallSessionId } = req.body; + + if (!recallSessionId) { + return res.status(400).json({ status: 'error', message: 'No session ID provided.' }); + } + + try { + const accessToken = await getAccessToken(); + const encodedSessionId = encodeURIComponent(recallSessionId); + const apiUrl = `https://games.googleapis.com/games/v1/recall/tokens/${encodedSessionId}`; + + const response = await axios.get(apiUrl, { + headers: { 'Authorization': `Bearer ${accessToken}` }, + // Important: Expect a 404 if no tokens are found, don't treat it as an error + validateStatus: (status) => (status >= 200 && status < 300) || status === 404, + }); + + if (response.status === 404 || !response.data.tokens || response.data.tokens.length === 0) { + console.log('No tokens found for session. This is a new player.'); + return res.status(200).json({ status: 'NewPlayer' }); + } + + const playerRecallToken = response.data.tokens[0].token; + console.log(`Found recall token: ${playerRecallToken}`); + + if (playerDatabase.has(playerRecallToken)) { + const playerData = playerDatabase.get(playerRecallToken); + console.log('Player found in database. Sending data to client.'); + // ***MODIFIED***: Send the playerRecallToken back to the client + res.status(200).json({ status: 'AccountFound', playerData, playerRecallToken }); + } else { + console.warn('Orphaned token found. Google has a link, but DB has no record.'); + res.status(200).json({ status: 'NewPlayer', message: 'Orphaned token detected.' }); + } + + } catch (error) { + console.error('An error occurred during the recall process:', error.message); + res.status(500).json({ status: 'error', message: 'An internal server error occurred.' }); + } +}); + + +app.post('/create-account', async (req, res) => { + console.log('\nReceived a request on /create-account'); + const { recallSessionId, username, coinsOwned, distanceTraveled } = req.body; + + if (!recallSessionId || !username) { + return res.status(400).json({ status: 'error', message: 'Session ID and username are required.' }); + } + + try { + // 1. Generate a new unique token for our database. UUID is a good choice. + const newRecallToken = uuidv4(); + // 2. The persona should be a stable, non-sensitive identifier. We'll use the token itself. + const newPersona = newRecallToken; + + // 3. Link the persona on Google's side + await linkNewPersona(recallSessionId, newPersona, newRecallToken); + + // 4. Create the player record in our database + const newPlayerData = { + username: username, + coinsOwned: parseInt(coinsOwned, 10), // Ensure types are correct + distanceTraveled: parseFloat(distanceTraveled), // Ensure types are correct + createdAt: new Date().toISOString() + }; + playerDatabase.set(newRecallToken, newPlayerData); + + console.log(`Successfully created and linked account for ${username}.`); + + // 5. Send the new player data back to the client + // ***MODIFIED***: Send the newRecallToken back to the client + res.status(201).json({ status: 'AccountCreated', playerData: newPlayerData, playerRecallToken: newRecallToken }); + + } catch (error) { + console.error('An error occurred during account creation:', error.message); + res.status(500).json({ status: 'error', message: 'Failed to create account.' }); + } +}); + + +app.post('/update-progress', (req, res) => { + console.log('\nReceived a request on /update-progress'); + const { playerRecallToken, distanceTraveled } = req.body; + + if (!playerRecallToken || distanceTraveled === undefined) { + return res.status(400).json({ status: 'error', message: 'playerRecallToken and distanceTraveled are required.' }); + } + + if (playerDatabase.has(playerRecallToken)) { + const playerData = playerDatabase.get(playerRecallToken); + playerData.distanceTraveled = parseFloat(distanceTraveled); + playerDatabase.set(playerRecallToken, playerData); // Update the record in the map + + console.log(`Updated distance for ${playerData.username} to ${playerData.distanceTraveled}`); + res.status(200).json({ status: 'ProgressUpdated', message: `Distance updated for ${playerData.username}.` }); + } else { + console.warn(`Attempted to update progress for an unknown token: ${playerRecallToken}`); + res.status(404).json({ status: 'error', message: 'Player token not found. Cannot update progress.' }); + } +}); + + +// --- Server Activation --- +app.listen(port, () => { + console.log(`Server listening at http://localhost:${port}`); +}); \ No newline at end of file diff --git a/trivialkart/trivialkart-unity/Assets/Editor/EditorMenuBuildOptions.cs b/trivialkart/trivialkart-unity/Assets/Editor/EditorMenuBuildOptions.cs index d4f77ebe..c040484b 100644 --- a/trivialkart/trivialkart-unity/Assets/Editor/EditorMenuBuildOptions.cs +++ b/trivialkart/trivialkart-unity/Assets/Editor/EditorMenuBuildOptions.cs @@ -27,13 +27,25 @@ public static class EditorMenuBuildOptions "TrivialKart/BuildOptions/Build with Google Play Games Services"; private const string PLAY_INTEGRITY_MENU_NAME = "TrivialKart/BuildOptions/Build with Play Integrity"; + private const string RECALL_API_MENU_NAME = + "TrivialKart/PlayGameServices/Recall API"; private static BuildMenuItem _iapItem; private static BuildMenuItem _playGamesPCItem; private static BuildMenuItem _playGamesServicesItem; private static BuildMenuItem _playIntegrityItem; + private static BuildMenuItem _recallAPI; private static IList _buildItems; + + private static readonly HashSet AllManagedDirectives = new HashSet() + { + "USE_IAP", "NO_IAP", + "PLAY_GAMES_PC", + "PLAY_GAMES_SERVICES", + "PLAY_INTEGRITY", + "RECALL_API" + }; // InitializeOnLoad attribute means this is called on load static EditorMenuBuildOptions() @@ -46,13 +58,16 @@ static EditorMenuBuildOptions() EditorPrefs.GetBool(PLAY_GAMES_SERVICES_MENU_NAME, false), "PLAY_GAMES_SERVICES"); _playIntegrityItem = new BuildMenuItem(PLAY_INTEGRITY_MENU_NAME, EditorPrefs.GetBool(PLAY_INTEGRITY_MENU_NAME, false), "PLAY_INTEGRITY"); + _recallAPI = new BuildMenuItem(RECALL_API_MENU_NAME, + EditorPrefs.GetBool(RECALL_API_MENU_NAME, false), "RECALL_API"); _buildItems = new List() { _iapItem, _playGamesPCItem, _playGamesServicesItem, - _playIntegrityItem + _playIntegrityItem, + _recallAPI }; // Delaying until first editor tick so that the menu @@ -95,7 +110,16 @@ private static void TogglePlayGamesPCAction() private static void TogglePlayGamesServicesAction() { // Toggling action - PerformAction(_playGamesServicesItem); + _playGamesServicesItem.IsEnabled = !_playGamesServicesItem.IsEnabled; + UpdateMenu(_playGamesServicesItem); + + if (!_playGamesServicesItem.IsEnabled && _recallAPI.IsEnabled) + { + _recallAPI.IsEnabled = false; + UpdateMenu(_recallAPI); + } + + SetBuildDirectives(); } [MenuItem(PLAY_INTEGRITY_MENU_NAME)] @@ -105,6 +129,30 @@ private static void TogglePlayIntegrityAction() PerformAction(_playIntegrityItem); } + [MenuItem(RECALL_API_MENU_NAME)] + private static void ToggleRecallAPIAction() + { + if (_playGamesServicesItem.IsEnabled) + { + _recallAPI.IsEnabled = !_recallAPI.IsEnabled; + UpdateMenu(_recallAPI); + SetBuildDirectives(); + } + } + + [MenuItem(RECALL_API_MENU_NAME, true)] + private static bool ValidateRecallAPIAction() + { + // This can be called before the static constructor finishes + if (_playGamesServicesItem == null) + { + // Fallback to reading the preference directly + return EditorPrefs.GetBool(PLAY_GAMES_SERVICES_MENU_NAME, false); + } + // Enable the "Recall API" option only if "Play Games Services" is enabled + return _playGamesServicesItem.IsEnabled; + } + private static void PerformAction(BuildMenuItem buildItem) { buildItem.IsEnabled = !buildItem.IsEnabled; @@ -114,22 +162,43 @@ private static void PerformAction(BuildMenuItem buildItem) private static void SetBuildDirectives() { - int defineCount = 0; - string defineString = ""; + var activeBuildTargetGroup = EditorUserBuildSettings.selectedBuildTargetGroup; + +#if UNITY_2021_3_OR_NEWER + var activeBuildTarget = UnityEditor.Build.NamedBuildTarget.FromBuildTargetGroup(activeBuildTargetGroup); + var currentDefinesArray = PlayerSettings.GetScriptingDefineSymbols(activeBuildTarget).Split(';'); +#else + currentDefinesArray = PlayerSettings.GetScriptingDefineSymbolsForGroup(activeBuildTargetGroup).Split(';'); +#endif + + var defines = new HashSet( + currentDefinesArray + .SelectMany(s => s.Split(';')) + .Where(s => !string.IsNullOrEmpty(s)) + ); + + defines.ExceptWith(AllManagedDirectives); + foreach (BuildMenuItem buildItem in _buildItems) { - if (!string.IsNullOrEmpty(buildItem.GetDirective)) + if (buildItem == _recallAPI && !_playGamesServicesItem.IsEnabled) { - if (defineCount > 0) - { - defineString += ";"; - } - Debug.Log(buildItem.GetDirective); - defineString += buildItem.GetDirective; - ++defineCount; + continue; + } + + string activeDirective = buildItem.GetDirective; + if (!string.IsNullOrEmpty(activeDirective)) + { + defines.Add(activeDirective); } } - PlayerSettings.SetScriptingDefineSymbolsForGroup(BuildTargetGroup.Android, - defineString); + + var newDefines = defines.ToArray(); + +#if UNITY_2021_3_OR_NEWER + PlayerSettings.SetScriptingDefineSymbols(activeBuildTarget, newDefines); +#else + PlayerSettings.SetScriptingDefineSymbolsForGroup(activeBuildTargetGroup, string.Join(";", newDefines)); +#endif } -} +} \ No newline at end of file diff --git a/trivialkart/trivialkart-unity/Assets/ExternalDependencyManager.meta b/trivialkart/trivialkart-unity/Assets/ExternalDependencyManager.meta new file mode 100644 index 00000000..4c69b98a --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/ExternalDependencyManager.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 75910e320723f43aaa619541d46218d6 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/trivialkart/trivialkart-unity/Assets/ExternalDependencyManager/Editor.meta b/trivialkart/trivialkart-unity/Assets/ExternalDependencyManager/Editor.meta new file mode 100644 index 00000000..575465d3 --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/ExternalDependencyManager/Editor.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: a7a13b14d6166476dbe24ca370b83a60 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/trivialkart/trivialkart-unity/Assets/ExternalDependencyManager/Editor/1.2.182.meta b/trivialkart/trivialkart-unity/Assets/ExternalDependencyManager/Editor/1.2.182.meta new file mode 100644 index 00000000..0f6d3ccd --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/ExternalDependencyManager/Editor/1.2.182.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 6df2eb9fae478460694d488357bb7852 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/trivialkart/trivialkart-unity/Assets/ExternalDependencyManager/Editor/1.2.182/Google.IOSResolver.dll b/trivialkart/trivialkart-unity/Assets/ExternalDependencyManager/Editor/1.2.182/Google.IOSResolver.dll new file mode 100755 index 0000000000000000000000000000000000000000..0b15851af1c5fffcf293999414b4ae0c99cd8170 GIT binary patch literal 74240 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�FZP7J-5`bQ`X#JqMs)KsnqMHUK0KH?; zKPzv^?WjH!w8DFHwxyEMkTU(uVnx#(Mo>ecg=@8uS#Zv?GYZ}++;w@{tnHa<%Fv5}wTmZ|OCiB_wwqcB!c zy9L#&%30rl)-RW|b?U59pL%<#xq?h-_EM_^nRND2o;(RfG`W}R(14y#?xji_Py%Mf zI|P}$_faPdP1Q_Od3{tY&TjBk-q$BMNqtl=i_$wjuKTK~g6h51x!%0KYN?~mZE`CB=XV1vaD_47q40^Dz z%v-JwT6AOKVO^oV5wzMH=$wEx(w{9lqw`!fP`QigZ-q*kdN6*V+F?;9&>(e4&}#2h zT@r8_xK8%iR(tEZ%vD2F2RZ(@+IzGp0cf~I|1O$~x2l5{!^ktY@YtiaH zTT_Oq`ve(z4pWCLqRfV=pDdz0hbdnV$)D;yC@=3cb8?w>bG?d&C? zh=z<&&l}{e9&=yr7Mz#wnL&^T)p}h0d;(WD$!p6N&PmZ|Rrtx(wr zbD8>P2>q>4R|3_lrC3)D#jsrcWD#SyP|Z1wG!w%Lwag$@SN0NoKZ>;}=JweZALgx8 z#{_LqpZLGZTh%1DtJQxi$!Xex)hY!$0`iJ^$}f4V)eb@Xlq#E;yGC^wN!kYNdh7g4 z)mDq9l&9ohrFL6XQr0$zS>D^!F^g9FF_Td4Du%gF#bHluyP6|twc0p&bpCd=M$lgMVLWDv zYU(739eJEtZniYn>_zzx zs6$g2<_gtj_^SLz)TpUM>(siWEAk&z>n*CRT$lft%AICtn@V58n>D*<7_?%-w)~xH z{pmz2RMdcn@^>i=90dI~`T6{3RKfzH)yh9$fBqgdPS6U~C4GPXK2@>MaGsTSDE|d@ zwM82`AB=xRePhx0#RubGRVim0&YP;f$=|OI30mjvKW2O68>-DB($=Y($v5M5!xm>5 zbf{vR`=B~x(XL)pmU^MxVYQe(f6=LKz0 zuBw>@U#j^R8Gol&1q!}WZB`nTUA45}YqdtuI`vxbEjX)vm!-Xxxy}8pTC&=3CLu@v zX%gS}3RMt)>%1+x9@gKhQI{GNS4y1!sT1w`gJ67JNN) z-(?J?UX3WI)c;jS1g%qV_59TPlgeFdX!R|K)?0LL&LssuHA&eoYOA4ne`$YJ!7u8F zpbg&3Qq}_{T)|K_cy9puRaFS8S2r)*TJW2?+S1}uw@02-yDd6j(D4v0jkJU-O(=H@ zDz@mpK4spMs-HzS^f|2mP*blmoKyOidH+z0E$Y=5tNc2*-q21W6s4zHl-q)+&Z1XS zZY@xHheaoVv_5W8S@Q=99Np#`6UrDMmmXzN%*?~ut$(s;P4g!U+&X)m;oJrkp=VlD zKmV}y=zi--TjzZ(ts{>s0$$Eeq51H(L$o52sh^R(jcu20fILS=dHjXHk#jPrdE**A~S! z&naxDf3m2o*QeeNdek=Kuk8e)5a*)iMTH&oc1z2f`KdQu|6x&dM(@IO9eb1US2Si| zVJD5|2!HizT8_IgQ`cEEFX>ZnXWil!(l)5q@eaTqC55?q?QP_&S2bg| zM;7WwEo$FmMPZ@7db^>G0xH$VELsfIOLw@#&|0QnS=dj{yvv~eMW1@h_0@tlDBX|f zW{YkR+7ZjSFRv!0Tz9#f{x+yrP<|CU&!T!kWfpD1Y@$L}2&z|Cj@(pOq3bMde&y|j z1NC-``d8gvI7mM)2-RThuEN23_&tnaoqB!DD}_V!)cXwje9W%GVfvc~h&HG<5W{JD z*@K35?UbX1r|I7;>elnu!qIxoLxz?;B{6TDzSW{WQ$F>M(>pBc+MMV&i$;y}f^+R7 z#@~WTPSH4h;!%Sh9yPFVyq@_OQN3zAIJIbk=0h<=?!oCrlk@>W>r}zeSMsLniYG{0 zr*bQDi>7PePJ=QldKAsjJ9ZJ7k-%)dOVB#?^SDpFv-J^!yrT!yq|DYSPl`Wp>45E# zb9Avq5$$VI=IG%TebsJzb(y~@(sly8qbL*Hs?o{=>vXXu@l_Qi

?D=a#6 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%0A~q9Nnj7 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 literal 0 HcmV?d00001 diff --git a/trivialkart/trivialkart-unity/Assets/ExternalDependencyManager/Editor/1.2.182/Google.PackageManagerResolver.dll.meta b/trivialkart/trivialkart-unity/Assets/ExternalDependencyManager/Editor/1.2.182/Google.PackageManagerResolver.dll.meta new file mode 100644 index 00000000..6f82de2f --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/ExternalDependencyManager/Editor/1.2.182/Google.PackageManagerResolver.dll.meta @@ -0,0 +1,32 @@ +fileFormatVersion: 2 +guid: 4026c19ba8ec495f93f5919b5f2934ee +labels: +- gvh +- gvh_version-1.2.182 +- gvhp_exportpath-ExternalDependencyManager/Editor/1.2.182/Google.PackageManagerResolver.dll +- gvhp_targets-editor +PluginImporter: + externalObjects: {} + serializedVersion: 3 + iconMap: {} + executionOrder: {} + defineConstraints: [] + isPreloaded: 0 + isOverridable: 0 + isExplicitlyReferenced: 0 + validateReferences: 1 + platformData: + Any: + enabled: 0 + settings: {} + Editor: + enabled: 1 + settings: + DefaultValueInitialized: true + WindowsStoreApps: + enabled: 0 + settings: + CPU: AnyCPU + userData: + assetBundleName: + assetBundleVariant: diff --git a/trivialkart/trivialkart-unity/Assets/ExternalDependencyManager/Editor/1.2.182/Google.VersionHandlerImpl.dll b/trivialkart/trivialkart-unity/Assets/ExternalDependencyManager/Editor/1.2.182/Google.VersionHandlerImpl.dll new file mode 100755 index 0000000000000000000000000000000000000000..53c60b2ff8d838c295f8f9ef1cd2894cf279d899 GIT binary patch literal 119296 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 nTcnMBw$XkWXg static` will be added to `Podfile` by + default instead of `use_frameworks!`. This can be changed in iOS Resolver + settings. This fixes odd behaviors when pods include static libraries, ex. + Firebase Analytics. +* iOS Resolver - Added a workaround when app crashes on launch due to + `Library not loaded: @rpath/libswiftCore.dylib` when some pods includes Swift + framework. This is turned `OFF` by default and can be changed in iOS Resolver + settings. + +# Version 1.2.169 - Jan 20, 2022 +* General - Fixes #425 - Change to save `GvhProjectSettings.xml` without + Unicode byte order mark (BoM). +* Android Resolver - Remove reference to `jcenter()` +* iOS Resolver - Force setting `LANG` when executing Cocoapods in shell mode on + Mac. + +# Version 1.2.168 - Dec 9, 2021 +* All - Fixes #472 by removing the use of `System.Diagnostics.Debug.Assert` +* All - Fixed #477 by properly enabling EDM4U libraries for Unity 2021.2+ when + the package is installed through `.tgz` + +# Version 1.2.167 - Oct 6, 2021 +* All - Moved versioned `.dll` in EDM4U to a versioned folder and remove their + version postfix in their filename. For instance, `IOSResolver.dll` will be + placed at `ExternalDependencyManager/Editor/1.2.167/Google.IOSResolver.dll`. +* Android Resolver - Fixed #243 by only using the highest version in + `mainTemplate.gradle` when duplicated dependencies are presented. +* Android Resolver - Added supports to x86_64 to ABI list for Android apps on + Chrome OS. + +# Version 1.2.166 - Jun 30, 2021 +* All - Fixed #440 and fixed #447 by specifying the parameter type while calling + `GetApplicationIdentifier()` Unity API using reflection, due to a new + overloaded method introduced in Unity 2021.2. +* Android Resolver - Fixed #442 by patching `Dependency.IsGreater()` when the + version strings end '+'. + +# Version 1.2.165 - Apr 28, 2021 +## Bug Fixes +* Version Handler - Fixed #431 by replacing the use of `HttpUtility.UrlEncode()` + which causes NullReferenceException in certain version of Unity. +* Android Resolver - Check that androidSdkRootPath directory exists before using + as sdkPath. +* Android Resolver - Fixed Android Resolver integration tests with Unity + 2019.3+. + +# Version 1.2.164 - Feb 4, 2021 +## New Features +* Android Resolver - Added support for Android packages with classifier in their + namespaces. +* iOS Resolver - Added new settings in iOS Resolver to configure generated + Podfile. +* iOS Resolver - Added a new attribute `addToAllTargets` in Dependencies.xml. + +## Bug Fixes +* iOS Resolver - Fixed XML parsing for `bitcodeEnabled` attribute in + Dependencies.xml. + +# Version 1.2.163 - Dec 15, 2020 +## Bug Fixes +* Version Handler - Fixed measurement reporting + +# Version 1.2.162 - Nov 19, 2020 +## Bug Fixes +* Version Handler - Improved #413 by preventing Version Handler from running + from static constructor when it is disabled. +* Package Manager Resolver - Remove GPR + +# Version 1.2.161 - Oct 12, 2020 +## Bug Fixes +* Android Resolver - Fixed the issue that Android Resolver does not resolve + again before build in Unity 2020 if it failed to resolve previously. + +# Version 1.2.160 - Sep 30, 2020 +## Bug Fixes +* Android Resolver - Fixed a regression that gradleResolver can be null until + Initialize() is called. +* Android Resolver - Fixed a regression that Android Resolver failed in Unity + 2019.3+ due to `gradleTemplate.properties` not enabled when + `mainTemplate.gradle` is not enabled at all. + +# Version 1.2.159 - Sep 11, 2020 +## Bug Fixes +* Android Resolver - Fixed #322 where the Unity editor will lose its target SDK + setting between Unity restarts if `>28` is selected in 2019. This is due to + Unity AndroidSdkVersions enum does not contain values above 28. +* Android Resolver - Fixed #360 where building Android app with Untiy 2019.3+ + may fail due to Jetifier and AndroidX not enabled properly in generated + Gradle project. This fix requires the user to enable + `Custom Gradle Properties Template` found under + `Player Settings > Settings for Android > Publishing Settings`. + +# Version 1.2.158 - Sep 3, 2020 +## Bug Fixes +* Version Handler: Fixed editor freeze when `-executeMethod` is used in + non-batch mode. +* Android Resolver: Normalized file paths when generating local Maven repo + since the path may contains a mix of forward and backward slash on Windows. +* Export Unity Package: Fixed generation of .unitypackage with tarfile on + Windows. + +# Version 1.2.157 - Aug 6, 2020 +## Bug Fixes +* Android Resolver: Delay initialization until active build target is Android + and the editor is not in play mode. +* iOS Resolver: Delay initialization until active build target is iOS + and the editor is not in play mode. +* Export Unity Package: Workaround directory creation racy if multiple export + operations are spawned at the same time. + +# Version 1.2.156 - June 10, 2020 +## Bug Fixes +* Android Resolver: Fixed that the generated local repo assets contains + redundent labels which are causing Version Handler to failed while + uninstalling packages. +* Android Resolver: Fixed that the repo url injected into mainTemplate.gradle + is incorrect when Unity is configured to export gradle project. +* Android Resolver: Limited to only create local Maven repo when the source + repo contains ".srcaar" file. + +## Changes +* All: Described EDM4U analytics data usage in readme. + +# Version 1.2.155 - May 14, 2020 +## Bug Fixes +* All: Fixed compiler error when build with Unity 5.4 or below due to the + usage of Rect.zero. +* All: Ignore cases when checking command line arguments. + +# Version 1.2.154 - May 14, 2020 +## Bug Fixes +* All: Make each MultiSelectWindow for different purposes to have its own + unique window. + +## Changes +* All: Replace all dialog with DialogWindow which is implemented from + EditorWindow. +* Package Manager Resolver: Clarify how manifest.json will be changed in Package + Manager Resolver window. + +# Version 1.2.153 - Apr 24, 2020 +## Bug Fixes +* Android Resolver: Fixed an exception when repainting the Android resolution + window in Unity 2019.3.x. + +# Version 1.2.152 - Apr 17, 2020 +## Bug Fixes +* Version Handler: Fixed exception when waiting for enabled editor DLLs to + load. +* Android Resolver: Fixed regression when using a Custom Gradle Template + on Windows. + +# Version 1.2.151 - Apr 16, 2020 +## Bug Fixes +* Version Handler: When waiting for newly enabled editor DLLs to load, ignore + all DLLs that do not have a file-system location. +* Android Resolver: Fixed resolution when using a Custom Gradle Template with + libraries stored in a local maven repository distributed with a plugin + installed with the Unity Package Manager. + +# Version 1.2.150 - Apr 9, 2020 +## Bug Fixes +* All: The new packaging script when run on MacOS was generating a + .unitypackage archive that could not be read by Unity on Windows. + This release simply repackages the plugin with tar/gzip to fix the problem. + +# Version 1.2.149 - Apr 8, 2020 +## Bug Fixes +* Package Manager Resolver: Fixed spurious error message when resuming + migration after installing a UPM package. + +# Version 1.2.148 - Apr 8, 2020 +## Bug Fixes +* Package Manager Resolver: Fixed an exception when resuming migration + after installing a UPM package. + +# Version 1.2.147 - Apr 8, 2020 +## Bug Fixes +* Version Handler: Fixed alias traversal bug which caused problems when + migrating from installed .unitypackage files to UPM packages. + +# Version 1.2.146 - Apr 8, 2020 +## Bug Fixes +* Version Handler: Fixed exception in manifest parsing when a manifest is + detected with no aliases. + +# Version 1.2.145 - Apr 2, 2020 +## New Features +* Package Manager Resolver: Added a method to migrate Version Handler + managed packages installed via `.unitypackage` to Unity Package Manager + packages. This is initially used to migrate the External Dependency Manager + to UPM. + +## Changes +* All: Verbose logging is now no longer automatically enabled in batch mode + across all components. Instead logging can be configured using each + component's verbose logging setting or by using the `-gvh_log_debug` command + line flag when starting Unity. +* Version Handler: Sped up version handler updates when the app domain isn't + reloaded. + +## Bug Fixes +* Version Handler: Fixed the display of the obsolete files clean up dialog + when the asset database refreshes. +* Version Handler: Improved reliability of callback from + the VersionHandler.UpdateCompleteMethods event when an asset database + refresh occurs. +* Version Handler: Fixed duplicate exportPath labels when 'Assets/' is the + root of paths assigned to files. +* Version Handler: Handle empty lines in manifest files. + +# Version 1.2.144 - Mar 23, 2020 +## Changed +* iOS Resolver: Removed the ability to configure the Xcode target a Cocoapod + is added to. + +## Bug Fixes +* iOS Resolver: Reverted support for adding Cocoapods to multiple targets as + it caused a regression (exception thrown during post-build step) in some + versions of Unity. + +# Version 1.2.143 - Mar 20, 2020 +## Bug Fixes +* Android Resolver: Fixed caching of resolution state which was causing + the resolver to always run when no dependencies had changed. + +# Version 1.2.142 - Mar 19, 2020 +## Changes +* Package Manager Resolver: Enabled auto-add by default. + +# Version 1.2.141 - Mar 19, 2020 +## Bug Fixes +* Fixed a bug when retrieving project settings. If a plugin was configured + to fetch project settings, if a setting was fetched (e.g "foo") and this + setting existed in the system settings but not the project settings the + system value would override the default value leading to unexpected + behavior. +* Fixed a warning when caching web request classes in Unity 5.6. + +# Version 1.2.140 - Mar 19, 2020 +## Bug Fixes +* Fixed measurement reporting in Unity 5.x. +* Version Handler: Fixed NullReferenceException when an asset doesn't have + an AssetImporter. + +# Version 1.2.139 - Mar 18, 2020 +## Changed +* Added documentation to the built plugin. + +# Version 1.2.138 - Mar 17, 2020 +## New Features +* Package Manager Resolver: Added the Package Manager Resolver + component that allows developers to easily boostrap Unity Package Manager + (UPM) registry addition using unitypackage plugins. +* Version Handler: Added a window that allows plugins to managed by the + Version Handler to be uninstalled. +* Version Handler: Added support for displaying installed plugins. +* Version Handler: Added support for moving files in plugins to their install + locations (if the plugin has been configured to support this). +* iOS Resolver: Added the ability to configure the Xcode target a Cocoapod is + added to. + +## Bug Fixes +* Fixed upgrade from version 1.2.137 and below after the plugin rename to + EDM4U broke the upgrade process. +* Android Resolver: Worked around PlayerSettings.Android.targetSdkVersion + returning empty names for some values in 2019.x. +* Version Handler: Fixed the display of the obsolete files clean up window. +* Version Handler: Fixed managed file check when assets are modified in the + project after plugin import. + +# Version 1.2.137 - Mar 6, 2020 +## Changed +* Renamed package to External Package Manager for Unity (EDM4U). + We changed this to reflect what this plugin is doing today which is far more + than the original scope which just consisted of importing jar files from the + Android SDK maven repository. + Scripts that used to pull `play-services-resolver*.unitypackage` will now have + to request `external-dependency-manager*.unitypackage` instead. + We'll still be shipping a `play-services-resolver*_manifest.txt` file to + handle upgrading from older versions of the plugin. + +## New Features +* All Components: Added reporting of usage so that we can remotely detect + errors and target improvements. +* Android Resolver: Added support for *Dependencies.xml files in Unity Package + Manager packages. +* iOS Resolver: Added support for *Dependencies.xml files in Unity Package + Manager packages. + +## Bug Fixes +* Version Handler: Disabled attempts to disable asset metadata modification + when assets are in a Unity Package Manager managed package. + +# Version 1.2.136 - Feb 19, 2019 +## Bug Fixes +* Android Resolver: Fixed OpenJDK path discovery in Unity 2019.3.1. + +# Version 1.2.135 - Dec 5, 2019 +## Bug Fixes +* All Components: Fixed stack overflow when loading project settings. + +# Version 1.2.134 - Dec 4, 2019 +## Bug Fixes +* All Components: Fixed an issue which caused project settings to be cleared + when running in batch mode. + +# Version 1.2.133 - Nov 18, 2019 +## Bug Fixes +* All Components: Failure to save project settings will now report an error + to the log rather than throwing an exception. + +# Version 1.2.132 - Nov 11, 2019 +## Bug Fixes +* Android Resolver: Worked around expansion of DIR_UNITYPROJECT on Windows + breaking Gradle builds when used as part of a file URI. +* Android Resolver: mainTemplate.gradle is only written if it needs to be + modified. + +# Version 1.2.131 - Oct 29, 2019 +## Bug Fixes +* Version Handler: Improved execution of events on the main thread in batch + mode. +* Version Handler: Improved log level configuration at startup. +* Version Handler: Improved performance of class lookup in deferred method + calls. +* Version Handler: Fixed rename to enable / disable for editor assets. +* iOS Resolver: Improved log level configuration at startup. +* Android Resolver: Improved local maven repo path reference in + mainTemplate.gradle using DIR_UNITYPROJECT. DIR_UNITYPROJECT by Unity + to point to the local filesystem path of the Unity project when Unity + generates the Gradle project. + +# Version 1.2.130 - Oct 23, 2019 +## New Features +* iOS Resolver: Added support for modifying the Podfile before `pod install` + is executed. + +## Bug Fixes +* Version Handler: Fixed invalid classname error when calling + `VersionHandler.UpdateVersionedAssets()`. + +# Version 1.2.129 - Oct 2, 2019 +## Bug Fixes +* iOS Resolver: Changed Cocoapod integration in Unity 2019.3+ to + only add Pods to the UnityFramework target. + +# Version 1.2.128 - Oct 1, 2019 +## Bug Fixes +* iOS Resolver: Fixed Cocoapod project integration mode with Unity + 2019.3+. + +# Version 1.2.127 - Sep 30, 2019 +## Changes +* Android Resolver: All Android Resolver settings File paths are now + serialized with POSIX directory separators. + +# Version 1.2.126 - Sep 27, 2019 +## Changes +* Android Resolver: File paths are now serialized with POSIX directory + separators. +## Bug Fixes +* Android Resolver: Fixed resolution when the parent directory of a Unity + project contains a Gradle project (i.e `settings.gradle` file). + +# Version 1.2.125 - Sep 23, 2019 +## Bug Fixes +* All components: Silenced a warning about not being able to set the console + encoding to UTF8. +* Android Resolver: Worked around broken AndroidSDKTools class in some + versions of Unity. +* iOS Resolver: Fixed iOS target SDK version check +* Version Handler: Changed clean up obsolete files window so that it doesn't + exceed the screen size. + +# Version 1.2.124 - Jul 28, 2019 +## Bug Fixes +* All components: Fixed regression with source control integration when using + Unity 2019.1+. + +# Version 1.2.123 - Jul 23, 2019 +## New Features +* All components: Source control integration for project settings. +## Changes +* Android Resolver: Removed AAR cache as it now makes little difference to + incremental resolution performance. +* Android Resolver: Improved embedded resource management so that embedded + resources should upgrade when the plugin is updated without restarting + the Unity editor. +## Bug Fixes +* Version Handler: Fixed InvokeMethod() and InvokeStaticMethod() when calling + methods that have interface typed arguments. + +# Version 1.2.122 - Jul 2, 2019 +## Bug Fixes +* iOS Resolver: Worked around Unity not loading the iOS Resolver DLL as it + referenced the Xcode extension in a public interface. The iOS Resolver + DLL still references the Xcode extension internally and just handles + missing type exceptions dynamically. + +# Version 1.2.121 - Jun 27, 2019 +## Bug Fixes +* Android Resolver: Fixed warning about missing Packages folder when loading + XML dependencies files in versions of Unity without the package manager. +* Android Resolver: Fixed resolution window progress bar exceeding 100%. +* Android Resolver: If AndroidX is detected in the set of resolved libraries, + the user will be prompted to enable the Jetifier. +* Android Resolver: Improved text splitting in text area windows. +* iOS Resolver: Added support for Unity's breaking changes to the Xcode API + in 2019.3.+. Cocoapods are now added to build targets, Unity-iPhone and + UnityFramework in Unity 2019.3+. + +# Version 1.2.120 - Jun 26, 2019 +## New Features +* Android Resolver: Added support for loading *Dependencies.xml files from + Unity Package Manager packages. +* Android Resolver: Resolution window is now closed if resolution runs as + a pre-build step. +* iOS Resolver: Added support for loading *Dependencies.xml files from + Unity Package Manager packages. +## Bug Fixes +* Android Resolver: Fixed generation of relative repo paths when using + mainTemplate.gradle resolver. +* Android Resolver: Fixed copy of .srcaar to .aar files in repos embedded in a + project when a project path has characters (e.g whitespace) that are escaped + during conversion to URIs. +* Android Resolver: Fixed auto-resolution always running if the Android SDK + is managed by Unity Hub. + +# Version 1.2.119 - Jun 19, 2019 +## Bug Fixes +* Android Resolver: Fixed error reported when using Jetifier integration + in Unity 2018+ if the target SDK is set to "highest installed". + +# Version 1.2.118 - Jun 18, 2019 +## New Features +* Android Resolver: Added initial + [Jetifier](https://developer.android.com/studio/command-line/jetifier) + integration which simplifies + [migration](ttps://developer.android.com/jetpack/androidx/migrate) + to Jetpack ([AndroidX](https://developer.android.com/jetpack/androidx)) + libraries in cases where all dependencies are managed by the Android + Resolver. + This can be enabled via the `Use Jetifier` option in the + `Assets > Play Services Resolver > Android Resolver > Settings` menu. + Caveats: + - If your project contains legacy Android Support Library .jar and .aar + files, these files will need to be removed and replaced with references to + artifacts on Maven via `*Dependencies.xml` files so that the Jetifier + can map them to Jetpack (AndroidX) libraries. + For example, remove the file `support-v4-27.0.2.jar` and replace it with + `` in a + `*Dependencies.xml` file. + - If your project contains .jar or .aar files that use the legacy Android + Support Libraries, these will need to be moved into a local Maven repo + [See this guide](https://maven.apache.org/guides/mini/guide-3rd-party-jars-local.html) + and then these files should be removed from your Unity project and instead + referenced via `*Dependencies.xml` files so that the Jetifier can + patch them to reference the Jetpack lirbaries. + +## Bug Fixes +* Android Resolver: Disabled version locking of com.android.support:multidex + does not use the same versioning scheme as other legacy Android support + libraries. +* Version Handler: Made Google.VersionHandler.dll's asset GUID stable across + releases. This faciliates error-free import into projects where + Google.VersionHandler.dll is moved from the default install location. + +# Version 1.2.117 - Jun 12, 2019 +## Bug Fixes +* Android Resolver: Fix copying of .srcaar to .aar files for + mainTemplate.gradle resolution. PluginImporter configuration was previously + not being applied to .aar files unless the Unity project was saved. + +# Version 1.2.116 - Jun 7, 2019 +## Bug Fixes +* Android Resolver: Fixed resolution of Android dependencies without version + specifiers. +* Android Resolver: Fixed Maven repo not found warning in Android Resolver. +* Android Resolver: Fixed Android Player directory not found exception in + Unity 2019.x when the Android Player isn't installed. + +# Version 1.2.115 - May 28, 2019 +## Bug Fixes +* Android Resolver: Fixed exception due to Unity 2019.3.0a4 removing + x86 from the set of supported ABIs. + +# Version 1.2.114 - May 27, 2019 +## New Features +* Android Resolver: Added support for ABI stripping when using + mainTemplate.gradle. This only works with AARs stored in repos + on the local filesystem. + +# Version 1.2.113 - May 24, 2019 +## New Features +* Android Resolver: If local repos are moved, the plugin will search the + project for matching directories in an attempt to correct the error. +* Version Handler: Files can be now targeted to multiple build targets + using multiple "gvh_" asset labels. +## Bug Fixes +* Android Resolver: "implementation" or "compile" are now added correctly + to mainTemplate.gradle in Unity versions prior to 2019. + +# Version 1.2.112 - May 22, 2019 +## New Features +* Android Resolver: Added option to disable addition of dependencies to + mainTemplate.gradle. + See `Assets > Play Services Resolver > Android Resolver > Settings`. +* Android Resolver: Made paths to local maven repositories in + mainTemplate.gradle relative to the Unity project when a project is not + being exported. +## Bug Fixes +* Android Resolver: Fixed builds with mainTemplate.gradle integration in + Unity 2019. +* Android Resolver: Changed dependency inclusion in mainTemplate.gradle to + use "implementation" or "compile" depending upon the version of Gradle + included with Unity. +* Android Resolver: Gracefully handled exceptions if the console encoding + can't be modified. +* Android Resolver: Now gracefully fails if the AndroidPlayer directory + can't be found. + +# Version 1.2.111 - May 9, 2019 +## Bug Fixes +* Version Handler: Fixed invocation of methods with named arguments. +* Version Handler: Fixed occasional hang when the editor is compiling + while activating plugins. + +# Version 1.2.110 - May 7, 2019 +## Bug Fixes +* Android Resolver: Fixed inclusion of some srcaar artifacts in builds with + Gradle builds when using mainTemplate.gradle. + +# Version 1.2.109 - May 6, 2019 +## New Features: +* Added links to documentation from menu. +* Android Resolver: Added option to auto-resolve Android libraries on build. +* Android Resolver: Added support for packaging specs of Android libraries. +* Android Resolver: Pop up a window when displaying Android dependencies. + +## Bug Fixes +* Android Resolver: Support for Unity 2019 Android SDK and JDK install locations +* Android Resolver: e-enable AAR explosion if internal builds are enabled. +* Android Resolver: Gracefully handle exceptions on file deletion. +* Android Resolver: Fixed Android Resolver log spam on load. +* Android Resolver: Fixed save of Android Resolver PromptBeforeAutoResolution + setting. +* Android Resolver: Fixed AAR processing failure when an AAR without + classes.jar is found. +* Android Resolver: Removed use of EditorUtility.DisplayProgressBar which + was occasionally left displayed when resolution had completed. +* Version Handler: Fixed asset rename to disable when a disabled file exists. + +# Version 1.2.108 - May 3, 2019 +## Bug Fixes: +* Version Handler: Fixed occasional hang on startup. + +# Version 1.2.107 - May 3, 2019 +## New Features: +* Version Handler: Added support for enabling / disabling assets that do not + support the PluginImporter, based upon build target selection. +* Android Resolver: Added support for the global specification of maven repos. +* iOS Resolver: Added support for the global specification of Cocoapod sources. + +# Version 1.2.106 - May 1, 2019 +## New Features +* iOS Resolver: Added support for development pods in Xcode project integration + mode. +* iOS Resolver: Added support for source pods with resources in Xcode project + integration mode. + +# Version 1.2.105 - Apr 30, 2019 +## Bug fixes +* Android Resolver: Fixed reference to Java tool path in logs. +* Android and iOS Resolvers: Changed command line execution to emit a warning + rather than throwing an exception and failing, when it is not possible to + change the console input and output encoding to UTF-8. +* Android Resolver: Added menu option and API to delete resolved libraries. +* Android Resolver: Added menu option and API to log the repos and libraries + currently included in the project. +* Android Resolver: If Plugins/Android/mainTemplate.gradle file is present and + Gradle is selected as the build type, resolution will simply patch the file + with Android dependencies specified by plugins in the project. + +# Version 1.2.104 - Apr 10, 2019 +## Bug Fixes +* Android Resolver: Changed Android ABI selection method from using whitelisted + Unity versions to type availability. This fixes an exception on resolution + in some versions of Unity 2017.4. + +# Version 1.2.103 - Apr 2, 2019 +## Bug Fixes +* Android Resolver: Whitelisted Unity 2017.4 and above with ARM64 support. +* Android Resolver: Fixed Java version check to work with Java SE 12 and above. + +# Version 1.2.102 - Feb 13, 2019 +## Bug Fixes +* Android Resolver: Fixed the text overflow on the Android Resolver + prompt before initial run to fit inside the buttons for + smaller screens. + +# Version 1.2.101 - Feb 12, 2019 +## New Features +* Android Resolver: Prompt the user before the resolver runs for the + first time and allow the user to elect to disable from the prompt. +* Android Resolver: Change popup warning when resolver is disabled + to be a console warning. + +# Version 1.2.100 - Jan 25, 2019 +## Bug Fixes +* Android Resolver: Fixed AAR processing sometimes failing on Windows + due to file permissions. + +# Version 1.2.99 - Jan 23, 2019 +## Bug Fixes +* Android Resolver: Improved performance of project property polling. +* Version Handler: Fixed callback of VersionHandler.UpdateCompleteMethods + when the update process is complete. + +# Version 1.2.98 - Jan 9, 2019 +## New Features +* iOS Resolver: Pod declaration properties can now be set via XML pod + references. For example, this can enable pods for a subset of build + configurations. +## Bug Fixes +* iOS Resolver: Fixed incremental builds after local pods support caused + regression in 1.2.96. + +# Version 1.2.97 - Dec 17, 2018 +## Bug Fixes +* Android Resolver: Reduced memory allocation for logic that monitors build + settings when auto-resolution is enabled. If auto-resolution is disabled, + almost all build settings are no longer polled for changes. + +# Version 1.2.96 - Dec 17, 2018 +## Bug Fixes +* Android Resolver: Fixed repacking of AARs to exclude .meta files. +* Android Resolver: Only perform auto-resolution on the first scene while + building. +* Android Resolver: Fixed parsing of version ranges that include whitespace. +* iOS Resolver: Added support for local development pods. +* Version Handler: Fixed Version Handler failing to rename some files. + +# Version 1.2.95 - Oct 23, 2018 +## Bug Fixes: +* Android Resolver: Fixed auto-resolution running in a loop in some scenarios. + +# Version 1.2.94 - Oct 22, 2018 +## Bug Fixes +* iOS Resolver: Added support for PODS_TARGET_SRCROOT in source Cocoapods. + +# Version 1.2.93 - Oct 22, 2018 +## Bug Fixes +* Android Resolver: Fixed removal of Android libraries on auto-resolution when + `*Dependencies.xml` files are deleted. + +# Version 1.2.92 - Oct 2, 2018 +## Bug Fixes +* Android Resolver: Worked around auto-resolution hang on Windows if + resolution starts before compilation is finished. + +# Version 1.2.91 - Sep 27, 2018 +## Bug Fixes +* Android Resolver: Fixed Android Resolution when the selected build target + isn't Android. +* Added C# assembly symbols the plugin to simplify debugging bug reports. + +# Version 1.2.90 - Sep 21, 2018 +## Bug Fixes +* Android Resolver: Fixed transitive dependency selection of version locked + packages. + +# Version 1.2.89 - Aug 31, 2018 +## Bug Fixes +* Fixed FileLoadException in ResolveUnityEditoriOSXcodeExtension an assembly + can't be loaded. + +# Version 1.2.88 - Aug 29, 2018 +## Changed +* Improved reporting of resolution attempts and conflicts found in the Android + Resolver. +## Bug Fixes +* iOS Resolver now correctly handles sample code in CocoaPods. Previously it + would add all sample code to the project when using project level + integration. +* Android Resolver now correctly handles Gradle conflict resolution when the + resolution results in a package that is compatible with all requested + dependencies. + +# Version 1.2.87 - Aug 23, 2018 +## Bug Fixes +* Fixed Android Resolver "Processing AARs" dialog getting stuck in Unity 5.6. + +# Version 1.2.86 - Aug 22, 2018 +## Bug Fixes +* Fixed Android Resolver exception in OnPostProcessScene() when the Android + platform isn't selected. + +# Version 1.2.85 - Aug 17, 2018 +## Changes +* Added support for synchronous resolution in the Android Resolver. + PlayServicesResolver.ResolveSync() now performs resolution synchronously. +* Auto-resolution in the Android Resolver now results in synchronous resolution + of Android dependencies before the Android application build starts via + UnityEditor.Callbacks.PostProcessSceneAttribute. + +# Version 1.2.84 - Aug 16, 2018 +## Bug Fixes +* Fixed Android Resolver crash when the AndroidResolverDependencies.xml + file can't be written. +* Reduced log spam when a conflicting Android library is pinned to a + specific version. + +# Version 1.2.83 - Aug 15, 2018 +## Bug Fixes +* Fixed Android Resolver failures due to an in-accessible AAR / JAR explode + cache file. If the cache can't be read / written the resolver now continues + with reduced performance following recompilation / DLL reloads. +* Fixed incorrect version number in plugin manifest on install. + This was a minor issue since the version handler rewrote the metadata + after installation. + +# Version 1.2.82 - Aug 14, 2018 +## Changed +* Added support for alphanumeric versions in the Android Resolver. + +## Bug Fixes +* Fixed Android Resolver selection of latest duplicated library. +* Fixed Android Resolver conflict resolution when version locked and non-version + locked dependencies are specified. +* Fixed Android Resolver conflict resolution when non-existent artifacts are + referenced. + +# Version 1.2.81 - Aug 9, 2018 +## Bug Fixes +* Fixed editor error that would occur when when + `PlayerSettings.Android.targetArchitectures` was set to + `AndroidArchitecture.All`. + +# Version 1.2.80 - Jul 24, 2018 +## Bug Fixes +* Fixed project level settings incorrectly falling back to system wide settings + when default property values were set. + +# Version 1.2.79 - Jul 23, 2018 +## Bug Fixes +* Fixed AndroidManifest.xml patching on Android Resolver load in Unity 2018.x. + +# Version 1.2.78 - Jul 19, 2018 +## Changed +* Added support for overriding conflicting dependencies. + +# Version 1.2.77 - Jul 19, 2018 +## Changed +* Android Resolver now supports Unity's 2018 ABI filter (i.e arm64-v8a). +* Reduced Android Resolver build option polling frequency. +* Disabled Android Resolver auto-resolution in batch mode. Users now need + to explicitly kick off resolution through the API. +* All Android Resolver and Version Handler dialogs are now disabled in batch + mode. +* Verbose logging for all plugins is now enabled by default in batch mode. +* Version Handler bootstrapper has been improved to no longer call + UpdateComplete multiple times. However, since Unity can still reload the + app domain after plugins have been enabled, users still need to store their + plugin state to persistent storage to handle reloads. + +## Bug Fixes +* Android Resolver no longer incorrectly adds MANIFEST.MF files to AARs. +* Android Resolver auto-resolution jobs are now unscheduled when an explicit + resolve job is started. + +# Version 1.2.76 - Jul 16, 2018 +## Bug Fixes +* Fixed variable replacement in AndroidManifest.xml files in the Android + Resolver. + Version 1.2.75 introduced a regression which caused all variable replacement + to replace the *entire* property value rather than the component of the + property that referenced a variable. For example, + given "applicationId = com.my.app", "${applicationId}.foo" would be + incorrectly expanded as "com.my.app" rather than "com.my.app.foo". This + resulted in numerous issues for Android builds where content provider + initialization would fail and services may not start. + +## Changed +* Gradle prebuild experimental feature has been removed from the Android + Resolver. The feature has been broken for some time and added around 8MB + to the plugin size. +* Added better support for execution of plugin components in batch mode. + In batch mode UnityEditor.update is sometimes never called - like when a + single method is executed - so the new job scheduler will execute all jobs + synchronously from the main thread. + +# Version 1.2.75 - Jun 20, 2018 +## New Features +* Android Resolver now monitors the Android SDK path when + auto-resolution is enabled and triggers resolution when the path is + modified. + +## Changed +* Android auto-resolution is now delayed by 3 seconds when the following build + settings are changed: + - Target ABI. + - Gradle build vs. internal build. + - Project export. +* Added a progress bar display when AARs are being processed during Android + resolution. + +## Bug Fixes +* Fixed incorrect Android package version selection when a mix of + version-locked and non-version-locked packages are specified. +* Fixed non-deterministic Android package version selection to select + the highest version of a specified package rather than the last + package specification passed to the Gradle resolution script. + +# Version 1.2.74 - Jun 19, 2018 +## New Features +* Added workaround for broken AndroidManifest.xml variable replacement in + Unity 2018.x. By default ${applicationId} variables will be replaced by + the bundle ID in the Plugins/Android/AndroidManifest.xml file. The + behavior can be disabled via the Android Resolver settings menu. + +# Version 1.2.73 - May 30, 2018 +## Bug Fixes +* Fixed spurious warning message about missing Android plugins directory on + Windows. + +# Version 1.2.72 - May 23, 2018 +## Bug Fixes +* Fixed spurious warning message about missing Android plugins directory. + +# Version 1.2.71 - May 10, 2018 +## Bug Fixes +* Fixed resolution of Android dependencies when the `Assets/Plugins/Android` + directory is named in a different case e.g `Assets/plugins/Android`. + +# Version 1.2.70 - May 7, 2018 +## Bug Fixes +* Fixed bitcode flag being ignored for iOS pods. + +# Version 1.2.69 - May 7, 2018 +## Bug Fixes +* Fixed escaping of local repository paths in Android Resolver. + +# Version 1.2.68 - May 3, 2018 +## Changes +* Added support for granular builds of Google Play Services. + +# Version 1.2.67 - May 1, 2018 +## Changes +* Improved support for iOS source-only pods in Unity 5.5 and below. + +# Version 1.2.66 - April 27, 2018 +## Bug Fixes +* Fixed Version Handler renaming of Linux libraries with hyphens in filenames. + Previously, libraries named Foo-1.2.3.so were not being renamed to + libFoo-1.2.3.so on Linux which could break native library loading on some + versions of Unity. + +# Version 1.2.65 - April 26, 2018 +## Bug Fixes +* Fix CocoaPods casing in logs and comments. + +# Version 1.2.64 - Mar 16, 2018 +## Bug Fixes +* Fixed bug in download_artifacts.gradle (used by Android Resolver) which + reported a failure if required artifacts already exist. + +# Version 1.2.63 - Mar 15, 2018 +## Bug Fixes +* Fixed iOS Resolver include search paths taking precedence over system headers + when using project level resolution. +* Fixed iOS Resolver includes relative to library root, when using project level + resolution. + +# Version 1.2.62 - Mar 12, 2018 +## Changes +* Improved error reporting when a file can't be moved to trash by the + Version Handler. +## Bug Fixes +* Fixed Android Resolver throwing NullReferenceException when the Android SDK + path isn't set. +* Fixed Version Handler renaming files with underscores if the + "Rename to Canonical Filenames" setting is enabled. + +# Version 1.2.61 - Jan 22, 2018 +## Bug Fixes +* Fixed Android Resolver reporting non-existent conflicting dependencies when + Gradle build system is enabled. + +# Version 1.2.60 - Jan 12, 2018 +## Changes +* Added support for Maven / Ivy version specifications for Android packages. +* Added support for Android SNAPSHOT packages. + +## Bug Fixes +* Fixed Openjdk version check. +* Fixed non-deterministic Android package resolution when two packages contain + an artifact with the same name. + +# Version 1.2.59 - Oct 19, 2017 +## Bug Fixes +* Fixed execution of Android Gradle resolution script when it's located + in a path with whitespace. + +# Version 1.2.58 - Oct 19, 2017 +## Changes +* Removed legacy resolution method from Android Resolver. + It is now only possible to use the Gradle or Gradle prebuild resolution + methods. + +# Version 1.2.57 - Oct 18, 2017 +## Bug Fixes +* Updated Gradle wrapper to 4.2.1 to fix issues using Gradle with the + latest Openjdk. +* Android Gradle resolution now also uses gradle.properties to pass + parameters to Gradle in an attempt to workaround problems with + command line argument parsing on Windows 10. + +# Version 1.2.56 - Oct 12, 2017 +## Bug Fixes +* Fixed Gradle artifact download with non-version locked artifacts. +* Changed iOS resolver to only load dependencies at build time. + +# Version 1.2.55 - Oct 4, 2017 +## Bug Fixes +* Force Android Resolution when the "Install Android Packages" setting changes. + +# Version 1.2.54 - Oct 4, 2017 +## Bug Fixes +* Fixed execution of command line tools on Windows when the path to the tool + contains a single quote (apostrophe). In this case we fallback to executing + the tool via the system shell. + +# Version 1.2.53 - Oct 2, 2017 +## New Features +* Changed Android Resolver "resolution complete" dialog so that it now displays + failures. +* Android Resolver now detects conflicting libraries that it does not manage + warning the user if they're newer than the managed libraries and prompting + the user to clean them up if they're older or at the same version. + +## Bug Fixes +* Improved Android Resolver auto-resolution speed. +* Fixed bug in the Gradle Android Resolver which would result in resolution + succeeding when some dependencies are not found. + +# Version 1.2.52 - Sep 25, 2017 +## New Features +* Changed Android Resolver's Gradle resolution to resolve conflicting + dependencies across Google Play services and Android Support library packages. + +# Version 1.2.51 - Sep 20, 2017 +## Changes +* Changed iOS Resolver to execute the CocoaPods "pod" command via the shell + by default. Some developers customize their shell environment to use + custom ssh certs to access internal git repositories that host pods so + executing "pod" via the shell will work for these scenarios. + The drawback of executing "pod" via the shell could potentially cause + users problems if they break their shell environment. Though users who + customize their shell environments will be able to resolve these issues. + +# Version 1.2.50 - Sep 18, 2017 +## New Features +* Added option to disable the Gradle daemon in the Android Resolver. + This daemon is now disabled by default as some users are getting into a state + where multiple daemon instances are being spawned when changing dependencies + which eventually results in Android resolution failing until all daemon + processes are manually killed. + +## Bug Fixes +* Android resolution is now always executed if the user declines the update + of their Android SDK. This ensure users can continue to use out of date + Android SDK packages if they desire. + +# Version 1.2.49 - Sep 18, 2017 +## Bug Fixes +* Removed modulemap parsing in iOS Resolver. + The framework *.modulemap did not need to be parsed by the iOS Resolver + when injecting Cocoapods into a Xcode project. Simply adding a modular + framework to a Xcode project results in Xcode's Clang parsing the associated + modulemap and injecting any compile and link flags into the build process. + +# Version 1.2.48 - Sep 12, 2017 +## New Features +* Changed settings to be per-project by default. + +## Bug Fixes +* Added Google maven repository to fix GradlePrebuild resolution with Google + components. +* Fixed Android Resolution failure with spaces in paths. + +# Version 1.2.47 - Aug 29, 2017 +## New Features +* Android and iOS dependencies can now be specified using *Dependencies.xml + files. This is now the preferred method for registering dependencies, + we may remove the API for dependency addition in future. +* Added "Reset to Defaults" button to each settings dialog to restore default + settings. +* Android Resolver now validates the configured JDK is new enough to build + recently released Android libraries. +## Bug Fixes +* Fixed a bug that caused dependencies with the "LATEST" version specification + to be ignored when using the Gradle mode of the Android Resolver. +* Fixed a race condition when running Android Resolution. +* Fixed Android Resolver logging if a PlayServicesSupport instance is created + with no logging enabled before the Android Resolver is initialized. +* Fixed iOS resolver dialog in Unity 4. +* Fixed iOS Cocoapod Xcode project integration in Unity 4. + +# Version 1.2.46 - Aug 22, 2017 +## Bug Fixes +* GradlePrebuild Android resolver on Windows now correctly locates dependent + data files. + +# Version 1.2.45 - Aug 22, 2017 +## Bug Fixes +* Improved Android package auto-resolution and fixed clean up of stale + dependencies when using Gradle dependency resolution. + +# Version 1.2.44 - Aug 21, 2017 +## Bug Fixes +* Enabled autoresolution for Gradle Prebuild. +* Made the command line dialog windows have selectable text. +* Fixed incorrect "Android Settings" dialog disabled groups. +* Updated PlayServicesResolver android platform detection to use the package + manager instead of the 'android' tool. +* UnityCompat reflection methods 'GetAndroidPlatform' and + 'GetAndroidBuildToolsVersion' are now Obsolete due to dependence on the + obsolete 'android' build tool. + +# Version 1.2.43 - Aug 18, 2017 +## Bug Fixes +* Fixed Gradle resolution in the Android Resolver when running + PlayServicesResolver.Resolve() in parallel or spawning multiple + resolutions before the previous resolve completed. + +# Version 1.2.42 - Aug 17, 2017 +## Bug Fixes +* Fixed Xcode project level settings not being applied by IOS Resolver when + Xcode project pod integration is enabled. + +# Version 1.2.41 - Aug 15, 2017 +## Bug Fixes +* IOS Resolver's Xcode workspace pod integration is now disabled when Unity + Cloud Build is detected. Unity Cloud Build does not follow the same build + process as the Unity editor and fails to open the generated xcworkspace at + this time. + +# Version 1.2.40 - Aug 15, 2017 +## Bug Fixes +* Moved Android Resolver Gradle Prebuild scripts into Google.JarResolver.dll. + They are now extracted from the DLL when required. +* AARs / JARs are now cleaned up when switching the Android resolution + strategy. + +# Version 1.2.39 - Aug 10, 2017 +## New Features +* Android Resolver now supports resolution with Gradle. This enables support + for non-local artifacts. +## Bug Fixes +* Android Resolver's Gradle Prebuild now uses Android build tools to determine + the Android platform tools version rather than relying upon internal Unity + APIs. +* Android Resolver's Gradle Prebuild now correctly strips binaries that are + not required for the target ABI. + +# Version 1.2.38 - Aug 7, 2017 +## Bug Fixes +* Fixed an issue in VersionHandler where disabled targets are ignored if + the "Any Platform" flag is set on a plugin DLL. + +# Version 1.2.37 - Aug 3, 2017 +## New Features +* Exposed GooglePlayServices.PlayServicesResolver.Resolve() so that it's + possible for a script to be notified when AAR / Jar resolution is complete. + This makes it easier to setup a project to build from the command line. + +# Version 1.2.36 - Aug 3, 2017 +## New Features +* VersionHandler.UpdateCompleteMethods allows a user to provide a list of + methods to be called when VersionHandlerImpl has completed an update. + This makes it easier to import a plugin and wait for VersionHandler to + execute prior executing a build. + +# Version 1.2.35 - Jul 28, 2017 +## New Features +* VersionHandler will now rename Linux libraries so they can target Unity + versions that require different file naming. Libraries need to be labelled + gvh_linuxlibname-${basename} in order to be considered for renaming. + e.g gvh\_linuxlibname-MyLib will be named MyLib.so in Unity 5.5 and below and + libMyLib.so in Unity 5.6 and above. + +# Version 1.2.34 - Jul 28, 2017 +## Bug Fixes +* Made VersionHandler bootstrap module more robust when calling static + methods before the implementation DLL is loaded. + +# Version 1.2.33 - Jul 27, 2017 +## New Features +* Added a bootstrap module for VersionHandler so the implementation + of the VersionHandler module can be versioned without resulting in + a compile error when imported at different versions across multiple + plugins. + +# Version 1.2.32 - Jul 20, 2017 +## New Features +* Added support for build target selection based upon .NET framework + version in the VersionHandler. + When applying either gvh\_dotnet-3.5 or gvh\_dotnet-4.5 labels to + assets, the VersionHandler will only enable the asset for the + specified set of build targets when the matching .NET framework version + is selected in Unity 2017's project settings. This allows assets + to be provided in a plugin that need to differ based upon .NET version. + +# Version 1.2.31 - Jul 5, 2017 +## Bug Fixes +* Force expansion of AARs with native components when using Unity 2017 + with the internal build system. In contrast to Unity 5.x, Unity 2017's + internal build system does not include native libraries included in AARs. + Forcing expansion of AARs with native components generates an + Ant / Eclipse project for each AAR which is correctly included by Unity + 2017's internal build system. + +# Version 1.2.30 - Jul 5, 2017 +## Bug Fixes +* Fixed Cocoapods being installed when the build target isn't iOS. +* Added support for malformed AARs with missing classes.jar. + +# Version 1.2.29 - Jun 16, 2017 +## New Features +* Added support for the Android sdkmanager tool. + +# Version 1.2.28 - Jun 8, 2017 +## Bug Fixes +* Fixed non-shell command line execution (regression from + Cocoapod installation patch). + +# Version 1.2.27 - Jun 7, 2017 +## Bug Fixes +* Added support for stdout / stderr redirection when executing + commands in shell mode. + This fixes CocoaPod tool installation when shell mode is + enabled. +* Fixed incremental builds when additional sources are specified + in the Podfile. + +# Version 1.2.26 - Jun 7, 2017 +## Bug Fixes +* Fixed a crash when importing Version Handler into Unity 4.7.x. + +# Version 1.2.25 - Jun 7, 2017 +## Bug Fixes +* Fixed an issue in the Jar Resolver which incorrectly notified + event handlers of bundle ID changes when the currently selected + (not active) build target changed in Unity 5.6 and above. + +# Version 1.2.24 - Jun 6, 2017 +## New Features +* Added option to control file renaming in Version Handler settings. + Disabling file renaming (default option) significantly increases + the speed of file version management operations with the downside + that any files that are referenced directly by canonical filename + rather than asset ID will no longer be valid. +* Improved logging in the Version Handler. +## Bug Fixes +* Fixed an issue in the Version Handler which caused it to not + re-enable plugins when re-importing a custom package with disabled + version managed files. + +# Version 1.2.23 - May 26, 2017 +## Bug Fixes +* Fixed a bug with gradle prebuild resolver on windows. + +# Version 1.2.22 - May 19, 2017 +## Bug Fixes +* Fixed a bug in the iOS resolver with incremental builds. +* Fixed misdetection of Cocoapods support with Unity beta 5.6. + +# Version 1.2.21 - May 8, 2017 +## Bug Fixes +* Fix for https://github.com/googlesamples/unity-jar-resolver/issues/48 + Android dependency version number parsing when "-alpha" (etc.) are + included in dependency (AAR / JAR) versions. + +# Version 1.2.20 - May 8, 2017 +## Bug Fixes +* Attempted to fix + https://github.com/googlesamples/unity-jar-resolver/issues/48 + where a NullReferenceException could occur if a target file does not + have a valid version string. + +# Version 1.2.19 - May 4, 2017 +## Bug Fixes +* Fixed Jar Resolver exploding and deleting AAR files it isn't managing. + +# Version 1.2.18 - May 4, 2017 +## New Features +* Added support for preserving Unity pods such as when GVR is enabled. + +# Version 1.2.17 - Apr 20, 2017 +## Bug Fixes +* Fixed auto-resolution when an Android application ID is modified. + +# Version 1.2.16 - Apr 17, 2017 +## Bug Fixes +* Fixed Unity version number parsing on machines with a locale that uses + "," for decimal points. +* Fixed null reference exception if JDK path isn't set. + +# Version 1.2.15 - Mar 17, 2017 +## New Features +* Added warning when the Jar Resolver's background resolution is disabled. +## Bug Fixes +* Fixed support of AARs with native libraries when using Gradle. +* Fixed extra repository paths when resolving dependencies. + +# Version 1.2.14 - Mar 7, 2017 +## New Features +* Added experimental Android resolution using Gradle. + This alternative resolver supports proguard stripping with Unity's + internal build system. +* Added Android support for single ABI builds when using AARs include + native libraries. +* Disabled Android resolution on changes to all .cs and .js files. + File patterns that are monitored for auto-resolution can be added + using PlayServicesResolver.AddAutoResolutionFilePatterns(). +* Added tracking of resolved AARs and JARs so they can be cleaned up + if they're no longer referenced by a project. +* Added persistence of AAR / JAR version replacement for each Unity + session. +* Added settings dialog to the iOS resolver. +* Integrated Cocoapod tool installation in the iOS resolver. +* Added option to run pod tool via the shell. +## Bug Fixes +* Fixed build of some source Cocoapods (e.g Protobuf). +* VersionHandler no longer prompts to delete obsolete manifests. +* iOS resolver handles Cocoapod installation when using Ruby < 2.2.2. +* Added workaround for package version selection when including + Google Play Services on Android. +* Fixed support for pods that reference static libraries. +* Fixed support for resource-only pods. + +# Version 1.2.12 - Feb 14, 2017 +## Bug Fixes +* Fixed re-explosion of AARs when the bundle ID is modified. + +# Version 1.2.11 - Jan 30, 2017 +## New Features +* Added support for Android Studio builds. +* Added support for native (C/C++) shared libraries in AARs. + +# Version 1.2.10 - Jan 11, 2017 +## Bug Fixes +* Fixed SDK manager path retrieval. +* Also, report stderr when it's not possible to run the "pod" tool. +* Handle exceptions thrown by Unity.Cecil on asset rename +* Fixed IOSResolver to handle PlayerSettings.iOS.targetOSVersionString + +# Version 1.2.9 - Dec 7, 2016 +## Bug Fixes +* Improved error reporting when "pod repo update" fails. +* Added detection of xml format xcode projects generated by old Cocoapods + installations. + +# Version 1.2.8 - Dec 6, 2016 +## Bug Fixes +* Increased speed of JarResolver resolution. +* Fixed JarResolver caches getting out of sync with requested dependencies + by removing the caches. +* Fixed JarResolver explode cache always being rewritten even when no + dependencies change. + +# Version 1.2.7 - Dec 2, 2016 +## Bug Fixes +* Fixed VersionHandler build errors with Unity 5.5, due to the constantly + changing BuildTarget enum. +* Added support for Unity configured JDK Path rather than requiring + JAVA_HOME to be set in the Jar Resolver. + +# Version 1.2.6 - Nov 15, 2016 +## Bug Fixes +* Fixed IOSResolver errors when iOS support is not installed. +* Added fallback to "pod" executable search which queries the Ruby Gems + package manager for the binary install location. + +# Version 1.2.5 - Nov 3, 2016 +## Bug Fixes +* Added crude support for source only Cocoapods to the IOSResolver. + +# Version 1.2.4 - Oct 27, 2016 +## Bug Fixes +* Automated resolution of out of date pod repositories. + +# Version 1.2.3 - Oct 25, 2016 +## Bug Fixes +* Fixed exception when reporting conflicting dependencies. + +# Version 1.2.2 - Oct 17, 2016 +## Bug Fixes +* Fixed issue working with Unity 5.5 +* Fixed issue with PlayServicesResolver corrupting other iOS dependencies. +* Updated build script to use Unity distributed tools for building. + +# Version 1.2.1 - Jul 25, 2016 +## Bug Fixes +* Removed 1.2 Resolver and hardcoded whitelist of AARs to expand. +* Improved error reporting when the "jar" executable can't be found. +* Removed the need to set JAVA_HOME if "jar" is in the user's path. +* Fixed spurious copying of partially matching AARs. +* Changed resolver to only copy / expand when source AARs change. +* Auto-resolution of dependencies is now performed when the Android + build target is selected. + +## New Features +* Expand AARs that contain manifests with variable expansion like + ${applicationId}. +* Added optional logging in the JarResolverLib module. +* Integration with the Android SDK manager for dependencies that + declare required Android SDK packages. + +# Version 1.2.0 - May 11 2016 +## Bug Fixes +* Handles resolving dependencies when the artifacts are split across 2 repos. +* #4 Misdetecting version for versions like 1.2-alpha. These are now string + compared if alphanumeric +* Removed resolver creation via reflection since it did not work all the time. + Now a resolver needs to be loaded externally (which is existing behavior). + +## New Features +* Expose PlayServicesResolver properties to allow for script access. +* Explodes firebase-common and firebase-measurement aar files to support + ${applicationId} substitution. + +# Version 1.1.1 - 25 Feb 2016 +## Bug Fixes +* #1 Spaces in project path not handled when exploding Aar file. +* #2 Script compilation error: TypeLoadException. + +# Version 1.1.0 - 5 Feb 2016 +## New Features +* Adds friendly alert when JAVA_HOME is not set on Windows platforms. +* Adds flag for disabling background resolution. +* Expands play-services-measurement and replaces ${applicationId} with the + bundle Id. + + ## Bug Fixes +* Fixes infinite loop of resolution triggered by resolution. diff --git a/trivialkart/trivialkart-unity/Assets/ExternalDependencyManager/Editor/CHANGELOG.md.meta b/trivialkart/trivialkart-unity/Assets/ExternalDependencyManager/Editor/CHANGELOG.md.meta new file mode 100644 index 00000000..8eca26d3 --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/ExternalDependencyManager/Editor/CHANGELOG.md.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: b699fc553a294dbcad96ff0365038f6a +labels: +- gvh +- gvh_version-1.2.182 +- gvhp_exportpath-ExternalDependencyManager/Editor/CHANGELOG.md +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/trivialkart/trivialkart-unity/Assets/ExternalDependencyManager/Editor/Google.VersionHandler.dll b/trivialkart/trivialkart-unity/Assets/ExternalDependencyManager/Editor/Google.VersionHandler.dll new file mode 100755 index 0000000000000000000000000000000000000000..ac732a7143f959a1dcff9796ffb40ebaeb36a62c GIT binary patch literal 15360 zcmeHudvsjYb@x8^-nnz5y6m}=o;{VGuuCPknjUx3-gGHlD5ZOcM$%Jm-sxy) zh^`G(@9QHP5Gv)GKYO$`+AFjs9TS~ITS3u%>J1~fr|~(04^g9RE56-KVEg6uFd*oB zsdVj!S(N|J-vg9MxK!vJ;>Ho8XE_iTU$aDU(C*w%)O9iMo$xe~QO7rc@2SH(s?M!d z;D@&WfG2$o>;@*UG_30ID&7PzY1FV&Dq6VF(qoeDLh8~U5%0hT4mtieo1v!t&Fk7e3$hlwU- zAfq>(7g4=k&mdyDPl;tI?8^!{eV7{P+Xj7^2BN4`wW?F2E6^PwfgVWcQAIy5Qs+f1 zyxjtWl(^BpnkotOSm&KWXLlKzltEJAf7g#8qBlgg|1Iv6Sq>!A!kh{cCTeN2pB17^ z7(~}(nx5@7bvMb)FqvVgGh;Dom`1yjz0B0iu-n9hh#3K)SrQPD=w)UIEIB?wM+&43 zzyETBska+IF>aJz%o$*f|~$~-gL)Rf9x0s}8Y zR~KQ8rp_x?%#3Y#yeWh3dJwhMEKS5Q6>v|XW3>M%LM(YcH2Oa7A;i&pur_7hA9L&L z0GapjaA|;+3Py^~BGg(1Ga8*mWHdBpzch=f(wm2-j>>!(Wn42^9=RQW17vmjIfoRf<=h6af}9Ic5-Q<%E$4y^ zR%5yqGDGc+6vprwB&AMWuOkZ=yRgv3u%#mjLS0{kYz2--V8~t#HaRvOCSN zX`HnpWJWTbOpTuAIWVK{CdM$^?q+Vp&3Jpn0EVi9_?kw`jhvWf_};?iXABqh6xkuH z2D71k6?yA0h`%~{ZZlY1QR?b~6-^DzmPUq)Iuo@LUB8FiNG38@GPaD&WiAR~H05pw zbWviWR%1Y0UPm)cv*jL`A=ahd)A5kIgXNNDGP4s6N?BI=Rd`@EwOGw$CaqM;YRPt( zDYNCQh3q#ib9v@!NSe(z-Dp|#atI0YGMUY0(@or=1%9=dEoKUSeGS4IQhtTGq8$OU zEX{1he8b>tpx~;W3l}cDyeyeGpTd-_3f5U9^9yXxN^@oVa`NmY;*j0a;!mOXSIqqx z&j%76l}fc%nXB4k6v-gMNRey=&4_FwcLY`?(IH_KMF?wJDD-#q+;0mkd!iC4-W3WI z$!wDgQfbLt%K=%>H4zT;o?()b$$>bHK%gu(Wx9dH!tG5+VDwfv<)i)z$~NjPZVxM% zQv@BX3rm(@6mpdFA6mF5wrfrCY*bg=UUZ3P$yg6rl@MEKkmJVch1EFpH#ND~qN9(& zuvLB+SuYR^f-u`!-$%(V)0@=0S-8pF#cB}~wg=UdFyUBF?}ra5UNc#_psw;M3fr0W z<1jD#(M7UMSz7k$}PO5U{x&f(f6Lgcg6xV4DOXPkAH2Ty8K@_rNQW z)s-r;XO+KWTb()~$$S~_94n~wW7u`xpQEj~*P%`8yq^G3YsgzbG#~M|CpIZK0q}l< zfCl=SwRsEYg>EBn6BsS`z%Y~$QAAX*o!y{d@m{o!*7?Vc&=|Iu z=HPsxEI3;U9g1V+#TG!vh79%qVl3dTc+iZV^O{UCV5ZxgFOHWzhuCt(-x*0xe85EW$ zkt?woxcgXYKY-$&S)yhX`+z?(*u&t+@%=Hf zHI-FE_ZDIajho?w<{pI3cvAzk--wo_rL0gFwge1shR#}WOLq@}p=EAjHgB<^t{u$R z-S;sC{@h#OZC2)LG-X9nRPv_Q~*hjkm`3 zt0-ieXD!RL+AXuuw4}H0|A3T#p0S$DCWN``Vd&G*&w9j+Af6G*ehAveAb0u*fII

mpuaP3At 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 literal 0 HcmV?d00001 diff --git a/trivialkart/trivialkart-unity/Assets/ExternalDependencyManager/Editor/Google.VersionHandler.dll.meta b/trivialkart/trivialkart-unity/Assets/ExternalDependencyManager/Editor/Google.VersionHandler.dll.meta new file mode 100644 index 00000000..e6966e7f --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/ExternalDependencyManager/Editor/Google.VersionHandler.dll.meta @@ -0,0 +1,32 @@ +fileFormatVersion: 2 +guid: 61128ff4560e43ddb606dc203efe7799 +labels: +- gvh +- gvh_version-1.2.182 +- gvhp_exportpath-ExternalDependencyManager/Editor/Google.VersionHandler.dll +- gvhp_targets-editor +PluginImporter: + externalObjects: {} + serializedVersion: 3 + iconMap: {} + executionOrder: {} + defineConstraints: [] + isPreloaded: 0 + isOverridable: 0 + isExplicitlyReferenced: 0 + validateReferences: 1 + platformData: + Any: + enabled: 0 + settings: {} + Editor: + enabled: 1 + settings: + DefaultValueInitialized: true + WindowsStoreApps: + enabled: 0 + settings: + CPU: AnyCPU + userData: + assetBundleName: + assetBundleVariant: diff --git a/trivialkart/trivialkart-unity/Assets/ExternalDependencyManager/Editor/LICENSE b/trivialkart/trivialkart-unity/Assets/ExternalDependencyManager/Editor/LICENSE new file mode 100755 index 00000000..6258cc47 --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/ExternalDependencyManager/Editor/LICENSE @@ -0,0 +1,245 @@ +Copyright (C) 2014 Google Inc. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +==================================================================================================== +This package uses MiniJSON + +Copyright (c) 2013 Calvin Rien + +Based on the JSON parser by Patrick van Bergen +http://techblog.procurios.nl/k/618/news/view/14605/14863/How-do-I-write-my-own-parser-for-JSON.html + +Simplified it so that it doesn't throw exceptions +and can be used in Unity iPhone with maximum code stripping. + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/trivialkart/trivialkart-unity/Assets/ExternalDependencyManager/Editor/LICENSE.meta b/trivialkart/trivialkart-unity/Assets/ExternalDependencyManager/Editor/LICENSE.meta new file mode 100644 index 00000000..10e542ef --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/ExternalDependencyManager/Editor/LICENSE.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: b91d7551a5d9453e914e5295af46195e +labels: +- gvh +- gvh_version-1.2.182 +- gvhp_exportpath-ExternalDependencyManager/Editor/LICENSE +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/trivialkart/trivialkart-unity/Assets/ExternalDependencyManager/Editor/README.md b/trivialkart/trivialkart-unity/Assets/ExternalDependencyManager/Editor/README.md new file mode 100755 index 00000000..3a7a5a26 --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/ExternalDependencyManager/Editor/README.md @@ -0,0 +1,897 @@ +# External Dependency Manager for Unity + +[![openupm](https://img.shields.io/npm/v/com.google.external-dependency-manager?label=openupm®istry_uri=https://package.openupm.com)](https://openupm.com/packages/com.google.external-dependency-manager/) +[![openupm](https://img.shields.io/badge/dynamic/json?color=brightgreen&label=downloads&query=%24.downloads&suffix=%2Fmonth&url=https%3A%2F%2Fpackage.openupm.com%2Fdownloads%2Fpoint%2Flast-month%2Fcom.google.external-dependency-manager)](https://openupm.com/packages/com.google.external-dependency-manager/) + +## Overview + +The External Dependency Manager for Unity (EDM4U) (formerly Play Services +Resolver/Jar Resolver) is intended to be used by any Unity package or user that +requires: + +* Android specific libraries (e.g + [AARs](https://developer.android.com/studio/projects/android-library.html)) + +* iOS [CocoaPods](https://cocoapods.org/) + +* Version management of transitive dependencies + +* Management of Package Manager (PM) Registries + +If you want to add and use iOS/Android dependencies directly in your project, +then you should to install EDM4U in your project. + +If you are a package user and the plugin you are using depends on EDM4U, *and* +the package does not include EDM4U as a package dependency already, then you +should to install EDM4U in your project. + +If you are a UPM package maintainer and your package requires EDM4U, then you +should add EDM4U as a +[package dependency](https://docs.unity3d.com/2019.3/Documentation/Manual/upm-dependencies.html) +in your package manifest (`package.json`): + +```json +{ + "dependencies": { + "com.google.external-dependency-manager": "1.2.178" + } +} +``` + +You should still install EDM4U to test out the package during development. + +If you are a legacy `.unitypackage` package maintainer and your package requires +EDM4U, please ask the user to install EDM4U separately. You should install EDM4U +to test out the package during development. + +Updated releases are available on +[GitHub](https://github.com/googlesamples/unity-jar-resolver) + +## Requirements + +The *Android Resolver* and *iOS Resolver* components of the plugin only work +with Unity version 4.6.8 or higher. + +The *Version Handler* component only works with Unity 5.x or higher as it +depends upon the `PluginImporter` UnityEditor API. + +The *Package Manager Resolver* component only works with Unity 2018.4 or above, +when [scoped registry](https://docs.unity3d.com/Manual/upm-scoped.html) support +was added to the Package Manager. + +## Getting Started + +Check out [troubleshooting](troubleshooting-faq.md) if you need help. + +### Install via OpenUPM + +EDM4U is available on +[OpenUPM](https://openupm.com/packages/com.google.external-dependency-manager/): + +```shell +openupm add com.google.external-dependency-manager +``` + +### Install via Google APIs for Unity + +EDM4U is available both in UPM and legacy `.unitypackage` formats on +[Google APIs for Unity](https://developers.google.com/unity/archive#external_dependency_manager_for_unity). + +You may install the UPM version (.tgz) as a +[local UPM package](https://docs.unity3d.com/Manual/upm-ui-local.html). + +You can also install EDM4U in your project as a `.unitypackage`. This is not +recommended due to potential conflicts. + +### Conflict Resolution + +For historical reasons, a package maintainer may choose to embed EDM4U in their +package for ease of installation. This will create a conflict when you try to +install EDM4U with the steps above, or with another package with embedded EDM4U. +If your project imported a `.unitypackage` that has a copy of EDM4U embedded in +it, you may safely delete it from your Assets folder. If your project depends on +another UPM package with EDM4U, please reach out to the package maintainer and +ask them to replace it with a dependency to this package. In the meantime, you +can workaround the issue by copying the package to your Packages folder (to +create an +[embedded package](https://docs.unity3d.com/Manual/upm-concepts.html#Embedded)) +and perform the steps yourself to avoid a dependency conflict. + +### Config file + +To start adding dependencies to your project, copy and rename the +[SampleDependencies.xml](https://github.com/googlesamples/unity-jar-resolver/blob/master/sample/Assets/ExternalDependencyManager/Editor/SampleDependencies.xml) +file into your plugin and add the dependencies your project requires. + +The XML file needs to be under an `Editor` directory and match the name +`*Dependencies.xml`. For example, `MyPlugin/Editor/MyPluginDependencies.xml`. + +## Usages + +### Android Resolver + +The Android Resolver copies specified dependencies from local or remote Maven +repositories into the Unity project when a user selects Android as the build +target in the Unity editor. + +For example, to add the Google Play Games library +(`com.google.android.gms:play-services-games` package) at version `9.8.0` to the +set of a plugin's Android dependencies: + +```xml + + + + + extra-google-m2repository + + + + +``` + +The version specification (last component) supports: + +* Specific versions e.g `9.8.0` + +* Partial matches e.g `9.8.+` would match 9.8.0, 9.8.1 etc. choosing the most + recent version + +* Latest version using `LATEST` or `+`. We do *not* recommend using this + unless you're 100% sure the library you depend upon will not break your + Unity plugin in future + +The above example specifies the dependency as a component of the Android SDK +manager such that the Android SDK manager will be executed to install the +package if it's not found. If your Android dependency is located on Maven +central it's possible to specify the package simply using the `androidPackage` +element: + +```xml + + + + + +``` + +#### Auto-resolution + +By default the Android Resolver automatically monitors the dependencies you have +specified and the `Plugins/Android` folder of your Unity project. The resolution +process runs when the specified dependencies are not present in your project. + +The *auto-resolution* process can be disabled via the `Assets > External +Dependency Manager > Android Resolver > Settings` menu. + +Manual resolution can be performed using the following menu options: + +* `Assets > External Dependency Manager > Android Resolver > Resolve` + +* `Assets > External Dependency Manager > Android Resolver > Force Resolve` + +#### Deleting libraries + +Resolved packages are tracked via asset labels by the Android Resolver. They can +easily be deleted using the `Assets > External Dependency Manager > Android +Resolver > Delete Resolved Libraries` menu item. + +#### Android Manifest Variable Processing + +Some AAR files (for example play-services-measurement) contain variables that +are processed by the Android Gradle plugin. Unfortunately, Unity does not +perform the same processing when using Unity's Internal Build System, so the +Android Resolver plugin handles known cases of this variable substitution by +exploding the AAR into a folder and replacing `${applicationId}` with the +`bundleID`. + +Disabling AAR explosion and therefore Android manifest processing can be done +via the `Assets > External Dependency Manager > Android Resolver > Settings` +menu. You may want to disable explosion of AARs if you're exporting a project to +be built with Gradle/Android Studio. + +#### ABI Stripping + +Some AAR files contain native libraries (.so files) for each ABI supported by +Android. Unfortunately, when targeting a single ABI (e.g x86), Unity does not +strip native libraries for unused ABIs. To strip unused ABIs, the Android +Resolver plugin explodes an AAR into a folder and removes unused ABIs to reduce +the built APK size. Furthermore, if native libraries are not stripped from an +APK (e.g you have a mix of Unity's x86 library and some armeabi-v7a libraries) +Android may attempt to load the wrong library for the current runtime ABI +completely breaking your plugin when targeting some architectures. + +AAR explosion and therefore ABI stripping can be disabled via the `Assets > +External Dependency Manager > Android Resolver > Settings` menu. You may want to +disable explosion of AARs if you're exporting a project to be built with +Gradle/Android Studio. + +#### Resolution Strategies + +By default the Android Resolver will use Gradle to download dependencies prior +to integrating them into a Unity project. This works with Unity's internal build +system and Gradle/Android Studio project export. + +It's possible to change the resolution strategy via the `Assets > External +Dependency Manager > Android Resolver > Settings` menu. + +##### Download Artifacts with Gradle + +Using the default resolution strategy, the Android resolver executes the +following operations: + +- Remove the result of previous Android resolutions. E.g Delete all files and + directories labeled with "gpsr" under `Plugins/Android` from the project. + +- Collect the set of Android dependencies (libraries) specified by a project's + `*Dependencies.xml` files. + +- Run `download_artifacts.gradle` with Gradle to resolve conflicts and, if + successful, download the set of resolved Android libraries (AARs, JARs). + +- Process each AAR/JAR so that it can be used with the currently selected + Unity build system (e.g Internal vs. Gradle, Export vs. No Export). This + involves patching each reference to `applicationId` in the + `AndroidManifest.xml` with the project's bundle ID. This means resolution + must be run again if the bundle ID has changed. + +- Move the processed AARs to `Plugins/Android` so they will be included when + Unity invokes the Android build. + +##### Integrate into mainTemplate.gradle + +Unity 5.6 introduced support for customizing the `build.gradle` used to build +Unity projects with Gradle. When the *Patch mainTemplate.gradle* setting is +enabled, rather than downloading artifacts before the build, Android resolution +results in the execution of the following operations: + +- Remove the result of previous Android resolutions. E.g Delete all files and + directories labeled with "gpsr" under `Plugins/Android` from the project and + remove sections delimited with `// Android Resolver * Start` and `// Android + Resolver * End` lines. + +- Collect the set of Android dependencies (libraries) specified by a project's + `*Dependencies.xml` files. + +- Rename any `.srcaar` files in the build to `.aar` and exclude them from + being included directly by Unity in the Android build as + `mainTemplate.gradle` will be patched to include them instead from their + local maven repositories. + +- Inject the required Gradle repositories into `mainTemplate.gradle` at the + line matching the pattern `.*apply plugin: + 'com\.android\.(application|library)'.*` or the section starting at the line + `// Android Resolver Repos Start`. If you want to control the injection + point in the file, the section delimited by the lines `// Android Resolver + Repos Start` and `// Android Resolver Repos End` should be placed in the + global scope before the `dependencies` section. + +- Inject the required Android dependencies (libraries) into + `mainTemplate.gradle` at the line matching the pattern `***DEPS***` or the + section starting at the line `// Android Resolver Dependencies Start`. If + you want to control the injection point in the file, the section delimited + by the lines `// Android Resolver Dependencies Start` and `// Android + Resolver Dependencies End` should be placed in the `dependencies` section. + +- Inject the packaging options logic, which excludes architecture specific + libraries based upon the selected build target, into `mainTemplate.gradle` + at the line matching the pattern `android +{` or the section starting at the + line `// Android Resolver Exclusions Start`. If you want to control the + injection point in the file, the section delimited by the lines `// Android + Resolver Exclusions Start` and `// Android Resolver Exclusions End` should + be placed in the global scope before the `android` section. + +#### Dependency Tracking + +The Android Resolver creates the +`ProjectSettings/AndroidResolverDependencies.xml` to quickly determine the set +of resolved dependencies in a project. This is used by the auto-resolution +process to only run the expensive resolution process when necessary. + +#### Displaying Dependencies + +It's possible to display the set of dependencies the Android Resolver would +download and process in your project via the `Assets > External Dependency +Manager > Android Resolver > Display Libraries` menu item. + +### iOS Resolver + +The iOS resolver component of this plugin manages +[CocoaPods](https://cocoapods.org/). A CocoaPods `Podfile` is generated and the +`pod` tool is executed as a post build process step to add dependencies to the +Xcode project exported by Unity. + +Dependencies for iOS are added by referring to CocoaPods. + +For example, to add the AdMob pod, version 7.0 or greater with bitcode enabled: + +```xml + + + + + +``` + +#### Integration Strategies + +The `CocoaPods` are either: + +* Downloaded and injected into the Xcode project file directly, rather than + creating a separate xcworkspace. We call this `Xcode project` integration. + +* If the Unity version supports opening a xcworkspace file, the `pod` tool is + used as intended to generate a xcworkspace which references the CocoaPods. + We call this `Xcode workspace` integration. + +The resolution strategy can be changed via the `Assets > External Dependency +Manager > iOS Resolver > Settings` menu. + +##### Appending text to generated Podfile + +In order to modify the generated Podfile you can create a script like this: + +```csharp +using System.IO; + +using UnityEditor; +using UnityEditor.Callbacks; +using UnityEngine; + +public class PostProcessIOS : MonoBehaviour +{ + // Must be between 40 and 50 to ensure that it's not overriden by Podfile generation (40) and + // that it's added before "pod install" (50). + [PostProcessBuildAttribute(45)] + private static void PostProcessBuild_iOS(BuildTarget target, string buildPath) + { + if (target == BuildTarget.iOS) + { + using (StreamWriter sw = File.AppendText(buildPath + "/Podfile")) + { + // E.g. add an app extension + sw.WriteLine("\ntarget 'NSExtension' do\n pod 'Firebase/Messaging', '6.6.0'\nend"); + } + } + } +} +``` + +### Package Manager Resolver + +Adding registries to the +[Package Manager](https://docs.unity3d.com/Manual/Packages.html) (PM) is a +manual process. The Package Manager Resolver (PMR) component of this plugin +makes it easy for plugin maintainers to distribute new PM registry servers and +easy for plugin users to manage PM registry servers. + +#### Adding Registries + +For example, to add a registry for plugins in the scope `com.coolstuff`: + +```xml + + + + com.coolstuff + + + +``` + +When PMR is loaded it will prompt the developer to add the registry to their +project if it isn't already present in the `Packages/manifest.json` file. + +For more information, see Unity's documentation on +[scoped package registries](https://docs.unity3d.com/Manual/upm-scoped.html). + +#### Managing Registries + +It's possible to add and remove registries that are specified via PMR XML +configuration files via the following menu options: + +* `Assets > External Dependency Manager > Package Manager Resolver > Add + Registries` will prompt the user with a window which allows them to add + registries discovered in the project to the Package Manager. + +* `Assets > External Dependency Manager > Package Manager Resolver > Remove + Registries` will prompt the user with a window which allows them to remove + registries discovered in the project from the Package Manager. + +* `Assets > External Dependency Manager > Package Manager Resolver > Modify + Registries` will prompt the user with a window which allows them to add or + remove registries discovered in the project. + +#### Migration + +PMR can migrate Version Handler packages installed in the `Assets` folder to PM +packages. This requires the plugins to implement the following: + +* `.unitypackage` must include a Version Handler manifests that describes the + components of the plugin. If the plugin has no dependencies the manifest + would just include the files in the plugin. + +* The PM package JSON provided by the registry must include a keyword (in the + `versions.VERSION.keyword` list) that maps the PM package to a Version + Handler package using the format `vh-name:VERSION_HANDLER_MANIFEST_NAME` + where `VERSION_HANDLER_MANIFEST_NAME` is the name of the manifest defined in + the `.unitypackage`. For more information see the description of the + `gvhp_manifestname` asset label in the [Version Handler](#version-handler) + section. + +When using the `Assets > External Dependency Manager > Package Manager +Resolver > Migrate Packages` menu option, PMR then will: + +* List all Version Handler manager packages in the project. + +* Search all available packages in the PM registries and fetch keywords + associated with each package parsing the Version Handler manifest names for + each package. + +* Map each installed Version Handler package to a PM package. + +* Prompt the user to migrate the discovered packages. + +* Perform package migration for all selected packages if the user clicks the + `Apply` button. + +#### Configuration + +PMR can be configured via the `Assets > External Dependency Manager > Package +Manager Resolver > Settings` menu option: + +* `Add package registries` when enabled, when the plugin loads or registry + configuration files change, this will prompt the user to add registries that + are not present in the Package Manager. + +* `Prompt to add package registries` will cause a developer to be prompted + with a window that will ask for confirmation before adding registries. When + this is disabled registries are added silently to the project. + +* `Prompt to migrate packages` will cause a developer to be prompted with a + window that will ask for confirmation before migrating packages installed in + the `Assets` directory to PM packages. + +* `Enable Analytics Reporting` when enabled, reports the use of the plugin to + the developers so they can make imrpovements. + +* `Verbose logging` when enabled prints debug information to the console which + can be useful when filing bug reports. + +### Version Handler + +The Version Handler component of this plugin manages: + +* Shared Unity plugin dependencies. + +* Upgrading Unity plugins by cleaning up old files from previous versions. + +* Uninstallation of plugins that are distributed with manifest files. + +* Restoration of plugin assets to their original install locations if assets + are tagged with the `exportpath` label. + +Since the Version Handler needs to modify Unity asset metadata (`.meta` files), +to enable/disable components, rename and delete asset files it does not work +with Package Manager installed packages. It's still possible to include EDM4U in +Package Manager packages, the Version Handler component simply won't do anything +to PM plugins in this case. + +#### Using Version Handler Managed Plugins + +If a plugin is imported at multiple different versions into a project, if the +Version Handler is enabled, it will automatically check all managed assets to +determine the set of assets that are out of date and assets that should be +removed. To disable automatic checking managed assets disable the `Enable +version management` option in the `Assets > External Dependency Manager > +Version Handler > Settings` menu. + +If version management is disabled, it's possible to check managed assets +manually using the `Assets > External Dependency Manager > Version Handler > +Update` menu option. + +##### Listing Managed Plugins + +Plugins managed by the Version Handler, those that ship with manifest files, can +displayed using the `Assets > External Dependency Manager > Version Handler > +Display Managed Packages` menu option. The list of plugins are written to the +console window along with the set of files used by each plugin. + +##### Uninstalling Managed Plugins + +Plugins managed by the Version Handler, those that ship with manifest files, can +be removed using the `Assets > External Dependency Manager > Version Handler > +Uninstall Managed Packages` menu option. This operation will display a window +that allows a developer to select a set of plugins to remove which will remove +all files owned by each plugin excluding those that are in use by other +installed plugins. + +Files managed by the Version Handler, those labeled with the `gvh` asset label, +can be checked to see whether anything needs to be upgraded, disabled or removed +using the `Assets > External Dependency Manager > Version Handler > Update` menu +option. + +##### Restore Install Paths + +Some developers move assets around in their project which can make it harder for +plugin maintainers to debug issues if this breaks Unity's +[special folders](https://docs.unity3d.com/Manual/SpecialFolders.html) rules. If +assets are labeled with their original install/export path (see +`gvhp_exportpath` below), Version Handler can restore assets to their original +locations when using the `Assets > External Dependency Manager > Version +Handler > Move Files To Install Locations` menu option. + +##### Settings + +Some behavior of the Version Handler can be configured via the `Assets > +External Dependency Manager > Version Handler > Settings` menu option. + +* `Enable version management` controls whether the plugin should automatically + check asset versions and apply changes. If this is disabled the process + should be run manually when installing or upgrading managed plugins using + `Assets > External Dependency Manager > Version Handler > Update`. + +* `Rename to canonical filenames` is a legacy option that will rename files to + remove version numbers and other labels from filenames. + +* `Prompt for obsolete file deletion` enables the display of a window when + obsolete files are deleted allowing the developer to select which files to + delete and those to keep. + +* `Allow disabling files via renaming` controls whether obsolete or disabled + files should be disabled by renaming them to `myfilename_DISABLED`. Renaming + to disable files is required in some scenarios where Unity doesn't support + removing files from the build via the PluginImporter. + +* `Enable Analytics Reporting` enables/disables usage reporting to plugin + developers to improve the product. + +* `Verbose logging` enables *very* noisy log output that is useful for + debugging while filing a bug report or building a new managed plugin. + +* `Use project settings` saves settings for the plugin in the project rather + than system-wide. + +#### Redistributing a Managed Plugin + +The Version Handler employs a couple of methods for managing version selection, +upgrade and removal of plugins. + +* Each plugin can ship with a manifest file that lists the files it includes. + This makes it possible for Version Handler to calculate the difference in + assets between the most recent release of a plugin and the previous release + installed in a project. If a files are removed the Version Handler will + prompt the user to clean up obsolete files. + +* Plugins can ship using assets with unique names, unique GUIDs and version + number labels. Version numbers can be attached to assets using labels or + added to the filename (e.g `myfile.txt` would be `myfile_version-x.y.z.txt). + This allows the Version Handler to determine which set of files are the same + file at different versions, select the most recent version and prompt the + developer to clean up old versions. + +Unity plugins can be managed by the Version Handler using the following steps: + +1. Add the `gvh` asset label to each asset (file) you want Version Handler to + manage. + +1. Add the `gvh_version-VERSION` label to each asset where `VERSION` is the + version of the plugin you're releasing (e.g 1.2.3). + +1. Add the `gvhp_exportpath-PATH` label to each asset where `PATH` is the + export path of the file when the `.unitypackage` is created. This is used to + track files if they're moved around in a project by developers. + +1. Optional: Add `gvh_targets-editor` label to each editor DLL in your plugin + and disable `editor` as a target platform for the DLL. The Version Handler + will enable the most recent version of this DLL when the plugin is imported. + +1. Optional: If your plugin is included in other Unity plugins, you should add + the version number to each filename and change the GUID of each asset. This + allows multiple versions of your plugin to be imported into a Unity project, + with the Version Handler component activating only the most recent version. + +1. Create a manifest text file named `MY_UNIQUE_PLUGIN_NAME_VERSION.txt` that + lists all the files in your plugin relative to the project root. Then add + the `gvh_manifest` label to the asset to indicate this file is a plugin + manifest. + +1. Optional: Add a `gvhp_manifestname-NAME` label to your manifest file to + provide a human readable name for your package. If this isn't provided the + name of the manifest file will be used as the package name. NAME can match + the pattern `[0-9]+[a-zA-Z -]` where a leading integer will set the priority + of the name where `0` is the highest priority and preferably used as the + display name. The lowest value (i.e highest priority name) will be used as + the display name and all other specified names will be aliases of the + display name. Aliases can refer to previous names of the package allowing + renaming across published versions. + +1. Redistribute EDM4U Unity plugin with your plugin. See the + [Plugin Redistribution](#plugin-redistribution) section for details. + +If you follow these steps: + +* When users import a newer version of your plugin, files referenced by the + older version's manifest are cleaned up. + +* The latest version of the plugin will be selected when users import multiple + packages that include your plugin, assuming the steps in + [Plugin Redistribution](#plugin-redistribution) are followed. + +## Background + +Many Unity plugins have dependencies upon Android specific libraries, iOS +CocoaPods, and sometimes have transitive dependencies upon other Unity plugins. +This causes the following problems: + +* Integrating platform specific (e.g Android and iOS) libraries within a Unity + project can be complex and a burden on a Unity plugin maintainer. +* The process of resolving conflicting dependencies on platform specific + libraries is pushed to the developer attempting to use a Unity plugin. The + developer trying to use your plugin is very likely to give up when faced + with Android or iOS specific build errors. +* The process of resolving conflicting Unity plugins (due to shared Unity + plugin components) is pushed to the developer attempting to use your Unity + plugin. In an effort to resolve conflicts, the developer will very likely + attempt to resolve problems by deleting random files in your plugin, report + bugs when that doesn't work and finally give up. + +EDM4U provides solutions for each of these problems. + +### Android Dependency Management + +The *Android Resolver* component of this plugin will download and integrate +Android library dependencies and handle any conflicts between plugins that share +the same dependencies. + +Without the Android Resolver, typically Unity plugins bundle their AAR and JAR +dependencies, e.g. a Unity plugin `SomePlugin` that requires the Google Play +Games Android library would redistribute the library and its transitive +dependencies in the folder `SomePlugin/Android/`. When a user imports +`SomeOtherPlugin` that includes the same libraries (potentially at different +versions) in `SomeOtherPlugin/Android/`, the developer using `SomePlugin` and +`SomeOtherPlugin` will see an error when building for Android that can be hard +to interpret. + +Using the Android Resolver to manage Android library dependencies: + +* Solves Android library conflicts between plugins. +* Handles all of the various processing steps required to use Android + libraries (AARs, JARs) in Unity 4.x and above projects. Almost all versions + of Unity have - at best - partial support for AARs. +* (Experimental) Supports minification of included Java components without + exporting a project. + +### iOS Dependency Management + +The *iOS Resolver* component of this plugin integrates with +[CocoaPods](https://cocoapods.org/) to download and integrate iOS libraries and +frameworks into the Xcode project Unity generates when building for iOS. Using +CocoaPods allows multiple plugins to utilize shared components without forcing +developers to fix either duplicate or incompatible versions of libraries +included through multiple Unity plugins in their project. + +### Package Manager Registry Setup + +The [Package Manager](https://docs.unity3d.com/Manual/Packages.html) (PM) makes +use of [NPM](https://www.npmjs.com/) registry servers for package hosting and +provides ways to discover, install, upgrade and uninstall packages. This makes +it easier for developers to manage plugins within their projects. + +However, installing additional package registries requires a few manual steps +that can potentially be error prone. The *Package Manager Resolver* component of +this plugin integrates with [PM](https://docs.unity3d.com/Manual/Packages.html) +to provide a way to auto-install PM package registries when a `.unitypackage` is +installed which allows plugin maintainers to ship a `.unitypackage` that can +provide access to their own PM registry server to make it easier for developers +to manage their plugins. + +### Unity Plugin Version Management + +Finally, the *Version Handler* component of this plugin simplifies the process +of managing transitive dependencies of Unity plugins and each plugin's upgrade +process. + +For example, without the Version Handler plugin, if: + +* Unity plugin `SomePlugin` includes `EDM4U` plugin at version 1.1. +* Unity plugin `SomeOtherPlugin` includes `EDM4U` plugin at version 1.2. + +The version of `EDM4U` included in the developer's project depends upon the +order the developer imports `SomePlugin` or `SomeOtherPlugin`. + +This results in: + +* `EDM4U` at version 1.2, if `SomePlugin` is imported then `SomeOtherPlugin` + is imported. +* `EDM4U` at version 1.1, if `SomeOtherPlugin` is imported then `SomePlugin` + is imported. + +The Version Handler solves the problem of managing transitive dependencies by: + +* Specifying a set of packaging requirements that enable a plugin at different + versions to be imported into a Unity project. +* Providing activation logic that selects the latest version of a plugin + within a project. + +When using the Version Handler to manage `EDM4U` included in `SomePlugin` and +`SomeOtherPlugin`, from the prior example, version 1.2 will always be the +version activated in a developer's Unity project. + +Plugin creators are encouraged to adopt this library to ease integration for +their customers. For more information about integrating EDM4U into your own +plugin, see the [Plugin Redistribution](#plugin-redistribution) section of this +document. + +## Analytics + +The External Dependency Manager for Unity plugin by default logs usage to Google +Analytics. The purpose of the logging is to quantitatively measure the usage of +functionality, to gather reports on integration failures and to inform future +improvements to the developer experience of the External Dependency Manager +plugin. Note that the analytics collected are limited to the scope of the EDM4U +plugin’s usage. + +For details of what is logged, please refer to the usage of +`EditorMeasurement.Report()` in the source code. + +## Plugin Redistribution + +If you are a package maintainer and your package depends on EDM4U, it is highly +recommended to use the UPM format and add EDM4U as a dependency. If you must +include it in your `.unitypackage`, redistributing `EDM4U` inside your own +plugin might ease the integration process for your users. + +If you wish to redistribute `EDM4U` inside your plugin, you **must** follow +these steps when importing the `external-dependency-manager-*.unitypackage`, and +when exporting your own plugin package: + +1. Import the `external-dependency-manager-*.unitypackage` into your plugin + project by + [running Unity from the command line](https://docs.unity3d.com/Manual/CommandLineArguments.html), + ensuring that you add the `-gvh_disable` option. +1. Export your plugin by + [running Unity from the command line](https://docs.unity3d.com/Manual/CommandLineArguments.html), + ensuring that you: + - Include the contents of the `Assets/PlayServicesResolver` and + `Assets/ExternalDependencyManager` directory. + - Add the `-gvh_disable` option. + +You **must** specify the `-gvh_disable` option in order for the Version Handler +to work correctly! + +For example, the following command will import the +`external-dependency-manager-1.2.46.0.unitypackage` into the project +`MyPluginProject` and export the entire Assets folder to +`MyPlugin.unitypackage`: + +```shell +Unity -gvh_disable \ + -batchmode \ + -importPackage external-dependency-manager-1.2.46.0.unitypackage \ + -projectPath MyPluginProject \ + -exportPackage Assets MyPlugin.unitypackage \ + -quit +``` + +### Background + +The *Version Handler* component relies upon deferring the load of editor DLLs so +that it can run first and determine the latest version of a plugin component to +activate. The build of `EDM4U` plugin has Unity asset metadata that is +configured so that the editor components are not initially enabled when it's +imported into a Unity project. To maintain this configuration when importing the +`external-dependency-manager.unitypackage` into a Unity plugin project, you +*must* specify the command line option `-gvh_disable` which will prevent the +Version Handler component from running and changing the Unity asset metadata. + +## Building from Source + +To build this plugin from source you need the following tools installed: * Unity +2021 and below (with iOS and Android modules installed) * Java 11 + +You can build the plugin by running the following from your shell (Linux / OSX): + +```shell +./gradlew build + +``` + +or Windows: + +```shell +./gradlew.bat build +``` + +If Java 11 is not your default Java command, add +`-Dorg.gradle.java.home=` to the command above. + +## Testing + +You can run the tests by running the following from your shell (Linux / OSX): + +```shell +./gradlew test +``` + +or Windows: + +```shell +./gradlew.bat test +``` + +The following properties can be set to narrow down the tests to run or change +the test run behavior. + +* `INTERACTIVE_MODE_TESTS_ENABLED` - Default to `1`. Set to `1` to enable + interactive mode tests, which requires GPU on the machine. Otherwise, only + run tests in the batch mode. +* `INCLUDE_TEST_TYPES` - Default to empty string, which means to include every + type of the test. To narrow down the types of test to run, set this + properties with a list of case-insensitive type strings separated by comma. + For instance, `-PINCLUDE_TEST_TYPES="Python,NUnit"` means to include only + Python tests and NUnit tests. See `TestTypeEnum` in `build.gradle` for + available options. +* `EXCLUDE_TEST_TYPES` - Default to empty string, which means to exclude none. + To add types of tests to exclude, set this properties with a list of + case-insensitive type strings separated by comma. For instance, + `-PEXCLUDE_TEST_TYPES="Python,NUnit"` means to exclude Python tests and + NUnit tests. See `TestTypeEnum` in `build.gradle` for available options. +* `INCLUDE_TEST_MODULES` - Default to empty string, which means to include the + tests for every modules. To narrow down modules to test, set this properties + with a list of case-insensitive module strings separated by comma. For + instance, `-PINCLUDE_TEST_MODULES="Tool,AndroidResolver"` means to run tests + for tools and Android Resolver only. See `TestModuleEnum` in `build.gradle` + for available options. +* `EXCLUDE_TEST_MODULES` - Default to empty string, which means to exclude + none. To add modules to exclude, set this properties with a list of + case-insensitive module strings separated by comma. For instance, + `-PEXCLUDE_TEST_MODULES="Tool,AndroidResolver"` means to run tests for any + modules other than tools and Android Resolver. See `TestModuleEnum` in + `build.gradle` for available options. +* `EXCLUDE_TESTS` - Default to empty string, which means to exclude none. To + add tests to exclude, set this properties with a list of case-insensitive + test names separated by comma. For instance, + `-PEXCLUDE_TESTS="testGenGuids,testDownloadArtifacts"` means to run tests + except the tests with name of `testGenGuids` and `testDownloadArtifacts`. +* `CONTINUE_ON_FAIL_FOR_TESTS_ENABLED` - Default to `1`. Set to `1` to + continue running the next test when the current one fails. Otherwise, the + build script stops whenever any test fails. + +For instance, by running the following command, it only runs the Unity +integration tests that does not requires GPU, but exclude tests for Android +Resolver module and iOS Resolver module. + +```shell +./gradlew test \ + -PINTERACTIVE_MODE_TESTS_ENABLED=0 \ + -PINCLUDE_TEST_TYPES="Integration" \ + -PEXCLUDE_TEST_MODULES="AndroidResolver,iOSResolver" +``` + +## Releasing + +Each time a new build of this plugin is checked into the source tree you need to +do the following: + +* Bump the plugin version variable `pluginVersion` in `build.gradle` +* Update `CHANGELOG.md` with the new version number and changes included in + the release. +* Build the release using `./gradlew release` which performs the following: + * Updates `external-dependency-manager-*.unitypackage` + * Copies the unpacked plugin to the `exploded` directory. + * Updates template metadata files in the `plugin` directory. The GUIDs of + all asset metadata is modified due to the version number change. Each + file within the plugin is versioned to allow multiple versions of the + plugin to be imported into a Unity project which allows the most recent + version to be activated by the Version Handler component. +* Create release commit using `./gradlew gitCreateReleaseCommit` which + performs `git commit -a -m "description from CHANGELOG.md"` +* Once the release commit is merge, tag the release using `./gradlew + gitTagRelease` which performs the following: + * `git tag -a pluginVersion -m "version RELEASE"` to tag the release. +* Update tags on remote branch using `git push --tag REMOTE HEAD:master` diff --git a/trivialkart/trivialkart-unity/Assets/ExternalDependencyManager/Editor/README.md.meta b/trivialkart/trivialkart-unity/Assets/ExternalDependencyManager/Editor/README.md.meta new file mode 100644 index 00000000..3eb46822 --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/ExternalDependencyManager/Editor/README.md.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: ee2d63ed1abf409b893e36120a404f03 +labels: +- gvh +- gvh_version-1.2.182 +- gvhp_exportpath-ExternalDependencyManager/Editor/README.md +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/trivialkart/trivialkart-unity/Assets/ExternalDependencyManager/Editor/external-dependency-manager_version-1.2.182_manifest.txt b/trivialkart/trivialkart-unity/Assets/ExternalDependencyManager/Editor/external-dependency-manager_version-1.2.182_manifest.txt new file mode 100755 index 00000000..d1496bc7 --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/ExternalDependencyManager/Editor/external-dependency-manager_version-1.2.182_manifest.txt @@ -0,0 +1,13 @@ +Assets/ExternalDependencyManager/Editor/1.2.182/Google.IOSResolver.dll +Assets/ExternalDependencyManager/Editor/1.2.182/Google.IOSResolver.pdb +Assets/ExternalDependencyManager/Editor/1.2.182/Google.JarResolver.dll +Assets/ExternalDependencyManager/Editor/1.2.182/Google.JarResolver.pdb +Assets/ExternalDependencyManager/Editor/1.2.182/Google.PackageManagerResolver.dll +Assets/ExternalDependencyManager/Editor/1.2.182/Google.PackageManagerResolver.pdb +Assets/ExternalDependencyManager/Editor/1.2.182/Google.VersionHandlerImpl.dll +Assets/ExternalDependencyManager/Editor/1.2.182/Google.VersionHandlerImpl.pdb +Assets/ExternalDependencyManager/Editor/CHANGELOG.md +Assets/ExternalDependencyManager/Editor/Google.VersionHandler.dll +Assets/ExternalDependencyManager/Editor/Google.VersionHandler.pdb +Assets/ExternalDependencyManager/Editor/LICENSE +Assets/ExternalDependencyManager/Editor/README.md diff --git a/trivialkart/trivialkart-unity/Assets/ExternalDependencyManager/Editor/external-dependency-manager_version-1.2.182_manifest.txt.meta b/trivialkart/trivialkart-unity/Assets/ExternalDependencyManager/Editor/external-dependency-manager_version-1.2.182_manifest.txt.meta new file mode 100644 index 00000000..193ee99f --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/ExternalDependencyManager/Editor/external-dependency-manager_version-1.2.182_manifest.txt.meta @@ -0,0 +1,14 @@ +fileFormatVersion: 2 +guid: d602686ba68d4bfea020d161c28431a9 +labels: +- gvh +- gvh_manifest +- gvh_version-1.2.182 +- gvhp_exportpath-ExternalDependencyManager/Editor/external-dependency-manager_version-1.2.182_manifest.txt +- gvhp_manifestname-0External Dependency Manager +- gvhp_manifestname-play-services-resolver +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/trivialkart/trivialkart-unity/Assets/GPGSIds.cs b/trivialkart/trivialkart-unity/Assets/GPGSIds.cs new file mode 100644 index 00000000..c8a4cee7 --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/GPGSIds.cs @@ -0,0 +1,33 @@ +// +// Copyright (C) 2015 Google Inc. All Rights Reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// + +/// +/// This file is automatically generated DO NOT EDIT! +/// +/// These are the constants defined in the Play Games Console for Game Services +/// Resources. +/// + + +public static class GPGSIds +{ + public const string achievement_tk_achievement_rand = "CgkI4ZH6rrIeEAIQEA"; // + public const string achievement_tk_achievement_truck = "CgkI4ZH6rrIeEAIQBA"; // + public const string leaderboard_tk_leaderboard_distance = "CgkI4ZH6rrIeEAIQBg"; // + public const string achievement_tk_achievement_drive = "CgkI4ZH6rrIeEAIQAw"; // + +} + diff --git a/trivialkart/trivialkart-unity/Assets/GPGSIds.cs.meta b/trivialkart/trivialkart-unity/Assets/GPGSIds.cs.meta new file mode 100644 index 00000000..933daec2 --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/GPGSIds.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 3a5d79a960e5d444d98021fc12a7726a \ No newline at end of file diff --git a/trivialkart/trivialkart-unity/Assets/GeneratedLocalRepo.meta b/trivialkart/trivialkart-unity/Assets/GeneratedLocalRepo.meta new file mode 100644 index 00000000..dddaeb3e --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/GeneratedLocalRepo.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: fd551529614d540039b3ac18fa03159e +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/trivialkart/trivialkart-unity/Assets/GeneratedLocalRepo/GooglePlayGames.meta b/trivialkart/trivialkart-unity/Assets/GeneratedLocalRepo/GooglePlayGames.meta new file mode 100644 index 00000000..6dfb0a2f --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/GeneratedLocalRepo/GooglePlayGames.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 392ad5851d85d4fcabab4e20880de3cc +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/trivialkart/trivialkart-unity/Assets/GeneratedLocalRepo/GooglePlayGames/com.google.play.games.meta b/trivialkart/trivialkart-unity/Assets/GeneratedLocalRepo/GooglePlayGames/com.google.play.games.meta new file mode 100644 index 00000000..afd60e9c --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/GeneratedLocalRepo/GooglePlayGames/com.google.play.games.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 820f28300b5414d0b9066ebd4eb41219 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/trivialkart/trivialkart-unity/Assets/GeneratedLocalRepo/GooglePlayGames/com.google.play.games/Editor.meta b/trivialkart/trivialkart-unity/Assets/GeneratedLocalRepo/GooglePlayGames/com.google.play.games/Editor.meta new file mode 100644 index 00000000..e9d9b8bd --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/GeneratedLocalRepo/GooglePlayGames/com.google.play.games/Editor.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: d48770a6fc5064088861fa5c52a0c938 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/trivialkart/trivialkart-unity/Assets/GeneratedLocalRepo/GooglePlayGames/com.google.play.games/Editor/m2repository.meta b/trivialkart/trivialkart-unity/Assets/GeneratedLocalRepo/GooglePlayGames/com.google.play.games/Editor/m2repository.meta new file mode 100644 index 00000000..12127eed --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/GeneratedLocalRepo/GooglePlayGames/com.google.play.games/Editor/m2repository.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 9bac54c853e5c4f96919d7636456f4c1 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/trivialkart/trivialkart-unity/Assets/GeneratedLocalRepo/GooglePlayGames/com.google.play.games/Editor/m2repository/com.meta b/trivialkart/trivialkart-unity/Assets/GeneratedLocalRepo/GooglePlayGames/com.google.play.games/Editor/m2repository/com.meta new file mode 100644 index 00000000..5cf692c7 --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/GeneratedLocalRepo/GooglePlayGames/com.google.play.games/Editor/m2repository/com.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 607c5a1e6656642d5970c598dfe37920 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/trivialkart/trivialkart-unity/Assets/GeneratedLocalRepo/GooglePlayGames/com.google.play.games/Editor/m2repository/com/google.meta b/trivialkart/trivialkart-unity/Assets/GeneratedLocalRepo/GooglePlayGames/com.google.play.games/Editor/m2repository/com/google.meta new file mode 100644 index 00000000..8e5b7574 --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/GeneratedLocalRepo/GooglePlayGames/com.google.play.games/Editor/m2repository/com/google.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: bea6c2e48951544c19088b71c95b7973 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/trivialkart/trivialkart-unity/Assets/GeneratedLocalRepo/GooglePlayGames/com.google.play.games/Editor/m2repository/com/google/games.meta b/trivialkart/trivialkart-unity/Assets/GeneratedLocalRepo/GooglePlayGames/com.google.play.games/Editor/m2repository/com/google/games.meta new file mode 100644 index 00000000..0c4e6ade --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/GeneratedLocalRepo/GooglePlayGames/com.google.play.games/Editor/m2repository/com/google/games.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: f62f70ed01de649709ce67045d3e1e08 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/trivialkart/trivialkart-unity/Assets/GeneratedLocalRepo/GooglePlayGames/com.google.play.games/Editor/m2repository/com/google/games/gpgs-plugin-support.meta b/trivialkart/trivialkart-unity/Assets/GeneratedLocalRepo/GooglePlayGames/com.google.play.games/Editor/m2repository/com/google/games/gpgs-plugin-support.meta new file mode 100644 index 00000000..6d552dde --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/GeneratedLocalRepo/GooglePlayGames/com.google.play.games/Editor/m2repository/com/google/games/gpgs-plugin-support.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 28dd6471bc8a243f99c55bee6d85f39d +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/trivialkart/trivialkart-unity/Assets/GeneratedLocalRepo/GooglePlayGames/com.google.play.games/Editor/m2repository/com/google/games/gpgs-plugin-support/2.1.0.meta b/trivialkart/trivialkart-unity/Assets/GeneratedLocalRepo/GooglePlayGames/com.google.play.games/Editor/m2repository/com/google/games/gpgs-plugin-support/2.1.0.meta new file mode 100644 index 00000000..94bf27e5 --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/GeneratedLocalRepo/GooglePlayGames/com.google.play.games/Editor/m2repository/com/google/games/gpgs-plugin-support/2.1.0.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 9b92e233699a44d59b925321d85a3e43 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/trivialkart/trivialkart-unity/Assets/GeneratedLocalRepo/GooglePlayGames/com.google.play.games/Editor/m2repository/com/google/games/gpgs-plugin-support/2.1.0/gpgs-plugin-support-2.1.0.aar b/trivialkart/trivialkart-unity/Assets/GeneratedLocalRepo/GooglePlayGames/com.google.play.games/Editor/m2repository/com/google/games/gpgs-plugin-support/2.1.0/gpgs-plugin-support-2.1.0.aar new file mode 100644 index 0000000000000000000000000000000000000000..6b9fc563e4bd0b2843ab35ad2bebfb0cb9216e14 GIT binary patch literal 31938 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 Mzvrgx_0OmO2T}X$761SM literal 0 HcmV?d00001 diff --git a/trivialkart/trivialkart-unity/Assets/GeneratedLocalRepo/GooglePlayGames/com.google.play.games/Editor/m2repository/com/google/games/gpgs-plugin-support/2.1.0/gpgs-plugin-support-2.1.0.aar.meta b/trivialkart/trivialkart-unity/Assets/GeneratedLocalRepo/GooglePlayGames/com.google.play.games/Editor/m2repository/com/google/games/gpgs-plugin-support/2.1.0/gpgs-plugin-support-2.1.0.aar.meta new file mode 100644 index 00000000..d905524d --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/GeneratedLocalRepo/GooglePlayGames/com.google.play.games/Editor/m2repository/com/google/games/gpgs-plugin-support/2.1.0/gpgs-plugin-support-2.1.0.aar.meta @@ -0,0 +1,25 @@ +fileFormatVersion: 2 +guid: e4d5c70e149f94127b9f210376c9935f +labels: +- gpsr +PluginImporter: + externalObjects: {} + serializedVersion: 3 + iconMap: {} + executionOrder: {} + defineConstraints: [] + isPreloaded: 0 + isOverridable: 0 + isExplicitlyReferenced: 0 + validateReferences: 1 + platformData: + Any: + enabled: 0 + settings: {} + Editor: + enabled: 1 + settings: + DefaultValueInitialized: true + userData: + assetBundleName: + assetBundleVariant: diff --git a/trivialkart/trivialkart-unity/Assets/GeneratedLocalRepo/GooglePlayGames/com.google.play.games/Editor/m2repository/com/google/games/gpgs-plugin-support/2.1.0/gpgs-plugin-support-2.1.0.pom b/trivialkart/trivialkart-unity/Assets/GeneratedLocalRepo/GooglePlayGames/com.google.play.games/Editor/m2repository/com/google/games/gpgs-plugin-support/2.1.0/gpgs-plugin-support-2.1.0.pom new file mode 100644 index 00000000..b5c44406 --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/GeneratedLocalRepo/GooglePlayGames/com.google.play.games/Editor/m2repository/com/google/games/gpgs-plugin-support/2.1.0/gpgs-plugin-support-2.1.0.pom @@ -0,0 +1,20 @@ + + + 4.0.0 + com.google.games + gpgs-plugin-support + 2.1.0 + aar + + + com.google.android.gms + play-services-games-v2 + 21.0.0 + + + com.google.android.gms + play-services-nearby + 18.5.0 + + + \ No newline at end of file diff --git a/trivialkart/trivialkart-unity/Assets/GeneratedLocalRepo/GooglePlayGames/com.google.play.games/Editor/m2repository/com/google/games/gpgs-plugin-support/2.1.0/gpgs-plugin-support-2.1.0.pom.meta b/trivialkart/trivialkart-unity/Assets/GeneratedLocalRepo/GooglePlayGames/com.google.play.games/Editor/m2repository/com/google/games/gpgs-plugin-support/2.1.0/gpgs-plugin-support-2.1.0.pom.meta new file mode 100644 index 00000000..e7df90c9 --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/GeneratedLocalRepo/GooglePlayGames/com.google.play.games/Editor/m2repository/com/google/games/gpgs-plugin-support/2.1.0/gpgs-plugin-support-2.1.0.pom.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: fd625cf506567482aa575690e9208a25 +labels: +- gpsr +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/trivialkart/trivialkart-unity/Assets/GooglePlayGames.meta b/trivialkart/trivialkart-unity/Assets/GooglePlayGames.meta new file mode 100644 index 00000000..747b2559 --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/GooglePlayGames.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 18241b17d742145b899eaa2fd4f6828f +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games.meta b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games.meta new file mode 100644 index 00000000..83f00d4c --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 24d9eb3a0c4fc49e9b5e5b3600becdef +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor.meta b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor.meta new file mode 100644 index 00000000..00da2554 --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 11083f74e79584f50ad394be94e2caec +folderAsset: yes +timeCreated: 1435699548 +licenseType: Pro +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/GPGSAndroidSetupUI.cs b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/GPGSAndroidSetupUI.cs new file mode 100644 index 00000000..84138460 --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/GPGSAndroidSetupUI.cs @@ -0,0 +1,460 @@ +// +// Copyright (C) Google Inc. All Rights Reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// + + +namespace GooglePlayGames.Editor +{ + using System; + using System.Collections; + using System.IO; + using System.Xml; + using UnityEditor; + using UnityEngine; + + ///

+ /// Google Play Game Services Setup dialog for Android. + /// + public class GPGSAndroidSetupUI : EditorWindow + { + /// + /// The configuration data from the play games console "resource data" + /// + private string mConfigData = string.Empty; + + /// + /// The name of the class to generate containing the resource constants. + /// + private string mClassName = "GPGSIds"; + + /// + /// The scroll position + /// + private Vector2 scroll; + + /// + /// The directory for the constants class. + /// + private string mConstantDirectory = "Assets"; + + /// + /// The web client identifier. + /// + private string mWebClientId = string.Empty; + + /// + /// Menus the item for GPGS android setup. + /// + [MenuItem("Window/Google Play Games/Setup/Android setup...", false, 1)] + public static void MenuItemFileGPGSAndroidSetup() + { + EditorWindow window = EditorWindow.GetWindow( + typeof(GPGSAndroidSetupUI), true, GPGSStrings.AndroidSetup.Title); + window.minSize = new Vector2(500, 400); + } + + [MenuItem("Window/Google Play Games/Setup/Android setup...", true)] + public static bool EnableAndroidMenuItem() + { +#if UNITY_ANDROID + return true; +#else + return false; +#endif + } + + /// + /// Performs setup using the Android resources downloaded XML file + /// from the play console. + /// + /// true, if setup was performed, false otherwise. + /// The web client id. + /// the directory to write the constants file to. + /// Fully qualified class name for the resource Ids. + /// Resource xml data. + /// Nearby svc identifier. + /// Indicates this app requires G+ + public static bool PerformSetup( + string clientId, + string classDirectory, + string className, + string resourceXmlData, + string nearbySvcId) + { + if (string.IsNullOrEmpty(resourceXmlData) && + !string.IsNullOrEmpty(nearbySvcId)) + { + return PerformSetup( + clientId, + GPGSProjectSettings.Instance.Get(GPGSUtil.APPIDKEY), + nearbySvcId); + } + + if (ParseResources(classDirectory, className, resourceXmlData)) + { + GPGSProjectSettings.Instance.Set(GPGSUtil.CLASSDIRECTORYKEY, classDirectory); + GPGSProjectSettings.Instance.Set(GPGSUtil.CLASSNAMEKEY, className); + GPGSProjectSettings.Instance.Set(GPGSUtil.ANDROIDRESOURCEKEY, resourceXmlData); + + // check the bundle id and set it if needed. + CheckBundleId(); + + GPGSUtil.CheckAndFixDependencies(); + GPGSUtil.CheckAndFixVersionedAssestsPaths(); + AssetDatabase.Refresh(); + + Google.VersionHandler.VerboseLoggingEnabled = true; + Google.VersionHandler.UpdateVersionedAssets(forceUpdate: true); + Google.VersionHandler.Enabled = true; + AssetDatabase.Refresh(); + + Google.VersionHandler.InvokeStaticMethod( + Google.VersionHandler.FindClass( + "Google.JarResolver", + "GooglePlayServices.PlayServicesResolver"), + "MenuResolve", null); + + return PerformSetup( + clientId, + GPGSProjectSettings.Instance.Get(GPGSUtil.APPIDKEY), + nearbySvcId); + } + + return false; + } + + /// + /// Provide static access to setup for facilitating automated builds. + /// + /// The oauth2 client id for the game. This is only + /// needed if the ID Token or access token are needed. + /// App identifier. + /// Optional nearby connection serviceId + /// Indicates that GooglePlus should be enabled + /// true if successful + public static bool PerformSetup(string webClientId, string appId, string nearbySvcId) + { + if (!string.IsNullOrEmpty(webClientId)) + { + if (!GPGSUtil.LooksLikeValidClientId(webClientId)) + { + GPGSUtil.Alert(GPGSStrings.Setup.ClientIdError); + return false; + } + + string serverAppId = webClientId.Split('-')[0]; + if (!serverAppId.Equals(appId)) + { + GPGSUtil.Alert(GPGSStrings.Setup.AppIdMismatch); + return false; + } + } + + // check for valid app id + if (!GPGSUtil.LooksLikeValidAppId(appId) && string.IsNullOrEmpty(nearbySvcId)) + { + GPGSUtil.Alert(GPGSStrings.Setup.AppIdError); + return false; + } + + if (nearbySvcId != null) + { +#if UNITY_ANDROID + if (!NearbyConnectionUI.PerformSetup(nearbySvcId, true)) + { + return false; + } +#endif + } + + GPGSProjectSettings.Instance.Set(GPGSUtil.APPIDKEY, appId); + GPGSProjectSettings.Instance.Set(GPGSUtil.WEBCLIENTIDKEY, webClientId); + GPGSProjectSettings.Instance.Save(); + GPGSUtil.UpdateGameInfo(); + + // check that Android SDK is there + if (!GPGSUtil.HasAndroidSdk()) + { + Debug.LogError("Android SDK not found."); + EditorUtility.DisplayDialog( + GPGSStrings.AndroidSetup.SdkNotFound, + GPGSStrings.AndroidSetup.SdkNotFoundBlurb, + GPGSStrings.Ok); + return false; + } + + // Generate AndroidManifest.xml + GPGSUtil.GenerateAndroidManifest(); + + // refresh assets, and we're done + AssetDatabase.Refresh(); + GPGSProjectSettings.Instance.Set(GPGSUtil.ANDROIDSETUPDONEKEY, true); + GPGSProjectSettings.Instance.Save(); + + return true; + } + + /// + /// Called when this object is enabled by Unity editor. + /// + public void OnEnable() + { + GPGSProjectSettings settings = GPGSProjectSettings.Instance; + mConstantDirectory = settings.Get(GPGSUtil.CLASSDIRECTORYKEY, mConstantDirectory); + mClassName = settings.Get(GPGSUtil.CLASSNAMEKEY, mClassName); + mConfigData = settings.Get(GPGSUtil.ANDROIDRESOURCEKEY); + mWebClientId = settings.Get(GPGSUtil.WEBCLIENTIDKEY); + } + + /// + /// Called when the GUI should be rendered. + /// + public void OnGUI() + { + GUI.skin.label.wordWrap = true; + GUILayout.BeginVertical(); + + GUIStyle link = new GUIStyle(GUI.skin.label); + link.normal.textColor = new Color(0f, 0f, 1f); + + GUILayout.Space(10); + GUILayout.Label(GPGSStrings.AndroidSetup.Blurb); + if (GUILayout.Button("Open Play Games Console", link, GUILayout.ExpandWidth(false))) + { + Application.OpenURL("https://play.google.com/apps/publish"); + } + + Rect last = GUILayoutUtility.GetLastRect(); + last.y += last.height - 2; + last.x += 3; + last.width -= 6; + last.height = 2; + + GUI.Box(last, string.Empty); + + GUILayout.Space(15); + GUILayout.Label("Constants class name", EditorStyles.boldLabel); + GUILayout.Label("Enter the fully qualified name of the class to create containing the constants"); + GUILayout.Space(10); + + mConstantDirectory = EditorGUILayout.TextField( + "Directory to save constants", + mConstantDirectory, + GUILayout.MinWidth(480)); + + mClassName = EditorGUILayout.TextField( + "Constants class name", + mClassName, + GUILayout.MinWidth(480)); + + GUILayout.Label("Resources Definition", EditorStyles.boldLabel); + GUILayout.Label("Paste in the Android Resources from the Play Console"); + GUILayout.Space(10); + + scroll = GUILayout.BeginScrollView(scroll); + mConfigData = EditorGUILayout.TextArea( + mConfigData, + GUILayout.MinWidth(475), + GUILayout.Height(Screen.height)); + GUILayout.EndScrollView(); + GUILayout.Space(10); + + // Client ID field + GUILayout.Label(GPGSStrings.Setup.WebClientIdTitle, EditorStyles.boldLabel); + GUILayout.Label(GPGSStrings.AndroidSetup.WebClientIdBlurb); + + mWebClientId = EditorGUILayout.TextField( + GPGSStrings.Setup.ClientId, + mWebClientId, + GUILayout.MinWidth(450)); + + GUILayout.Space(10); + + GUILayout.FlexibleSpace(); + GUILayout.BeginHorizontal(); + GUILayout.FlexibleSpace(); + if (GUILayout.Button(GPGSStrings.Setup.SetupButton, GUILayout.Width(100))) + { + // check that the classname entered is valid + try + { + if (GPGSUtil.LooksLikeValidPackageName(mClassName)) + { + DoSetup(); + return; + } + } + catch (Exception e) + { + GPGSUtil.Alert( + GPGSStrings.Error, + "Invalid classname: " + e.Message); + } + } + + if (GUILayout.Button("Cancel", GUILayout.Width(100))) + { + Close(); + } + + GUILayout.FlexibleSpace(); + GUILayout.EndHorizontal(); + GUILayout.Space(20); + GUILayout.EndVertical(); + } + + /// + /// Starts the setup process. + /// + public void DoSetup() + { + if (PerformSetup(mWebClientId, mConstantDirectory, mClassName, mConfigData, null)) + { + CheckBundleId(); + + EditorUtility.DisplayDialog( + GPGSStrings.Success, + GPGSStrings.AndroidSetup.SetupComplete, + GPGSStrings.Ok); + + GPGSProjectSettings.Instance.Set(GPGSUtil.ANDROIDSETUPDONEKEY, true); + Close(); + } + else + { + GPGSUtil.Alert( + GPGSStrings.Error, + "Invalid or missing XML resource data. Make sure the data is" + + " valid and contains the app_id element"); + } + } + + /// + /// Checks the bundle identifier. + /// + /// + /// Check the package id. If one is set the gpgs properties, + /// and the player settings are the default or empty, set it. + /// if the player settings is not the default, then prompt before + /// overwriting. + /// + public static void CheckBundleId() + { + string packageName = GPGSProjectSettings.Instance.Get( + GPGSUtil.ANDROIDBUNDLEIDKEY, string.Empty); + string currentId; +#if UNITY_5_6_OR_NEWER + currentId = PlayerSettings.GetApplicationIdentifier( + BuildTargetGroup.Android); +#else + currentId = PlayerSettings.bundleIdentifier; +#endif + if (!string.IsNullOrEmpty(packageName)) + { + if (string.IsNullOrEmpty(currentId) || + currentId == "com.Company.ProductName") + { +#if UNITY_5_6_OR_NEWER + PlayerSettings.SetApplicationIdentifier( + BuildTargetGroup.Android, packageName); +#else + PlayerSettings.bundleIdentifier = packageName; +#endif + } + else if (currentId != packageName) + { + if (EditorUtility.DisplayDialog( + "Set Bundle Identifier?", + "The server configuration is using " + + packageName + ", but the player settings is set to " + + currentId + ".\nSet the Bundle Identifier to " + + packageName + "?", + "OK", + "Cancel")) + { +#if UNITY_5_6_OR_NEWER + PlayerSettings.SetApplicationIdentifier( + BuildTargetGroup.Android, packageName); +#else + PlayerSettings.bundleIdentifier = packageName; +#endif + } + } + } + else + { + Debug.Log("NULL package!!"); + } + } + + /// + /// Parses the resources xml and set the properties. Also generates the + /// constants file. + /// + /// true, if resources was parsed, false otherwise. + /// Class directory. + /// Class name. + /// Res. the data to parse. + private static bool ParseResources(string classDirectory, string className, string res) + { + XmlTextReader reader = new XmlTextReader(new StringReader(res)); + bool inResource = false; + string lastProp = null; + Hashtable resourceKeys = new Hashtable(); + string appId = null; + while (reader.Read()) + { + if (reader.Name == "resources") + { + inResource = true; + } + + if (inResource && reader.Name == "string") + { + lastProp = reader.GetAttribute("name"); + } + else if (inResource && !string.IsNullOrEmpty(lastProp)) + { + if (reader.HasValue) + { + if (lastProp == "app_id") + { + appId = reader.Value; + GPGSProjectSettings.Instance.Set(GPGSUtil.APPIDKEY, appId); + } + else if (lastProp == "package_name") + { + GPGSProjectSettings.Instance.Set(GPGSUtil.ANDROIDBUNDLEIDKEY, reader.Value); + } + else + { + resourceKeys[lastProp] = reader.Value; + } + + lastProp = null; + } + } + } + + reader.Close(); + if (resourceKeys.Count > 0) + { + GPGSUtil.WriteResourceIds(classDirectory, className, resourceKeys); + } + + return appId != null; + } + } +} \ No newline at end of file diff --git a/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/GPGSAndroidSetupUI.cs.meta b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/GPGSAndroidSetupUI.cs.meta new file mode 100644 index 00000000..fabb847e --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/GPGSAndroidSetupUI.cs.meta @@ -0,0 +1,14 @@ +fileFormatVersion: 2 +guid: 41fe658b93aa24c709c540575965fdff +labels: +- gvh +- gvh_version-2.1.0 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/GPGSDocsUI.cs b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/GPGSDocsUI.cs new file mode 100644 index 00000000..4d7c39d2 --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/GPGSDocsUI.cs @@ -0,0 +1,53 @@ +// +// Copyright (C) 2014 Google Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// + +namespace GooglePlayGames.Editor +{ + using UnityEngine; + using UnityEditor; + + public class GPGSDocsUI + { + [MenuItem("Window/Google Play Games/Documentation/Plugin Getting Started Guide...", false, 100)] + public static void MenuItemGettingStartedGuide() + { + Application.OpenURL(GPGSStrings.ExternalLinks.GettingStartedGuideURL); + } + + [MenuItem("Window/Google Play Games/Documentation/Google Play Games API...", false, 101)] + public static void MenuItemPlayGamesServicesAPI() + { + Application.OpenURL(GPGSStrings.ExternalLinks.PlayGamesServicesApiURL); + } + + [MenuItem("Window/Google Play Games/About/About the Plugin...", false, 300)] + public static void MenuItemAbout() + { + string msg = GPGSStrings.AboutText + + PluginVersion.VersionString + " (" + + string.Format("0x{0:X8}", GooglePlayGames.PluginVersion.VersionInt) + ")"; + EditorUtility.DisplayDialog(GPGSStrings.AboutTitle, msg, + GPGSStrings.Ok); + } + + [MenuItem("Window/Google Play Games/About/License...", false, 301)] + public static void MenuItemLicense() + { + EditorUtility.DisplayDialog(GPGSStrings.LicenseTitle, GPGSStrings.LicenseText, + GPGSStrings.Ok); + } + } +} \ No newline at end of file diff --git a/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/GPGSDocsUI.cs.meta b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/GPGSDocsUI.cs.meta new file mode 100644 index 00000000..28a45efb --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/GPGSDocsUI.cs.meta @@ -0,0 +1,14 @@ +fileFormatVersion: 2 +guid: 73cbcab28a27446ff9e06e06a040814f +labels: +- gvh +- gvh_version-2.1.0 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/GPGSPostBuild.cs b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/GPGSPostBuild.cs new file mode 100644 index 00000000..fb55c439 --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/GPGSPostBuild.cs @@ -0,0 +1,42 @@ +// +// Copyright (C) 2014 Google Inc. All Rights Reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// + +#if UNITY_ANDROID +namespace GooglePlayGames.Editor +{ + using System.Collections.Generic; + using System.IO; + using UnityEditor.Callbacks; + using UnityEditor; + using UnityEngine; + + public static class GPGSPostBuild + { + [PostProcessBuild(99999)] + public static void OnPostprocessBuild(BuildTarget target, string pathToBuiltProject) + { + if (!GPGSProjectSettings.Instance.GetBool(GPGSUtil.ANDROIDSETUPDONEKEY, false)) + { + EditorUtility.DisplayDialog("Google Play Games not configured!", + "Warning!! Google Play Games was not configured, Game Services will not work correctly.", + "OK"); + } + + return; + } + } +} +#endif //UNITY_ANDROID \ No newline at end of file diff --git a/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/GPGSPostBuild.cs.meta b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/GPGSPostBuild.cs.meta new file mode 100644 index 00000000..2cc151fc --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/GPGSPostBuild.cs.meta @@ -0,0 +1,14 @@ +fileFormatVersion: 2 +guid: 1a7b050a8e8214613893df7d81dcc13c +labels: +- gvh +- gvh_version-2.1.0 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/GPGSProjectSettings.cs b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/GPGSProjectSettings.cs new file mode 100644 index 00000000..ea6ae5d7 --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/GPGSProjectSettings.cs @@ -0,0 +1,197 @@ +// +// Copyright (C) 2014 Google Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// + +// Keep this file even on unsupported configurations. + +namespace GooglePlayGames.Editor +{ + using System.Collections.Generic; + using System.IO; +#if UNITY_2017_3_OR_NEWER + using UnityEngine.Networking; +#else + using UnityEngine; + +#endif + + public class GPGSProjectSettings + { + private static GPGSProjectSettings sInstance = null; + + public static GPGSProjectSettings Instance + { + get + { + if (sInstance == null) + { + sInstance = new GPGSProjectSettings(); + } + + return sInstance; + } + } + + private bool mDirty = false; + private readonly string mFile; + private Dictionary mDict = new Dictionary(); + + private GPGSProjectSettings() + { + mFile = GPGSUtil.SlashesToPlatformSeparator("ProjectSettings/GooglePlayGameSettings.txt"); + + StreamReader rd = null; + + // read the settings file, this list is all the locations it can be in order of precedence. + string[] fileLocations = + { + mFile, + GPGSUtil.SlashesToPlatformSeparator(Path.Combine(GPGSUtil.RootPath, "Editor/projsettings.txt")), + GPGSUtil.SlashesToPlatformSeparator("Assets/Editor/projsettings.txt") + }; + + foreach (string f in fileLocations) + { + if (File.Exists(f)) + { + // assign the reader and break out of the loop + rd = new StreamReader(f); + break; + } + } + + if (rd != null) + { + while (!rd.EndOfStream) + { + string line = rd.ReadLine(); + if (line == null || line.Trim().Length == 0) + { + break; + } + + line = line.Trim(); + string[] p = line.Split(new char[] {'='}, 2); + if (p.Length >= 2) + { + mDict[p[0].Trim()] = p[1].Trim(); + } + } + + rd.Close(); + } + } + + public string Get(string key, Dictionary overrides) + { + if (overrides.ContainsKey(key)) + { + return overrides[key]; + } + else if (mDict.ContainsKey(key)) + { +#if UNITY_2017_3_OR_NEWER + return UnityWebRequest.UnEscapeURL(mDict[key]); +#else + return WWW.UnEscapeURL(mDict[key]); +#endif + } + else + { + return string.Empty; + } + } + + public string Get(string key, string defaultValue) + { + if (mDict.ContainsKey(key)) + { +#if UNITY_2017_3_OR_NEWER + return UnityWebRequest.UnEscapeURL(mDict[key]); +#else + return WWW.UnEscapeURL(mDict[key]); +#endif + } + else + { + return defaultValue; + } + } + + public string Get(string key) + { + return Get(key, string.Empty); + } + + public bool GetBool(string key, bool defaultValue) + { + return Get(key, defaultValue ? "true" : "false").Equals("true"); + } + + public bool GetBool(string key) + { + return Get(key, "false").Equals("true"); + } + + public void Set(string key, string val) + { +#if UNITY_2017_3_OR_NEWER + string escaped = UnityWebRequest.EscapeURL(val); +#else + string escaped = WWW.EscapeURL(val); +#endif + mDict[key] = escaped; + mDirty = true; + } + + public void Set(string key, bool val) + { + Set(key, val ? "true" : "false"); + } + + public void Save() + { + // See if we are building the plugin, and don't write the settings file + string[] args = System.Environment.GetCommandLineArgs(); + foreach (string a in args) + { + if (a == "-g.building") + { + mDirty = false; + break; + } + } + + if (!mDirty) + { + return; + } + + StreamWriter wr = new StreamWriter(mFile, false); + foreach (string key in mDict.Keys) + { + wr.WriteLine(key + "=" + mDict[key]); + } + + wr.Close(); + mDirty = false; + } + + public static void Reload() + { + sInstance = new GPGSProjectSettings(); + } + } +} diff --git a/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/GPGSProjectSettings.cs.meta b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/GPGSProjectSettings.cs.meta new file mode 100644 index 00000000..c2926e23 --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/GPGSProjectSettings.cs.meta @@ -0,0 +1,14 @@ +fileFormatVersion: 2 +guid: cf234a050ba25433f9386e20578ccf19 +labels: +- gvh +- gvh_version-2.1.0 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/GPGSStrings.cs b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/GPGSStrings.cs new file mode 100644 index 00000000..268e8822 --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/GPGSStrings.cs @@ -0,0 +1,174 @@ +// +// Copyright (C) 2014 Google Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// + +// Keep the strings all the time even if on an unsupported configuration. + +namespace GooglePlayGames.Editor +{ + public class GPGSStrings + { + public const string Error = "Error"; + public const string Ok = "OK"; + public const string Cancel = "Cancel"; + public const string Yes = "Yes"; + public const string No = "No"; + public const string Success = "Success"; + public const string Warning = "Warning"; + + public class PostInstall + { + public const string Title = "Google Play Games Plugin for Unity"; + + public const string Text = "The Google Play Games Plugin for Unity version $VERSION " + + "is now ready to use. If this is a new installation or if you have " + + "just upgraded from a previous version, please click the 'Google Play Games' " + + "menu and select 'Android Setup' to set up your project."; + } + + public class Setup + { + public const string AppIdTitle = "Google Play Games Application ID"; + public const string AppId = "Application ID"; + + public const string AppIdBlurb = "Enter your application ID below. This is the numeric\n" + + "identifier provided by the Developer Console (for example, 123456789012)."; + + public const string AppIdError = "The App Id does not appear to be valid. " + + "It must consist solely of digits, usually 10 or more."; + + public const string WebClientIdTitle = "Web App Client ID (Optional)"; + public const string ClientId = "Client ID"; + + public const string ClientIdError = "The Client ID does not appear to be valid. " + + "It should end in .apps.googleusercontent.com."; + + public const string AppIdMismatch = "Web app client ID not associated with this game!"; + + public const string NearbyServiceId = "Nearby Connection Service ID"; + + public const string NearbyServiceBlurb = "Enter the service id that identifies the " + + "nearby connections service scope"; + + public const string SetupButton = "Setup"; + } + + public class NearbyConnections + { + public const string Title = "Google Play Games - Nearby Connections Setup"; + + public const string Blurb = "To configure Nearby Connections in this project,\n" + + "please enter the information below and click on the Setup button."; + + public const string SetupComplete = "Nearby connections configured successfully."; + } + + public class AndroidSetup + { + public const string Title = "Google Play Games - Android Configuration"; + + public const string Blurb = "To configure Google Play Games in this project,\n" + + "go to the Play Game console, then enter the information below and click on the Setup button."; + + public const string WebClientIdBlurb = + "The web app client ID is needed to access the user's ID token and " + + "call other APIs onbehalf of the user." + + " It is not required for Game Services. Enter your oauth2 client ID below.\nTo obtain this " + + "ID, generate a web linked app in Developer Console. Example:\n" + + "123456789012-abcdefghijklm.apps.googleusercontent.com"; + + public const string PkgName = "Package name"; + + public const string PkgNameBlurb = "Enter your application's package name below.\n" + + "(for example, com.example.lorem.ipsum)."; + + public const string PackageNameError = "The package name does not appear to be valid. " + + "Enter a valid Android package name (for example, com.example.lorem.ipsum)."; + + public const string SdkNotFound = "Android SDK Not found"; + + public const string SdkNotFoundBlurb = "The Android SDK path was not found. " + + "Please configure it in the Unity preferences window (under External Tools)."; + + public const string LibProjNotFound = "Google Play Services Library Project Not Found"; + + public const string LibProjNotFoundBlurb = "Google Play Services library project " + + "could not be found your SDK installation. Make sure it is installed (open " + + "the SDK manager and go to Extras, and select Google Play Services)."; + + public const string SupportJarNotFound = "Android Support Library v4 Not Found"; + + public const string SupportJarNotFoundBlurb = "Android Support Library v4 " + + "could not be found your SDK installation. Make sure it is installed (open " + + "the SDK manager and go to Extras, and select 'Android Support Library')."; + + public const string LibProjVerNotFound = "The version of your copy of the Google Play " + + "Services Library Project could not be determined. Please make sure it is " + + "at least version {0}. Continue?"; + + public const string LibProjVerTooOld = "Your copy of the Google Play " + + "Services Library Project is out of date. Please launch the Android SDK manager " + + "and upgrade your Google Play Services bundle to the latest version (your version: " + + "{0}; required version: {1}). Proceeding may cause problems. Proceed anyway?"; + + public const string SetupComplete = "Google Play Games configured successfully."; + } + + public class ExternalLinks + { + public const string GettingStartedGuideURL = + "https://github.com/playgameservices/play-games-plugin-for-unity"; + + public const string PlayGamesServicesApiURL = + "https://developers.google.com/games/services"; + + public const string GooglePlayGamesAndroidSdkTitle = "Google Play Games Android SDK Download"; + + public const string GooglePlayGamesAndroidSdkBlurb = "The Google Play Games SDK for " + + "Android must be downloaded via the Android SDK Manager. Do you wish to " + + "start the SDK manager now?"; + + public const string GooglePlayGamesAndroidSdkInstructions = "The Android SDK manager " + + "will be launched. Install or upgrade the 'Google Play Services' package, " + + "which can be found under the 'Extras' " + + "category."; + + public const string GooglePlayGamesAndroidSdkManagerFailed = "Failed to find the " + + "Android SDK manager executable. Make sure the Android SDK is properly installed " + + "and that its path is correctly configured in the Unity preferences window " + + "(under External Tools)."; + } + + public const string AboutTitle = "Google Play Games Plugin for Unity"; + + public const string AboutText = "Copyright (C) 2014 Google Inc.\n\nThis is an open-source " + + "plugin that allows cross-platform integration with Google Play games services. " + + "For more information, visit the official site on Github:\n\n" + + "https://github.com/playgameservices/play-games-plugin-for-unity\n\nPlugin version: "; + + public const string LicenseTitle = "Google Play Games Plugin for Unity"; + + public const string LicenseText = "Copyright (C) 2014 Google Inc. All Rights Reserved.\n\n" + + "Licensed under the Apache License, Version 2.0 (the \"License\"); " + + "you may not use this file except in compliance with the License. " + + "You may obtain a copy of the License at\n\n" + + " http://www.apache.org/licenses/LICENSE-2.0\n\n" + + "Unless required by applicable law or agreed to in writing, software " + + "distributed under the License is distributed on an \"AS IS\" BASIS, " + + "WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. " + + "See the License for the specific language governing permissions and " + + "limitations under the License."; + } +} \ No newline at end of file diff --git a/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/GPGSStrings.cs.meta b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/GPGSStrings.cs.meta new file mode 100644 index 00000000..6c9710bf --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/GPGSStrings.cs.meta @@ -0,0 +1,14 @@ +fileFormatVersion: 2 +guid: 992ecb564cf02408d9c5a1b44d958334 +labels: +- gvh +- gvh_version-2.1.0 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/GPGSUpgrader.cs b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/GPGSUpgrader.cs new file mode 100644 index 00000000..ada7ed1f --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/GPGSUpgrader.cs @@ -0,0 +1,61 @@ +// +// Copyright (C) 2014 Google Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// + +#if UNITY_ANDROID + +namespace GooglePlayGames.Editor +{ + using System.IO; + using UnityEditor; + using UnityEngine; + + /// + /// GPGS upgrader handles performing and upgrade tasks. + /// + [InitializeOnLoad] + public class GPGSUpgrader + { + /// + /// Initializes static members of the class. + /// + static GPGSUpgrader() + { + if (EditorApplication.isPlayingOrWillChangePlaymode) + return; + Debug.Log("GPGSUpgrader start"); + + GPGSProjectSettings.Instance.Set(GPGSUtil.LASTUPGRADEKEY, PluginVersion.VersionKey); + GPGSProjectSettings.Instance.Set(GPGSUtil.PLUGINVERSIONKEY, + PluginVersion.VersionString); + GPGSProjectSettings.Instance.Save(); + + bool isChanged = false; + // Check that there is a AndroidManifest.xml file + if (!GPGSUtil.AndroidManifestExists()) + { + isChanged = true; + GPGSUtil.GenerateAndroidManifest(); + } + + if (isChanged) + { + AssetDatabase.Refresh(); + } + Debug.Log("GPGSUpgrader done"); + } + } +} +#endif diff --git a/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/GPGSUpgrader.cs.meta b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/GPGSUpgrader.cs.meta new file mode 100644 index 00000000..4b414fc9 --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/GPGSUpgrader.cs.meta @@ -0,0 +1,14 @@ +fileFormatVersion: 2 +guid: 357a64420a0c44b61a0ed7ca22c7f10f +labels: +- gvh +- gvh_version-2.1.0 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/GPGSUtil.cs b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/GPGSUtil.cs new file mode 100644 index 00000000..4eadb15a --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/GPGSUtil.cs @@ -0,0 +1,798 @@ +// +// Copyright (C) 2014 Google Inc. All Rights Reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Keep this even on unsupported configurations. + +namespace GooglePlayGames.Editor +{ + using System; + using System.Collections; + using System.Collections.Generic; + using System.IO; + using System.Xml; + using UnityEditor; + using UnityEngine; + + /// + /// Utility class to perform various tasks in the editor. + /// + public static class GPGSUtil + { + /// Property key for project settings. + public const string SERVICEIDKEY = "App.NearbdServiceId"; + + /// Property key for project settings. + public const string APPIDKEY = "proj.AppId"; + + /// Property key for project settings. + public const string CLASSDIRECTORYKEY = "proj.classDir"; + + /// Property key for project settings. + public const string CLASSNAMEKEY = "proj.ConstantsClassName"; + + /// Property key for project settings. + public const string WEBCLIENTIDKEY = "and.ClientId"; + + /// Property key for project settings. + public const string ANDROIDRESOURCEKEY = "and.ResourceData"; + + /// Property key for project settings. + public const string ANDROIDSETUPDONEKEY = "android.SetupDone"; + + /// Property key for project settings. + public const string ANDROIDBUNDLEIDKEY = "and.BundleId"; + + /// Property key for plugin version. + public const string PLUGINVERSIONKEY = "proj.pluginVersion"; + + /// Property key for nearby settings done. + public const string NEARBYSETUPDONEKEY = "android.NearbySetupDone"; + + /// Property key for project settings. + public const string LASTUPGRADEKEY = "lastUpgrade"; + + /// Constant for token replacement + private const string SERVICEIDPLACEHOLDER = "__NEARBY_SERVICE_ID__"; + + private const string SERVICEID_ELEMENT_PLACEHOLDER = "__NEARBY_SERVICE_ELEMENT__"; + + private const string NEARBY_PERMISSIONS_PLACEHOLDER = "__NEARBY_PERMISSIONS__"; + + /// Constant for token replacement + private const string APPIDPLACEHOLDER = "__APP_ID__"; + + /// Constant for token replacement + private const string CLASSNAMEPLACEHOLDER = "__Class__"; + + /// Constant for token replacement + private const string WEBCLIENTIDPLACEHOLDER = "__WEB_CLIENTID__"; + + /// Constant for token replacement + private const string PLUGINVERSIONPLACEHOLDER = "__PLUGIN_VERSION__"; + + /// Constant for require google plus token replacement + private const string REQUIREGOOGLEPLUSPLACEHOLDER = "__REQUIRE_GOOGLE_PLUS__"; + + /// Property key for project settings. + private const string TOKENPERMISSIONKEY = "proj.tokenPermissions"; + + /// Constant for token replacement + private const string NAMESPACESTARTPLACEHOLDER = "__NameSpaceStart__"; + + /// Constant for token replacement + private const string NAMESPACEENDPLACEHOLDER = "__NameSpaceEnd__"; + + /// Constant for token replacement + private const string CONSTANTSPLACEHOLDER = "__Constant_Properties__"; + + /// + /// The game info file path, relative to the plugin root directory. This is a generated file. + /// + private const string GameInfoRelativePath = "Runtime/Scripts/GameInfo.cs"; + + /// + /// The manifest path, relative to the plugin root directory. + /// + /// The Games SDK requires additional metadata in the AndroidManifest.xml + /// file. + private const string ManifestRelativePath = + "../../Plugins/Android/GooglePlayGamesManifest.androidlib/AndroidManifest.xml"; + + private const string RootFolderName = "com.google.play.games"; + + /// + /// The root path of the Google Play Games plugin + /// + public static string RootPath + { + get + { + if (string.IsNullOrEmpty(mRootPath)) + { +#if UNITY_2018_4_OR_NEWER + // Search for root path in plugin locations for both Asset packages and UPM packages + string[] dirs = Directory.GetDirectories("Packages", RootFolderName, SearchOption.AllDirectories); + string[] dir1 = Directory.GetDirectories("Assets", RootFolderName, SearchOption.AllDirectories); + int dirsLength = dirs.Length; + Array.Resize(ref dirs, dirsLength + dir1.Length); + Array.Copy(dir1, 0, dirs, dirsLength, dir1.Length); +#else + string[] dirs = Directory.GetDirectories("Assets", RootFolderName, SearchOption.AllDirectories); +#endif + switch (dirs.Length) + { + case 0: + Alert("Plugin error: com.google.play.games folder was renamed"); + throw new Exception("com.google.play.games folder was renamed"); + + case 1: + mRootPath = SlashesToPlatformSeparator(dirs[0]); + break; + + default: + for (int i = 0; i < dirs.Length; i++) + { + if (File.Exists(SlashesToPlatformSeparator(Path.Combine(dirs[i], GameInfoRelativePath))) + ) + { + mRootPath = SlashesToPlatformSeparator(dirs[i]); + break; + } + } + + if (string.IsNullOrEmpty(mRootPath)) + { + Alert("Plugin error: com.google.play.games folder was renamed"); + throw new Exception("com.google.play.games folder was renamed"); + } + + break; + } + } + // UPM package root path is 'Library/PackageCache/com.google.play.games@.*/ + // where the suffix can be a version number if installed with URS + // or a hash if from disk or tarball + if (mRootPath.Contains(RootFolderName + '@')) + { + mRootPath = mRootPath.Replace("Packages", "Library/PackageCache"); + } + return mRootPath; + } + } + + /// + /// The game info file path. This is a generated file. + /// + private static string GameInfoPath + { + get { return SlashesToPlatformSeparator(Path.Combine(RootPath, GameInfoRelativePath)); } + } + + /// + /// The manifest path. + /// + /// The Games SDK requires additional metadata in the AndroidManifest.xml + /// file. + private static string ManifestPath + { + get { return SlashesToPlatformSeparator(Path.Combine(RootPath, ManifestRelativePath)); } + } + + /// + /// The root path of the Google Play Games plugin + /// + private static string mRootPath = ""; + + /// + /// The map of replacements for filling in code templates. The + /// key is the string that appears in the template as a placeholder, + /// the value is the key into the GPGSProjectSettings. + /// + private static Dictionary replacements = + new Dictionary() + { + // Put this element placeholder first, since it has embedded placeholder + {SERVICEID_ELEMENT_PLACEHOLDER, SERVICEID_ELEMENT_PLACEHOLDER}, + {SERVICEIDPLACEHOLDER, SERVICEIDKEY}, + {APPIDPLACEHOLDER, APPIDKEY}, + {CLASSNAMEPLACEHOLDER, CLASSNAMEKEY}, + {WEBCLIENTIDPLACEHOLDER, WEBCLIENTIDKEY}, + {PLUGINVERSIONPLACEHOLDER, PLUGINVERSIONKEY}, + // Causes the placeholder to be replaced with overridden value at runtime. + {NEARBY_PERMISSIONS_PLACEHOLDER, NEARBY_PERMISSIONS_PLACEHOLDER} + }; + + /// + /// Replaces / in file path to be the os specific separator. + /// + /// The path. + /// Path with correct separators. + public static string SlashesToPlatformSeparator(string path) + { + return path.Replace("/", System.IO.Path.DirectorySeparatorChar.ToString()); + } + + /// + /// Reads the file. + /// + /// The file contents. The slashes are corrected. + /// File path. + public static string ReadFile(string filePath) + { + filePath = SlashesToPlatformSeparator(filePath); + if (!File.Exists(filePath)) + { + Alert("Plugin error: file not found: " + filePath); + return null; + } + + StreamReader sr = new StreamReader(filePath); + string body = sr.ReadToEnd(); + sr.Close(); + return body; + } + + /// + /// Reads the editor template. + /// + /// The editor template contents. + /// Name of the template in the editor directory. + public static string ReadEditorTemplate(string name) + { + return ReadFile( + Path.Combine(RootPath, string.Format("Editor{0}{1}.txt", Path.DirectorySeparatorChar, name))); + } + + /// + /// Writes the file. + /// + /// File path - the slashes will be corrected. + /// Body of the file to write. + public static void WriteFile(string file, string body) + { + file = SlashesToPlatformSeparator(file); + DirectoryInfo dir = Directory.GetParent(file); + dir.Create(); + using (var wr = new StreamWriter(file, false)) + { + wr.Write(body); + } + } + + /// + /// Validates the string to be a valid nearby service id. + /// + /// true, if like valid service identifier was looksed, false otherwise. + /// string to test. + public static bool LooksLikeValidServiceId(string s) + { + if (s.Length < 3) + { + return false; + } + + foreach (char c in s) + { + if (!char.IsLetterOrDigit(c) && c != '.') + { + return false; + } + } + + return true; + } + + /// + /// Looks the like valid app identifier. + /// + /// true, if valid app identifier, false otherwise. + /// the string to test. + public static bool LooksLikeValidAppId(string s) + { + if (s.Length < 5) + { + return false; + } + + foreach (char c in s) + { + if (c < '0' || c > '9') + { + return false; + } + } + + return true; + } + + /// + /// Looks the like valid client identifier. + /// + /// true, if valid client identifier, false otherwise. + /// the string to test. + public static bool LooksLikeValidClientId(string s) + { + return s.EndsWith(".googleusercontent.com"); + } + + /// + /// Looks the like a valid bundle identifier. + /// + /// true, if valid bundle identifier, false otherwise. + /// the string to test. + public static bool LooksLikeValidBundleId(string s) + { + return s.Length > 3; + } + + /// + /// Looks like a valid package. + /// + /// true, if valid package name, false otherwise. + /// the string to test. + public static bool LooksLikeValidPackageName(string s) + { + if (string.IsNullOrEmpty(s)) + { + throw new Exception("cannot be empty"); + } + + string[] parts = s.Split(new char[] {'.'}); + foreach (string p in parts) + { + char[] bytes = p.ToCharArray(); + for (int i = 0; i < bytes.Length; i++) + { + if (i == 0 && !char.IsLetter(bytes[i])) + { + throw new Exception("each part must start with a letter"); + } + else if (char.IsWhiteSpace(bytes[i])) + { + throw new Exception("cannot contain spaces"); + } + else if (!char.IsLetterOrDigit(bytes[i]) && bytes[i] != '_') + { + throw new Exception("must be alphanumeric or _"); + } + } + } + + return parts.Length >= 1; + } + + /// + /// Determines if is setup done. + /// + /// true if is setup done; otherwise, false. + public static bool IsSetupDone() + { + bool doneSetup = true; +#if UNITY_ANDROID + doneSetup = GPGSProjectSettings.Instance.GetBool(ANDROIDSETUPDONEKEY, false); + // check gameinfo + if (File.Exists(GameInfoPath)) + { + string contents = ReadFile(GameInfoPath); + if (contents.Contains(APPIDPLACEHOLDER)) + { + Debug.Log("GameInfo not initialized with AppId. " + + "Run Window > Google Play Games > Setup > Android Setup..."); + return false; + } + } + else + { + Debug.Log("GameInfo.cs does not exist. Run Window > Google Play Games > Setup > Android Setup..."); + return false; + } +#endif + + return doneSetup; + } + + /// + /// Makes legal identifier from string. + /// Returns a legal C# identifier from the given string. The transformations are: + /// - spaces => underscore _ + /// - punctuation => empty string + /// - leading numbers are prefixed with underscore. + /// + /// the id + /// Key to convert to an identifier. + public static string MakeIdentifier(string key) + { + string s; + string retval = string.Empty; + if (string.IsNullOrEmpty(key)) + { + return "_"; + } + + s = key.Trim().Replace(' ', '_'); + + foreach (char c in s) + { + if (char.IsLetterOrDigit(c) || c == '_') + { + retval += c; + } + } + + return retval; + } + + /// + /// Displays an error dialog. + /// + /// the message + public static void Alert(string s) + { + Alert(GPGSStrings.Error, s); + } + + /// + /// Displays a dialog with the given title and message. + /// + /// the title. + /// the message. + public static void Alert(string title, string message) + { + EditorUtility.DisplayDialog(title, message, GPGSStrings.Ok); + } + + /// + /// Gets the android sdk path. + /// + /// The android sdk path. + public static string GetAndroidSdkPath() + { + string sdkPath = EditorPrefs.GetString("AndroidSdkRoot"); +#if UNITY_2019_1_OR_NEWER + // Unity 2019.x added installation of the Android SDK in the AndroidPlayer directory + // so fallback to searching for it there. + if (string.IsNullOrEmpty(sdkPath) || EditorPrefs.GetBool("SdkUseEmbedded")) + { + string androidPlayerDir = BuildPipeline.GetPlaybackEngineDirectory(BuildTarget.Android, BuildOptions.None); + if (!string.IsNullOrEmpty(androidPlayerDir)) + { + string androidPlayerSdkDir = Path.Combine(androidPlayerDir, "SDK"); + if (Directory.Exists(androidPlayerSdkDir)) + { + sdkPath = androidPlayerSdkDir; + } + } + } +#endif + if (sdkPath != null && (sdkPath.EndsWith("/") || sdkPath.EndsWith("\\"))) + { + sdkPath = sdkPath.Substring(0, sdkPath.Length - 1); + } + + return sdkPath; + } + + /// + /// Determines if the android sdk exists. + /// + /// true if android sdk exists; otherwise, false. + public static bool HasAndroidSdk() + { + string sdkPath = GetAndroidSdkPath(); + return sdkPath != null && sdkPath.Trim() != string.Empty && System.IO.Directory.Exists(sdkPath); + } + + /// + /// Gets the unity major version. + /// + /// The unity major version. + public static int GetUnityMajorVersion() + { +#if UNITY_5 + string majorVersion = Application.unityVersion.Split('.')[0]; + int ver; + if (!int.TryParse(majorVersion, out ver)) + { + ver = 0; + } + + return ver; +#elif UNITY_4_6 + return 4; +#else + return 0; +#endif + } + + /// + /// Checks for the android manifest file exsistance. + /// + /// true, if the file exists false otherwise. + public static bool AndroidManifestExists() + { + string destFilename = ManifestPath; + + return File.Exists(destFilename); + } + + /// + /// Generates the android manifest. + /// + public static void GenerateAndroidManifest() + { + string destFilename = ManifestPath; + + // Generate AndroidManifest.xml + string manifestBody = GPGSUtil.ReadEditorTemplate("template-AndroidManifest"); + + Dictionary overrideValues = + new Dictionary(); + + if (!string.IsNullOrEmpty(GPGSProjectSettings.Instance.Get(SERVICEIDKEY))) + { + overrideValues[NEARBY_PERMISSIONS_PLACEHOLDER] = + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n"; + overrideValues[SERVICEID_ELEMENT_PLACEHOLDER] = + " \n" + + " \n"; + } + else + { + overrideValues[NEARBY_PERMISSIONS_PLACEHOLDER] = ""; + overrideValues[SERVICEID_ELEMENT_PLACEHOLDER] = ""; + } + + foreach (KeyValuePair ent in replacements) + { + string value = + GPGSProjectSettings.Instance.Get(ent.Value, overrideValues); + manifestBody = manifestBody.Replace(ent.Key, value); + } + + GPGSUtil.WriteFile(destFilename, manifestBody); + GPGSUtil.UpdateGameInfo(); + } + + /// + /// Writes the resource identifiers file. This file contains the + /// resource ids copied (downloaded?) from the play game app console. + /// + /// Class directory. + /// Class name. + /// Resource keys. + public static void WriteResourceIds(string classDirectory, string className, Hashtable resourceKeys) + { + string constantsValues = string.Empty; + string[] parts = className.Split('.'); + string dirName = classDirectory; + if (string.IsNullOrEmpty(dirName)) + { + dirName = "Assets"; + } + + string nameSpace = string.Empty; + for (int i = 0; i < parts.Length - 1; i++) + { + dirName += "/" + parts[i]; + if (nameSpace != string.Empty) + { + nameSpace += "."; + } + + nameSpace += parts[i]; + } + + EnsureDirExists(dirName); + foreach (DictionaryEntry ent in resourceKeys) + { + string key = MakeIdentifier((string) ent.Key); + constantsValues += " public const string " + + key + " = \"" + ent.Value + "\"; // \n"; + } + + string fileBody = GPGSUtil.ReadEditorTemplate("template-Constants"); + if (nameSpace != string.Empty) + { + fileBody = fileBody.Replace( + NAMESPACESTARTPLACEHOLDER, + "namespace " + nameSpace + "\n{"); + } + else + { + fileBody = fileBody.Replace(NAMESPACESTARTPLACEHOLDER, string.Empty); + } + + fileBody = fileBody.Replace(CLASSNAMEPLACEHOLDER, parts[parts.Length - 1]); + fileBody = fileBody.Replace(CONSTANTSPLACEHOLDER, constantsValues); + if (nameSpace != string.Empty) + { + fileBody = fileBody.Replace( + NAMESPACEENDPLACEHOLDER, + "}"); + } + else + { + fileBody = fileBody.Replace(NAMESPACEENDPLACEHOLDER, string.Empty); + } + + WriteFile(Path.Combine(dirName, parts[parts.Length - 1] + ".cs"), fileBody); + } + + /// + /// Updates the game info file. This is a generated file containing the + /// app and client ids. + /// + public static void UpdateGameInfo() + { + string fileBody = GPGSUtil.ReadEditorTemplate("template-GameInfo"); + + foreach (KeyValuePair ent in replacements) + { + string value = + GPGSProjectSettings.Instance.Get(ent.Value); + fileBody = fileBody.Replace(ent.Key, value); + } + + GPGSUtil.WriteFile(GameInfoPath, fileBody); + } + + /// + /// Checks the dependencies file and fixes repository paths + /// if they are incorrect (for example if the user moved plugin + /// into some subdirectory). This is a generated file containing + /// the list of dependencies that are needed for the plugin to work. + /// + public static void CheckAndFixDependencies() + { + string depPath = + SlashesToPlatformSeparator(Path.Combine(GPGSUtil.RootPath, + "Editor/GooglePlayGamesPluginDependencies.xml")); + + XmlDocument doc = new XmlDocument(); + doc.Load(depPath); + + XmlNodeList repos = doc.SelectNodes("//androidPackage[contains(@spec,'com.google.games')]//repository"); + foreach (XmlNode repo in repos) + { + if (!Directory.Exists(repo.InnerText)) + { + int pos = repo.InnerText.IndexOf(RootFolderName); + if (pos != -1) + { + repo.InnerText = + Path.Combine(RootPath, repo.InnerText.Substring(pos + RootFolderName.Length + 1)) + .Replace("\\", "/"); + } + } + } + + doc.Save(depPath); + } + + /// + /// Checks the file containing the list of versioned assets and fixes + /// paths to them if they are incorrect (for example if the user moved + /// plugin into some subdirectory). This is a generated file. + /// + public static void CheckAndFixVersionedAssestsPaths() + { + string[] foundPaths = + Directory.GetFiles(RootPath, "GooglePlayGamesPlugin_v*.txt", SearchOption.AllDirectories); + + if (foundPaths.Length == 1) + { + string tmpFilePath = Path.GetTempFileName(); + + StreamWriter writer = new StreamWriter(tmpFilePath); + using (StreamReader reader = new StreamReader(foundPaths[0])) + { + string assetPath; + while ((assetPath = reader.ReadLine()) != null) + { + int pos = assetPath.IndexOf(RootFolderName); + if (pos != -1) + { + assetPath = Path.Combine(RootPath, assetPath.Substring(pos + RootFolderName.Length + 1)) + .Replace("\\", "/"); + } + + writer.WriteLine(assetPath); + } + } + + writer.Flush(); + writer.Close(); + + try + { + File.Copy(tmpFilePath, foundPaths[0], true); + } + finally + { + File.Delete(tmpFilePath); + } + } + } + + /// + /// Ensures the dir exists. + /// + /// Directory to check. + public static void EnsureDirExists(string dir) + { + dir = SlashesToPlatformSeparator(dir); + if (!Directory.Exists(dir)) + { + Directory.CreateDirectory(dir); + } + } + + /// + /// Deletes the dir if exists. + /// + /// Directory to delete. + public static void DeleteDirIfExists(string dir) + { + dir = SlashesToPlatformSeparator(dir); + if (Directory.Exists(dir)) + { + Directory.Delete(dir, true); + } + } + + /// + /// Gets the Google Play Services library version. This is only + /// needed for Unity versions less than 5. + /// + /// The GPS version. + /// Lib proj path. + private static int GetGPSVersion(string libProjPath) + { + string versionFile = libProjPath + "/res/values/version.xml"; + + XmlTextReader reader = new XmlTextReader(new StreamReader(versionFile)); + bool inResource = false; + int version = -1; + + while (reader.Read()) + { + if (reader.Name == "resources") + { + inResource = true; + } + + if (inResource && reader.Name == "integer") + { + if ("google_play_services_version".Equals( + reader.GetAttribute("name"))) + { + reader.Read(); + Debug.Log("Read version string: " + reader.Value); + version = Convert.ToInt32(reader.Value); + } + } + } + + reader.Close(); + return version; + } + } +} diff --git a/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/GPGSUtil.cs.meta b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/GPGSUtil.cs.meta new file mode 100644 index 00000000..7d2b895f --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/GPGSUtil.cs.meta @@ -0,0 +1,14 @@ +fileFormatVersion: 2 +guid: fd01714f9ee99447996b878b1ac67540 +labels: +- gvh +- gvh_version-2.1.0 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/Google.Play.Games.Editor.asmdef b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/Google.Play.Games.Editor.asmdef new file mode 100644 index 00000000..6dc51caa --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/Google.Play.Games.Editor.asmdef @@ -0,0 +1,9 @@ +{ + "name": "Google.Play.Games.Editor", + "references": [ + "Google.Play.Games" + ], + "includePlatforms": [ + "Editor" + ] +} diff --git a/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/Google.Play.Games.Editor.asmdef.meta b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/Google.Play.Games.Editor.asmdef.meta new file mode 100644 index 00000000..cb175825 --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/Google.Play.Games.Editor.asmdef.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 9172e27a923a34eb8b02dc3ab88d3dcd +labels: +- gvh +- gvh_version-2.1.0 +AssemblyDefinitionImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/GooglePlayGamesPluginDependencies.xml b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/GooglePlayGamesPluginDependencies.xml new file mode 100644 index 00000000..64223814 --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/GooglePlayGamesPluginDependencies.xml @@ -0,0 +1,13 @@ + + + + + + + Assets/GooglePlayGames/com.google.play.games/Editor/m2repository + + + + \ No newline at end of file diff --git a/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/GooglePlayGamesPluginDependencies.xml.meta b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/GooglePlayGamesPluginDependencies.xml.meta new file mode 100644 index 00000000..ada360ba --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/GooglePlayGamesPluginDependencies.xml.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 23be7d2a8d0784f2195988f3ee220ea2 +labels: +- gvh +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/GooglePlayGamesPlugin_v2.1.0.txt b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/GooglePlayGamesPlugin_v2.1.0.txt new file mode 100644 index 00000000..a658d5e3 --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/GooglePlayGamesPlugin_v2.1.0.txt @@ -0,0 +1,100 @@ +Assets/PlayServicesResolver/Editor/play-services-resolver_v1.2.137.0.txt +Assets/Plugins/Android/GooglePlayGamesManifest.androidlib/project.properties +Assets/ExternalDependencyManager/Editor/Google.VersionHandler.pdb +Assets/ExternalDependencyManager/Editor/LICENSE +Assets/ExternalDependencyManager/Editor/CHANGELOG.md +Assets/ExternalDependencyManager/Editor/Google.VersionHandler.dll +Assets/ExternalDependencyManager/Editor/README.md +Assets/ExternalDependencyManager/Editor/external-dependency-manager_version-1.2.182_manifest.txt +Assets/ExternalDependencyManager/Editor/1.2.182/Google.PackageManagerResolver.pdb +Assets/ExternalDependencyManager/Editor/1.2.182/Google.VersionHandlerImpl.pdb +Assets/ExternalDependencyManager/Editor/1.2.182/Google.VersionHandlerImpl.dll +Assets/ExternalDependencyManager/Editor/1.2.182/Google.PackageManagerResolver.dll +Assets/ExternalDependencyManager/Editor/1.2.182/Google.JarResolver.pdb +Assets/ExternalDependencyManager/Editor/1.2.182/Google.IOSResolver.pdb +Assets/ExternalDependencyManager/Editor/1.2.182/Google.JarResolver.dll +Assets/ExternalDependencyManager/Editor/1.2.182/Google.IOSResolver.dll +Assets/GooglePlayGames/AssemblyInfo.cs +Assets/GooglePlayGames/com.google.play.games/Runtime/Google.Play.Games.asmdef +Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/Platforms/NearbyConnectionClientFactory.cs +Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/Platforms/Android/AndroidSavedGameClient.cs +Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/Platforms/Android/AndroidClient.cs +Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/Platforms/Android/AndroidSnapshotMetadata.cs +Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/Platforms/Android/AndroidJavaConverter.cs +Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/Platforms/Android/AndroidEventsClient.cs +Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/Platforms/Android/AndroidNearbyConnectionClient.cs +Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/Platforms/Android/AndroidHelperFragment.cs +Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/Platforms/Android/AndroidTaskUtils.cs +Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/Platforms/PlayGamesClientFactory.cs +Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/PluginVersion.cs +Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/OurUtils/PlayGamesHelperObject.cs +Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/OurUtils/PlatformUtils.cs +Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/OurUtils/Logger.cs +Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/OurUtils/Misc.cs +Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/OurUtils/NearbyHelperObject.cs +Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/ISocialPlatform/PlayGamesPlatform.cs +Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/ISocialPlatform/PlayGamesScore.cs +Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/ISocialPlatform/PlayGamesLeaderboard.cs +Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/ISocialPlatform/PlayGamesUserProfile.cs +Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/ISocialPlatform/PlayGamesLocalUser.cs +Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/ISocialPlatform/PlayGamesAchievement.cs +Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/Achievement.cs +Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/AuthScope.cs +Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/ScorePageToken.cs +Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/DummyClient.cs +Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/AuthResponse.cs +Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/RecallAccess.cs +Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/SavedGame/ISavedGameClient.cs +Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/SavedGame/ISavedGameMetadata.cs +Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/SavedGame/SavedGameMetadataUpdate.cs +Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/CommonStatusCodes.cs +Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/Nearby/DummyNearbyConnectionClient.cs +Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/Nearby/AdvertisingResult.cs +Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/Nearby/EndpointDetails.cs +Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/Nearby/ConnectionRequest.cs +Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/Nearby/INearbyConnectionClient.cs +Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/Nearby/ConnectionResponse.cs +Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/Nearby/NearbyConnectionConfiguration.cs +Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/PlayerProfile.cs +Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/IPlayGamesClient.cs +Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/LeaderboardScoreData.cs +Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/SignInInteractivity.cs +Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/Events/Event.cs +Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/Events/IEvent.cs +Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/Events/IEventsClient.cs +Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/Player.cs +Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/SignInStatus.cs +Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/CommonTypes.cs +Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/PlayerStats.cs +Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/GameInfo.cs +Assets/GooglePlayGames/com.google.play.games/current-build/GooglePlayGamesPlugin-2.0.0.unitypackage +Assets/GooglePlayGames/com.google.play.games/package.json +Assets/GooglePlayGames/com.google.play.games/Proguard/games.txt +Assets/GooglePlayGames/com.google.play.games/Editor/template-AndroidManifest.txt +Assets/GooglePlayGames/com.google.play.games/Editor/NearbyConnectionUI.cs +Assets/GooglePlayGames/com.google.play.games/Editor/GPGSAndroidSetupUI.cs +Assets/GooglePlayGames/com.google.play.games/Editor/template-Constants.txt +Assets/GooglePlayGames/com.google.play.games/Editor/GPGSPostBuild.cs +Assets/GooglePlayGames/com.google.play.games/Editor/GooglePlayGamesPluginDependencies.xml +Assets/GooglePlayGames/com.google.play.games/Editor/GPGSUtil.cs +Assets/GooglePlayGames/com.google.play.games/Editor/template-GameInfo.txt +Assets/GooglePlayGames/com.google.play.games/Editor/Google.Play.Games.Editor.asmdef +Assets/GooglePlayGames/com.google.play.games/Editor/GPGSUpgrader.cs +Assets/GooglePlayGames/com.google.play.games/Editor/m2repository/com/google/games/gpgs-plugin-support/maven-metadata.xml.sha256 +Assets/GooglePlayGames/com.google.play.games/Editor/m2repository/com/google/games/gpgs-plugin-support/maven-metadata.xml +Assets/GooglePlayGames/com.google.play.games/Editor/m2repository/com/google/games/gpgs-plugin-support/maven-metadata.xml.sha512 +Assets/GooglePlayGames/com.google.play.games/Editor/m2repository/com/google/games/gpgs-plugin-support/2.1.0/gpgs-plugin-support-2.1.0.srcaar.sha1 +Assets/GooglePlayGames/com.google.play.games/Editor/m2repository/com/google/games/gpgs-plugin-support/2.1.0/gpgs-plugin-support-2.1.0.srcaar.md5 +Assets/GooglePlayGames/com.google.play.games/Editor/m2repository/com/google/games/gpgs-plugin-support/2.1.0/gpgs-plugin-support-2.1.0.pom.md5 +Assets/GooglePlayGames/com.google.play.games/Editor/m2repository/com/google/games/gpgs-plugin-support/2.1.0/gpgs-plugin-support-2.1.0.pom.sha512 +Assets/GooglePlayGames/com.google.play.games/Editor/m2repository/com/google/games/gpgs-plugin-support/2.1.0/gpgs-plugin-support-2.1.0.srcaar.sha512 +Assets/GooglePlayGames/com.google.play.games/Editor/m2repository/com/google/games/gpgs-plugin-support/2.1.0/gpgs-plugin-support-2.1.0.pom +Assets/GooglePlayGames/com.google.play.games/Editor/m2repository/com/google/games/gpgs-plugin-support/2.1.0/gpgs-plugin-support-2.1.0.srcaar +Assets/GooglePlayGames/com.google.play.games/Editor/m2repository/com/google/games/gpgs-plugin-support/2.1.0/gpgs-plugin-support-2.1.0.pom.sha256 +Assets/GooglePlayGames/com.google.play.games/Editor/m2repository/com/google/games/gpgs-plugin-support/2.1.0/gpgs-plugin-support-2.1.0.pom.sha1 +Assets/GooglePlayGames/com.google.play.games/Editor/m2repository/com/google/games/gpgs-plugin-support/2.1.0/gpgs-plugin-support-2.1.0.srcaar.sha256 +Assets/GooglePlayGames/com.google.play.games/Editor/m2repository/com/google/games/gpgs-plugin-support/maven-metadata.xml.md5 +Assets/GooglePlayGames/com.google.play.games/Editor/m2repository/com/google/games/gpgs-plugin-support/maven-metadata.xml.sha1 +Assets/GooglePlayGames/com.google.play.games/Editor/GPGSStrings.cs +Assets/GooglePlayGames/com.google.play.games/Editor/GPGSDocsUI.cs +Assets/GooglePlayGames/com.google.play.games/Editor/GPGSProjectSettings.cs diff --git a/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/GooglePlayGamesPlugin_v2.1.0.txt.meta b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/GooglePlayGamesPlugin_v2.1.0.txt.meta new file mode 100644 index 00000000..1e73c506 --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/GooglePlayGamesPlugin_v2.1.0.txt.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 2cab45bef89b247bcb7a494b006fdf9b +labels: +- gvh +- gvh_manifest +- gvh_version-2.1.0 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/NearbyConnectionUI.cs b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/NearbyConnectionUI.cs new file mode 100644 index 00000000..f4cc4875 --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/NearbyConnectionUI.cs @@ -0,0 +1,153 @@ +// +// Copyright (C) 2014 Google Inc. All Rights Reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// + +#if UNITY_ANDROID + +namespace GooglePlayGames.Editor +{ + using UnityEngine; + using UnityEditor; + + public class NearbyConnectionUI : EditorWindow + { + private string mNearbyServiceId = string.Empty; + + [MenuItem("Window/Google Play Games/Setup/Nearby Connections setup...", false, 3)] + public static void MenuItemNearbySetup() + { + EditorWindow window = EditorWindow.GetWindow( + typeof(NearbyConnectionUI), true, GPGSStrings.NearbyConnections.Title); + window.minSize = new Vector2(400, 200); + } + + [MenuItem("Window/Google Play Games/Setup/Nearby Connections setup...", true)] + public static bool EnableNearbyMenuItem() + { +#if UNITY_ANDROID + return true; +#else + return false; +#endif + } + + public void OnEnable() + { + mNearbyServiceId = GPGSProjectSettings.Instance.Get(GPGSUtil.SERVICEIDKEY); + } + + public void OnGUI() + { + GUI.skin.label.wordWrap = true; + GUILayout.BeginVertical(); + GUILayout.Space(10); + GUILayout.Label(GPGSStrings.NearbyConnections.Blurb); + GUILayout.Space(10); + + GUILayout.Label(GPGSStrings.Setup.NearbyServiceId, EditorStyles.boldLabel); + GUILayout.Space(10); + GUILayout.Label(GPGSStrings.Setup.NearbyServiceBlurb); + mNearbyServiceId = EditorGUILayout.TextField(GPGSStrings.Setup.NearbyServiceId, + mNearbyServiceId, GUILayout.Width(350)); + + GUILayout.FlexibleSpace(); + GUILayout.BeginHorizontal(); + GUILayout.FlexibleSpace(); + if (GUILayout.Button(GPGSStrings.Setup.SetupButton, + GUILayout.Width(100))) + { + DoSetup(); + } + + if (GUILayout.Button("Cancel", GUILayout.Width(100))) + { + this.Close(); + } + + GUILayout.FlexibleSpace(); + GUILayout.EndHorizontal(); + GUILayout.Space(20); + GUILayout.EndVertical(); + } + + private void DoSetup() + { + if (PerformSetup(mNearbyServiceId, true)) + { + EditorUtility.DisplayDialog(GPGSStrings.Success, + GPGSStrings.NearbyConnections.SetupComplete, GPGSStrings.Ok); + this.Close(); + } + } + + /// Provide static access to setup for facilitating automated builds. + /// The nearby connections service Id + /// true if building android + public static bool PerformSetup(string nearbyServiceId, bool androidBuild) + { + // check for valid app id + if (!GPGSUtil.LooksLikeValidServiceId(nearbyServiceId)) + { + if (EditorUtility.DisplayDialog( + "Remove Nearby connection permissions? ", + "The service Id is invalid. It must follow package naming rules. " + + "Do you want to remove the AndroidManifest entries for Nearby connections?", + "Yes", + "No")) + { + GPGSProjectSettings.Instance.Set(GPGSUtil.SERVICEIDKEY, null); + GPGSProjectSettings.Instance.Save(); + } + else + { + return false; + } + } + else + { + GPGSProjectSettings.Instance.Set(GPGSUtil.SERVICEIDKEY, nearbyServiceId); + GPGSProjectSettings.Instance.Save(); + } + + if (androidBuild) + { + // create needed directories + GPGSUtil.EnsureDirExists("Assets/Plugins"); + GPGSUtil.EnsureDirExists("Assets/Plugins/Android"); + + // Generate AndroidManifest.xml + GPGSUtil.GenerateAndroidManifest(); + + GPGSProjectSettings.Instance.Set(GPGSUtil.NEARBYSETUPDONEKEY, true); + GPGSProjectSettings.Instance.Save(); + + // Resolve the dependencies + Google.VersionHandler.VerboseLoggingEnabled = true; + Google.VersionHandler.UpdateVersionedAssets(forceUpdate: true); + Google.VersionHandler.Enabled = true; + AssetDatabase.Refresh(); + + Google.VersionHandler.InvokeStaticMethod( + Google.VersionHandler.FindClass( + "Google.JarResolver", + "GooglePlayServices.PlayServicesResolver"), + "MenuResolve", null); + } + + return true; + } + } +} +#endif \ No newline at end of file diff --git a/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/NearbyConnectionUI.cs.meta b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/NearbyConnectionUI.cs.meta new file mode 100644 index 00000000..6e043aff --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/NearbyConnectionUI.cs.meta @@ -0,0 +1,14 @@ +fileFormatVersion: 2 +guid: b64332a502e18436da5652adbf7e24a3 +labels: +- gvh +- gvh_version-2.1.0 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/m2repository.meta b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/m2repository.meta new file mode 100644 index 00000000..b57f7588 --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/m2repository.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: a1aac54589c4640cd89900056af3a094 +folderAsset: yes +timeCreated: 1515000812 +licenseType: Free +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/m2repository/com.meta b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/m2repository/com.meta new file mode 100644 index 00000000..d0d5ab28 --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/m2repository/com.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 76a0a965afaf3450c92e9b41b493bbeb +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/m2repository/com/google.meta b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/m2repository/com/google.meta new file mode 100644 index 00000000..8d488405 --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/m2repository/com/google.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 6cb1e99a036f54817b99eeef873b6466 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/m2repository/com/google/games.meta b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/m2repository/com/google/games.meta new file mode 100644 index 00000000..ef941dd4 --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/m2repository/com/google/games.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: e98998ec335bb4358bc79e29457320ae +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/m2repository/com/google/games/gpgs-plugin-support.meta b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/m2repository/com/google/games/gpgs-plugin-support.meta new file mode 100644 index 00000000..81e51fcf --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/m2repository/com/google/games/gpgs-plugin-support.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 227f33919ca3d4d60a6040a03cbaa5e9 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/m2repository/com/google/games/gpgs-plugin-support/2.1.0.meta b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/m2repository/com/google/games/gpgs-plugin-support/2.1.0.meta new file mode 100644 index 00000000..fad4662a --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/m2repository/com/google/games/gpgs-plugin-support/2.1.0.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 097e60ab202a04d96b15903958e8d21f +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/m2repository/com/google/games/gpgs-plugin-support/2.1.0/gpgs-plugin-support-2.1.0.pom b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/m2repository/com/google/games/gpgs-plugin-support/2.1.0/gpgs-plugin-support-2.1.0.pom new file mode 100644 index 00000000..74cd2948 --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/m2repository/com/google/games/gpgs-plugin-support/2.1.0/gpgs-plugin-support-2.1.0.pom @@ -0,0 +1,20 @@ + + + 4.0.0 + com.google.games + gpgs-plugin-support + 2.1.0 + srcaar + + + com.google.android.gms + play-services-games-v2 + 21.0.0 + + + com.google.android.gms + play-services-nearby + 18.5.0 + + + diff --git a/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/m2repository/com/google/games/gpgs-plugin-support/2.1.0/gpgs-plugin-support-2.1.0.pom.md5 b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/m2repository/com/google/games/gpgs-plugin-support/2.1.0/gpgs-plugin-support-2.1.0.pom.md5 new file mode 100644 index 00000000..3b825357 --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/m2repository/com/google/games/gpgs-plugin-support/2.1.0/gpgs-plugin-support-2.1.0.pom.md5 @@ -0,0 +1 @@ +bd3bb3899a24c1a87d597832701e7bcf \ No newline at end of file diff --git a/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/m2repository/com/google/games/gpgs-plugin-support/2.1.0/gpgs-plugin-support-2.1.0.pom.md5.meta b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/m2repository/com/google/games/gpgs-plugin-support/2.1.0/gpgs-plugin-support-2.1.0.pom.md5.meta new file mode 100644 index 00000000..4389a5d3 --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/m2repository/com/google/games/gpgs-plugin-support/2.1.0/gpgs-plugin-support-2.1.0.pom.md5.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 6c7298e4e719d4b4385fdbd461a80e16 +labels: +- gvh +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/m2repository/com/google/games/gpgs-plugin-support/2.1.0/gpgs-plugin-support-2.1.0.pom.meta b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/m2repository/com/google/games/gpgs-plugin-support/2.1.0/gpgs-plugin-support-2.1.0.pom.meta new file mode 100644 index 00000000..1f0373ec --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/m2repository/com/google/games/gpgs-plugin-support/2.1.0/gpgs-plugin-support-2.1.0.pom.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 77c5e5feaf1bb418eb5dee0b81092649 +labels: +- gvh +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/m2repository/com/google/games/gpgs-plugin-support/2.1.0/gpgs-plugin-support-2.1.0.pom.sha1 b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/m2repository/com/google/games/gpgs-plugin-support/2.1.0/gpgs-plugin-support-2.1.0.pom.sha1 new file mode 100644 index 00000000..300fed1b --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/m2repository/com/google/games/gpgs-plugin-support/2.1.0/gpgs-plugin-support-2.1.0.pom.sha1 @@ -0,0 +1 @@ +db337ca4a8846cf7b71dc54e408ef6702955ebd7 \ No newline at end of file diff --git a/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/m2repository/com/google/games/gpgs-plugin-support/2.1.0/gpgs-plugin-support-2.1.0.pom.sha1.meta b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/m2repository/com/google/games/gpgs-plugin-support/2.1.0/gpgs-plugin-support-2.1.0.pom.sha1.meta new file mode 100644 index 00000000..b68d1fab --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/m2repository/com/google/games/gpgs-plugin-support/2.1.0/gpgs-plugin-support-2.1.0.pom.sha1.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 8341b2c3a48474fa1844e4abb5680cb3 +labels: +- gvh +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/m2repository/com/google/games/gpgs-plugin-support/2.1.0/gpgs-plugin-support-2.1.0.pom.sha256 b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/m2repository/com/google/games/gpgs-plugin-support/2.1.0/gpgs-plugin-support-2.1.0.pom.sha256 new file mode 100644 index 00000000..1c3cebc1 --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/m2repository/com/google/games/gpgs-plugin-support/2.1.0/gpgs-plugin-support-2.1.0.pom.sha256 @@ -0,0 +1 @@ +a470877748a60d4edc3ec1773906e069a06dd1481fde054f700e4ab0ae698728 \ No newline at end of file diff --git a/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/m2repository/com/google/games/gpgs-plugin-support/2.1.0/gpgs-plugin-support-2.1.0.pom.sha256.meta b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/m2repository/com/google/games/gpgs-plugin-support/2.1.0/gpgs-plugin-support-2.1.0.pom.sha256.meta new file mode 100644 index 00000000..cd392997 --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/m2repository/com/google/games/gpgs-plugin-support/2.1.0/gpgs-plugin-support-2.1.0.pom.sha256.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: e6b6a3e652c5a492ab2801cd91083291 +labels: +- gvh +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/m2repository/com/google/games/gpgs-plugin-support/2.1.0/gpgs-plugin-support-2.1.0.pom.sha512 b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/m2repository/com/google/games/gpgs-plugin-support/2.1.0/gpgs-plugin-support-2.1.0.pom.sha512 new file mode 100644 index 00000000..961c82ee --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/m2repository/com/google/games/gpgs-plugin-support/2.1.0/gpgs-plugin-support-2.1.0.pom.sha512 @@ -0,0 +1 @@ +499a85fbba0d49e29f1bcbd369b691b0fc8f12b74c68e9d85ffc0e2264ae49081b4decac323579ebbde56523df194ddac932adcfd7169d59044e39f53a179833 \ No newline at end of file diff --git a/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/m2repository/com/google/games/gpgs-plugin-support/2.1.0/gpgs-plugin-support-2.1.0.pom.sha512.meta b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/m2repository/com/google/games/gpgs-plugin-support/2.1.0/gpgs-plugin-support-2.1.0.pom.sha512.meta new file mode 100644 index 00000000..5c5da015 --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/m2repository/com/google/games/gpgs-plugin-support/2.1.0/gpgs-plugin-support-2.1.0.pom.sha512.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: b240939517fec40b4865e09113e40a67 +labels: +- gvh +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/m2repository/com/google/games/gpgs-plugin-support/2.1.0/gpgs-plugin-support-2.1.0.srcaar b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/m2repository/com/google/games/gpgs-plugin-support/2.1.0/gpgs-plugin-support-2.1.0.srcaar new file mode 100644 index 0000000000000000000000000000000000000000..6b9fc563e4bd0b2843ab35ad2bebfb0cb9216e14 GIT binary patch literal 31938 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 Mzvrgx_0OmO2T}X$761SM literal 0 HcmV?d00001 diff --git a/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/m2repository/com/google/games/gpgs-plugin-support/2.1.0/gpgs-plugin-support-2.1.0.srcaar.md5 b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/m2repository/com/google/games/gpgs-plugin-support/2.1.0/gpgs-plugin-support-2.1.0.srcaar.md5 new file mode 100644 index 00000000..63533826 --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/m2repository/com/google/games/gpgs-plugin-support/2.1.0/gpgs-plugin-support-2.1.0.srcaar.md5 @@ -0,0 +1 @@ +e894d7c1af62ede159e7606c32166717 \ No newline at end of file diff --git a/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/m2repository/com/google/games/gpgs-plugin-support/2.1.0/gpgs-plugin-support-2.1.0.srcaar.md5.meta b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/m2repository/com/google/games/gpgs-plugin-support/2.1.0/gpgs-plugin-support-2.1.0.srcaar.md5.meta new file mode 100644 index 00000000..2b39b5c5 --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/m2repository/com/google/games/gpgs-plugin-support/2.1.0/gpgs-plugin-support-2.1.0.srcaar.md5.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: be12aa927c7cf4436b9e41baec85bc56 +labels: +- gvh +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/m2repository/com/google/games/gpgs-plugin-support/2.1.0/gpgs-plugin-support-2.1.0.srcaar.meta b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/m2repository/com/google/games/gpgs-plugin-support/2.1.0/gpgs-plugin-support-2.1.0.srcaar.meta new file mode 100644 index 00000000..ac4c1a22 --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/m2repository/com/google/games/gpgs-plugin-support/2.1.0/gpgs-plugin-support-2.1.0.srcaar.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: b05cec21e440d40d292505bdd9f0872a +labels: +- gvh +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/m2repository/com/google/games/gpgs-plugin-support/2.1.0/gpgs-plugin-support-2.1.0.srcaar.sha1 b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/m2repository/com/google/games/gpgs-plugin-support/2.1.0/gpgs-plugin-support-2.1.0.srcaar.sha1 new file mode 100644 index 00000000..440bba18 --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/m2repository/com/google/games/gpgs-plugin-support/2.1.0/gpgs-plugin-support-2.1.0.srcaar.sha1 @@ -0,0 +1 @@ +33458933461584ac9187cf85bef90da9c380856c \ No newline at end of file diff --git a/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/m2repository/com/google/games/gpgs-plugin-support/2.1.0/gpgs-plugin-support-2.1.0.srcaar.sha1.meta b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/m2repository/com/google/games/gpgs-plugin-support/2.1.0/gpgs-plugin-support-2.1.0.srcaar.sha1.meta new file mode 100644 index 00000000..92122710 --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/m2repository/com/google/games/gpgs-plugin-support/2.1.0/gpgs-plugin-support-2.1.0.srcaar.sha1.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 7fad262fe84ae4755bb1e5992d0bb0fe +labels: +- gvh +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/m2repository/com/google/games/gpgs-plugin-support/2.1.0/gpgs-plugin-support-2.1.0.srcaar.sha256 b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/m2repository/com/google/games/gpgs-plugin-support/2.1.0/gpgs-plugin-support-2.1.0.srcaar.sha256 new file mode 100644 index 00000000..c826c163 --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/m2repository/com/google/games/gpgs-plugin-support/2.1.0/gpgs-plugin-support-2.1.0.srcaar.sha256 @@ -0,0 +1 @@ +52ba335460015c31f4f2aec66a28f2ae1e6338741ed03f75a792fbc248d279bb \ No newline at end of file diff --git a/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/m2repository/com/google/games/gpgs-plugin-support/2.1.0/gpgs-plugin-support-2.1.0.srcaar.sha256.meta b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/m2repository/com/google/games/gpgs-plugin-support/2.1.0/gpgs-plugin-support-2.1.0.srcaar.sha256.meta new file mode 100644 index 00000000..40222b7d --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/m2repository/com/google/games/gpgs-plugin-support/2.1.0/gpgs-plugin-support-2.1.0.srcaar.sha256.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: b355faca70a7f4859836cfd5bb5107db +labels: +- gvh +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/m2repository/com/google/games/gpgs-plugin-support/2.1.0/gpgs-plugin-support-2.1.0.srcaar.sha512 b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/m2repository/com/google/games/gpgs-plugin-support/2.1.0/gpgs-plugin-support-2.1.0.srcaar.sha512 new file mode 100644 index 00000000..ff6f0a8d --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/m2repository/com/google/games/gpgs-plugin-support/2.1.0/gpgs-plugin-support-2.1.0.srcaar.sha512 @@ -0,0 +1 @@ +fba25ef5bc17ef310ad5b6b95c3e821e1e710b23167b9f3452cdd2ebe6b9dddbdc743fd23a9fa5a6565fee9a30562aa0e305579ca251966a8786dac50d6525a2 \ No newline at end of file diff --git a/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/m2repository/com/google/games/gpgs-plugin-support/2.1.0/gpgs-plugin-support-2.1.0.srcaar.sha512.meta b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/m2repository/com/google/games/gpgs-plugin-support/2.1.0/gpgs-plugin-support-2.1.0.srcaar.sha512.meta new file mode 100644 index 00000000..7447cc8c --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/m2repository/com/google/games/gpgs-plugin-support/2.1.0/gpgs-plugin-support-2.1.0.srcaar.sha512.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 7c8d8706ef3f5409d86d34690d62e5a7 +labels: +- gvh +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/m2repository/com/google/games/gpgs-plugin-support/maven-metadata.xml b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/m2repository/com/google/games/gpgs-plugin-support/maven-metadata.xml new file mode 100644 index 00000000..c183b349 --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/m2repository/com/google/games/gpgs-plugin-support/maven-metadata.xml @@ -0,0 +1,13 @@ + + + com.google.games + gpgs-plugin-support + + 2.1.0 + 2.1.0 + + 2.1.0 + + 20250708083250 + + diff --git a/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/m2repository/com/google/games/gpgs-plugin-support/maven-metadata.xml.md5 b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/m2repository/com/google/games/gpgs-plugin-support/maven-metadata.xml.md5 new file mode 100644 index 00000000..609a5525 --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/m2repository/com/google/games/gpgs-plugin-support/maven-metadata.xml.md5 @@ -0,0 +1 @@ +1a6ee98875ac2e9f5377a1927aad50bd \ No newline at end of file diff --git a/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/m2repository/com/google/games/gpgs-plugin-support/maven-metadata.xml.md5.meta b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/m2repository/com/google/games/gpgs-plugin-support/maven-metadata.xml.md5.meta new file mode 100644 index 00000000..2ea5bd53 --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/m2repository/com/google/games/gpgs-plugin-support/maven-metadata.xml.md5.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: df1b97918a3cb4607a87f7d357adfee7 +labels: +- gvh +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/m2repository/com/google/games/gpgs-plugin-support/maven-metadata.xml.meta b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/m2repository/com/google/games/gpgs-plugin-support/maven-metadata.xml.meta new file mode 100644 index 00000000..97a5311e --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/m2repository/com/google/games/gpgs-plugin-support/maven-metadata.xml.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 5e7cbb11d2cd04f6380a65c16715e9a4 +labels: +- gvh +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/m2repository/com/google/games/gpgs-plugin-support/maven-metadata.xml.sha1 b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/m2repository/com/google/games/gpgs-plugin-support/maven-metadata.xml.sha1 new file mode 100644 index 00000000..af4f38d3 --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/m2repository/com/google/games/gpgs-plugin-support/maven-metadata.xml.sha1 @@ -0,0 +1 @@ +713cb8be9f9968cbf68130abde91a6a08147535f \ No newline at end of file diff --git a/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/m2repository/com/google/games/gpgs-plugin-support/maven-metadata.xml.sha1.meta b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/m2repository/com/google/games/gpgs-plugin-support/maven-metadata.xml.sha1.meta new file mode 100644 index 00000000..db1e5863 --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/m2repository/com/google/games/gpgs-plugin-support/maven-metadata.xml.sha1.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: a43cf6ce24a034a94bed8334f57647a7 +labels: +- gvh +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/m2repository/com/google/games/gpgs-plugin-support/maven-metadata.xml.sha256 b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/m2repository/com/google/games/gpgs-plugin-support/maven-metadata.xml.sha256 new file mode 100644 index 00000000..0e887f3b --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/m2repository/com/google/games/gpgs-plugin-support/maven-metadata.xml.sha256 @@ -0,0 +1 @@ +8efe76e7d3745bc3722234db7e6922a89c5b2aa6620a5cfb532a8ddb87649bf9 \ No newline at end of file diff --git a/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/m2repository/com/google/games/gpgs-plugin-support/maven-metadata.xml.sha256.meta b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/m2repository/com/google/games/gpgs-plugin-support/maven-metadata.xml.sha256.meta new file mode 100644 index 00000000..91642c2c --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/m2repository/com/google/games/gpgs-plugin-support/maven-metadata.xml.sha256.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 42a80f9d5c82741178cc211096f64370 +labels: +- gvh +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/m2repository/com/google/games/gpgs-plugin-support/maven-metadata.xml.sha512 b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/m2repository/com/google/games/gpgs-plugin-support/maven-metadata.xml.sha512 new file mode 100644 index 00000000..9f45d5fa --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/m2repository/com/google/games/gpgs-plugin-support/maven-metadata.xml.sha512 @@ -0,0 +1 @@ +add19f532d7d142f9f0a247a9c7e37dc4772b866c8672a05e881a7d6eba5bcff90c2119478e9a5965e4fd5b18bced11c27056eb78e06abb47e558f9c14b38997 \ No newline at end of file diff --git a/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/m2repository/com/google/games/gpgs-plugin-support/maven-metadata.xml.sha512.meta b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/m2repository/com/google/games/gpgs-plugin-support/maven-metadata.xml.sha512.meta new file mode 100644 index 00000000..31cf8dc4 --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/m2repository/com/google/games/gpgs-plugin-support/maven-metadata.xml.sha512.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 22b2c04f6a22f4165aab5a886ce75b1e +labels: +- gvh +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/template-AndroidManifest.txt b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/template-AndroidManifest.txt new file mode 100644 index 00000000..d32616fb --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/template-AndroidManifest.txt @@ -0,0 +1,27 @@ + + + + + __NEARBY_PERMISSIONS__ + + + + __NEARBY_SERVICE_ELEMENT__ + + + + + + + + + + + diff --git a/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/template-AndroidManifest.txt.meta b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/template-AndroidManifest.txt.meta new file mode 100644 index 00000000..9de8d797 --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/template-AndroidManifest.txt.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 0e1f3c150256848b1ba98702cfb71220 +labels: +- gvh +- gvh_version-2.1.0 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/template-Constants.txt b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/template-Constants.txt new file mode 100644 index 00000000..a1a61806 --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/template-Constants.txt @@ -0,0 +1,29 @@ +// +// Copyright (C) 2015 Google Inc. All Rights Reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// + +/// +/// This file is automatically generated DO NOT EDIT! +/// +/// These are the constants defined in the Play Games Console for Game Services +/// Resources. +/// + +__NameSpaceStart__ +public static class __Class__ +{ +__Constant_Properties__ +} +__NameSpaceEnd__ diff --git a/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/template-Constants.txt.meta b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/template-Constants.txt.meta new file mode 100644 index 00000000..4d142a64 --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/template-Constants.txt.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 7f2719cb8be514661b7b6aa9986bfe5f +labels: +- gvh +- gvh_version-2.1.0 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/template-GameInfo.txt b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/template-GameInfo.txt new file mode 100644 index 00000000..47bb16ab --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/template-GameInfo.txt @@ -0,0 +1,71 @@ +// +// Copyright (C) 2015 Google Inc. All Rights Reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +#if UNITY_ANDROID + +namespace GooglePlayGames { + /// + /// This file is automatically generated DO NOT EDIT! + /// + /// These are the constants defined in the Play Games Console for Game Services + /// Resources. + /// + /// + /// File containing information about the game. This is automatically updated by running the + /// platform-appropriate setup commands in the Unity editor (which does a simple search / replace + /// on the IDs in the form "__ID__"). We can check whether any particular field has been updated + /// by checking whether it still retains its initial value - we prevent the constants from being + /// replaced in the aforementioned search/replace by stripping off the leading and trailing "__". + /// + public static class GameInfo { + + private const string UnescapedApplicationId = "APP_ID"; + private const string UnescapedIosClientId = "IOS_CLIENTID"; + private const string UnescapedWebClientId = "WEB_CLIENTID"; + private const string UnescapedNearbyServiceId = "NEARBY_SERVICE_ID"; + + public const string ApplicationId = "__APP_ID__"; // Filled in automatically + public const string IosClientId = "__IOS_CLIENTID__"; // Filled in automatically + public const string WebClientId = "__WEB_CLIENTID__"; // Filled in automatically + public const string NearbyConnectionServiceId = "__NEARBY_SERVICE_ID__"; + + public static bool ApplicationIdInitialized() { + return !string.IsNullOrEmpty(ApplicationId) && !ApplicationId.Equals(ToEscapedToken(UnescapedApplicationId)); + } + + public static bool IosClientIdInitialized() { + return !string.IsNullOrEmpty(IosClientId) && !IosClientId.Equals(ToEscapedToken(UnescapedIosClientId)); + } + + public static bool WebClientIdInitialized() { + return !string.IsNullOrEmpty(WebClientId) && !WebClientId.Equals(ToEscapedToken(UnescapedWebClientId)); + } + + public static bool NearbyConnectionsInitialized() { + return !string.IsNullOrEmpty(NearbyConnectionServiceId) && + !NearbyConnectionServiceId.Equals(ToEscapedToken(UnescapedNearbyServiceId)); + } + + /// + /// Returns an escaped token (i.e. one flanked with "__") for the passed token + /// + /// The escaped token. + /// The Token + private static string ToEscapedToken(string token) { + return string.Format("__{0}__", token); + } + } +} +#endif diff --git a/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/template-GameInfo.txt.meta b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/template-GameInfo.txt.meta new file mode 100644 index 00000000..2495e337 --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Editor/template-GameInfo.txt.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: c6fa1c0456d174d298bf8dd66f584e9e +labels: +- gvh +- gvh_version-2.1.0 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Proguard.meta b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Proguard.meta new file mode 100644 index 00000000..90a11ae1 --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Proguard.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 34de77d5a35fb46aeae90de4ad11647b +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime.meta b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime.meta new file mode 100644 index 00000000..989edc10 --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: cdb02382f873f45598f111dc70b3b47e +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Google.Play.Games.asmdef b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Google.Play.Games.asmdef new file mode 100644 index 00000000..887a5183 --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Google.Play.Games.asmdef @@ -0,0 +1,7 @@ +{ + "name": "Google.Play.Games", + "includePlatforms": [ + "Android", + "Editor" + ] +} diff --git a/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Google.Play.Games.asmdef.meta b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Google.Play.Games.asmdef.meta new file mode 100644 index 00000000..1502fc22 --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Google.Play.Games.asmdef.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 1ed07ff861e5f468287b0baef844706d +labels: +- gvh +- gvh_version-2.1.0 +AssemblyDefinitionImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts.meta b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts.meta new file mode 100644 index 00000000..ee8be37f --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: ee74fb8a25a6e4adea15f4675bac5756 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi.meta b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi.meta new file mode 100644 index 00000000..80e1ea08 --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi.meta @@ -0,0 +1,5 @@ +fileFormatVersion: 2 +guid: 0a565e85253b345878939982a360e0b6 +folderAsset: yes +DefaultImporter: + userData: diff --git a/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/Achievement.cs b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/Achievement.cs new file mode 100644 index 00000000..738e6fbe --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/Achievement.cs @@ -0,0 +1,201 @@ +// +// Copyright (C) 2014 Google Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// + +#if UNITY_ANDROID + +namespace GooglePlayGames.BasicApi +{ + using System; + + /// Data interface for retrieving achievement information. + /// + /// There are 3 states an achievement can be in: + /// + /// Hidden - indicating the name and description of the achievement is + /// not visible to the player. + /// + /// Revealed - indicating the name and description of the achievement is + /// visible to the player. + /// Unlocked - indicating the player has unlocked, or achieved, the achievment. + /// + /// Achievements has two types, standard which is unlocked in one step, + /// and incremental, which require multiple steps to unlock. + /// + /// + public class Achievement + { + static readonly DateTime UnixEpoch = + new DateTime(1970, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc); + + private string mId = string.Empty; + private bool mIsIncremental = false; + private bool mIsRevealed = false; + private bool mIsUnlocked = false; + private int mCurrentSteps = 0; + private int mTotalSteps = 0; + private string mDescription = string.Empty; + private string mName = string.Empty; + private long mLastModifiedTime = 0; + private ulong mPoints; + private string mRevealedImageUrl; + private string mUnlockedImageUrl; + + /// + /// Returns a that represents the current . + /// + /// A that represents the current . + public override string ToString() + { + return string.Format( + "[Achievement] id={0}, name={1}, desc={2}, type={3}, revealed={4}, unlocked={5}, steps={6}/{7}", + mId, mName, mDescription, mIsIncremental ? "INCREMENTAL" : "STANDARD", + mIsRevealed, mIsUnlocked, mCurrentSteps, mTotalSteps); + } + + public Achievement() + { + } + + /// + /// Indicates whether this achievement is incremental. + /// + public bool IsIncremental + { + get { return mIsIncremental; } + + set { mIsIncremental = value; } + } + + /// + /// The number of steps the user has gone towards unlocking this achievement. + /// + public int CurrentSteps + { + get { return mCurrentSteps; } + + set { mCurrentSteps = value; } + } + + /// + /// The total number of steps needed to unlock this achievement. + /// + public int TotalSteps + { + get { return mTotalSteps; } + + set { mTotalSteps = value; } + } + + /// + /// Indicates whether the achievement is unlocked or not. + /// + public bool IsUnlocked + { + get { return mIsUnlocked; } + + set { mIsUnlocked = value; } + } + + /// + /// Indicates whether the achievement is revealed or not (hidden). + /// + public bool IsRevealed + { + get { return mIsRevealed; } + + set { mIsRevealed = value; } + } + + /// + /// The ID string of this achievement. + /// + public string Id + { + get { return mId; } + + set { mId = value; } + } + + /// + /// The description of this achievement. + /// + public string Description + { + get { return this.mDescription; } + + set { mDescription = value; } + } + + /// + /// The name of this achievement. + /// + public string Name + { + get { return this.mName; } + + set { mName = value; } + } + + /// + /// The date and time the state of the achievement was modified. + /// + /// + /// The value is invalid (-1 long) if the achievement state has + /// never been updated. + /// + public DateTime LastModifiedTime + { + get { return UnixEpoch.AddMilliseconds(mLastModifiedTime); } + + set + { + TimeSpan ts = value - UnixEpoch; + mLastModifiedTime = (long) ts.TotalMilliseconds; + } + } + + /// + /// The number of experience points earned for unlocking this Achievement. + /// + public ulong Points + { + get { return mPoints; } + + set { mPoints = value; } + } + + /// + /// The URL to the image to display when the achievement is revealed. + /// + public string RevealedImageUrl + { + get { return mRevealedImageUrl; } + + set { mRevealedImageUrl = value; } + } + + /// + /// The URL to the image to display when the achievement is unlocked. + /// + public string UnlockedImageUrl + { + get { return mUnlockedImageUrl; } + + set { mUnlockedImageUrl = value; } + } + } +} +#endif \ No newline at end of file diff --git a/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/Achievement.cs.meta b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/Achievement.cs.meta new file mode 100644 index 00000000..4af8146e --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/Achievement.cs.meta @@ -0,0 +1,14 @@ +fileFormatVersion: 2 +guid: b20fc2fda369044ba962d1d9115c4c63 +labels: +- gvh +- gvh_version-2.1.0 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/AuthResponse.cs b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/AuthResponse.cs new file mode 100644 index 00000000..b33d6c2e --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/AuthResponse.cs @@ -0,0 +1,104 @@ +// +// Copyright (C) 2025 Google Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +#if UNITY_ANDROID +namespace GooglePlayGames.BasicApi +{ + using System; + using System.Collections.Generic; + + /// + /// Represents the response received from Play Games Services when requesting a server-side OAuth 2.0 + /// authorization code for the signed-in player. + /// + public class AuthResponse + { + private readonly string _authCode; + private readonly List _grantedScopes; + + /// + /// Constructs an AuthResponse with the provided granted scopes and authentication code. + /// + /// The authentication code. + /// A list of AuthScope objects representing the granted scopes. + /// If grantedScopes is null. + public AuthResponse(string authCode, List grantedScopes) + { + if (grantedScopes == null) + { + throw new ArgumentNullException(nameof(grantedScopes), "Granted scopes list cannot be null"); + } + + _authCode = authCode; + _grantedScopes = grantedScopes; + } + + + /// + /// Gets the list of AuthScope permissions that the user has granted. + /// + /// + /// A list of the AuthScope permissions the user explicitly granted consent for (or + /// previously approved). The list will be empty if the user declines consent and none of the + /// requested AuthScope were previously granted. + /// + /// A List of AuthScope objects, representing the granted permissions. + public List GetGrantedScopes() + { + return _grantedScopes; + } + + /// + /// Gets the OAuth 2.0 authorization code. + /// + /// + /// This code is a short-lived credential that should be sent securely to your server to be + /// exchanged for an access token and conditionally a refresh token. + /// + /// A string containing the OAuth 2.0 authorization code. + public string GetAuthCode() + { + return _authCode; + } + + public override bool Equals(object obj) + { + if (ReferenceEquals(this, obj)) + { + return true; + } + + if (obj == null || GetType() != obj.GetType()) + { + return false; + } + + var other = (AuthResponse)obj; + return _grantedScopes.Equals(other._grantedScopes) && _authCode == other._authCode; + } + + public override int GetHashCode() + { + return HashCode.Combine(_grantedScopes, _authCode); + } + + public override string ToString() + { + string grantedScopesText = _grantedScopes.Count > 0 ? string.Join(", ", _grantedScopes.ToArray()) : "[]"; + return $"AuthResponse {{ grantedScopes = {grantedScopesText}, authCode = {_authCode} }}"; + } + } +} +#endif \ No newline at end of file diff --git a/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/AuthResponse.cs.meta b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/AuthResponse.cs.meta new file mode 100644 index 00000000..66605dd5 --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/AuthResponse.cs.meta @@ -0,0 +1,13 @@ +fileFormatVersion: 2 +guid: d31e1b3df27554441b81c35d645a008a +labels: +- gvh +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/AuthScope.cs b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/AuthScope.cs new file mode 100644 index 00000000..ac2bee75 --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/AuthScope.cs @@ -0,0 +1,102 @@ +// +// Copyright (C) 2025 Google Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +#if UNITY_ANDROID +namespace GooglePlayGames.BasicApi +{ + using System; + using System.Collections.Generic; + using System.Linq; + + /// + /// Represents type-safe constants for the specific OAuth 2.0 authorization scopes used when + /// requesting server-side access to Play Games Services web APIs. + /// + public enum AuthScope + { + /// + /// See your primary Google Account email address. + /// + EMAIL, + + /// + /// See your personal info, including any personal info you've made publicly available. + /// + PROFILE, + + /// + /// Associate you with your personal info on Google. + /// + OPEN_ID + } + + /// + /// Extensions for the AuthScope enum. + /// + /// These extensions are used to converting between the AuthScope enum and its string + /// representation. + /// + /// + public static class AuthScopeExtensions + { + /// + /// A map of AuthScope string values to their enum representations. + /// + private static readonly Dictionary _stringToEnumMap = + new Dictionary + { + { "EMAIL", AuthScope.EMAIL }, + { "PROFILE", AuthScope.PROFILE }, + { "OPEN_ID", AuthScope.OPEN_ID } + }; + + /// + /// A map of AuthScope enum values to their string representations. + /// + private static readonly Dictionary _enumToStringMap = + _stringToEnumMap.ToDictionary(pair => pair.Value, pair => pair.Key); + + /// + /// Returns the standard string representation of this OAuth 2.0 scope. + /// + /// The AuthScope enum value. + /// The string value used to represent this scope. + /// If the provided AuthScope is not valid. + public static string GetValue(this AuthScope authScope) + { + if (!_enumToStringMap.ContainsKey(authScope)) + { + throw new ArgumentException($"Invalid AuthScope: {authScope}"); + } + return _enumToStringMap[authScope]; + } + + /// + /// Returns the AuthScope enum value corresponding to the provided string. + /// + /// The string value used to represent the scope. + /// The AuthScope enum value corresponding to the provided string. + /// If the provided string is not a valid AuthScope. + public static AuthScope FromValue(string value) + { + if (!_stringToEnumMap.ContainsKey(value)) + { + throw new ArgumentException($"Invalid AuthScope: {value}"); + } + return _stringToEnumMap[value]; + } + } +} +#endif \ No newline at end of file diff --git a/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/AuthScope.cs.meta b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/AuthScope.cs.meta new file mode 100644 index 00000000..81144fe9 --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/AuthScope.cs.meta @@ -0,0 +1,13 @@ +fileFormatVersion: 2 +guid: 46024b30df48146d9a58760a6b9e188e +labels: +- gvh +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/CommonStatusCodes.cs b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/CommonStatusCodes.cs new file mode 100644 index 00000000..a40cc4b2 --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/CommonStatusCodes.cs @@ -0,0 +1,100 @@ +// +// Copyright (C) 2014 Google Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// + +#if UNITY_ANDROID + +namespace GooglePlayGames.BasicApi +{ + /// + /// Common status codes. + /// See https://developers.google.com/android/reference/com/google/android/gms/common/api/CommonStatusCodes + /// + public enum CommonStatusCodes + { + /// The operation was successful, but the device's cache was used. + SuccessCached = -1, + + /// The operation was successful. + Success = 0, + + /// Google Play services is missing on this device. + ServiceMissing = 1, + + /// The installed version of Google Play services is out of date. + ServiceVersionUpdateRequired = 2, + + /// The installed version of Google Play services has been disabled on this device. + ServiceDisabled = 3, + + /// The client attempted to connect to the service but the user is not signed in. + SignInRequired = 4, + + /// The client attempted to connect to the service with an invalid account name specified. + InvalidAccount = 5, + + /// Completing the operation requires some form of resolution. + ResolutionRequired = 6, + + /// A network error occurred. + NetworkError = 7, + + /// An internal error occurred. + InternalError = 8, + + /// The version of the Google Play services installed on this device is not authentic. + ServiceInvalid = 9, + + /// The application is misconfigured. + DeveloperError = 10, + + /// The application is not licensed to the user. + LicenseCheckFailed = 11, + + /// The operation failed with no more detailed information. + Error = 13, + + /// A blocking call was interrupted while waiting and did not run to completion. + Interrupted = 14, + + /// Timed out while awaiting the result. + Timeout = 15, + + /// The result was canceled either due to client disconnect or cancel(). + Canceled = 16, + + /// The client attempted to call a method from an API that failed to connect. + ApiNotConnected = 17, + + /// Invalid credentials were provided. + AuthApiInvalidCredentials = 3000, + + /// Access is forbidden. + AuthApiAccessForbidden = 3001, + + /// Error related to the client. + AuthApiClientError = 3002, + + /// Error related to the server. + AuthApiServerError = 3003, + + /// Error related to token. + AuthTokenError = 3004, + + /// Error related to auth URL resolution. + AuthUrlResolution = 3005 + } +} +#endif \ No newline at end of file diff --git a/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/CommonStatusCodes.cs.meta b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/CommonStatusCodes.cs.meta new file mode 100644 index 00000000..0df4b9d6 --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/CommonStatusCodes.cs.meta @@ -0,0 +1,14 @@ +fileFormatVersion: 2 +guid: cd54f7a2763f74ce191bdd3efa0a44d5 +labels: +- gvh +- gvh_version-2.1.0 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/CommonTypes.cs b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/CommonTypes.cs new file mode 100644 index 00000000..3c8579c8 --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/CommonTypes.cs @@ -0,0 +1,214 @@ +// +// Copyright (C) 2014 Google Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// + +namespace GooglePlayGames.BasicApi +{ + /// + /// A enum describing where game data can be fetched from. + /// + public enum DataSource + { + /// + /// Allow a read from either a local cache, or the network. + /// + /// Values from the cache may be + /// stale (potentially producing more write conflicts), but reading from cache may still + /// allow reads to succeed if the device does not have internet access and may complete more + /// quickly (as the reads can occur locally rather requiring network roundtrips). + /// + ReadCacheOrNetwork, + + /// + /// Only allow reads from network. + /// + /// This guarantees any returned values were current at the time + /// the read succeeded, but prevents reads from succeeding if the network is unavailable for + /// any reason. + /// + ReadNetworkOnly + } + + /// Native response status codes + /// These values are returned by the native SDK API. + /// NOTE: These values are different than the CommonStatusCodes. + /// + public enum ResponseStatus + { + /// The operation was successful. + Success = 1, + + /// The operation was successful, but the device's cache was used. + SuccessWithStale = 2, + + /// The application is not licensed to the user. + LicenseCheckFailed = -1, + + /// An internal error occurred. + InternalError = -2, + + /// The player is not authorized to perform the operation. + NotAuthorized = -3, + + /// The installed version of Google Play services is out of date. + VersionUpdateRequired = -4, + + /// Timed out while awaiting the result. + Timeout = -5, + + ///< summary> + /// Constant indicating that the developer does not have access to the friends list, but can + /// call the AskForLoadFriendsResolution API to show a consent dialog. + /// + ResolutionRequired = -6, + } + + /// Native response status codes for UI operations. + /// These values are returned by the native SDK API. + /// + public enum UIStatus + { + /// The result is valid. + Valid = 1, + + /// An internal error occurred. + InternalError = -2, + + /// The player is not authorized to perform the operation. + NotAuthorized = -3, + + /// The installed version of Google Play services is out of date. + VersionUpdateRequired = -4, + + /// Timed out while awaiting the result. + Timeout = -5, + + /// UI closed by user. + UserClosedUI = -6, + UiBusy = -12, + + /// An network error occurred. + NetworkError = -20, + } + + /// Values specifying the start location for fetching scores. + public enum LeaderboardStart + { + /// Start fetching scores from the top of the list. + TopScores = 1, + + /// Start fetching relative to the player's score. + PlayerCentered = 2, + } + + /// Values specifying which leaderboard timespan to use. + public enum LeaderboardTimeSpan + { + /// Daily scores. The day resets at 11:59 PM PST. + Daily = 1, + + /// Weekly scores. The week resets at 11:59 PM PST on Sunday. + Weekly = 2, + + /// All time scores. + AllTime = 3, + } + + /// Values specifying which leaderboard collection to use. + public enum LeaderboardCollection + { + /// Public leaderboards contain the scores of players who are sharing their gameplay publicly. + Public = 1, + + /// Social leaderboards contain the scores of players in the viewing player's circles. + Social = 2, + } + + /// Values specifying the visibility status of the friends list. + public enum FriendsListVisibilityStatus + { + ///< summary> + /// Constant indicating that currently it's unknown if the friends list is visible to the + /// game, game can ask for permission from user. + /// + Unknown = 0, + + /// Constant indicating that the friends list is currently visible to the game. + Visible = 1, + + ///< summary> + /// Constant indicating that the developer does not have access to the friends list, but can + /// call the AskForLoadFriendsResolution API to show a consent dialog. + /// + ResolutionRequired = 2, + + ///< summary> + /// Constant indicating that the friends list is currently unavailable for this user, and it + /// is not possible to request access at this time, either because the user has permanently + /// declined or the friends feature is not available to them. In this state, any attempts to + /// request + /// access to the friends list will be unsuccessful. + /// + Unavailable = 3, + + /// An network error occurred. + NetworkError = -4, + + /// The player is not authorized to perform the operation. + NotAuthorized = -5, + } + + /// Values specifying the status of the friends list. + public enum LoadFriendsStatus + { + /// An unknown value to return when loadFriends is not available. + Unknown = 0, + + /// All the friends have been loaded. + Completed = 1, + + /// There are more friends to load. + LoadMore = 2, + + /// + /// The game doesn't have permission to access the player's friends list. No friends loaded. + /// + ResolutionRequired = -3, + + /// An internal error occurred. + InternalError = -4, + + /// The player is not authorized to perform the operation. + NotAuthorized = -5, + + /// An network error occurred. + NetworkError = -6, + } + + /// + /// Utility class for common types. + /// This class checks if a response status is a success or not. + /// + public class CommonTypesUtil + { + /// + /// Checks if a response status is a success or not. + /// + public static bool StatusIsSuccess(ResponseStatus status) + { + return ((int) status) > 0; + } + } +} diff --git a/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/CommonTypes.cs.meta b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/CommonTypes.cs.meta new file mode 100644 index 00000000..2f68f821 --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/CommonTypes.cs.meta @@ -0,0 +1,14 @@ +fileFormatVersion: 2 +guid: 1c5d1cb1974d14c0c8b32fcf00089556 +labels: +- gvh +- gvh_version-2.1.0 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/DummyClient.cs b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/DummyClient.cs new file mode 100644 index 00000000..af03d900 --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/DummyClient.cs @@ -0,0 +1,495 @@ +// +// Copyright (C) 2014 Google Inc. All Rights Reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// + +#if UNITY_ANDROID + +namespace GooglePlayGames.BasicApi +{ + using System; + using System.Collections.Generic; + using GooglePlayGames.OurUtils; + using UnityEngine.SocialPlatforms; + + /// + /// Dummy client used in Editor. + /// + /// Google Play Game Services are not supported in the Editor + /// environment, so this client is used as a placeholder. + /// + public class DummyClient : IPlayGamesClient + { + /// + /// Authenticates the user. + /// + /// Callback to handle the sign-in status. + public void Authenticate(Action callback) + { + LogUsage(); + if (callback != null) + { + callback(SignInStatus.Canceled); + } + } + + /// + /// Manually authenticates the user. + /// + /// Callback to handle the sign-in status. + public void ManuallyAuthenticate(Action callback) + { + LogUsage(); + if (callback != null) + { + callback(SignInStatus.Canceled); + } + } + + /// + /// Checks if the user is authenticated. + /// + /// Returns false indicating user is not authenticated. + public bool IsAuthenticated() + { + LogUsage(); + return false; + } + + /// + /// Requests server-side access with a refresh token. + /// + /// Flag to force refresh the token. + /// Callback to handle the response. + public void RequestServerSideAccess(bool forceRefreshToken, Action callback) + { + LogUsage(); + if (callback != null) + { + callback(null); + } + } + + /// + /// Requests server-side access with specific scopes. + /// + /// Flag to force refresh the token. + /// List of requested authorization scopes. + /// Callback to handle the response. + public void RequestServerSideAccess(bool forceRefreshToken, List scopes, Action callback) + { + LogUsage(); + if (callback != null) + { + callback(null); + } + } + + /// + /// Requests recall of the access token. + /// + /// Callback to handle the recall response. + public void RequestRecallAccessToken(Action callback) + { + LogUsage(); + if (callback != null) + { + callback(null); + } + } + + /// + /// Retrieves the user ID. + /// + /// Returns a dummy user ID. + public string GetUserId() + { + LogUsage(); + return "DummyID"; + } + + /// + /// Retrieves the player statistics. + /// + /// Callback to handle the player stats response. + public void GetPlayerStats(Action callback) + { + LogUsage(); + callback(CommonStatusCodes.ApiNotConnected, new PlayerStats()); + } + + /// + /// Retrieves the user's display name. + /// + /// Returns a dummy display name. + public string GetUserDisplayName() + { + LogUsage(); + return "Player"; + } + + /// + /// Retrieves the user's image URL. + /// + /// Returns null since no image is available. + public string GetUserImageUrl() + { + LogUsage(); + return null; + } + + /// + /// Loads user profiles for the given user IDs. + /// + /// List of user IDs. + /// Callback to handle the user profile response. + public void LoadUsers(string[] userIds, Action callback) + { + LogUsage(); + if (callback != null) + { + callback.Invoke(null); + } + } + + /// + /// Loads achievements for the current user. + /// + /// Callback to handle the achievement response. + public void LoadAchievements(Action callback) + { + LogUsage(); + if (callback != null) + { + callback.Invoke(null); + } + } + + /// + /// Unlocks the specified achievement. + /// + /// The achievement ID to unlock. + /// Callback to handle the unlock result. + public void UnlockAchievement(string achId, Action callback) + { + LogUsage(); + if (callback != null) + { + callback.Invoke(false); + } + } + + /// + /// Reveals the specified achievement. + /// + /// The achievement ID to reveal. + /// Callback to handle the reveal result. + public void RevealAchievement(string achId, Action callback) + { + LogUsage(); + if (callback != null) + { + callback.Invoke(false); + } + } + + /// + /// Increments the specified achievement by a number of steps. + /// + /// The achievement ID to increment. + /// The number of steps to increment the achievement. + /// Callback to handle the increment result. + public void IncrementAchievement(string achId, int steps, Action callback) + { + LogUsage(); + if (callback != null) + { + callback.Invoke(false); + } + } + + /// + /// Sets the steps of the specified achievement to at least a certain number. + /// + /// The achievement ID to update. + /// The number of steps to set. + /// Callback to handle the result of setting the steps. + public void SetStepsAtLeast(string achId, int steps, Action callback) + { + LogUsage(); + if (callback != null) + { + callback.Invoke(false); + } + } + + /// + /// Displays the achievements UI. + /// + /// Callback to handle the UI status. + public void ShowAchievementsUI(Action callback) + { + LogUsage(); + if (callback != null) + { + callback.Invoke(UIStatus.VersionUpdateRequired); + } + } + + /// + /// Requests the load friends resolution UI. + /// + /// Callback to handle the UI status. + public void AskForLoadFriendsResolution(Action callback) + { + LogUsage(); + if (callback != null) + { + callback.Invoke(UIStatus.VersionUpdateRequired); + } + } + + /// + /// Retrieves the last load friends status. + /// + /// Returns the last known load friends status. + public LoadFriendsStatus GetLastLoadFriendsStatus() + { + LogUsage(); + return LoadFriendsStatus.Unknown; + } + + /// + /// Loads friends with paging options. + /// + /// The number of friends to load per page. + /// Flag to force reload of the friends list. + /// Callback to handle the load friends status. + public void LoadFriends(int pageSize, bool forceReload, + Action callback) + { + LogUsage(); + if (callback != null) + { + callback.Invoke(LoadFriendsStatus.Unknown); + } + } + + /// + /// Loads additional friends if available. + /// + /// The number of additional friends to load. + /// Callback to handle the load friends status. + public void LoadMoreFriends(int pageSize, Action callback) + { + LogUsage(); + if (callback != null) + { + callback.Invoke(LoadFriendsStatus.Unknown); + } + } + + /// + /// Displays the compare profile UI for a player. + /// + /// The user ID of the player to compare. + /// The in-game name of the other player. + /// The in-game name of the current player. + /// Callback to handle the UI status. + public void ShowCompareProfileWithAlternativeNameHintsUI(string userId, + string otherPlayerInGameName, + string currentPlayerInGameName, + Action callback) + { + LogUsage(); + if (callback != null) + { + callback.Invoke(UIStatus.VersionUpdateRequired); + } + } + + /// + /// Retrieves the visibility status of the friends list. + /// + /// Flag to force reload the friends list visibility. + /// Callback to handle the friends list visibility status. + public void GetFriendsListVisibility(bool forceReload, + Action callback) + { + LogUsage(); + if (callback != null) + { + callback.Invoke(FriendsListVisibilityStatus.Unknown); + } + } + + /// + /// Displays the leaderboard UI for a specific leaderboard. + /// + /// The ID of the leaderboard. + /// The time span for the leaderboard. + /// Callback to handle the UI status. + public void ShowLeaderboardUI( + string leaderboardId, + LeaderboardTimeSpan span, + Action callback) + { + LogUsage(); + if (callback != null) + { + callback.Invoke(UIStatus.VersionUpdateRequired); + } + } + + /// + /// Retrieves the maximum number of leaderboard results that can be loaded. + /// + /// Returns the maximum number of leaderboard results. + public int LeaderboardMaxResults() + { + return 25; + } + + /// + /// Loads the leaderboard scores based on the specified parameters. + /// + /// The ID of the leaderboard to load scores from. + /// The start position for loading scores. + /// The number of scores to load. + /// The collection type (e.g., public or social). + /// The time span for the leaderboard scores. + /// Callback to handle the leaderboard score data. + public void LoadScores( + string leaderboardId, + LeaderboardStart start, + int rowCount, + LeaderboardCollection collection, + LeaderboardTimeSpan timeSpan, + Action callback) + { + LogUsage(); + if (callback != null) + { + callback(new LeaderboardScoreData( + leaderboardId, + ResponseStatus.LicenseCheckFailed)); + } + } + + /// + /// Loads more leaderboard scores based on the provided pagination token. + /// + /// The token used for pagination. + /// The number of scores to load. + /// Callback to handle the leaderboard score data. + public void LoadMoreScores( + ScorePageToken token, + int rowCount, + Action callback) + { + LogUsage(); + if (callback != null) + { + callback(new LeaderboardScoreData( + token.LeaderboardId, + ResponseStatus.LicenseCheckFailed)); + } + } + + /// + /// Submits a score to a specific leaderboard. + /// + /// The ID of the leaderboard. + /// The score to submit. + /// Callback to handle the score submission result. + public void SubmitScore(string leaderboardId, long score, Action callback) + { + LogUsage(); + if (callback != null) + { + callback.Invoke(false); + } + } + + /// + /// Submits a score with additional metadata to a specific leaderboard. + /// + /// The ID of the leaderboard. + /// The score to submit. + /// Additional metadata to submit with the score. + /// Callback to handle the score submission result. + public void SubmitScore( + string leaderboardId, + long score, + string metadata, + Action callback) + { + LogUsage(); + if (callback != null) + { + callback.Invoke(false); + } + } + + /// + /// Retrieves the saved game client. + /// + /// Returns null since no saved game client is available. + public SavedGame.ISavedGameClient GetSavedGameClient() + { + LogUsage(); + return null; + } + + /// + /// Retrieves the events client. + /// + /// Returns null since no events client is available. + public GooglePlayGames.BasicApi.Events.IEventsClient GetEventsClient() + { + LogUsage(); + return null; + } + + /// + /// Loads friends with a simple boolean flag indicating success or failure. + /// + /// Callback to handle the load result. + public void LoadFriends(Action callback) + { + LogUsage(); + callback(false); + } + + /// + /// Retrieves the list of friends for the current user. + /// + /// Returns an empty array since no friends are loaded. + public IUserProfile[] GetFriends() + { + LogUsage(); + return new IUserProfile[0]; + } + + /// + /// Logs method usage for debugging purposes. + /// + private static void LogUsage() + { + Logger.d("Received method call on DummyClient - using stub implementation."); + } + + } +} +#endif diff --git a/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/DummyClient.cs.meta b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/DummyClient.cs.meta new file mode 100644 index 00000000..73fdfdcd --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/DummyClient.cs.meta @@ -0,0 +1,14 @@ +fileFormatVersion: 2 +guid: 2c600182c9892457e92f885549bd838a +labels: +- gvh +- gvh_version-2.1.0 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/Events.meta b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/Events.meta new file mode 100644 index 00000000..fa1d608e --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/Events.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 672ea858ca3b74efb9d0981849563065 +folderAsset: yes +timeCreated: 1435699548 +licenseType: Pro +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/Events/Event.cs b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/Events/Event.cs new file mode 100644 index 00000000..4938bcea --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/Events/Event.cs @@ -0,0 +1,53 @@ +namespace GooglePlayGames.BasicApi.Events +{ + internal class Event : IEvent + { + private string mId; + private string mName; + private string mDescription; + private string mImageUrl; + private ulong mCurrentCount; + private EventVisibility mVisibility; + + internal Event(string id, string name, string description, string imageUrl, + ulong currentCount, EventVisibility visibility) + { + mId = id; + mName = name; + mDescription = description; + mImageUrl = imageUrl; + mCurrentCount = currentCount; + mVisibility = visibility; + } + + public string Id + { + get { return mId; } + } + + public string Name + { + get { return mName; } + } + + public string Description + { + get { return mDescription; } + } + + public string ImageUrl + { + get { return mImageUrl; } + } + + public ulong CurrentCount + { + get { return mCurrentCount; } + } + + public EventVisibility Visibility + { + get { return mVisibility; } + } + } +} diff --git a/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/Events/Event.cs.meta b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/Events/Event.cs.meta new file mode 100644 index 00000000..6dc3df24 --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/Events/Event.cs.meta @@ -0,0 +1,14 @@ +fileFormatVersion: 2 +guid: ce7f6801baead4bbda584bb96882e78b +labels: +- gvh +- gvh_version-2.1.0 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/Events/IEvent.cs b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/Events/IEvent.cs new file mode 100644 index 00000000..73d84772 --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/Events/IEvent.cs @@ -0,0 +1,60 @@ +// +// Copyright (C) 2014 Google Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +namespace GooglePlayGames.BasicApi.Events +{ + public enum EventVisibility + { + Hidden = 1, + Revealed = 2, + } + + /// + /// Data object representing an Event. for more. + /// + public interface IEvent + { + /// + /// The ID of the event. + /// + string Id { get; } + + /// + /// The name of the event. + /// + string Name { get; } + + /// + /// The description of the event. + /// + string Description { get; } + + /// + /// The URL of the image for the event. Empty if there is no image for this event. + /// + /// The image URL. + string ImageUrl { get; } + + /// + /// The current count for this event. + /// + ulong CurrentCount { get; } + + /// + /// The visibility of the event. + /// + EventVisibility Visibility { get; } + } +} diff --git a/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/Events/IEvent.cs.meta b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/Events/IEvent.cs.meta new file mode 100644 index 00000000..1511d167 --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/Events/IEvent.cs.meta @@ -0,0 +1,14 @@ +fileFormatVersion: 2 +guid: 7e4f4f47218d14208a8ae0f676e1bca4 +labels: +- gvh +- gvh_version-2.1.0 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/Events/IEventsClient.cs b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/Events/IEventsClient.cs new file mode 100644 index 00000000..b13f1c5d --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/Events/IEventsClient.cs @@ -0,0 +1,60 @@ +// +// Copyright (C) 2014 Google Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +#if UNITY_ANDROID +namespace GooglePlayGames.BasicApi.Events +{ + using System; + using System.Collections.Generic; + + /// + public interface IEventsClient + { + /// + /// Fetches all events defined for this game. + /// + /// The source of the event (i.e. whether we can return stale cached + /// values). + /// A callback for the results of the request. The passed list will only + /// be non-empty if the request succeeded. This callback will be invoked on the game thread. + /// + void FetchAllEvents(DataSource source, Action> callback); + + /// + /// Fetches the event with the specified ID. + /// + /// The source of the event (i.e. whether we can return stale cached + /// values). + /// The ID of the event. + /// A callback for the result of the event. If the request failed, the + /// passed event will be null. This callback will be invoked on the game thread. + void FetchEvent(DataSource source, string eventId, Action callback); + + /// + /// Increments the indicated event. + /// + /// The ID of the event to increment. + /// The number of steps to increment by. + void IncrementEvent(string eventId, uint stepsToIncrement); + } +} +#endif diff --git a/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/Events/IEventsClient.cs.meta b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/Events/IEventsClient.cs.meta new file mode 100644 index 00000000..7686e27b --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/Events/IEventsClient.cs.meta @@ -0,0 +1,14 @@ +fileFormatVersion: 2 +guid: da57ba264ec114c57b8352923847ec34 +labels: +- gvh +- gvh_version-2.1.0 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/IPlayGamesClient.cs b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/IPlayGamesClient.cs new file mode 100644 index 00000000..46be03fb --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/IPlayGamesClient.cs @@ -0,0 +1,407 @@ +// +// Copyright (C) 2014 Google Inc. All Rights Reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// + +#if UNITY_ANDROID + +namespace GooglePlayGames.BasicApi +{ + using System; + using System.Collections.Generic; + using UnityEngine.SocialPlatforms; + + /// + /// Defines an abstract interface for a Play Games Client. + /// + /// Concrete implementations + /// might be, for example, the client for Android or for iOS. One fundamental concept + /// that implementors of this class must adhere to is stable authentication state. + /// This means that once Authenticate() returns true through its callback, the user is + /// considered to be forever after authenticated while the app is running. The implementation + /// must make sure that this is the case -- for example, it must try to silently + /// re-authenticate the user if authentication is lost or wait for the authentication + /// process to get fixed if it is temporarily in a bad state (such as when the + /// Activity in Android has just been brought to the foreground and the connection to + /// the Games services hasn't yet been established). To the user of this + /// interface, once the user is authenticated, they're forever authenticated. + /// Unless, of course, there is an unusual permanent failure such as the underlying + /// service dying, in which it's acceptable that API method calls will fail. + /// + /// All methods can be called from the game thread. The user of this interface + /// DOES NOT NEED to call them from the UI thread of the game. Transferring to the UI + /// thread when necessary is a responsibility of the implementors of this interface. + /// + /// CALLBACKS: all callbacks must be invoked in Unity's main thread. + /// Implementors of this interface must guarantee that (suggestion: use + /// ). + /// + public interface IPlayGamesClient + { + /// + /// Returns the result of the automatic sign-in attempt. + /// + /// This returns the result + /// + /// Callback + void Authenticate(Action callback); + + /// + /// Manually requests that your game performs sign in with Play Games Services. + /// + /// + /// Note that a sign-in attempt will be made automatically when your game's application + /// started. For this reason most games will not need to manually request to perform sign-in + /// unless the automatic sign-in attempt failed and your game requires access to Play Games + /// Services. + /// + /// + void ManuallyAuthenticate(Action callback); + + /// + /// Returns whether or not user is authenticated. + /// + /// true if the user is authenticated; otherwise, false. + bool IsAuthenticated(); + + /// + /// Requests server-side access to Player Games Services for the currently signed in player. + /// + /// When requested an authorization code is returned that can be used by your game-server to + /// exchange for an access token and conditionally a refresh token (when forceRefreshToken + /// is true). The access token may then be used by your game-server to access the Play Games + /// Services web APIs. This is commonly used to complete a sign-in flow by verifying the Play Games + /// Services player id. + /// + /// If forceRefreshToken is true, when exchanging the authorization code a refresh token + /// will be returned in addition to the access token. The refresh token allows the game-server to + /// request additional access tokens, allowing your game-server to continue accesses Play Games + /// Services while the user is not actively playing your app. + /// If true when the returned authorization code is exchanged a + /// refresh token will be included in addition to an access token. + /// + void RequestServerSideAccess(bool forceRefreshToken, Action callback); + + /// + /// Requests server-side access to Play Games Services for the currently signed in player. + /// + /// An authorization code is returned when requested. Your server can then exchange this code + /// for an access token (and conditionally a refresh token when forceRefreshToken is + /// true). The access token allows your server to access the Play Games Services web APIs, which + /// is often used to complete sign-in by verifying the Play Games Services player ID. + /// + /// When forceRefreshToken is true during authorization code exchange, a refresh + /// token is provided along with the access token. This refresh token enables your server to obtain + /// new access tokens and continue accessing Play Games Services even when the user isn't actively + /// playing. Note that refresh tokens are only generated for players who have auto sign-in setting + /// enabled. + /// + /// Scopes represent the {@link AuthScope} values requested such as AuthScope.EMAIL, + /// AuthScope.PROFILE, AuthScope.OPEN_ID. For new permissions, users will see a + /// consent screen upon the first request. Granting consent (or if permissions were already + /// granted) results in the {@link AuthResponse} listing the effectively granted {@link AuthScope}. + /// Declining permission results in an empty list of granted {@link AuthScope} in the {@link + /// AuthResponse} . Regardless of granted permissions, a successful request will always return the + /// authorization code. + /// If true when the returned authorization code is exchanged a + /// refresh token will be included in addition to an access token. + ///A list of {@link AuthScope} values representing the OAuth 2.0 permissions being + ///requested, such as AuthScope.EMAIL, AuthScope.PROFILE and + /// AuthScope.OPEN_ID. + /// + /// A {@link Task} that completes with an {@link AuthResponse} containing the OAuth 2.0 + /// authorization code as a string and a list of the {@link AuthScope}s that were effectively + /// granted by the user (see description for details on consent). This authorization code can + /// be exchanged by your server for an access token (and conditionally a refresh token) that + /// can be used to access the Play Games Services web APIs and other Google Identity APIs. + void RequestServerSideAccess(bool forceRefreshToken, List scopes, Action callback); + + /// + /// Requests Recall Access to Player Games Services for the currently signed in account + /// + /// When requested a session id is returned that can be used by your game-server to + /// use Recall Access APIs like LinkPerson , UnlinkPersona and get Details about Recall Tokens + /// and corresponding personas. See https://developer.android.com/games/pgs/recall?hl=en. + /// + /// + /// + /// + /// + void RequestRecallAccessToken(Action callback); + + /// + /// Returns the authenticated user's ID. Note that this value may change if a user signs + /// out and signs in with a different account. + /// + /// The user's ID, null if the user is not logged in. + string GetUserId(); + + /// + /// Loads friends of the authenticated user. This loads the entire list of friends. + /// + /// Callback invoked when complete. bool argument + /// indicates success. + void LoadFriends(Action callback); + + /// + /// Returns a human readable name for the user, if they are logged in. + /// + /// The user's human-readable name. null if they are not logged + /// in + string GetUserDisplayName(); + + /// + /// Returns the user's avatar url, if they are logged in and have an avatar. + /// + /// The URL to load the avatar image. null if they are not logged + /// in + string GetUserImageUrl(); + + /// Gets the player stats. + /// Callback for response. + void GetPlayerStats(Action callback); + + /// + /// Loads the users specified. This is mainly used by the leaderboard + /// APIs to get the information of a high scorer. + /// + /// User identifiers. + /// Callback. + void LoadUsers(string[] userIds, Action callback); + + /// + /// Loads the achievements for the current signed in user and invokes + /// the callback. + /// + void LoadAchievements(Action callback); + + /// + /// Unlocks the achievement with the passed identifier. + /// + /// If the operation succeeds, the callback + /// will be invoked on the game thread with true. If the operation fails, the + /// callback will be invoked with false. This operation will immediately fail if + /// the user is not authenticated (i.e. the callback will immediately be invoked with + /// false). If the achievement is already unlocked, this call will + /// succeed immediately. + /// + /// The ID of the achievement to unlock. + /// Callback used to indicate whether the operation + /// succeeded or failed. + void UnlockAchievement(string achievementId, Action successOrFailureCalllback); + + /// + /// Reveals the achievement with the passed identifier. + /// + /// If the operation succeeds, the callback + /// will be invoked on the game thread with true. If the operation fails, the + /// callback will be invoked with false. This operation will immediately fail if + /// the user is not authenticated (i.e. the callback will immediately be invoked with + /// false). If the achievement is already in a revealed state, this call will + /// succeed immediately. + /// + /// The ID of the achievement to reveal. + /// Callback used to indicate whether the operation + /// succeeded or failed. + void RevealAchievement(string achievementId, Action successOrFailureCalllback); + + /// + /// Increments the achievement with the passed identifier. + /// + /// If the operation succeeds, the + /// callback will be invoked on the game thread with true. If the operation + /// fails, the callback will be invoked with false. This operation will + /// immediately fail if the user is not authenticated (i.e. the callback will immediately be + /// invoked with false). + /// + /// The ID of the achievement to increment. + /// The number of steps to increment by. + /// Callback used to indicate whether the operation + /// succeeded or failed. + void IncrementAchievement(string achievementId, int steps, + Action successOrFailureCalllback); + + /// + /// Set an achievement to have at least the given number of steps completed. + /// + /// + /// Calling this method while the achievement already has more steps than + /// the provided value is a no-op. Once the achievement reaches the + /// maximum number of steps, the achievement is automatically unlocked, + /// and any further mutation operations are ignored. + /// + /// Ach identifier. + /// Steps. + /// Callback. + void SetStepsAtLeast(string achId, int steps, Action callback); + + /// + /// Shows the appropriate platform-specific achievements UI. + /// The callback to invoke when complete. If null, + /// no callback is called. + /// + void ShowAchievementsUI(Action callback); + + /// + /// Shows the appropriate platform-specific friends sharing UI. + /// The callback to invoke when complete. If null, + /// no callback is called. + /// + void AskForLoadFriendsResolution(Action callback); + + /// + /// Returns the latest LoadFriendsStatus obtained from loading friends. + /// + LoadFriendsStatus GetLastLoadFriendsStatus(); + + /// + /// Shows the Play Games Player Profile UI for a specific user identifier. + /// + /// User Identifier. + /// + /// The game's own display name of the player referred to by userId. + /// + /// + /// The game's own display name of the current player. + /// + /// Callback invoked upon completion. + void ShowCompareProfileWithAlternativeNameHintsUI( + string otherUserId, string otherPlayerInGameName, string currentPlayerInGameName, + Action callback); + + /// + /// Returns if the user has allowed permission for the game to access the friends list. + /// + /// If true, this call will clear any locally cached data and + /// attempt to fetch the latest data from the server. Normally, this should be set to + /// false to gain advantages of data caching. Callback + /// invoked upon completion. + void GetFriendsListVisibility(bool forceReload, Action callback); + + /// + /// Loads the first page of the user's friends + /// + /// + /// The number of entries to request for this initial page. Note that if cached + /// data already exists, the returned buffer may contain more than this size, but it is + /// guaranteed to contain at least this many if the collection contains enough records. + /// + /// + /// If true, this call will clear any locally cached data and attempt to + /// fetch the latest data from the server. This would commonly be used for something like a + /// user-initiated refresh. Normally, this should be set to false to gain advantages + /// of data caching. + /// Callback invoked upon completion. + void LoadFriends(int pageSize, bool forceReload, Action callback); + + /// + /// Loads the friends list page + /// + /// + /// The number of entries to request for this page. Note that if cached data already + /// exists, the returned buffer may contain more than this size, but it is guaranteed + /// to contain at least this many if the collection contains enough records. + /// + /// + void LoadMoreFriends(int pageSize, Action callback); + + /// + /// Shows the leaderboard UI for a specific leaderboard. + /// + /// If the passed ID is null, all leaderboards are displayed. + /// + /// The leaderboard to display. null to display + /// all. + /// Timespan to display for the leaderboard + /// If non-null, the callback to invoke when the + /// leaderboard is dismissed. + /// + void ShowLeaderboardUI(string leaderboardId, LeaderboardTimeSpan span, + Action callback); + + /// + /// Loads the score data for the given leaderboard. + /// + /// Leaderboard identifier. + /// Start indicating the top scores or player centric + /// max number of scores to return. non-positive indicates + /// no rows should be returned. This causes only the summary info to + /// be loaded. This can be limited + /// by the SDK. + /// leaderboard collection: public or social + /// leaderboard timespan + /// callback with the scores, and a page token. + /// The token can be used to load next/prev pages. + void LoadScores(string leaderboardId, LeaderboardStart start, int rowCount, + LeaderboardCollection collection, LeaderboardTimeSpan timeSpan, + Action callback); + + /// + /// Loads the more scores for the leaderboard. + /// + /// The token is accessed + /// by calling LoadScores() with a positive row count. + /// + /// Token for tracking the score loading. + /// max number of scores to return. + /// This can be limited by the SDK. + /// Callback. + void LoadMoreScores(ScorePageToken token, int rowCount, + Action callback); + + /// + /// Returns the max number of scores returned per call. + /// + /// The max results. + int LeaderboardMaxResults(); + + /// + /// Submits the passed score to the passed leaderboard. + /// + /// This operation will immediately fail + /// if the user is not authenticated (i.e. the callback will immediately be invoked with + /// false). + /// + /// Leaderboard identifier. + /// Score. + /// Callback used to indicate whether the operation + /// succeeded or failed. + void SubmitScore(string leaderboardId, long score, Action successOrFailureCalllback); + + /// + /// Submits the score for the currently signed-in player. + /// + /// Score. + /// leaderboard id. + /// metadata about the score. + /// Callback upon completion. + void SubmitScore(string leaderboardId, long score, string metadata, + Action successOrFailureCalllback); + + /// + /// Gets the saved game client. + /// + /// The saved game client. + SavedGame.ISavedGameClient GetSavedGameClient(); + + /// + /// Gets the events client. + /// + /// The events client. + Events.IEventsClient GetEventsClient(); + + IUserProfile[] GetFriends(); + } +} +#endif diff --git a/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/IPlayGamesClient.cs.meta b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/IPlayGamesClient.cs.meta new file mode 100644 index 00000000..c7fe3242 --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/IPlayGamesClient.cs.meta @@ -0,0 +1,14 @@ +fileFormatVersion: 2 +guid: 9138e04e4459148c680055b40ad324c0 +labels: +- gvh +- gvh_version-2.1.0 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/LeaderboardScoreData.cs b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/LeaderboardScoreData.cs new file mode 100644 index 00000000..032fc6c3 --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/LeaderboardScoreData.cs @@ -0,0 +1,174 @@ +// +// Copyright (C) 2015 Google Inc. All Rights Reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// + +#if UNITY_ANDROID + +namespace GooglePlayGames.BasicApi +{ + using System.Collections.Generic; + using UnityEngine.SocialPlatforms; + + /// + /// Leaderboard score data. This is the callback data + /// when loading leaderboard scores. There are several SDK + /// API calls needed to be made to collect all the required data, + /// so this class is used to simplify the response. + /// + public class LeaderboardScoreData + { + private string mId; + private ResponseStatus mStatus; + private ulong mApproxCount; + private string mTitle; + private IScore mPlayerScore; + private ScorePageToken mPrevPage; + private ScorePageToken mNextPage; + private List mScores = new List(); + + /// + /// Initializes a new instance of the class. + /// + /// The identifier of the leaderboard. + internal LeaderboardScoreData(string leaderboardId) + { + mId = leaderboardId; + } + + /// + /// Initializes a new instance of the class with a specified status. + /// + /// The identifier of the leaderboard. + /// The response status of the leaderboard data. + internal LeaderboardScoreData(string leaderboardId, ResponseStatus status) + { + mId = leaderboardId; + mStatus = status; + } + + /// + /// Gets a value indicating whether the leaderboard data is valid. + /// + public bool Valid + { + get + { + return mStatus == ResponseStatus.Success || + mStatus == ResponseStatus.SuccessWithStale; + } + } + + /// + /// Gets or sets the status of the leaderboard data response. + /// + public ResponseStatus Status + { + get { return mStatus; } + + internal set { mStatus = value; } + } + + /// + /// Gets or sets the approximate count of scores in the leaderboard. + /// + public ulong ApproximateCount + { + get { return mApproxCount; } + + internal set { mApproxCount = value; } + } + + /// + /// Gets or sets the title of the leaderboard. + /// + public string Title + { + get { return mTitle; } + + internal set { mTitle = value; } + } + + /// + /// Gets or sets the unique identifier of the leaderboard. + /// + public string Id + { + get { return mId; } + + internal set { mId = value; } + } + + /// + /// Gets or sets the player's score in the leaderboard. + /// + public IScore PlayerScore + { + get { return mPlayerScore; } + + internal set { mPlayerScore = value; } + } + + /// + /// Gets an array of the scores in the leaderboard. + /// + public IScore[] Scores + { + get { return mScores.ToArray(); } + } + + /// + /// Adds a score to the leaderboard data. + /// + /// The score to add. + /// The count of scores after the addition. + internal int AddScore(PlayGamesScore score) + { + mScores.Add(score); + return mScores.Count; + } + + /// + /// Gets or sets the token for the previous page of scores. + /// + public ScorePageToken PrevPageToken + { + get { return mPrevPage; } + + internal set { mPrevPage = value; } + } + + /// + /// Gets or sets the token for the next page of scores. + /// + public ScorePageToken NextPageToken + { + get { return mNextPage; } + + internal set { mNextPage = value; } + } + + /// + /// Returns a string representation of the leaderboard score data. + /// + /// A string that represents the current object. + public override string ToString() + { + return string.Format("[LeaderboardScoreData: mId={0}, " + + " mStatus={1}, mApproxCount={2}, mTitle={3}]", + mId, mStatus, mApproxCount, mTitle); + } + } +} +#endif diff --git a/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/LeaderboardScoreData.cs.meta b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/LeaderboardScoreData.cs.meta new file mode 100644 index 00000000..3f5c114b --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/LeaderboardScoreData.cs.meta @@ -0,0 +1,14 @@ +fileFormatVersion: 2 +guid: 8e369c64e8c9f4571a8847f37848c37e +labels: +- gvh +- gvh_version-2.1.0 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/Nearby.meta b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/Nearby.meta new file mode 100644 index 00000000..02868715 --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/Nearby.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: c980790a380df4850b17a208e544d062 +folderAsset: yes +timeCreated: 1435699549 +licenseType: Pro +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/Nearby/AdvertisingResult.cs b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/Nearby/AdvertisingResult.cs new file mode 100644 index 00000000..6c6419e9 --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/Nearby/AdvertisingResult.cs @@ -0,0 +1,67 @@ +// +// Copyright (C) 2014 Google Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// + +namespace GooglePlayGames.BasicApi.Nearby +{ + using System; + using System.Collections.Generic; + using GooglePlayGames.OurUtils; + + /// + /// Represents the result of an attempt to start advertising for nearby connections. + /// + public struct AdvertisingResult + { + private readonly ResponseStatus mStatus; + private readonly string mLocalEndpointName; + + /// + /// Constructs a new . + /// + /// The result of the advertising attempt. + /// The name of the local endpoint. + /// If is null. + public AdvertisingResult(ResponseStatus status, string localEndpointName) + { + this.mStatus = status; + this.mLocalEndpointName = Misc.CheckNotNull(localEndpointName); + } + + /// + /// Gets a value indicating whether the advertising operation was successful. + /// + public bool Succeeded + { + get { return mStatus == ResponseStatus.Success; } + } + + /// + /// Gets the response status of the advertising operation. + /// + public ResponseStatus Status + { + get { return mStatus; } + } + + /// + /// Gets the name of the local endpoint used in the advertising operation. + /// + public string LocalEndpointName + { + get { return mLocalEndpointName; } + } + } +} \ No newline at end of file diff --git a/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/Nearby/AdvertisingResult.cs.meta b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/Nearby/AdvertisingResult.cs.meta new file mode 100644 index 00000000..8d791e65 --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/Nearby/AdvertisingResult.cs.meta @@ -0,0 +1,14 @@ +fileFormatVersion: 2 +guid: 941324a6338664af6a9faf5b88cad408 +labels: +- gvh +- gvh_version-2.1.0 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/Nearby/ConnectionRequest.cs b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/Nearby/ConnectionRequest.cs new file mode 100644 index 00000000..585e46cd --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/Nearby/ConnectionRequest.cs @@ -0,0 +1,61 @@ +// +// Copyright (C) 2014 Google Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// + +namespace GooglePlayGames.BasicApi.Nearby +{ + using GooglePlayGames.OurUtils; + + /// + /// Represents a request to establish a connection with a remote endpoint. + /// Contains information about the remote endpoint and an optional payload. + /// + public struct ConnectionRequest + { + private readonly EndpointDetails mRemoteEndpoint; + private readonly byte[] mPayload; + + /// + /// Initializes a new instance of the struct. + /// + /// The ID of the remote endpoint requesting the connection. + /// The name of the remote endpoint. + /// The service ID the connection is targeting. + /// The payload associated with the connection request. + public ConnectionRequest(string remoteEndpointId, + string remoteEndpointName, string serviceId, byte[] payload) + { + Logger.d("Constructing ConnectionRequest"); + mRemoteEndpoint = new EndpointDetails(remoteEndpointId, remoteEndpointName, serviceId); + this.mPayload = Misc.CheckNotNull(payload); + } + + /// + /// Gets the details of the remote endpoint making the connection request. + /// + public EndpointDetails RemoteEndpoint + { + get { return mRemoteEndpoint; } + } + + /// + /// Gets the payload data included with the connection request. + /// + public byte[] Payload + { + get { return mPayload; } + } + } +} \ No newline at end of file diff --git a/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/Nearby/ConnectionRequest.cs.meta b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/Nearby/ConnectionRequest.cs.meta new file mode 100644 index 00000000..7d076a9a --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/Nearby/ConnectionRequest.cs.meta @@ -0,0 +1,14 @@ +fileFormatVersion: 2 +guid: c7f9bb6b249224f99ad05a87d3e4ee34 +labels: +- gvh +- gvh_version-2.1.0 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/Nearby/ConnectionResponse.cs b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/Nearby/ConnectionResponse.cs new file mode 100644 index 00000000..da8f6142 --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/Nearby/ConnectionResponse.cs @@ -0,0 +1,174 @@ +// +// Copyright (C) 2014 Google Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// + +namespace GooglePlayGames.BasicApi.Nearby +{ + using GooglePlayGames.OurUtils; + + /// + /// Represents a response to a connection request, including status, payload, and identifying information. + /// + public struct ConnectionResponse + { + private static readonly byte[] EmptyPayload = new byte[0]; + + /// + /// Status codes representing the outcome of a connection request. + /// + public enum Status + { + /// + /// Indicates that the connection was accepted. + /// + Accepted, + + /// + /// Indicates that the connection was rejected. + /// + Rejected, + + /// + /// Indicates that an internal error occurred. + /// + ErrorInternal, + + /// + /// Indicates that the device is not connected to a network. + /// + ErrorNetworkNotConnected, + + /// + /// Indicates that the remote endpoint is not connected. + /// + ErrorEndpointNotConnected, + + /// + /// Indicates that the endpoints are already connected. + /// + ErrorAlreadyConnected + } + + private readonly long mLocalClientId; + private readonly string mRemoteEndpointId; + private readonly Status mResponseStatus; + private readonly byte[] mPayload; + + /// + /// Initializes a new instance of the struct. + /// + /// The ID of the local client. + /// The ID of the remote endpoint. + /// The status of the connection response. + /// The payload data included with the response. + private ConnectionResponse(long localClientId, string remoteEndpointId, Status code, + byte[] payload) + { + this.mLocalClientId = localClientId; + this.mRemoteEndpointId = Misc.CheckNotNull(remoteEndpointId); + this.mResponseStatus = code; + this.mPayload = Misc.CheckNotNull(payload); + } + + /// + /// Gets the ID of the local client. + /// + public long LocalClientId + { + get { return mLocalClientId; } + } + + /// + /// Gets the ID of the remote endpoint responding to the connection request. + /// + public string RemoteEndpointId + { + get { return mRemoteEndpointId; } + } + + /// + /// Gets the status of the connection response. + /// + public Status ResponseStatus + { + get { return mResponseStatus; } + } + + /// + /// Gets the payload sent with the connection response. + /// + public byte[] Payload + { + get { return mPayload; } + } + + /// + /// Creates a response indicating the connection was rejected. + /// + public static ConnectionResponse Rejected(long localClientId, string remoteEndpointId) + { + return new ConnectionResponse(localClientId, remoteEndpointId, Status.Rejected, + EmptyPayload); + } + + /// + /// Creates a response indicating the device is not connected to a network. + /// + public static ConnectionResponse NetworkNotConnected(long localClientId, string remoteEndpointId) + { + return new ConnectionResponse(localClientId, remoteEndpointId, Status.ErrorNetworkNotConnected, + EmptyPayload); + } + + /// + /// Creates a response indicating an internal error occurred. + /// + public static ConnectionResponse InternalError(long localClientId, string remoteEndpointId) + { + return new ConnectionResponse(localClientId, remoteEndpointId, Status.ErrorInternal, + EmptyPayload); + } + + /// + /// Creates a response indicating the remote endpoint is not connected. + /// + public static ConnectionResponse EndpointNotConnected(long localClientId, string remoteEndpointId) + { + return new ConnectionResponse(localClientId, remoteEndpointId, Status.ErrorEndpointNotConnected, + EmptyPayload); + } + + /// + /// Creates a response indicating the connection was accepted with a payload. + /// + public static ConnectionResponse Accepted(long localClientId, string remoteEndpointId, + byte[] payload) + { + return new ConnectionResponse(localClientId, remoteEndpointId, Status.Accepted, + payload); + } + + /// + /// Creates a response indicating the endpoints are already connected. + /// + public static ConnectionResponse AlreadyConnected(long localClientId, + string remoteEndpointId) + { + return new ConnectionResponse(localClientId, remoteEndpointId, + Status.ErrorAlreadyConnected, + EmptyPayload); + } + } +} \ No newline at end of file diff --git a/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/Nearby/ConnectionResponse.cs.meta b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/Nearby/ConnectionResponse.cs.meta new file mode 100644 index 00000000..f079fb21 --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/Nearby/ConnectionResponse.cs.meta @@ -0,0 +1,14 @@ +fileFormatVersion: 2 +guid: ad6611af8d0204d0d8922a327d3d9ec0 +labels: +- gvh +- gvh_version-2.1.0 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/Nearby/DummyNearbyConnectionClient.cs b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/Nearby/DummyNearbyConnectionClient.cs new file mode 100644 index 00000000..38f0b5a0 --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/Nearby/DummyNearbyConnectionClient.cs @@ -0,0 +1,176 @@ +// +// Copyright (C) 2014 Google Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// + +#if UNITY_ANDROID + +namespace GooglePlayGames.BasicApi.Nearby +{ + using UnityEngine; + + /// + /// Dummy implementation of INearbyConnectionClient. This class can be used for testing purposes. + /// It logs messages indicating that its methods have been called. + /// + public class DummyNearbyConnectionClient : INearbyConnectionClient + { + /// + /// The maximum size of an unreliable message payload. + /// + public int MaxUnreliableMessagePayloadLength() + { + return NearbyConnectionConfiguration.MaxUnreliableMessagePayloadLength; + } + + /// + /// The maximum size of a reliable message payload. + /// + public int MaxReliableMessagePayloadLength() + { + return NearbyConnectionConfiguration.MaxReliableMessagePayloadLength; + } + + /// + /// Logs the message about Reliable call from dummy implementation. + /// + public void SendReliable(System.Collections.Generic.List recipientEndpointIds, byte[] payload) + { + OurUtils.Logger.d("SendReliable called from dummy implementation"); + } + + /// + /// Logs the message about Unreliable call from dummy implementation. + /// + public void SendUnreliable(System.Collections.Generic.List recipientEndpointIds, byte[] payload) + { + OurUtils.Logger.d("SendUnreliable called from dummy implementation"); + } + + /// + /// Starts advertising for a service. + /// + public void StartAdvertising(string name, System.Collections.Generic.List appIdentifiers, + System.TimeSpan? advertisingDuration, System.Action resultCallback, + System.Action connectionRequestCallback) + { + AdvertisingResult obj = new AdvertisingResult(ResponseStatus.LicenseCheckFailed, string.Empty); + resultCallback.Invoke(obj); + } + + /// + /// Logs the message about StopAdvertising call from dummy implementation. + /// + public void StopAdvertising() + { + OurUtils.Logger.d("StopAvertising in dummy implementation called"); + } + + /// + /// Sends a connection request to the specified endpoint. + /// + public void SendConnectionRequest(string name, string remoteEndpointId, byte[] payload, + System.Action responseCallback, IMessageListener listener) + { + OurUtils.Logger.d("SendConnectionRequest called from dummy implementation"); + + if (responseCallback != null) + { + ConnectionResponse obj = ConnectionResponse.Rejected(0, string.Empty); + responseCallback.Invoke(obj); + } + } + + /// + /// Logs the message about accepts a connection request from the specified endpoint. + /// + public void AcceptConnectionRequest(string remoteEndpointId, byte[] payload, IMessageListener listener) + { + OurUtils.Logger.d("AcceptConnectionRequest in dummy implementation called"); + } + + /// + /// Logs the message about StartDiscovery call from dummy implementation. + /// + public void StartDiscovery(string serviceId, System.TimeSpan? advertisingTimeout, IDiscoveryListener listener) + { + OurUtils.Logger.d("StartDiscovery in dummy implementation called"); + } + + /// + /// Logs the message about StopDiscovery call from dummy implementation. + /// + public void StopDiscovery(string serviceId) + { + OurUtils.Logger.d("StopDiscovery in dummy implementation called"); + } + + /// + /// Logs the message about RejectConnectionRequest call from dummy implementation. + /// + public void RejectConnectionRequest(string requestingEndpointId) + { + OurUtils.Logger.d("RejectConnectionRequest in dummy implementation called"); + } + + /// + /// Logs the message about DisconnectFromEndpoint call from dummy implementation. + /// + public void DisconnectFromEndpoint(string remoteEndpointId) + { + OurUtils.Logger.d("DisconnectFromEndpoint in dummy implementation called"); + } + + /// + /// Logs the message about StopAllConnections call from dummy implementation. + /// + public void StopAllConnections() + { + OurUtils.Logger.d("StopAllConnections in dummy implementation called"); + } + + /// + /// Returns the local endpoint id string. + /// + public string LocalEndpointId() + { + return string.Empty; + } + + /// + /// Returns the local device id string. + /// + public string LocalDeviceId() + { + return "DummyDevice"; + } + + /// + /// Returns the app bundle id string. + /// + public string GetAppBundleId() + { + return "dummy.bundle.id"; + } + + /// + /// Returns the service id string. + /// + public string GetServiceId() + { + return "dummy.service.id"; + } + } +} +#endif \ No newline at end of file diff --git a/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/Nearby/DummyNearbyConnectionClient.cs.meta b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/Nearby/DummyNearbyConnectionClient.cs.meta new file mode 100644 index 00000000..443da460 --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/Nearby/DummyNearbyConnectionClient.cs.meta @@ -0,0 +1,14 @@ +fileFormatVersion: 2 +guid: 9b3f34a2bba13428789d02b53fd89a47 +labels: +- gvh +- gvh_version-2.1.0 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/Nearby/EndpointDetails.cs b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/Nearby/EndpointDetails.cs new file mode 100644 index 00000000..3f3713b2 --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/Nearby/EndpointDetails.cs @@ -0,0 +1,67 @@ +// +// Copyright (C) 2014 Google Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// + +namespace GooglePlayGames.BasicApi.Nearby +{ + using GooglePlayGames.OurUtils; + + /// + /// Represents details of an endpoint involved in a Nearby Connections operation. + /// + public struct EndpointDetails + { + private readonly string mEndpointId; + private readonly string mName; + private readonly string mServiceId; + + /// + /// Initializes a new instance of the struct. + /// + /// The unique identifier of the endpoint. + /// The name of the endpoint. + /// The service ID associated with the endpoint. + public EndpointDetails(string endpointId, string name, string serviceId) + { + this.mEndpointId = Misc.CheckNotNull(endpointId); + this.mName = Misc.CheckNotNull(name); + this.mServiceId = Misc.CheckNotNull(serviceId); + } + + /// + /// Gets the unique identifier of the endpoint. + /// + public string EndpointId + { + get { return mEndpointId; } + } + + /// + /// Gets the name of the endpoint. + /// + public string Name + { + get { return mName; } + } + + /// + /// Gets the service ID associated with the endpoint. + /// + public string ServiceId + { + get { return mServiceId; } + } + } +} diff --git a/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/Nearby/EndpointDetails.cs.meta b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/Nearby/EndpointDetails.cs.meta new file mode 100644 index 00000000..e1aaf46a --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/Nearby/EndpointDetails.cs.meta @@ -0,0 +1,14 @@ +fileFormatVersion: 2 +guid: 9d9a087b0e20d4752b24f33a4a2bf977 +labels: +- gvh +- gvh_version-2.1.0 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/Nearby/INearbyConnectionClient.cs b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/Nearby/INearbyConnectionClient.cs new file mode 100644 index 00000000..51ed85ce --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/Nearby/INearbyConnectionClient.cs @@ -0,0 +1,177 @@ +// +// Copyright (C) 2014 Google Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// + +namespace GooglePlayGames.BasicApi.Nearby +{ + using System; + using System.Collections.Generic; + + // move this inside IMessageListener and IDiscoveryListener are always declared. +#if UNITY_ANDROID + + /// + /// Interface for managing connections and communications between devices using Nearby Connections. + /// + public interface INearbyConnectionClient + { + /// + /// Gets the maximum length of an unreliable message payload. + /// + /// Maximum length of an unreliable message payload. + int MaxUnreliableMessagePayloadLength(); + + /// + /// Gets the maximum length of a reliable message payload. + /// + /// Maximum length of a reliable message payload. + int MaxReliableMessagePayloadLength(); + + /// + /// Sends a reliable message to a list of recipients. + /// + /// List of recipient endpoint IDs. + /// The message payload to send. + void SendReliable(List recipientEndpointIds, byte[] payload); + + /// + /// Sends an unreliable message to a list of recipients. + /// + /// List of recipient endpoint IDs. + /// The message payload to send. + void SendUnreliable(List recipientEndpointIds, byte[] payload); + + /// + /// Starts advertising the local device to nearby devices. + /// + /// The name to advertise. + /// List of application identifiers. + /// Optional advertising duration. + /// Callback for advertising result. + /// Callback for incoming connection requests. + void StartAdvertising(string name, List appIdentifiers, + TimeSpan? advertisingDuration, Action resultCallback, + Action connectionRequestCallback); + + /// + /// Stops advertising the local device to nearby devices. + /// + void StopAdvertising(); + + /// + /// Sends a connection request to a remote endpoint. + /// + /// The name of the local device. + /// The ID of the remote endpoint. + /// The connection request payload. + /// Callback for the connection response. + /// Listener for message events. + void SendConnectionRequest(string name, string remoteEndpointId, byte[] payload, + Action responseCallback, IMessageListener listener); + + /// + /// Accepts a connection request from a remote endpoint. + /// + /// The ID of the remote endpoint. + /// The connection acceptance payload. + /// Listener for message events. + void AcceptConnectionRequest(string remoteEndpointId, byte[] payload, + IMessageListener listener); + + /// + /// Starts discovering nearby endpoints for a specific service. + /// + /// The service ID to discover. + /// Optional timeout for advertising discovery. + /// Listener for discovery events. + void StartDiscovery(string serviceId, TimeSpan? advertisingTimeout, + IDiscoveryListener listener); + + /// + /// Stops discovering endpoints for a specific service. + /// + /// The service ID to stop discovering. + void StopDiscovery(string serviceId); + + /// + /// Rejects a connection request from a remote endpoint. + /// + /// The ID of the endpoint that sent the request. + void RejectConnectionRequest(string requestingEndpointId); + + /// + /// Disconnects from a remote endpoint. + /// + /// The ID of the remote endpoint to disconnect from. + void DisconnectFromEndpoint(string remoteEndpointId); + + /// + /// Stops all connections to nearby endpoints. + /// + void StopAllConnections(); + + /// + /// Gets the app bundle ID. + /// + /// The app bundle ID. + string GetAppBundleId(); + + /// + /// Gets the service ID used for discovery and connection. + /// + /// The service ID. + string GetServiceId(); + } +#endif + + /// + /// Interface for receiving messages and notifications about remote endpoints. + /// + public interface IMessageListener + { + /// + /// Called when a message is received from a remote endpoint. + /// + /// The ID of the remote endpoint. + /// The data of the received message. + /// Indicates whether the message is reliable. + void OnMessageReceived(string remoteEndpointId, byte[] data, + bool isReliableMessage); + + /// + /// Called when a remote endpoint has disconnected. + /// + /// The ID of the disconnected endpoint. + void OnRemoteEndpointDisconnected(string remoteEndpointId); + } + + /// + /// Interface for receiving notifications about discovered endpoints. + /// + public interface IDiscoveryListener + { + /// + /// Called when an endpoint is found during discovery. + /// + /// The details of the discovered endpoint. + void OnEndpointFound(EndpointDetails discoveredEndpoint); + + /// + /// Called when an endpoint is lost during discovery. + /// + /// The ID of the lost endpoint. + void OnEndpointLost(string lostEndpointId); + } +} diff --git a/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/Nearby/INearbyConnectionClient.cs.meta b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/Nearby/INearbyConnectionClient.cs.meta new file mode 100644 index 00000000..8b154f21 --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/Nearby/INearbyConnectionClient.cs.meta @@ -0,0 +1,14 @@ +fileFormatVersion: 2 +guid: cb64b5b444dd34de5bd308c7eed6e509 +labels: +- gvh +- gvh_version-2.1.0 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/Nearby/NearbyConnectionConfiguration.cs b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/Nearby/NearbyConnectionConfiguration.cs new file mode 100644 index 00000000..9bcc3c8c --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/Nearby/NearbyConnectionConfiguration.cs @@ -0,0 +1,91 @@ +// +// Copyright (C) 2014 Google Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// + +namespace GooglePlayGames.BasicApi.Nearby +{ + using System; + using GooglePlayGames.OurUtils; + + /// + /// Represents the configuration for a Nearby Connections operation. + /// Includes initialization status and client-specific configuration. + /// + public enum InitializationStatus + { + /// + /// Indicates that the initialization was successful. + /// + Success, + + /// + /// Signifies that a version update is required for nearby connections. + /// + VersionUpdateRequired, + + /// + /// Denotes that an internal error occurred during initialization. + /// + InternalError + } + + /// + /// Defines the configuration for establishing a Nearby connection. + /// This includes parameters like client ID and initialization callback. + /// + public struct NearbyConnectionConfiguration + { + /// + /// A constant integer representing the maximum payload length for unreliable messages. + /// + public const int MaxUnreliableMessagePayloadLength = 1168; + + /// + /// A constant integer representing the maximum payload length for reliable messages. + /// + public const int MaxReliableMessagePayloadLength = 4096; + + private readonly Action mInitializationCallback; + private readonly long mLocalClientId; + + /// + /// Initializes a new instance of the struct. + /// + /// A callback that will be invoked when initialization completes. + /// The unique identifier for the local client. + public NearbyConnectionConfiguration(Action callback, + long localClientId) + { + this.mInitializationCallback = Misc.CheckNotNull(callback); + this.mLocalClientId = localClientId; + } + + /// + /// Gets the unique identifier for the local client. + /// + public long LocalClientId + { + get { return mLocalClientId; } + } + + /// + /// Gets the callback to be invoked upon the completion of initialization. + /// + public Action InitializationCallback + { + get { return mInitializationCallback; } + } + } +} \ No newline at end of file diff --git a/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/Nearby/NearbyConnectionConfiguration.cs.meta b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/Nearby/NearbyConnectionConfiguration.cs.meta new file mode 100644 index 00000000..184b7f74 --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/Nearby/NearbyConnectionConfiguration.cs.meta @@ -0,0 +1,14 @@ +fileFormatVersion: 2 +guid: 968ac90e4a9094a4a92df9da1ee1f884 +labels: +- gvh +- gvh_version-2.1.0 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/Player.cs b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/Player.cs new file mode 100644 index 00000000..204dd611 --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/Player.cs @@ -0,0 +1,39 @@ +// +// Copyright (C) 2014 Google Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +#if UNITY_ANDROID +namespace GooglePlayGames.BasicApi +{ + /// + /// Represents a player. A player is different from a participant! The participant is + /// an entity that takes part in a particular match; a Player is a real-world person + /// (tied to a Games account). The player exists across matches, the Participant + /// only exists in the context of a particular match. + /// + public class Player : PlayGamesUserProfile + { + /// + /// Constructor for Player. + /// + /// The display name of the player. + /// The player ID of the player. + /// The URL of the player's avatar. + internal Player(string displayName, string playerId, string avatarUrl) + : base(displayName, playerId, avatarUrl) + { + } + } +} +#endif diff --git a/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/Player.cs.meta b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/Player.cs.meta new file mode 100644 index 00000000..17c4de31 --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/Player.cs.meta @@ -0,0 +1,13 @@ +fileFormatVersion: 2 +guid: 4e1630bdd0c7b490e8f006f9a24ef758 +labels: +- gvh +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/PlayerProfile.cs b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/PlayerProfile.cs new file mode 100644 index 00000000..8fc02748 --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/PlayerProfile.cs @@ -0,0 +1,35 @@ +// +// Copyright (C) 2014 Google Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// + +#if UNITY_ANDROID + +namespace GooglePlayGames.BasicApi { + /// + /// Represents a player, a real-world person (tied to a Games account). + /// + public class PlayerProfile : PlayGamesUserProfile { + /// + /// Constructor for PlayerProfile. + /// + /// The display name of the player. + /// The player ID of the player. + /// The URL of the player's avatar. + /// Whether the player is a friend of the current player. + internal PlayerProfile(string displayName, string playerId, string avatarUrl, bool isFriend) + : base(displayName, playerId, avatarUrl, isFriend) {} + } +} +#endif diff --git a/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/PlayerProfile.cs.meta b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/PlayerProfile.cs.meta new file mode 100644 index 00000000..e247772f --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/PlayerProfile.cs.meta @@ -0,0 +1,13 @@ +fileFormatVersion: 2 +guid: 547c7cbe798c749c7b389133ebabc40c +labels: +- gvh +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/PlayerStats.cs b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/PlayerStats.cs new file mode 100644 index 00000000..a7e8c5fc --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/PlayerStats.cs @@ -0,0 +1,268 @@ +// +// Copyright (C) 2015 Google Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// + +#if UNITY_ANDROID + +namespace GooglePlayGames.BasicApi +{ + using System; + + /// + /// Player stats. See https://developers.google.com/games/services/android/stats + /// + public class PlayerStats + { + private static float UNSET_VALUE = -1.0f; + + public PlayerStats( + int numberOfPurchases, + float avgSessionLength, + int daysSinceLastPlayed, + int numberOfSessions, + float sessPercentile, + float spendPercentile, + float spendProbability, + float churnProbability, + float highSpenderProbability, + float totalSpendNext28Days) + { + mValid = true; + mNumberOfPurchases = numberOfPurchases; + mAvgSessionLength = avgSessionLength; + mDaysSinceLastPlayed = daysSinceLastPlayed; + mNumberOfSessions = numberOfSessions; + mSessPercentile = sessPercentile; + mSpendPercentile = spendPercentile; + mSpendProbability = spendProbability; + mChurnProbability = churnProbability; + mHighSpenderProbability = highSpenderProbability; + mTotalSpendNext28Days = totalSpendNext28Days; + } + + public PlayerStats() + { + mValid = false; + } + + private bool mValid; + private int mNumberOfPurchases; + private float mAvgSessionLength; + private int mDaysSinceLastPlayed; + private int mNumberOfSessions; + private float mSessPercentile; + private float mSpendPercentile; + private float mSpendProbability; + private float mChurnProbability; + private float mHighSpenderProbability; + private float mTotalSpendNext28Days; + + /// + /// If this PlayerStats object is valid (i.e. successfully retrieved from games services). + /// + /// + /// Note that a PlayerStats with all stats unset may still be valid. + /// + public bool Valid + { + get { return mValid; } + } + + /// + /// The number of in-app purchases. + /// + public int NumberOfPurchases + { + get { return mNumberOfPurchases; } + } + + /// + /// The length of the avg session in minutes. + /// + public float AvgSessionLength + { + get { return mAvgSessionLength; } + } + + /// + /// The days since last played. + /// + public int DaysSinceLastPlayed + { + get { return mDaysSinceLastPlayed; } + } + + /// + /// The number of sessions based on sign-ins. + /// + public int NumberOfSessions + { + get { return mNumberOfSessions; } + } + + /// + /// The approximation of sessions percentile for the player. + /// + /// + /// This value is given as a decimal value between 0 and 1 (inclusive). + /// It indicates how many sessions the current player has + /// played in comparison to the rest of this game's player base. + /// Higher numbers indicate that this player has played more sessions. + /// A return value less than zero indicates this value is not available. + /// + public float SessPercentile + { + get { return mSessPercentile; } + } + + /// + /// The approximate spend percentile of the player. + /// + /// + /// This value is given as a decimal value between 0 and 1 (inclusive). + /// It indicates how much the current player has spent in + /// comparison to the rest of this game's player base. Higher + /// numbers indicate that this player has spent more. + /// A return value less than zero indicates this value is not available. + /// + public float SpendPercentile + { + get { return mSpendPercentile; } + } + + /// + /// The approximate probability of the player choosing to spend in this game. + /// + /// + /// This value is given as a decimal value between 0 and 1 (inclusive). + /// Higher values indicate that a player is more likely to spend. + /// A return value less than zero indicates this value is not available. + /// + public float SpendProbability + { + get { return mSpendProbability; } + } + + /// + /// The approximate probability of the player not returning to play the game. + /// + /// + /// Higher values indicate that a player is less likely to return. + /// A return value less than zero indicates this value is not available. + /// + public float ChurnProbability + { + get { return mChurnProbability; } + } + + /// + /// The high spender probability of this player. + /// + public float HighSpenderProbability + { + get { return mHighSpenderProbability; } + } + + /// + /// The predicted total spend of this player over the next 28 days. + /// + public float TotalSpendNext28Days + { + get { return mTotalSpendNext28Days; } + } + + /// + /// Determines whether this instance has NumberOfPurchases. + /// + /// true if this instance has NumberOfPurchases; otherwise, false. + public bool HasNumberOfPurchases() + { + return NumberOfPurchases != (int) UNSET_VALUE; + } + + /// + /// Determines whether this instance has AvgSessionLength. + /// + /// true if this instance has AvgSessionLength; otherwise, false. + public bool HasAvgSessionLength() + { + return AvgSessionLength != UNSET_VALUE; + } + + /// + /// Determines whether this instance has DaysSinceLastPlayed. + /// + /// true if this instance has DaysSinceLastPlayed; otherwise, false. + public bool HasDaysSinceLastPlayed() + { + return DaysSinceLastPlayed != (int) UNSET_VALUE; + } + + /// + /// Determines whether this instance has NumberOfSessions. + /// + /// true if this instance has NumberOfSessions; otherwise, false. + public bool HasNumberOfSessions() + { + return NumberOfSessions != (int) UNSET_VALUE; + } + + /// + /// Determines whether this instance has SessPercentile. + /// + /// true if this instance has SessPercentile; otherwise, false. + public bool HasSessPercentile() + { + return SessPercentile != UNSET_VALUE; + } + + /// + /// Determines whether this instance has SpendPercentile. + /// + /// true if this instance has SpendPercentile; otherwise, false. + public bool HasSpendPercentile() + { + return SpendPercentile != UNSET_VALUE; + } + + /// + /// Determines whether this instance has ChurnProbability. + /// + /// true if this instance has ChurnProbability; otherwise, false. + public bool HasChurnProbability() + { + return ChurnProbability != UNSET_VALUE; + } + + /// + /// Determines whether this instance has HighSpenderProbability. + /// + /// true if this instance has HighSpenderProbability; otherwise, false. + public bool HasHighSpenderProbability() + { + return HighSpenderProbability != UNSET_VALUE; + } + + /// + /// Determines whether this instance has TotalSpendNext28Days. + /// + /// true if this instance has TotalSpendNext28Days; otherwise, false. + public bool HasTotalSpendNext28Days() + { + return TotalSpendNext28Days != UNSET_VALUE; + } + } +} +#endif \ No newline at end of file diff --git a/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/PlayerStats.cs.meta b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/PlayerStats.cs.meta new file mode 100644 index 00000000..5ed6e61e --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/PlayerStats.cs.meta @@ -0,0 +1,14 @@ +fileFormatVersion: 2 +guid: 0cf73f44d6d524deab1717d6e71e2c6d +labels: +- gvh +- gvh_version-2.1.0 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/RecallAccess.cs b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/RecallAccess.cs new file mode 100644 index 00000000..44a10c3b --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/RecallAccess.cs @@ -0,0 +1,57 @@ +// +// Copyright (C) 2023 Google Inc. All Rights Reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// + +#if UNITY_ANDROID + +namespace GooglePlayGames.BasicApi +{ + using System.Collections.Generic; + using UnityEngine.SocialPlatforms; + + /// + /// Recall Access data. This is the callback data + /// when requesting Recall Access. + /// + + public class RecallAccess + { + + /// + /// The session ID for the Recall Access. + /// + private string mSessionId; + + /// + /// Constructs a new RecallAccess object with the given session ID. + /// + /// The session ID for the Recall Access. + internal RecallAccess(string sessionId) + { + mSessionId = sessionId; + } + + /// + /// The session ID for the Recall Access. + /// + public string sessionId + { + get { return mSessionId; } + + internal set { mSessionId = value; } + } + } +} +#endif \ No newline at end of file diff --git a/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/RecallAccess.cs.meta b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/RecallAccess.cs.meta new file mode 100644 index 00000000..c23bc983 --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/RecallAccess.cs.meta @@ -0,0 +1,13 @@ +fileFormatVersion: 2 +guid: 218f296754c404d38844833c7742e8c2 +labels: +- gvh +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/SavedGame.meta b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/SavedGame.meta new file mode 100644 index 00000000..599cdc65 --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/SavedGame.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 1bc47bd5631b849f88f2785c2d44019b +folderAsset: yes +timeCreated: 1435699548 +licenseType: Pro +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/SavedGame/ISavedGameClient.cs b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/SavedGame/ISavedGameClient.cs new file mode 100644 index 00000000..aff1bda9 --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/SavedGame/ISavedGameClient.cs @@ -0,0 +1,379 @@ +// +// Copyright (C) 2014 Google Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// + +namespace GooglePlayGames.BasicApi.SavedGame +{ + using System; + using System.Collections.Generic; + + /// + /// An enum for the different strategies that can be used to resolve saved game conflicts (i.e. + /// conflicts produced by two or more separate writes to the same saved game at once). + /// + public enum ConflictResolutionStrategy + { + /// + /// Choose which saved game should be used on the basis of which one has the longest recorded + /// play time. In other words, in the case of a conflicting write, the saved game with the + /// longest play time will be considered cannonical. If play time has not been provided by the + /// developer, or in the case of two saved games with equal play times, + /// will be used instead. + /// + UseLongestPlaytime, + + /// + /// Choose the version of the saved game that existed before any conflicting write occurred. + /// Consider the following case: + /// - An initial version of a save game ("X") is written from a device ("Dev_A") + /// - The save game X is downloaded by another device ("Dev_B"). + /// - Dev_A writes a new version of the save game to the cloud ("Y") + /// - Dev_B does not see the new save game Y, and attempts to write a new save game ("Z"). + /// - Since Dev_B is performing a write using out of date information, a conflict is generated. + /// + /// In this situation, we can resolve the conflict by declaring either keeping Y as the + /// canonical version of the saved game (i.e. choose "original" aka ), + /// or by overwriting it with conflicting value, Z (i.e. choose "unmerged" aka + /// ). + /// + /// + UseOriginal, + + /// + /// See the documentation for + /// + UseUnmerged, + + /// + /// Manual resolution, no automatic resolution is attempted. + /// + UseManual, + + /// + /// The use last known good snapshot to resolve conflicts automatically. + /// + UseLastKnownGood, + + /// + /// The use most recently saved snapshot to resolve conflicts automatically. + /// + UseMostRecentlySaved + } + + /// + /// An enum for the different statuses that can be returned by the saved game client. + /// + public enum SavedGameRequestStatus + { + Success = 1, + + /// + /// The request failed due to a timeout. + /// + /// + TimeoutError = -1, + + /// + /// An unexpected internal error. Check the log for error messages. + /// + /// + InternalError = -2, + + /// + /// A error related to authentication. This is probably due to the user being signed out + /// before the request could be issued. + /// + /// + AuthenticationError = -3, + + /// + /// The request failed because it was given bad input (e.g. a filename with 200 characters). + /// + /// + BadInputError = -4 + } + + /// + /// An enum for the different UI statuses that can be returned by the saved game client. + /// + public enum SelectUIStatus + { + /// + /// The user selected a saved game. + /// + SavedGameSelected = 1, + + /// + /// The user closed the UI without selecting a saved game. + /// + /// + UserClosedUI = 2, + + /// + /// An unexpected internal error. Check the log for error messages. + /// + /// + InternalError = -1, + + /// + /// There was a timeout while displaying the UI. + /// + /// + TimeoutError = -2, + + /// + /// An error related to authentication. This error could be due to the user being signed out + /// before the request could be issued. + /// + /// + AuthenticationError = -3, + + /// + /// The request failed due to invalid input. For example, the filename exceeded the 200 character limit.. + /// + /// + BadInputError = -4, + + UiBusy = -5 + } + + /// + /// + /// A delegate that is invoked when we encounter a conflict during execution of + /// . The caller must resolve the + /// conflict using the passed . All passed metadata is open. + /// If was invoked with + /// prefetchDataOnConflict set to true, the and + /// will be equal to the binary data of the "original" and + /// "unmerged" saved game respectively (and null otherwise). Since conflict files may be generated + /// by other clients, it is possible that neither of the passed saved games were originally written + /// by the current device. Consequently, any conflict resolution strategy should not rely on local + /// data that is not part of the binary data of the passed saved games - this data will not be + /// present if conflict resolution occurs on a different device. In addition, since a given saved + /// game may have multiple conflicts, this callback must be designed to handle multiple invocations. + /// + public delegate void ConflictCallback(IConflictResolver resolver, ISavedGameMetadata original, + byte[] originalData, ISavedGameMetadata unmerged, byte[] unmergedData); + + /// + /// The main entry point for interacting with saved games. Saved games are persisted in the cloud + /// along with several game-specific properties ( for more + /// information). There are several core concepts involved with saved games: + /// + /// Filenames - act as unique identifiers for saved games. Two devices + /// performing a read or write using the same filename will end up reading or modifying the same + /// file (i.e. filenames are not device specific). + /// + /// + /// Saved Game Metadata are represented by . + /// The instances allow access to metadata properties about the underlying saved game (e.g. + /// description). In addition, metadata functions as a handle that are required to read and + /// manipulate saved game contents. Lastly, metadata may be "Open". Open metadata instances are + /// required to manipulate the underlying binary data of the saved game. See method comments to + /// determine whether a specific method requires or returns an open saved game. + /// + /// + /// Conflicts occur when multiple devices attempt to write to the same file + /// at the same time. The saved game system guarantees that no conflicting writes will be lost or + /// silently overwritten. Instead, they must be handled the next time the file with a conflict is + /// Opened. Conflicts can be handled automatically ( + /// ) or can be manuallyhandled by the developer + /// (). See the Open methods for more discussion. + /// + /// + /// Saved games will generally be used in the following workflow: + /// + /// Determine which saved game to use (either using a hardcoded filename or + /// ShowSelectSavedGameUI) + /// Open the file using OpenWithManualConflictResolution or + /// OpenWithAutomaticConflictResolution + /// Read the binary data of the saved game using ReadBinaryData handle it + /// as appropriate for your game. + /// When you have updates, persist them in the cloud using CommitUpdate. Note + /// that writing to the cloud is relatively expensive, and shouldn't be done frequently. + /// + /// + /// + /// See online + /// documentation for Saved Games for more information. + /// + public interface ISavedGameClient + { + /// + /// Opens the file with the indicated name and data source. If the file has an outstanding + /// conflict, it will be resolved using the specified conflict resolution strategy. The + /// metadata returned by this method will be "Open" - it can be used as a parameter for + /// and . + /// + /// The name of the file to open. Filenames must consist of + /// only non-URL reserved characters (i.e. a-z, A-Z, 0-9, or the symbols "-", ".", "_", or "~") + /// be between 1 and 100 characters in length (inclusive). + /// The data source to use. for a description + /// of the available options here. + /// The conflict resolution that should be used if any + /// conflicts are encountered while opening the file. + /// for a description of these strategies. + /// The callback that is invoked when this operation finishes. The + /// returned metadata will only be non-null if the open succeeded. This callback will always + /// execute on the game thread and the returned metadata (if any) will be "Open". + void OpenWithAutomaticConflictResolution(string filename, DataSource source, + ConflictResolutionStrategy resolutionStrategy, + Action callback); + + /// + /// Opens the file with the indicated name and data source. If there is a conflict that + /// requires resolution, it will be resolved manually using the passed conflict callback. Once + /// all pending conflicts are resolved, the completed callback will be invoked with the + /// retrieved data. In the event of an error, the completed callback will be invoked with the + /// corresponding error status. All callbacks will be executed on the game thread. + /// + /// The name of the file to open. Filenames must consist of + /// only non-URL reserved characters (i.e. a-z, A-Z, 0-9, or the symbols "-", ".", "_", or "~") + /// be between 1 and 100 characters in length (inclusive). + /// The data source to use. for a description + /// of the available options here. + /// If set to true, the data for the two + /// conflicting files will be automatically retrieved and passed as parameters in + /// . If set to false, null binary data + /// will be passed into and the caller will have to fetch + /// it themselves. + /// The callback that will be invoked if one or more conflict is + /// encountered while executing this method. Note that more than one conflict may be present + /// and that this callback might be executed more than once to resolve multiple conflicts. + /// This callback is always executed on the game thread. + /// The callback that is invoked when this operation finishes. + /// The returned metadata will only be non-null if the open succeeded. If an error is + /// encountered during conflict resolution, that error will be reflected here. This callback + /// will always execute on the game thread and the returned metadata (if any) will be "Open". + /// + void OpenWithManualConflictResolution(string filename, DataSource source, + bool prefetchDataOnConflict, ConflictCallback conflictCallback, + Action completedCallback); + + /// + /// Reads the binary data of the passed saved game. The passed metadata must be opened (i.e. + /// returns true). The callback will always be executed + /// on the game thread. + /// + /// The metadata for the saved game whose binary data we want to read. + /// This metadata must be open. If it is not open, the method will immediately fail with status + /// . + /// + /// The callback that is invoked when the read finishes. If the + /// read completed without error, the passed status will be and the passed + /// bytes will correspond to the binary data for the file. In the case of + /// + void ReadBinaryData(ISavedGameMetadata metadata, + Action completedCallback); + + /// + /// Shows the select saved game UI with the indicated configuration. If the user selects a + /// saved game in that UI, it will be returned in the passed callback. This metadata will be + /// unopened and must be passed to either or + /// in order to retrieve the binary data. + /// The callback will always be executed on the game thread. + /// + /// The user-visible title of the displayed selection UI. + /// The maximum number of saved games the UI may display. + /// This value must be greater than 0. + /// If set to true, show UI that will allow the user to + /// create a new saved game. + /// If set to true show UI that will allow the user to + /// delete a saved game. + /// The callback that is invoked when an error occurs or if the user + /// finishes interacting with the UI. If the user selected a saved game, this will be passed + /// into the callback along with the status. This saved game + /// will not be Open, and must be opened before it can be written to or its binary data can be + /// read. If the user backs out of the UI without selecting a saved game, this callback will + /// receive and a null saved game. This callback will always execute + /// on the game thread. + void ShowSelectSavedGameUI(string uiTitle, uint maxDisplayedSavedGames, bool showCreateSaveUI, + bool showDeleteSaveUI, Action callback); + + /// + /// Durably commits an update to the passed saved game. When this method returns successfully, + /// the data is durably persisted to disk and will eventually be uploaded to the cloud (in + /// practice, this will happen very quickly unless the device does not have a network + /// connection). If an update to the saved game has occurred after the metadata was retrieved + /// from the cloud, this update will produce a conflict (this commonly occurs if two different + /// devices are writing to the cloud at the same time). All conflicts must be handled the next + /// time this saved game is opened. See and + /// for more information. + /// + /// The metadata for the saved game to update. This metadata must be + /// Open (i.e. returns true)."/> If it is not open, the + /// method will immediately fail with status + /// All updates that should be applied to the saved game + /// metadata. + /// The new binary content of the saved game + /// The callback that is invoked when this operation finishes. + /// The returned metadata will only be non-null if the commit succeeded. If an error is + /// encountered during conflict resolution, that error will be reflected here. This callback + /// will always execute on the game thread and the returned metadata (if any) will NOT be + /// "Open" (i.e. commiting an update closes the metadata). + void CommitUpdate(ISavedGameMetadata metadata, SavedGameMetadataUpdate updateForMetadata, + byte[] updatedBinaryData, Action callback); + + /// + /// Returns the metadata for all known saved games for this game. All returned saved games are + /// not open, and must be opened before they can be used for writes or binary data reads. The + /// callback will always occur on the game thread. + /// + /// The data source to use. for a description + /// of the available options here. + /// The callback that is invoked when this operation finishes. + /// The returned metadata will only be non-empty if the commit succeeded. If an error is + /// encountered during the fetch, that error will be reflected here. This callback + /// will always execute on the game thread and the returned metadata (if any) will NOT be + /// "Open". + void FetchAllSavedGames(DataSource source, + Action> callback); + + /// + /// Delete the specified snapshot. + /// This will delete the data of the snapshot locally and on the server. + /// + /// the saved game metadata identifying the data to + /// delete. + void Delete(ISavedGameMetadata metadata); + } + + /// + /// An interface that allows developers to resolve metadata conflicts that may be encountered while + /// opening saved games. + /// + public interface IConflictResolver + { + /// + /// Resolves the conflict by choosing the passed metadata to be canonical. The passed metadata + /// must be one of the two instances passed as parameters into - + /// this instance will be kept as the cannonical value in the cloud. + /// + /// The chosen metadata. This metadata must be open. If it is not + /// open, the invocation of that produced this + /// ConflictResolver will immediately fail with . + void ChooseMetadata(ISavedGameMetadata chosenMetadata); + + /// + /// Resolves the conflict and updates the data. + /// + /// Metadata for the chosen version. This is either the + /// original or unmerged metadata provided when the callback is invoked. + /// Metadata update, same as when committing changes. + /// Updated data to use when resolving the conflict. + void ResolveConflict(ISavedGameMetadata chosenMetadata, SavedGameMetadataUpdate metadataUpdate, + byte[] updatedData); + } +} \ No newline at end of file diff --git a/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/SavedGame/ISavedGameClient.cs.meta b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/SavedGame/ISavedGameClient.cs.meta new file mode 100644 index 00000000..63033909 --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/SavedGame/ISavedGameClient.cs.meta @@ -0,0 +1,14 @@ +fileFormatVersion: 2 +guid: 5d4ff89980bdd4c9780aa3ceee54a51b +labels: +- gvh +- gvh_version-2.1.0 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/SavedGame/ISavedGameMetadata.cs b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/SavedGame/ISavedGameMetadata.cs new file mode 100644 index 00000000..7b80eac2 --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/SavedGame/ISavedGameMetadata.cs @@ -0,0 +1,77 @@ +// +// Copyright (C) 2014 Google Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// + +namespace GooglePlayGames.BasicApi.SavedGame +{ + using System; + + /// + /// Interface representing the metadata for a saved game. These instances are also used as handles + /// for reading and writing the content of the underlying file. + /// + public interface ISavedGameMetadata + { + /// + /// Returns true if this metadata can be used for operations related to raw file data (i.e. + /// the binary data contained in the underlying file). Metadata returned by Open operations + /// will be "Open". After an update to the file is committed or the metadata is used to resolve + /// a conflict, the corresponding Metadata is closed, and IsOpen will return false. + /// + /// + /// true if this instance is open; otherwise, false. + bool IsOpen { get; } + + /// + /// Returns the filename for this saved game. A saved game filename will only consist of + /// non-URL reserved characters (i.e. a-z, A-Z, 0-9, or the symbols "-", ".", "_", or "~") + /// and will between 1 and 100 characters in length (inclusive). + /// + /// The filename. + string Filename { get; } + + /// + /// Returns a human-readable description of what the saved game contains. This may be null. + /// + /// The description. + string Description { get; } + + /// + /// A URL corresponding to the PNG-encoded image corresponding to this saved game. null if + /// the saved game does not have a cover image. + /// + /// The cover image URL. + string CoverImageURL { get; } + + /// + /// Returns the total time played by the player for this saved game. This value is + /// developer-specified and may be tracked in any way that is appropriate to the game. Note + /// that this value is specific to this specific saved game (unless the developer intentionally + /// sets the same value on all saved games). If the value was not set, this will be equal to + /// TimeSpan.FromMilliseconds(0) + /// + /// The total time played. + TimeSpan TotalTimePlayed { get; } + + /// + /// A timestamp corresponding to the last modification to the underlying saved game. If the + /// saved game is newly created, this value will correspond to the time the first Open + /// occurred. Otherwise, this corresponds to time the last successful write occurred (either by + /// CommitUpdate or Resolve methods). + /// + /// The last modified timestamp. + DateTime LastModifiedTimestamp { get; } + } +} \ No newline at end of file diff --git a/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/SavedGame/ISavedGameMetadata.cs.meta b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/SavedGame/ISavedGameMetadata.cs.meta new file mode 100644 index 00000000..b65aa219 --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/SavedGame/ISavedGameMetadata.cs.meta @@ -0,0 +1,14 @@ +fileFormatVersion: 2 +guid: a94650f478358403ea166d374b2a950c +labels: +- gvh +- gvh_version-2.1.0 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/SavedGame/SavedGameMetadataUpdate.cs b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/SavedGame/SavedGameMetadataUpdate.cs new file mode 100644 index 00000000..967ce54e --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/SavedGame/SavedGameMetadataUpdate.cs @@ -0,0 +1,160 @@ +// +// Copyright (C) 2014 Google Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// + +namespace GooglePlayGames.BasicApi.SavedGame +{ + using System; + using GooglePlayGames.OurUtils; + + /// + /// A struct representing the mutation of saved game metadata. Fields can either have a new value + /// or be untouched (in which case the corresponding field in the saved game metadata will be + /// untouched). Instances must be built using + /// and once created, these instances are immutable and threadsafe. + /// + public struct SavedGameMetadataUpdate + { + private readonly bool mDescriptionUpdated; + private readonly string mNewDescription; + private readonly bool mCoverImageUpdated; + private readonly byte[] mNewPngCoverImage; + private readonly TimeSpan? mNewPlayedTime; + + /// + /// Initializes a new instance of the struct using the specified builder. + /// + /// The builder used to initialize the saved game metadata update. + private SavedGameMetadataUpdate(Builder builder) + { + mDescriptionUpdated = builder.mDescriptionUpdated; + mNewDescription = builder.mNewDescription; + mCoverImageUpdated = builder.mCoverImageUpdated; + mNewPngCoverImage = builder.mNewPngCoverImage; + mNewPlayedTime = builder.mNewPlayedTime; + } + + /// + /// Gets whether the description has been updated in the metadata. + /// + public bool IsDescriptionUpdated + { + get { return mDescriptionUpdated; } + } + + /// + /// Gets the updated description for the saved game, if it has been changed. + /// + public string UpdatedDescription + { + get { return mNewDescription; } + } + + /// + /// Gets whether the cover image has been updated in the metadata. + /// + public bool IsCoverImageUpdated + { + get { return mCoverImageUpdated; } + } + + /// + /// Gets the updated PNG cover image, if it has been changed. + /// + public byte[] UpdatedPngCoverImage + { + get { return mNewPngCoverImage; } + } + + /// + /// Gets whether the played time has been updated in the metadata. + /// + public bool IsPlayedTimeUpdated + { + get { return mNewPlayedTime.HasValue; } + } + + /// + /// Gets the updated played time, if it has been changed. + /// + public TimeSpan? UpdatedPlayedTime + { + get { return mNewPlayedTime; } + } + + /// + /// A builder for constructing instances of . + /// + public struct Builder + { + internal bool mDescriptionUpdated; + internal string mNewDescription; + internal bool mCoverImageUpdated; + internal byte[] mNewPngCoverImage; + internal TimeSpan? mNewPlayedTime; + + /// + /// Sets the description to be updated in the saved game metadata. + /// + /// The new description to set. + /// The builder with the updated description. + public Builder WithUpdatedDescription(string description) + { + mNewDescription = Misc.CheckNotNull(description); + mDescriptionUpdated = true; + return this; + } + + /// + /// Sets the PNG cover image to be updated in the saved game metadata. + /// + /// The new PNG image data for the cover image. + /// The builder with the updated cover image. + public Builder WithUpdatedPngCoverImage(byte[] newPngCoverImage) + { + mCoverImageUpdated = true; + mNewPngCoverImage = newPngCoverImage; + return this; + } + + /// + /// Sets the played time to be updated in the saved game metadata. + /// + /// The new played time to set. + /// The builder with the updated played time. + /// Thrown if the played time exceeds the maximum allowed value. + public Builder WithUpdatedPlayedTime(TimeSpan newPlayedTime) + { + if (newPlayedTime.TotalMilliseconds > ulong.MaxValue) + { + throw new InvalidOperationException("Timespans longer than ulong.MaxValue " + + "milliseconds are not allowed"); + } + + mNewPlayedTime = newPlayedTime; + return this; + } + + /// + /// Builds a new instance with the configured updates. + /// + /// A new instance of . + public SavedGameMetadataUpdate Build() + { + return new SavedGameMetadataUpdate(this); + } + } + } +} \ No newline at end of file diff --git a/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/SavedGame/SavedGameMetadataUpdate.cs.meta b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/SavedGame/SavedGameMetadataUpdate.cs.meta new file mode 100644 index 00000000..cb2edf95 --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/SavedGame/SavedGameMetadataUpdate.cs.meta @@ -0,0 +1,14 @@ +fileFormatVersion: 2 +guid: 602d9e1c90f0144e79536115f3614478 +labels: +- gvh +- gvh_version-2.1.0 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/ScorePageToken.cs b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/ScorePageToken.cs new file mode 100644 index 00000000..e0f9c1d3 --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/ScorePageToken.cs @@ -0,0 +1,112 @@ +// +// Copyright (C) 2015 Google Inc. All Rights Reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// + +#if UNITY_ANDROID + +namespace GooglePlayGames.BasicApi +{ + /// + /// Enum representing the direction of score page navigation. + /// + public enum ScorePageDirection + { + /// + /// Represents the forward direction (next page). + /// + Forward = 1, + + /// + /// Represents the backward direction (previous page). + /// + Backward = 2, + } + + /// + /// Score page token. This holds the internal token used + /// to page through the score pages. The id, collection, and + /// timespan are added as a convenience, and not actually part of the + /// page token returned from the SDK. + /// + public class ScorePageToken + { + private string mId; + private object mInternalObject; + private LeaderboardCollection mCollection; + private LeaderboardTimeSpan mTimespan; + private ScorePageDirection mDirection; + + /// + /// Initializes a new instance of the class. + /// + /// The internal object representing the page token. + /// The leaderboard ID. + /// The leaderboard collection type. For example, public or social. + /// The timespan of the leaderboard. For example, daily or all-time. + /// The direction of the score page navigation, such as forward or backward. + internal ScorePageToken(object internalObject, string id, + LeaderboardCollection collection, LeaderboardTimeSpan timespan, + ScorePageDirection direction) + { + mInternalObject = internalObject; + mId = id; + mCollection = collection; + mTimespan = timespan; + mDirection = direction; + } + + /// + /// Gets the collection type of the leaderboard. For example, public or social. + /// + public LeaderboardCollection Collection + { + get { return mCollection; } + } + + /// + /// Gets the timespan of the leaderboard. For example, daily or all-time. + /// + public LeaderboardTimeSpan TimeSpan + { + get { return mTimespan; } + } + + /// + /// Gets the direction of the score page navigation. For example, forward or backward. + /// + public ScorePageDirection Direction + { + get { return mDirection; } + } + + /// + /// Gets the leaderboard ID associated with this token. + /// + public string LeaderboardId + { + get { return mId; } + } + + /// + /// Gets the internal object representing the page token. + /// This is an internal implementation detail and should not be accessed directly. + /// + internal object InternalObject + { + get { return mInternalObject; } + } + } +} +#endif diff --git a/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/ScorePageToken.cs.meta b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/ScorePageToken.cs.meta new file mode 100644 index 00000000..2b9f8c51 --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/ScorePageToken.cs.meta @@ -0,0 +1,14 @@ +fileFormatVersion: 2 +guid: 3eade9d49f3e341ddb2ba8209e7ddf42 +labels: +- gvh +- gvh_version-2.1.0 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/SignInInteractivity.cs b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/SignInInteractivity.cs new file mode 100644 index 00000000..657c1725 --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/SignInInteractivity.cs @@ -0,0 +1,29 @@ +namespace GooglePlayGames.BasicApi +{ + /// + /// Enum to specify the interactivity of the sign in flow. + /// + public enum SignInInteractivity + { + /// no UIs will be shown (if UIs are needed, it will fail rather than show them). + NoPrompt, + + /// + /// This may show UIs, consent dialogs, etc. + /// At the end of the process, callback will be invoked to notify of the result. + /// Once the callback returns true, the user is considered to be authenticated. + /// + CanPromptAlways, + + /// When this is selected, PlayGamesPlatform.Authenticate does the following in order: + /// 1. Attempt to silent sign in. + /// 2. If silent sign in fails, check if user has previously declined to sign in and don’t prompt interactive + /// sign in if they have. + /// 3. Check the internet connection and fail with NO_INTERNET_CONNECTION if there is no internet connection. + /// 4. Prompt interactive sign in. + /// 5. If the interactive sign in is not successful (user declines or cancels), then + /// remember this for step 2 the next time the user opens the game and don’t ask for sign-in. + /// + CanPromptOnce + } +} diff --git a/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/SignInInteractivity.cs.meta b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/SignInInteractivity.cs.meta new file mode 100644 index 00000000..afaf0cef --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/SignInInteractivity.cs.meta @@ -0,0 +1,14 @@ +fileFormatVersion: 2 +guid: f5c7733064f2b09dc8df0009b3bbb1d6 +labels: +- gvh +- gvh_version-2.1.0 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/SignInStatus.cs b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/SignInStatus.cs new file mode 100644 index 00000000..84a51e6c --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/SignInStatus.cs @@ -0,0 +1,17 @@ +namespace GooglePlayGames.BasicApi +{ + /// + /// Enum to specify the sign in status. + /// + public enum SignInStatus + { + /// The operation was successful. + Success, + + /// An internal error occurred. + InternalError, + + /// The sign in was canceled. + Canceled, + } +} diff --git a/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/SignInStatus.cs.meta b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/SignInStatus.cs.meta new file mode 100644 index 00000000..5b8c624b --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/BasicApi/SignInStatus.cs.meta @@ -0,0 +1,14 @@ +fileFormatVersion: 2 +guid: 0992bc2597d741e59dc3f8c963a3ca25 +labels: +- gvh +- gvh_version-2.1.0 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/GameInfo.cs b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/GameInfo.cs new file mode 100644 index 00000000..b6cc6f37 --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/GameInfo.cs @@ -0,0 +1,71 @@ +// +// Copyright (C) 2015 Google Inc. All Rights Reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +#if UNITY_ANDROID + +namespace GooglePlayGames { + /// + /// This file is automatically generated DO NOT EDIT! + /// + /// These are the constants defined in the Play Games Console for Game Services + /// Resources. + /// + /// + /// File containing information about the game. This is automatically updated by running the + /// platform-appropriate setup commands in the Unity editor (which does a simple search / replace + /// on the IDs in the form "__ID__"). We can check whether any particular field has been updated + /// by checking whether it still retains its initial value - we prevent the constants from being + /// replaced in the aforementioned search/replace by stripping off the leading and trailing "__". + /// + public static class GameInfo { + + private const string UnescapedApplicationId = "APP_ID"; + private const string UnescapedIosClientId = "IOS_CLIENTID"; + private const string UnescapedWebClientId = "WEB_CLIENTID"; + private const string UnescapedNearbyServiceId = "NEARBY_SERVICE_ID"; + + public const string ApplicationId = "1044312393953"; // Filled in automatically + public const string IosClientId = "__IOS_CLIENTID__"; // Filled in automatically + public const string WebClientId = ""; // Filled in automatically + public const string NearbyConnectionServiceId = "com.WickedCube.TrivialKart"; + + public static bool ApplicationIdInitialized() { + return !string.IsNullOrEmpty(ApplicationId) && !ApplicationId.Equals(ToEscapedToken(UnescapedApplicationId)); + } + + public static bool IosClientIdInitialized() { + return !string.IsNullOrEmpty(IosClientId) && !IosClientId.Equals(ToEscapedToken(UnescapedIosClientId)); + } + + public static bool WebClientIdInitialized() { + return !string.IsNullOrEmpty(WebClientId) && !WebClientId.Equals(ToEscapedToken(UnescapedWebClientId)); + } + + public static bool NearbyConnectionsInitialized() { + return !string.IsNullOrEmpty(NearbyConnectionServiceId) && + !NearbyConnectionServiceId.Equals(ToEscapedToken(UnescapedNearbyServiceId)); + } + + /// + /// Returns an escaped token (i.e. one flanked with "__") for the passed token + /// + /// The escaped token. + /// The Token + private static string ToEscapedToken(string token) { + return string.Format("__{0}__", token); + } + } +} +#endif diff --git a/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/GameInfo.cs.meta b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/GameInfo.cs.meta new file mode 100644 index 00000000..aa49e49e --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/GameInfo.cs.meta @@ -0,0 +1,14 @@ +fileFormatVersion: 2 +guid: a722d413080904cc1bd07f4db21e1af1 +labels: +- gvh +- gvh_version-2.1.0 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/ISocialPlatform.meta b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/ISocialPlatform.meta new file mode 100644 index 00000000..b7673b5c --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/ISocialPlatform.meta @@ -0,0 +1,5 @@ +fileFormatVersion: 2 +guid: ef66268ee929544fb82bbef6ac13bafe +folderAsset: yes +DefaultImporter: + userData: diff --git a/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/ISocialPlatform/PlayGamesAchievement.cs b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/ISocialPlatform/PlayGamesAchievement.cs new file mode 100644 index 00000000..f9a65eb1 --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/ISocialPlatform/PlayGamesAchievement.cs @@ -0,0 +1,371 @@ +// +// Copyright (C) 2014 Google Inc. All Rights Reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// + +#if UNITY_ANDROID + +namespace GooglePlayGames +{ + using System; + using GooglePlayGames.BasicApi; + using UnityEngine; +#if UNITY_2017_1_OR_NEWER + using UnityEngine.Networking; +#endif + using UnityEngine.SocialPlatforms; + + /// + /// Delegate for reporting achievement progress. + /// + /// The achievement ID. + /// The progress of the achievement (a value between 0.0 and 100.0). + /// A callback to be invoked with a boolean indicating success. + internal delegate void ReportProgress(string id, double progress, Action callback); + + /// + /// Represents a Google Play Games achievement. It can be used to report an achievement + /// to the API, offering identical functionality as . + /// Implements both the and interfaces. + /// + internal class PlayGamesAchievement : IAchievement, IAchievementDescription + { + /// + /// The callback for reporting progress. + /// + private readonly ReportProgress mProgressCallback; + + /// + /// The achievement's ID. + /// + private string mId = string.Empty; + + /// + /// A flag indicating if the achievement is incremental. + /// + private bool mIsIncremental = false; + + /// + /// The current steps completed for an incremental achievement. + /// + private int mCurrentSteps = 0; + + /// + /// The total steps required for an incremental achievement. + /// + private int mTotalSteps = 0; + + /// + /// The percentage of completion. + /// + private double mPercentComplete = 0.0; + + /// + /// A flag indicating if the achievement is completed (unlocked). + /// + private bool mCompleted = false; + + /// + /// A flag indicating if the achievement is hidden. + /// + private bool mHidden = false; + + /// + /// The last time the achievement was modified. + /// + private DateTime mLastModifiedTime = new DateTime(1970, 1, 1, 0, 0, 0, 0); + + /// + /// The title of the achievement. + /// + private string mTitle = string.Empty; + + /// + /// The URL for the revealed (locked) achievement image. + /// + private string mRevealedImageUrl = string.Empty; + + /// + /// The URL for the unlocked achievement image. + /// + private string mUnlockedImageUrl = string.Empty; +#if UNITY_2017_1_OR_NEWER + /// + /// The web request used to fetch the achievement image. + /// + private UnityWebRequest mImageFetcher = null; +#else + /// + /// The web request used to fetch the achievement image. + /// + private WWW mImageFetcher = null; +#endif + /// + /// The downloaded achievement image as a Texture2D. + /// + private Texture2D mImage = null; + + /// + /// The description of the achievement. + /// + private string mDescription = string.Empty; + + /// + /// The points awarded for unlocking the achievement. + /// + private ulong mPoints = 0; + + /// + /// Initializes a new instance of the class. + /// Uses the default progress reporting mechanism from . + /// + internal PlayGamesAchievement() + : this(PlayGamesPlatform.Instance.ReportProgress) + { + } + + /// + /// Initializes a new instance of the class with a custom progress callback. + /// + /// The callback to use for reporting progress. + internal PlayGamesAchievement(ReportProgress progressCallback) + { + mProgressCallback = progressCallback; + } + + /// + /// Initializes a new instance of the class from a object. + /// + /// The achievement data from the Basic API. + internal PlayGamesAchievement(Achievement ach) : this() + { + this.mId = ach.Id; + this.mIsIncremental = ach.IsIncremental; + this.mCurrentSteps = ach.CurrentSteps; + this.mTotalSteps = ach.TotalSteps; + if (ach.IsIncremental) + { + if (ach.TotalSteps > 0) + { + this.mPercentComplete = + ((double) ach.CurrentSteps / (double) ach.TotalSteps) * 100.0; + } + else + { + this.mPercentComplete = 0.0; + } + } + else + { + this.mPercentComplete = ach.IsUnlocked ? 100.0 : 0.0; + } + + this.mCompleted = ach.IsUnlocked; + this.mHidden = !ach.IsRevealed; + this.mLastModifiedTime = ach.LastModifiedTime; + this.mTitle = ach.Name; + this.mDescription = ach.Description; + this.mPoints = ach.Points; + this.mRevealedImageUrl = ach.RevealedImageUrl; + this.mUnlockedImageUrl = ach.UnlockedImageUrl; + } + + /// + /// Reveals, unlocks or increments the achievement. + /// + /// + /// This method is equivalent to calling . + /// The and properties should be set before calling this method. + /// + /// An action to be invoked with a value indicating whether the operation was successful. + public void ReportProgress(Action callback) + { + mProgressCallback.Invoke(mId, mPercentComplete, callback); + } + + /// + /// Asynchronously loads the achievement's image from its URL. + /// + /// The image once loaded; otherwise, null. + private Texture2D LoadImage() + { + if (hidden) + { + // Return null, as hidden achievements do not have images. + return null; + } + + string url = completed ? mUnlockedImageUrl : mRevealedImageUrl; + + // The URL can be null if no image is configured. + if (!string.IsNullOrEmpty(url)) + { + if (mImageFetcher == null || mImageFetcher.url != url) + { +#if UNITY_2017_1_OR_NEWER + mImageFetcher = UnityWebRequestTexture.GetTexture(url); +#else + mImageFetcher = new WWW(url); +#endif + mImage = null; + } + + // If we already have the texture, return it to avoid repeated downloads. + if (mImage != null) + { + return mImage; + } + + if (mImageFetcher.isDone) + { +#if UNITY_2017_1_OR_NEWER + mImage = DownloadHandlerTexture.GetContent(mImageFetcher); +#else + mImage = mImageFetcher.texture; +#endif + return mImage; + } + } + + // If there is no URL or the download is not complete, return null. + return null; + } + + + /// + /// Gets or sets the ID of this achievement. + /// + /// The achievement ID. + public string id + { + get { return mId; } + set { mId = value; } + } + + /// + /// Gets a value indicating whether this achievement is incremental. + /// + /// This value is set by . + /// true if incremental; otherwise, false. + public bool isIncremental + { + get { return mIsIncremental; } + } + + /// + /// Gets the current number of steps completed for this achievement. + /// + /// This value is only defined for incremental achievements and is set by . + /// The current steps. + public int currentSteps + { + get { return mCurrentSteps; } + } + + /// + /// Gets the total number of steps for this achievement. + /// + /// This value is only defined for incremental achievements and is set by . + /// The total steps. + public int totalSteps + { + get { return mTotalSteps; } + } + + /// + /// Gets or sets the completion percentage of this achievement. + /// + /// The percent completed (from 0.0 to 100.0). + public double percentCompleted + { + get { return mPercentComplete; } + set { mPercentComplete = value; } + } + + /// + /// Gets a value indicating whether this achievement is completed (unlocked). + /// + /// This value is set by . + /// true if completed; otherwise, false. + public bool completed + { + get { return this.mCompleted; } + } + + /// + /// Gets a value indicating whether this achievement is hidden. + /// + /// This value is set by . + /// true if hidden; otherwise, false. + public bool hidden + { + get { return this.mHidden; } + } + + /// + /// Gets the date and time this achievement was last reported. + /// + /// The last reported date. + public DateTime lastReportedDate + { + get { return mLastModifiedTime; } + } + + /// + /// Gets the title of the achievement. + /// + /// The title. + public String title + { + get { return mTitle; } + } + + /// + /// Gets the image for the achievement, loading it asynchronously if necessary. + /// + /// The achievement image as a . + public Texture2D image + { + get { return LoadImage(); } + } + + /// + /// Gets the description for the achieved state. + /// + /// The achieved description. + public string achievedDescription + { + get { return mDescription; } + } + + /// + /// Gets the description for the unachieved state. + /// + /// The unachieved description. + public string unachievedDescription + { + get { return mDescription; } + } + + /// + /// Gets the point value of the achievement. + /// + /// The points. + public int points + { + get { return (int) mPoints; } + } + } +} +#endif \ No newline at end of file diff --git a/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/ISocialPlatform/PlayGamesAchievement.cs.meta b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/ISocialPlatform/PlayGamesAchievement.cs.meta new file mode 100644 index 00000000..fecc3884 --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/ISocialPlatform/PlayGamesAchievement.cs.meta @@ -0,0 +1,14 @@ +fileFormatVersion: 2 +guid: e5354c32a5dc64372ba5102f7f787adf +labels: +- gvh +- gvh_version-2.1.0 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/ISocialPlatform/PlayGamesLeaderboard.cs b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/ISocialPlatform/PlayGamesLeaderboard.cs new file mode 100644 index 00000000..d7306c3b --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/ISocialPlatform/PlayGamesLeaderboard.cs @@ -0,0 +1,303 @@ +// +// Copyright (C) 2015 Google Inc. All Rights Reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// + +#if UNITY_ANDROID + +namespace GooglePlayGames +{ + using System.Collections.Generic; + using GooglePlayGames.BasicApi; + using UnityEngine; + using UnityEngine.SocialPlatforms; + + /// + /// Represents a Google Play Games leaderboard. The class provides a way to configure and store + /// data for a specific leaderboard. + /// Implements Unity's generic ILeaderboard interface. + /// + public class PlayGamesLeaderboard : ILeaderboard + { + /// + /// The ID of the leaderboard. + /// + private string mId; + + /// + /// The user scope for the leaderboard scores. For example, determines if scores are fetched + /// from all players (Global) or just the user's friends (FriendsOnly). + /// + private UserScope mUserScope; + + /// + /// Specifies the start rank and the number of scores to retrieve. + /// + private Range mRange; + + /// + /// Filters scores by time period. For example, AllTime, Weekly, Daily. + /// + private TimeScope mTimeScope; + + /// + /// An array of user IDs to filter the scores. + /// + private string[] mFilteredUserIds; + + /// + /// A boolean flag that is true while the scores are being loaded; otherwise, false. + /// + private bool mLoading; + + /// + /// The score of the local user. + /// + private IScore mLocalUserScore; + + /// + /// The approximate total number of scores in the leaderboard. + /// + private uint mMaxRange; + + /// + /// The list of loaded scores. + /// + private List mScoreList = new List(); + + /// + /// The title of the leaderboard. + /// + private string mTitle; + + /// + /// Initializes a new instance of the class. + /// + /// The leaderboard ID. + public PlayGamesLeaderboard(string id) + { + mId = id; + } + + #region ILeaderboard implementation + + /// + /// Sets a filter to load scores only for a specific set of users. + /// + /// The array of user IDs to filter by. + public void SetUserFilter(string[] userIDs) + { + mFilteredUserIds = userIDs; + } + + /// + /// Initiates the loading of scores from the Google Play Games platform. + /// + /// A callback that will be invoked with a boolean indicating the success of the operation. + public void LoadScores(System.Action callback) + { + PlayGamesPlatform.Instance.LoadScores(this, callback); + } + + /// + /// Gets a value indicating whether the leaderboard scores are currently loading. + /// + /// true if loading; otherwise, false. + public bool loading + { + get { return mLoading; } + internal set { mLoading = value; } + } + + /// + /// Gets or sets the leaderboard ID. + /// + /// The leaderboard ID. + public string id + { + get { return mId; } + set { mId = value; } + } + + /// + /// Gets or sets the user scope for the scores to be loaded. + /// + /// The user scope. + public UserScope userScope + { + get { return mUserScope; } + set { mUserScope = value; } + } + + /// + /// Gets or sets the rank range for the scores to be loaded. + /// + /// The rank range. + public Range range + { + get { return mRange; } + set { mRange = value; } + } + + /// + /// Gets or sets the time scope for the scores to be loaded. + /// + /// The time scope. + public TimeScope timeScope + { + get { return mTimeScope; } + set { mTimeScope = value; } + } + + /// + /// Gets the local user's score on this leaderboard. + /// + /// The local user's score. + public IScore localUserScore + { + get { return mLocalUserScore; } + } + + /// + /// Gets the approximate number of total scores in the leaderboard. + /// + /// The maximum range of scores. + public uint maxRange + { + get { return mMaxRange; } + } + + /// + /// Gets the array of loaded scores. + /// + /// The scores. + public IScore[] scores + { + get + { + PlayGamesScore[] arr = new PlayGamesScore[mScoreList.Count]; + mScoreList.CopyTo(arr); + return arr; + } + } + + /// + /// Gets the title of the leaderboard. + /// + /// The title. + public string title + { + get { return mTitle; } + } + + #endregion + + /// + /// Populates the leaderboard's properties from a object. + /// + /// The data object containing leaderboard information. + /// true if the data was valid and applied; otherwise, false. + internal bool SetFromData(LeaderboardScoreData data) + { + if (data.Valid) + { + OurUtils.Logger.d("Setting leaderboard from: " + data); + SetMaxRange(data.ApproximateCount); + SetTitle(data.Title); + SetLocalUserScore((PlayGamesScore) data.PlayerScore); + foreach (IScore score in data.Scores) + { + AddScore((PlayGamesScore) score); + } + + mLoading = data.Scores.Length == 0 || HasAllScores(); + } + + return data.Valid; + } + + /// + /// Sets the maximum range (approximate total number of scores). + /// + /// The value for the maximum range. + internal void SetMaxRange(ulong val) + { + mMaxRange = (uint) val; + } + + /// + /// Sets the title of the leaderboard. + /// + /// The title string. + internal void SetTitle(string value) + { + mTitle = value; + } + + /// + /// Sets the local user's score. + /// + /// The local user's score. + internal void SetLocalUserScore(PlayGamesScore score) + { + mLocalUserScore = score; + } + + /// + /// Adds a score to the internal list of scores. If a user filter is active, + /// the score will only be added if the user ID matches the filter. + /// + /// The score to add. + /// The new count of scores in the list. + internal int AddScore(PlayGamesScore score) + { + if (mFilteredUserIds == null || mFilteredUserIds.Length == 0) + { + mScoreList.Add(score); + } + else + { + foreach (string fid in mFilteredUserIds) + { + if (fid.Equals(score.userID)) + { + mScoreList.Add(score); + break; + } + } + } + + return mScoreList.Count; + } + + /// + /// Gets the number of scores currently loaded. + /// + /// The score count. + public int ScoreCount + { + get { return mScoreList.Count; } + } + + /// + /// Checks if all requested scores have been loaded. + /// + /// true if the number of loaded scores matches the requested range or the total number of scores; otherwise, false. + internal bool HasAllScores() + { + return mScoreList.Count >= mRange.count || mScoreList.Count >= maxRange; + } + } +} +#endif \ No newline at end of file diff --git a/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/ISocialPlatform/PlayGamesLeaderboard.cs.meta b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/ISocialPlatform/PlayGamesLeaderboard.cs.meta new file mode 100644 index 00000000..6fdb4b42 --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/ISocialPlatform/PlayGamesLeaderboard.cs.meta @@ -0,0 +1,14 @@ +fileFormatVersion: 2 +guid: a027e4767bd0f41509b9ef6bd2f6080e +labels: +- gvh +- gvh_version-2.1.0 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/ISocialPlatform/PlayGamesLocalUser.cs b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/ISocialPlatform/PlayGamesLocalUser.cs new file mode 100644 index 00000000..e77ac882 --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/ISocialPlatform/PlayGamesLocalUser.cs @@ -0,0 +1,227 @@ +// +// Copyright (C) 2014 Google Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// + +#if UNITY_ANDROID + +namespace GooglePlayGames +{ + using System; + using GooglePlayGames.BasicApi; + using UnityEngine.SocialPlatforms; + + /// + /// Represents the Google Play Games local user, providing access to + /// authentication and user-specific functionality. Implements Unity's + /// ILocalUser interface. + /// + public class PlayGamesLocalUser : PlayGamesUserProfile, ILocalUser + { + /// + /// A reference to the active Play Games platform instance. + /// + internal PlayGamesPlatform mPlatform; + + /// + /// Cached player stats. + /// + private PlayerStats mStats; + + /// + /// Initializes a new instance of the class. + /// + /// The platform instance. + internal PlayGamesLocalUser(PlayGamesPlatform plaf) + : base("localUser", string.Empty, string.Empty) + { + mPlatform = plaf; + mStats = null; + } + + /// + /// Authenticates the local user. This is equivalent to calling + /// . + /// + /// A callback to invoke with a boolean indicating success. + public void Authenticate(Action callback) + { + mPlatform.Authenticate(status => callback(status == SignInStatus.Success)); + } + + /// + /// Authenticates the local user with an extended callback that includes the reason for failure. + /// This is equivalent to calling . + /// + /// + /// A callback to invoke with a boolean indicating success and a string containing the status. + /// + public void Authenticate(Action callback) + { + mPlatform.Authenticate(status => callback(status == SignInStatus.Success, status.ToString())); + } + + /// + /// Loads the friends of the authenticated user. + /// + /// A callback to invoke with a boolean indicating success. + public void LoadFriends(Action callback) + { + mPlatform.LoadFriends(this, callback); + } + + /// + /// Gets the local user's friends. This will be null until completes. + /// + /// An array of the user's friends, or null if not yet loaded. + public IUserProfile[] friends + { + get { return mPlatform.GetFriends(); } + } + + /// + /// Gets a value indicating whether the local user is authenticated to Google Play Games. + /// + /// true if authenticated; otherwise, false. + public bool authenticated + { + get { return mPlatform.IsAuthenticated(); } + } + + /// + /// Gets a value indicating whether the user is underage. + /// + /// This is not implemented and returns true as a placeholder. + public bool underage + { + get { return true; } + } + + + + /// + /// Gets the display name of the local user. + /// + /// The user's display name. + public new string userName + { + get + { + string retval = string.Empty; + if (authenticated) + { + retval = mPlatform.GetUserDisplayName(); + if (!base.userName.Equals(retval)) + { + ResetIdentity(retval, mPlatform.GetUserId(), mPlatform.GetUserImageUrl()); + } + } + + return retval; + } + } + + /// + /// Gets the user's Google ID (Player ID). + /// + /// + /// This ID is persistent and uniquely identifies the user across all games. + /// It is the preferred way to identify a player. + /// + /// The user's Google ID. + public new string id + { + get + { + string retval = string.Empty; + if (authenticated) + { + retval = mPlatform.GetUserId(); + if (!base.id.Equals(retval)) + { + ResetIdentity(mPlatform.GetUserDisplayName(), retval, mPlatform.GetUserImageUrl()); + } + } + + return retval; + } + } + + + /// + /// Gets a value indicating whether this user is a friend of the local user. + /// + /// Always returns true. + public new bool isFriend + { + get { return true; } + } + + /// + /// Gets the user's state. + /// + /// For the local user, this is always UserState.Online. + public new UserState state + { + get { return UserState.Online; } + } + + /// + /// Gets the URL of the user's avatar image. + /// + /// The avatar image URL. + public new string AvatarURL + { + get + { + string retval = string.Empty; + if (authenticated) + { + retval = mPlatform.GetUserImageUrl(); + if (!base.id.Equals(retval)) + { + ResetIdentity(mPlatform.GetUserDisplayName(), + mPlatform.GetUserId(), retval); + } + } + + return retval; + } + } + + /// + /// Gets the player's stats from the server. + /// + /// A callback to be invoked with the status code and the player's stats. + /// The stats may be cached from a previous call. + /// + public void GetStats(Action callback) + { + if (mStats == null || !mStats.Valid) + { + mPlatform.GetPlayerStats((rc, stats) => + { + mStats = stats; + callback(rc, stats); + }); + } + else + { + // Return cached stats with a success code. + callback(CommonStatusCodes.Success, mStats); + } + } + } +} +#endif \ No newline at end of file diff --git a/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/ISocialPlatform/PlayGamesLocalUser.cs.meta b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/ISocialPlatform/PlayGamesLocalUser.cs.meta new file mode 100644 index 00000000..f3c3d996 --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/ISocialPlatform/PlayGamesLocalUser.cs.meta @@ -0,0 +1,14 @@ +fileFormatVersion: 2 +guid: 3b5f03fe051cb4a41a3b5489bd63c24c +labels: +- gvh +- gvh_version-2.1.0 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/ISocialPlatform/PlayGamesPlatform.cs b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/ISocialPlatform/PlayGamesPlatform.cs new file mode 100644 index 00000000..95d86933 --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/ISocialPlatform/PlayGamesPlatform.cs @@ -0,0 +1,1404 @@ +// +// Copyright (C) 2014 Google Inc. All Rights Reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// + +#if UNITY_ANDROID + +namespace GooglePlayGames +{ + using System; + using System.Collections.Generic; + using GooglePlayGames.BasicApi; + using GooglePlayGames.BasicApi.Events; + using GooglePlayGames.BasicApi.Nearby; + using GooglePlayGames.BasicApi.SavedGame; + using GooglePlayGames.OurUtils; + using UnityEngine; + using UnityEngine.SocialPlatforms; + + /// + /// Provides access to the Google Play Games platform. This is an implementation of + /// UnityEngine.SocialPlatforms.ISocialPlatform. Activate this platform by calling + /// the method, then authenticate by calling + /// the method. After authentication + /// completes, you may call the other methods of this class. This is not a complete + /// implementation of the ISocialPlatform interface. Methods lacking an implementation + /// or whose behavior is at variance with the standard are noted as such. + /// + public class PlayGamesPlatform : ISocialPlatform + { + /// Singleton instance + private static volatile PlayGamesPlatform sInstance = null; + + /// status of nearby connection initialization. + private static volatile bool sNearbyInitializePending; + + /// Reference to the nearby client. + /// This is static since it can be used without using play game services. + private static volatile INearbyConnectionClient sNearbyConnectionClient; + + /// The local user. + private PlayGamesLocalUser mLocalUser = null; + + /// Reference to the platform specific implementation. + private IPlayGamesClient mClient = null; + + /// the default leaderboard we show on ShowLeaderboardUI + private string mDefaultLbUi = null; + + /// the mapping table from alias to leaderboard/achievement id. + private Dictionary mIdMap = new Dictionary(); + + /// + /// Initializes a new instance of the class. + /// + /// Implementation client to use for this instance. + internal PlayGamesPlatform(IPlayGamesClient client) + { + this.mClient = Misc.CheckNotNull(client); + this.mLocalUser = new PlayGamesLocalUser(this); + } + + /// + /// Initializes a new instance of the class. + /// + private PlayGamesPlatform() + { + GooglePlayGames.OurUtils.Logger.d("Creating new PlayGamesPlatform"); + this.mLocalUser = new PlayGamesLocalUser(this); + } + + /// + /// Gets or sets a value indicating whether debug logs are enabled. This property + /// may be set before calling method. + /// + /// + /// true if debug log enabled; otherwise, false. + /// + public static bool DebugLogEnabled + { + get { return GooglePlayGames.OurUtils.Logger.DebugLogEnabled; } + + set { GooglePlayGames.OurUtils.Logger.DebugLogEnabled = value; } + } + + /// + /// Gets the singleton instance of the Play Games platform. + /// + /// + /// The instance. + /// + public static PlayGamesPlatform Instance + { + get + { + if (sInstance == null) + { + OurUtils.Logger.d("Initializing the PlayGamesPlatform instance."); + sInstance = + new PlayGamesPlatform(PlayGamesClientFactory.GetPlatformPlayGamesClient()); + } + + return sInstance; + } + } + + /// + /// Gets the nearby connection client. NOTE: Can be null until the nearby client + /// is initialized. Call InitializeNearby to use callback to be notified when initialization + /// is complete. + /// + /// The nearby. + public static INearbyConnectionClient Nearby + { + get + { + if (sNearbyConnectionClient == null && !sNearbyInitializePending) + { + sNearbyInitializePending = true; + InitializeNearby(null); + } + + return sNearbyConnectionClient; + } + } + + /// Gets the saved game client object. + /// The saved game client. + public ISavedGameClient SavedGame + { + get { return mClient.GetSavedGameClient(); } + } + + /// Gets the events client object. + /// The events client. + public IEventsClient Events + { + get { return mClient.GetEventsClient(); } + } + + /// + /// Gets the local user. + /// + /// + /// The local user. + /// + public ILocalUser localUser + { + get { return mLocalUser; } + } + + /// + /// Initializes the nearby connection platform. + /// + /// This call initializes the nearby connection platform. This + /// is independent of the Play Game Services initialization. Multiple + /// calls to this method are ignored. + /// + /// Callback invoked when complete. + public static void InitializeNearby(Action callback) + { + OurUtils.Logger.d("Calling InitializeNearby!"); + if (sNearbyConnectionClient == null) + { +#if UNITY_ANDROID && !UNITY_EDITOR + NearbyConnectionClientFactory.Create(client => { + OurUtils.Logger.d("Nearby Client Created!!"); + sNearbyConnectionClient = client; + if (callback != null) { + callback.Invoke(client); + } + else { + OurUtils.Logger.d("Initialize Nearby callback is null"); + } + }); +#else + sNearbyConnectionClient = new DummyNearbyConnectionClient(); + if (callback != null) + { + callback.Invoke(sNearbyConnectionClient); + } + +#endif + } + else if (callback != null) + { + OurUtils.Logger.d("Nearby Already initialized: calling callback directly"); + callback.Invoke(sNearbyConnectionClient); + } + else + { + OurUtils.Logger.d("Nearby Already initialized"); + } + } + + /// + /// Activates the Play Games platform as the implementation of Social.Active. + /// After calling this method, you can call methods on Social.Active. For + /// example, Social.Active.Authenticate(). + /// + /// The singleton instance. + public static PlayGamesPlatform Activate() + { + GooglePlayGames.OurUtils.Logger.d("Activating PlayGamesPlatform."); + + Social.Active = PlayGamesPlatform.Instance; + GooglePlayGames.OurUtils.Logger.d( + "PlayGamesPlatform activated: " + Social.Active); + return PlayGamesPlatform.Instance; + } + + /// + /// Specifies that the ID fromId should be implicitly replaced by toId + /// on any calls that take a leaderboard or achievement ID. + /// + /// After a mapping is + /// registered, you can use fromId instead of toId when making a call. + /// For example, the following two snippets are equivalent: + /// ReportProgress("Cfiwjew894_AQ", 100.0, callback); + /// is equivalent to: + /// AddIdMapping("super-combo", "Cfiwjew894_AQ"); + /// ReportProgress("super-combo", 100.0, callback); + /// + /// + /// The identifier to map. + /// + /// + /// The identifier that fromId will be mapped to. + /// + public void AddIdMapping(string fromId, string toId) + { + mIdMap[fromId] = toId; + } + + /// + /// Returns the result of the automatic sign-in attempt. Play Games SDK automatically + /// prompts users to sign in when the game is started. This API is useful for understanding + /// if your game has access to Play Games Services and should be used when your game is + /// started in order to conditionally enable or disable your Play Games Services + /// integration. + /// + /// The callback to call when authentication finishes. + public void Authenticate(Action callback) + { + mClient.Authenticate(callback); + } + + /// + /// Provided for compatibility with ISocialPlatform. + /// + /// + /// Unused parameter for this implementation. + /// Callback invoked when complete. + public void Authenticate(ILocalUser unused, Action callback) + { + Authenticate(status => callback(status == SignInStatus.Success)); + } + + /// + /// Provided for compatibility with ISocialPlatform. + /// + /// + /// Unused parameter for this implementation. + /// Callback invoked when complete. + public void Authenticate(ILocalUser unused, Action callback) + { + Authenticate(status => callback(status == SignInStatus.Success, status.ToString())); + } + + /// + /// Manually requests that your game performs sign in with Play Games Services. + /// + /// + /// Note that a sign-in attempt will be made automatically when your game's application + /// started. For this reason most games will not need to manually request to perform sign-in + /// unless the automatic sign-in attempt failed and your game requires access to Play Games + /// Services. + /// + /// + public void ManuallyAuthenticate(Action callback) { + mClient.ManuallyAuthenticate(callback); + } + + /// + /// Determines whether the user is authenticated. + /// + /// + /// true if the user is authenticated; otherwise, false. + /// + public bool IsAuthenticated() + { + return mClient != null && mClient.IsAuthenticated(); + } + + /// + /// Requests server-side access to Player Games Services for the currently signed in player. + /// + /// When requested an authorization code is returned that can be used by your game-server to + /// exchange for an access token and conditionally a refresh token (when + /// forceRefreshToken is true). The access token may then be used by your game-server to + /// access the Play Games Services web APIs. This is commonly used to complete a sign-in flow + /// by verifying the Play Games Services player id. + /// + ///

If forceRefreshToken is true, when exchanging the authorization code a refresh + /// token will be returned in addition to the access token. The refresh token allows the + /// game-server to request additional access tokens, allowing your game-server to continue + /// accesses Play Games Services while the user is not actively playing your app.

+ /// If set to true, a refresh token will be returned along with the access token. + /// The callback to invoke with the server authorization code. + public void RequestServerSideAccess(bool forceRefreshToken, Action callback) + { + Misc.CheckNotNull(callback); + + if (!IsAuthenticated()) + { + OurUtils.Logger.e("RequestServerSideAccess() can only be called after authentication."); + InvokeCallbackOnGameThread(callback, null); + return; + } + + mClient.RequestServerSideAccess(forceRefreshToken, callback); + } + + /// + /// Requests server-side access to Player Games Services for the currently signed in player. + /// + /// When requested an authorization code is returned that can be used by your game-server to + /// exchange for an access token and conditionally a refresh token (when + /// forceRefreshToken is true). The access token may then be used by your game-server to + /// access the Play Games Services web APIs. This is commonly used to complete a sign-in flow + /// by verifying the Play Games Services player id. + /// + ///

If forceRefreshToken is true, when exchanging the authorization code a refresh + /// token will be returned in addition to the access token. The refresh token allows the + /// game-server to request additional access tokens, allowing your game-server to continue + /// accesses Play Games Services while the user is not actively playing your app.

+ /// If set to true, a refresh token will be returned along with the access token. + /// The OAuth 2.0 scopes to request access to. + /// The callback to invoke with the AuthResponse. + public void RequestServerSideAccess(bool forceRefreshToken, List scopes, Action callback) + { + Misc.CheckNotNull(callback); + + if (!IsAuthenticated()) + { + OurUtils.Logger.e("RequestServerSideAccess() can only be called after authentication."); + InvokeCallbackOnGameThread(callback, null); + return; + } + + mClient.RequestServerSideAccess(forceRefreshToken, scopes, callback); + } + + /// + /// Requests access to the recall API. + /// + /// The callback to invoke with the recall access. + public void RequestRecallAccess(Action callback) + { + Misc.CheckNotNull(callback); + + mClient.RequestRecallAccessToken(callback); + } + + /// + /// Loads the users. + /// + /// User identifiers. + /// Callback invoked when complete. + public void LoadUsers(string[] userIds, Action callback) + { + if (!IsAuthenticated()) + { + GooglePlayGames.OurUtils.Logger.e( + "GetUserId() can only be called after authentication."); + callback(new IUserProfile[0]); + + return; + } + + mClient.LoadUsers(userIds, callback); + } + + /// + /// Returns the user's Google ID. + /// + /// + /// The user's Google ID. No guarantees are made as to the meaning or format of + /// this identifier except that it is unique to the user who is signed in. + /// + public string GetUserId() + { + if (!IsAuthenticated()) + { + GooglePlayGames.OurUtils.Logger.e( + "GetUserId() can only be called after authentication."); + return "0"; + } + + return mClient.GetUserId(); + } + + /// + /// Gets the player stats. + /// + /// Callback invoked when completed. + public void GetPlayerStats(Action callback) + { + if (mClient != null && mClient.IsAuthenticated()) + { + mClient.GetPlayerStats(callback); + } + else + { + GooglePlayGames.OurUtils.Logger.e( + "GetPlayerStats can only be called after authentication."); + + callback(CommonStatusCodes.SignInRequired, new PlayerStats()); + } + } + + /// + /// Returns the user's display name. + /// + /// + /// The user display name. For example, "Bruno Oliveira" + /// + public string GetUserDisplayName() + { + if (!IsAuthenticated()) + { + GooglePlayGames.OurUtils.Logger.e( + "GetUserDisplayName can only be called after authentication."); + return string.Empty; + } + + return mClient.GetUserDisplayName(); + } + + /// + /// Returns the user's avatar URL if they have one. + /// + /// + /// The URL, or null if the user is not authenticated or does not have + /// an avatar. + /// + public string GetUserImageUrl() + { + if (!IsAuthenticated()) + { + GooglePlayGames.OurUtils.Logger.e( + "GetUserImageUrl can only be called after authentication."); + return null; + } + + return mClient.GetUserImageUrl(); + } + + /// + /// Reports the progress of an achievement (reveal, unlock or increment). This method attempts + /// to implement the expected behavior of ISocialPlatform.ReportProgress as closely as possible, + /// as described below. Although this method works with incremental achievements for compatibility + /// purposes, calling this method for incremental achievements is not recommended, + /// since the Play Games API exposes incremental achievements in a very different way + /// than the interface presented by ISocialPlatform.ReportProgress. The implementation of this + /// method for incremental achievements attempts to produce the correct result, but may be + /// imprecise. If possible, call instead. + /// + /// + /// The ID of the achievement to unlock, reveal or increment. This can be a raw Google Play + /// Games achievement ID (alphanumeric string), or an alias that was previously configured + /// by a call to . + /// + /// + /// Progress of the achievement. If the achievement is standard (not incremental), then + /// a progress of 0.0 will reveal the achievement and 100.0 will unlock it. Behavior of other + /// values is undefined. If the achievement is incremental, then this value is interpreted + /// as the total percentage of the achievement's progress that the player should have + /// as a result of this call (regardless of the progress they had before). So if the + /// player's previous progress was 30% and this call specifies 50.0, the new progress will + /// be 50% (not 80%). + /// + /// + /// Callback that will be called to report the result of the operation: true on + /// success, false otherwise. + /// + public void ReportProgress(string achievementID, double progress, Action callback) + { + callback = ToOnGameThread(callback); + if (!IsAuthenticated()) + { + GooglePlayGames.OurUtils.Logger.e( + "ReportProgress can only be called after authentication."); + callback.Invoke(false); + + return; + } + + // map ID, if it's in the dictionary + GooglePlayGames.OurUtils.Logger.d("ReportProgress, " + achievementID + ", " + progress); + achievementID = MapId(achievementID); + + // if progress is 0.0, we just want to reveal it + if (progress < 0.000001) + { + GooglePlayGames.OurUtils.Logger.d( + "Progress 0.00 interpreted as request to reveal."); + mClient.RevealAchievement(achievementID, callback); + return; + } + + mClient.LoadAchievements(ach => + { + for (int i = 0; i < ach.Length; i++) + { + if (ach[i].Id == achievementID) + { + if (ach[i].IsIncremental) + { + GooglePlayGames.OurUtils.Logger.d("Progress " + progress + + " interpreted as incremental target (approximate)."); + + if (progress >= 0.0 && progress <= 1.0) + { + // in a previous version, incremental progress was reported by using the range [0-1] + GooglePlayGames.OurUtils.Logger.w( + "Progress " + progress + + " is less than or equal to 1. You might be trying to use values in the range of [0,1], while values are expected to be within the range [0,100]. If you are using the latter, you can safely ignore this message."); + } + + mClient.SetStepsAtLeast(achievementID, progressToSteps(progress, ach[i].TotalSteps), callback); + } + else + { + if (progress >= 100) + { + // unlock it! + GooglePlayGames.OurUtils.Logger.d("Progress " + progress + " interpreted as UNLOCK."); + mClient.UnlockAchievement(achievementID, callback); + } + else + { + // not enough to unlock + GooglePlayGames.OurUtils.Logger.d( + "Progress " + progress + " not enough to unlock non-incremental achievement."); + callback.Invoke(false); + } + } + + return; + } + } + + // Achievement not found + GooglePlayGames.OurUtils.Logger.e("Unable to locate achievement " + achievementID); + callback.Invoke(false); + }); + } + + /// + /// Converts a progress value to a number of steps. + /// + /// + /// The progress value. + /// + /// + /// The total number of steps. + /// + /// + /// The number of steps. + /// + internal static int progressToSteps(double progress, int totalSteps) { + return (progress >= 100.0) ? totalSteps : (int) (progress * totalSteps / 100.0); + } + + /// + /// Reveals the achievement with the passed identifier. This is a Play Games extension of the ISocialPlatform API. + /// + /// If the operation succeeds, the callback + /// will be invoked on the game thread with true. If the operation fails, the + /// callback will be invoked with false. This operation will immediately fail if + /// the user is not authenticated (the callback will immediately be invoked with + /// false). If the achievement is already in a revealed state, this call will + /// succeed immediately. + /// + /// + /// The ID of the achievement to increment. This can be a raw Google Play + /// Games achievement ID (alphanumeric string), or an alias that was previously configured + /// by a call to . + /// + /// + /// The callback to call to report the success or failure of the operation. The callback + /// will be called with true to indicate success or false for failure. + /// + public void RevealAchievement(string achievementID, Action callback = null) + { + if (!IsAuthenticated()) + { + GooglePlayGames.OurUtils.Logger.e( + "RevealAchievement can only be called after authentication."); + if (callback != null) + { + callback.Invoke(false); + } + + return; + } + + // map ID, if it's in the dictionary + GooglePlayGames.OurUtils.Logger.d( + "RevealAchievement: " + achievementID); + achievementID = MapId(achievementID); + mClient.RevealAchievement(achievementID, callback); + } + + /// + /// Unlocks the achievement with the passed identifier. This is a Play Games extension of the ISocialPlatform API. + /// + /// If the operation succeeds, the callback + /// will be invoked on the game thread with true. If the operation fails, the + /// callback will be invoked with false. This operation will immediately fail if + /// the user is not authenticated (the callback will immediately be invoked with + /// false). If the achievement is already unlocked, this call will + /// succeed immediately. + /// + /// + /// The ID of the achievement to increment. This can be a raw Google Play + /// Games achievement ID (alphanumeric string), or an alias that was previously configured + /// by a call to . + /// + /// + /// The callback to call to report the success or failure of the operation. The callback + /// will be called with true to indicate success or false for failure. + /// + public void UnlockAchievement(string achievementID, Action callback = null) + { + if (!IsAuthenticated()) + { + GooglePlayGames.OurUtils.Logger.e( + "UnlockAchievement can only be called after authentication."); + if (callback != null) + { + callback.Invoke(false); + } + + return; + } + + // map ID, if it's in the dictionary + GooglePlayGames.OurUtils.Logger.d( + "UnlockAchievement: " + achievementID); + achievementID = MapId(achievementID); + mClient.UnlockAchievement(achievementID, callback); + } + + /// + /// Increments an achievement. This is a Play Games extension of the ISocialPlatform API. + /// + /// + /// The ID of the achievement to increment. This can be a raw Google Play + /// Games achievement ID (alphanumeric string), or an alias that was previously configured + /// by a call to . + /// + /// + /// The number of steps to increment the achievement by. + /// + /// + /// The callback to call to report the success or failure of the operation. The callback + /// will be called with true to indicate success or false for failure. + /// + public void IncrementAchievement(string achievementID, int steps, Action callback) + { + if (!IsAuthenticated()) + { + GooglePlayGames.OurUtils.Logger.e( + "IncrementAchievement can only be called after authentication."); + if (callback != null) + { + callback.Invoke(false); + } + + return; + } + + // map ID, if it's in the dictionary + GooglePlayGames.OurUtils.Logger.d( + "IncrementAchievement: " + achievementID + ", steps " + steps); + achievementID = MapId(achievementID); + mClient.IncrementAchievement(achievementID, steps, callback); + } + + /// + /// Set an achievement to have at least the given number of steps completed. + /// Calling this method while the achievement already has more steps than + /// the provided value is a no-op. Once the achievement reaches the + /// maximum number of steps, the achievement is automatically unlocked, + /// and any further mutation operations are ignored. + /// + /// + /// The ID of the achievement to increment. This can be a raw Google Play + /// Games achievement ID (alphanumeric string), or an alias that was previously configured + /// by a call to . + /// + /// + /// The number of steps to increment the achievement by. + /// + /// + /// The callback to call to report the success or failure of the operation. The callback + /// will be called with true to indicate success or false for failure. + /// + public void SetStepsAtLeast(string achievementID, int steps, Action callback) + { + if (!IsAuthenticated()) + { + GooglePlayGames.OurUtils.Logger.e( + "SetStepsAtLeast can only be called after authentication."); + if (callback != null) + { + callback.Invoke(false); + } + + return; + } + + // map ID, if it's in the dictionary + GooglePlayGames.OurUtils.Logger.d( + "SetStepsAtLeast: " + achievementID + ", steps " + steps); + achievementID = MapId(achievementID); + mClient.SetStepsAtLeast(achievementID, steps, callback); + } + + /// + /// Loads the Achievement descriptions. + /// + /// The callback to receive the descriptions + public void LoadAchievementDescriptions(Action callback) + { + if (!IsAuthenticated()) + { + GooglePlayGames.OurUtils.Logger.e( + "LoadAchievementDescriptions can only be called after authentication."); + if (callback != null) + { + callback.Invoke(null); + } + + return; + } + + mClient.LoadAchievements(ach => + { + IAchievementDescription[] data = new IAchievementDescription[ach.Length]; + for (int i = 0; i < data.Length; i++) + { + data[i] = new PlayGamesAchievement(ach[i]); + } + + callback.Invoke(data); + }); + } + + /// + /// Loads the achievement state for the current user. + /// + /// The callback to receive the achievements + public void LoadAchievements(Action callback) + { + if (!IsAuthenticated()) + { + GooglePlayGames.OurUtils.Logger.e("LoadAchievements can only be called after authentication."); + callback.Invoke(null); + + return; + } + + mClient.LoadAchievements(ach => + { + IAchievement[] data = new IAchievement[ach.Length]; + for (int i = 0; i < data.Length; i++) + { + data[i] = new PlayGamesAchievement(ach[i]); + } + + callback.Invoke(data); + }); + } + + /// + /// Creates an achievement object which may be subsequently used to report an + /// achievement. + /// + /// + /// The achievement object. + /// + public IAchievement CreateAchievement() + { + return new PlayGamesAchievement(); + } + + /// + /// Reports a score to a leaderboard. + /// + /// + /// The score to report. + /// + /// + /// The ID of the leaderboard on which the score is to be posted. This may be a raw + /// Google Play Games leaderboard ID or an alias configured through a call to + /// . + /// + /// + /// The callback to call to report the success or failure of the operation. The callback + /// will be called with true to indicate success or false for failure. + /// + public void ReportScore(long score, string board, Action callback) + { + if (!IsAuthenticated()) + { + GooglePlayGames.OurUtils.Logger.e("ReportScore can only be called after authentication."); + if (callback != null) + { + callback.Invoke(false); + } + + return; + } + + GooglePlayGames.OurUtils.Logger.d("ReportScore: score=" + score + ", board=" + board); + string leaderboardId = MapId(board); + mClient.SubmitScore(leaderboardId, score, callback); + } + + /// + /// Submits the score for the currently signed-in player + /// to the leaderboard associated with a specific id + /// and metadata (such as something the player did to earn the score). + /// + /// Score to report. + /// leaderboard id. + /// metadata about the score. + /// Callback invoked upon completion. + public void ReportScore(long score, string board, string metadata, Action callback) + { + if (!IsAuthenticated()) + { + GooglePlayGames.OurUtils.Logger.e("ReportScore can only be called after authentication."); + if (callback != null) + { + callback.Invoke(false); + } + + return; + } + + GooglePlayGames.OurUtils.Logger.d("ReportScore: score=" + score + + ", board=" + board + + " metadata=" + metadata); + string leaderboardId = MapId(board); + mClient.SubmitScore(leaderboardId, score, metadata, callback); + } + + /// + /// Loads the scores relative the player. + /// + /// This returns the 25 + /// (which is the max results returned by the SDK per call) scores + /// that are around the player's score on the Public, all time leaderboard. + /// Use the overloaded methods which are specific to GPGS to modify these + /// parameters. + /// + /// Leaderboard Id + /// Callback to invoke when completed. + public void LoadScores(string leaderboardId, Action callback) + { + LoadScores( + leaderboardId, + LeaderboardStart.PlayerCentered, + mClient.LeaderboardMaxResults(), + LeaderboardCollection.Public, + LeaderboardTimeSpan.AllTime, + (scoreData) => callback(scoreData.Scores)); + } + + /// + /// Loads the scores using the provided parameters. This call may fail when trying to load friends with + /// ResponseCode.ResolutionRequired if the user has not share the friends list with the game. In this case, use + /// AskForLoadFriendsResolution to request access. + /// + /// Leaderboard identifier. + /// Start either top scores, or player centered. + /// Row count. the number of rows to return. + /// Collection. social or public + /// Time span. daily, weekly, all-time + /// Callback to invoke when completed. + public void LoadScores( + string leaderboardId, + LeaderboardStart start, + int rowCount, + LeaderboardCollection collection, + LeaderboardTimeSpan timeSpan, + Action callback) + { + if (!IsAuthenticated()) + { + GooglePlayGames.OurUtils.Logger.e("LoadScores can only be called after authentication."); + callback(new LeaderboardScoreData( + leaderboardId, + ResponseStatus.NotAuthorized)); + return; + } + + mClient.LoadScores( + leaderboardId, + start, + rowCount, + collection, + timeSpan, + callback); + } + + /// + /// Loads more scores. This call may fail when trying to load friends with + /// ResponseCode.ResolutionRequired if the user has not share the friends list with the game. In this case, use + /// AskForLoadFriendsResolution to request access. + /// + /// This is used to load the next "page" of scores. + /// Token used to recording the loading. + /// Row count. + /// Callback invoked when complete. + public void LoadMoreScores( + ScorePageToken token, + int rowCount, + Action callback) + { + if (!IsAuthenticated()) + { + GooglePlayGames.OurUtils.Logger.e("LoadMoreScores can only be called after authentication."); + callback( + new LeaderboardScoreData( + token.LeaderboardId, + ResponseStatus.NotAuthorized)); + return; + } + + mClient.LoadMoreScores(token, rowCount, callback); + } + + /// + /// Returns a leaderboard object that can be configured to + /// load scores. + /// + /// The leaderboard object. + public ILeaderboard CreateLeaderboard() + { + return new PlayGamesLeaderboard(mDefaultLbUi); + } + + /// + /// Shows the standard Google Play Games achievements user interface, + /// which allows the player to browse their achievements. + /// + public void ShowAchievementsUI() + { + ShowAchievementsUI(null); + } + + /// + /// Shows the standard Google Play Games achievements user interface, + /// which allows the player to browse their achievements. + /// + /// If non-null, the callback is invoked when + /// the achievement UI is dismissed + public void ShowAchievementsUI(Action callback) + { + if (!IsAuthenticated()) + { + GooglePlayGames.OurUtils.Logger.e("ShowAchievementsUI can only be called after authentication."); + return; + } + + GooglePlayGames.OurUtils.Logger.d("ShowAchievementsUI callback is " + callback); + mClient.ShowAchievementsUI(callback); + } + + /// + /// Shows the standard Google Play Games leaderboards user interface, + /// which allows the player to browse their leaderboards. If you have + /// configured a specific leaderboard as the default through a call to + /// , the UI will show that + /// specific leaderboard only. Otherwise, a list of all the leaderboards + /// will be shown. + /// + public void ShowLeaderboardUI() + { + GooglePlayGames.OurUtils.Logger.d("ShowLeaderboardUI with default ID"); + ShowLeaderboardUI(MapId(mDefaultLbUi), null); + } + + /// + /// Shows the standard Google Play Games leaderboard UI for the given + /// leaderboard. + /// + /// + /// The ID of the leaderboard to display. This may be a raw + /// Google Play Games leaderboard ID or an alias configured through a call to + /// . + /// + public void ShowLeaderboardUI(string leaderboardId) + { + if (leaderboardId != null) + { + leaderboardId = MapId(leaderboardId); + } + + ShowLeaderboardUI(leaderboardId, LeaderboardTimeSpan.AllTime, null); + } + + /// + /// Shows the leaderboard UI and calls the specified callback upon + /// completion. + /// + /// leaderboard ID, can be null meaning all leaderboards. + /// Callback to call. If null, nothing is called. + public void ShowLeaderboardUI(string leaderboardId, Action callback) + { + ShowLeaderboardUI(leaderboardId, LeaderboardTimeSpan.AllTime, callback); + } + + /// + /// Shows the leaderboard UI and calls the specified callback upon + /// completion. + /// + /// leaderboard ID, can be null meaning all leaderboards. + /// Timespan to display scores in the leaderboard. + /// Callback to call. If null, nothing is called. + public void ShowLeaderboardUI( + string leaderboardId, + LeaderboardTimeSpan span, + Action callback) + { + if (!IsAuthenticated()) + { + GooglePlayGames.OurUtils.Logger.e("ShowLeaderboardUI can only be called after authentication."); + if (callback != null) + { + callback(UIStatus.NotAuthorized); + } + + return; + } + + GooglePlayGames.OurUtils.Logger.d("ShowLeaderboardUI, lbId=" + + leaderboardId + " callback is " + callback); + mClient.ShowLeaderboardUI(leaderboardId, span, callback); + } + + /// + /// Sets the default leaderboard for the leaderboard UI. After calling this + /// method, a call to will show only the specified + /// leaderboard instead of showing the list of all leaderboards. + /// + /// + /// The ID of the leaderboard to display on the default UI. This may be a raw + /// Google Play Games leaderboard ID or an alias configured through a call to + /// . + /// + public void SetDefaultLeaderboardForUI(string lbid) + { + GooglePlayGames.OurUtils.Logger.d("SetDefaultLeaderboardForUI: " + lbid); + if (lbid != null) + { + lbid = MapId(lbid); + } + + mDefaultLbUi = lbid; + } + + /// + /// Loads the friends that also play this game. See loadConnectedPlayers. + /// + /// This is a callback variant of LoadFriends. When completed, + /// the friends list set in the user object, so they can accessed via the + /// friends property as needed. + /// + /// The current local user + /// Callback invoked when complete. + public void LoadFriends(ILocalUser user, Action callback) + { + if (!IsAuthenticated()) + { + GooglePlayGames.OurUtils.Logger.e( + "LoadScores can only be called after authentication."); + if (callback != null) + { + callback(false); + } + + return; + } + + mClient.LoadFriends(callback); + } + + /// + /// Loads the leaderboard based on the constraints in the leaderboard + /// object. + /// + /// The leaderboard object. This is created by + /// calling CreateLeaderboard(), and then initialized appropriately. + /// Callback invoked when complete. + public void LoadScores(ILeaderboard board, Action callback) + { + if (!IsAuthenticated()) + { + GooglePlayGames.OurUtils.Logger.e("LoadScores can only be called after authentication."); + if (callback != null) + { + callback(false); + } + + return; + } + + LeaderboardTimeSpan timeSpan; + switch (board.timeScope) + { + case TimeScope.AllTime: + timeSpan = LeaderboardTimeSpan.AllTime; + break; + case TimeScope.Week: + timeSpan = LeaderboardTimeSpan.Weekly; + break; + case TimeScope.Today: + timeSpan = LeaderboardTimeSpan.Daily; + break; + default: + timeSpan = LeaderboardTimeSpan.AllTime; + break; + } + + ((PlayGamesLeaderboard) board).loading = true; + GooglePlayGames.OurUtils.Logger.d("LoadScores, board=" + board + + " callback is " + callback); + mClient.LoadScores( + board.id, + LeaderboardStart.PlayerCentered, + board.range.count > 0 ? board.range.count : mClient.LeaderboardMaxResults(), + board.userScope == UserScope.FriendsOnly ? LeaderboardCollection.Social : LeaderboardCollection.Public, + timeSpan, + (scoreData) => HandleLoadingScores( + (PlayGamesLeaderboard) board, scoreData, callback)); + } + + /// + /// Check if the leaderboard is currently loading. + /// + /// true, if loading was gotten, false otherwise. + /// The leaderboard to check for loading in progress + public bool GetLoading(ILeaderboard board) + { + return board != null && board.loading; + } + + /// + /// Shows the Player Profile UI for the given user identifier. + /// + /// User Identifier. + /// + /// The game's own display name of the player referred to by userId. + /// + /// + /// The game's own display name of the current player. + /// + /// Callback invoked upon completion. + public void ShowCompareProfileWithAlternativeNameHintsUI(string userId, + string otherPlayerInGameName, + string currentPlayerInGameName, + Action callback) + { + if (!IsAuthenticated()) + { + GooglePlayGames.OurUtils.Logger.e( + "ShowCompareProfileWithAlternativeNameHintsUI can only be called after authentication."); + InvokeCallbackOnGameThread(callback, UIStatus.NotAuthorized); + + return; + } + + GooglePlayGames.OurUtils.Logger.d( + "ShowCompareProfileWithAlternativeNameHintsUI, userId=" + userId + " callback is " + + callback); + mClient.ShowCompareProfileWithAlternativeNameHintsUI(userId, otherPlayerInGameName, + currentPlayerInGameName, callback); + } + + /// + /// Returns if the user has allowed permission for the game to access the friends list. + /// + /// If true, this call will clear any locally cached data and + /// attempt to fetch the latest data from the server. Normally, this should be set to + /// false to gain advantages of data caching. + /// Callback invoked upon completion. + public void GetFriendsListVisibility(bool forceReload, + Action callback) + { + if (!IsAuthenticated()) + { + GooglePlayGames.OurUtils.Logger.e( + "GetFriendsListVisibility can only be called after authentication."); + InvokeCallbackOnGameThread(callback, FriendsListVisibilityStatus.NotAuthorized); + return; + } + + GooglePlayGames.OurUtils.Logger.d("GetFriendsListVisibility, callback is " + callback); + mClient.GetFriendsListVisibility(forceReload, callback); + } + + /// + /// Shows the appropriate platform-specific friends sharing UI. + /// The callback to invoke when complete. If null, + /// no callback is called. + /// + public void AskForLoadFriendsResolution(Action callback) + { + if (!IsAuthenticated()) + { + GooglePlayGames.OurUtils.Logger.e( + "AskForLoadFriendsResolution can only be called after authentication."); + InvokeCallbackOnGameThread(callback, UIStatus.NotAuthorized); + return; + } + + GooglePlayGames.OurUtils.Logger.d("AskForLoadFriendsResolution callback is " + callback); + mClient.AskForLoadFriendsResolution(callback); + } + + /// + /// Gets status of the last call to load friends. + /// + public LoadFriendsStatus GetLastLoadFriendsStatus() + { + if (!IsAuthenticated()) + { + GooglePlayGames.OurUtils.Logger.e( + "GetLastLoadFriendsStatus can only be called after authentication."); + return LoadFriendsStatus.NotAuthorized; + } + + return mClient.GetLastLoadFriendsStatus(); + } + + /// + /// Loads the first page of the user's friends. + /// + /// + /// The number of entries to request for this initial page. Note that if cached + /// data already exists, the returned buffer may contain more than this size, but it is + /// guaranteed to contain at least this many if the collection contains enough records. + /// + /// + /// If true, this call will clear any locally cached data and attempt to + /// fetch the latest data from the server. This would commonly be used for something like a + /// user-initiated refresh. Normally, this should be set to false to gain advantages of data caching. + /// + /// Callback invoked upon completion with the status. + public void LoadFriends(int pageSize, bool forceReload, + Action callback) + { + if (!IsAuthenticated()) + { + GooglePlayGames.OurUtils.Logger.e( + "LoadFriends can only be called after authentication."); + InvokeCallbackOnGameThread(callback, LoadFriendsStatus.NotAuthorized); + return; + } + + mClient.LoadFriends(pageSize, forceReload, callback); + } + + /// + /// Loads the friends list page + /// + /// + /// The number of entries to request for this initial page. Note that if cached + /// data already exists, the returned buffer may contain more than this size, but it is + /// guaranteed to contain at least this many if the collection contains enough records. + /// + /// + public void LoadMoreFriends(int pageSize, Action callback) + { + if (!IsAuthenticated()) + { + GooglePlayGames.OurUtils.Logger.e( + "LoadMoreFriends can only be called after authentication."); + InvokeCallbackOnGameThread(callback, LoadFriendsStatus.NotAuthorized); + return; + } + + mClient.LoadMoreFriends(pageSize, callback); + } + + /// + /// Handles the processing of scores during loading. + /// + /// leaderboard being loaded + /// Score data. + /// Callback invoked when complete. + internal void HandleLoadingScores( + PlayGamesLeaderboard board, + LeaderboardScoreData scoreData, + Action callback) + { + bool ok = board.SetFromData(scoreData); + if (ok && !board.HasAllScores() && scoreData.NextPageToken != null) + { + int rowCount = board.range.count - board.ScoreCount; + + // need to load more scores + mClient.LoadMoreScores( + scoreData.NextPageToken, + rowCount, + (nextScoreData) => + HandleLoadingScores(board, nextScoreData, callback)); + } + else + { + callback(ok); + } + } + + /// + /// Internal implmentation of getFriends.Gets the friends. + /// + /// The friends. + internal IUserProfile[] GetFriends() + { + if (!IsAuthenticated()) + { + GooglePlayGames.OurUtils.Logger.d("Cannot get friends when not authenticated!"); + return new IUserProfile[0]; + } + + return mClient.GetFriends(); + } + + /// + /// Maps the alias to the identifier. + /// + /// Alias to map + /// This maps an aliased ID to the actual id. The intent of + /// this method is to allow easy to read constants to be used instead of + /// the generated ids. + /// + /// The identifier, or null if not found. + private string MapId(string id) + { + if (id == null) + { + return null; + } + + if (mIdMap.ContainsKey(id)) + { + string result = mIdMap[id]; + GooglePlayGames.OurUtils.Logger.d("Mapping alias " + id + " to ID " + result); + return result; + } + + return id; + } + + private static void InvokeCallbackOnGameThread(Action callback, T data) + { + if (callback == null) + { + return; + } + + PlayGamesHelperObject.RunOnGameThread(() => { callback(data); }); + } + + private static Action ToOnGameThread(Action toConvert) + { + if (toConvert == null) + { + return delegate { }; + } + + return (val) => PlayGamesHelperObject.RunOnGameThread(() => toConvert(val)); + } + } +} +#endif diff --git a/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/ISocialPlatform/PlayGamesPlatform.cs.meta b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/ISocialPlatform/PlayGamesPlatform.cs.meta new file mode 100644 index 00000000..994be87b --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/ISocialPlatform/PlayGamesPlatform.cs.meta @@ -0,0 +1,14 @@ +fileFormatVersion: 2 +guid: c1de7754a6e7f4fb08b76780a184b3ca +labels: +- gvh +- gvh_version-2.1.0 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/ISocialPlatform/PlayGamesScore.cs b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/ISocialPlatform/PlayGamesScore.cs new file mode 100644 index 00000000..132a74e0 --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/ISocialPlatform/PlayGamesScore.cs @@ -0,0 +1,149 @@ +// +// Copyright (C) 2014 Google Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// + +#if UNITY_ANDROID + +namespace GooglePlayGames +{ + using System; + using UnityEngine.SocialPlatforms; + + /// + /// Represents a score on a Google Play Games leaderboard. Implements the Unity + /// IScore interface. + /// + public class PlayGamesScore : IScore + { + /// + /// The ID of the leaderboard this score belongs to. + /// + private string mLbId = null; + + /// + /// The numerical value of the score. + /// + private long mValue = 0; + + /// + /// The rank of this score on the leaderboard. + /// + private ulong mRank = 0; + + /// + /// The ID of the player who achieved this score. + /// + private string mPlayerId = string.Empty; + + /// + /// The metadata associated with this score (also known as a score tag). + /// + private string mMetadata = string.Empty; + + /// + /// The date and time when the score was achieved. + /// + private DateTime mDate = new DateTime(1970, 1, 1, 0, 0, 0); + + /// + /// Initializes a new instance of the class. + /// + /// The date the score was achieved. + /// The leaderboard ID. + /// The rank of the score. + /// The player's ID. + /// The numerical score value. + /// The metadata (score tag) associated with the score. + internal PlayGamesScore(DateTime date, string leaderboardId, + ulong rank, string playerId, ulong value, string metadata) + { + this.mDate = date; + mLbId = leaderboardID; + this.mRank = rank; + this.mPlayerId = playerId; + this.mValue = (long) value; + this.mMetadata = metadata; + } + + /// + /// Reports this score to the Google Play Games services. This is equivalent + /// to calling . + /// + /// A callback to be invoked with a boolean indicating the success of the operation. + public void ReportScore(Action callback) + { + PlayGamesPlatform.Instance.ReportScore(mValue, mLbId, mMetadata, callback); + } + + /// + /// Gets or sets the ID of the leaderboard this score is for. + /// + public string leaderboardID + { + get { return mLbId; } + set { mLbId = value; } + } + + /// + /// Gets or sets the score value. + /// + public long value + { + get { return mValue; } + set { mValue = value; } + } + + /// + /// Gets the date and time this score was achieved. + /// + public DateTime date + { + get { return mDate; } + } + + /// + /// Gets the score value as a formatted string. + /// + public string formattedValue + { + get { return mValue.ToString(); } + } + + /// + /// Gets the ID of the user who achieved this score. + /// + public string userID + { + get { return mPlayerId; } + } + + /// + /// Gets the rank of this score in the leaderboard. + /// + public int rank + { + get { return (int) mRank; } + } + + /// + /// Gets the metadata associated with this score (also known as a score tag). + /// + public string metaData + { + get { return mMetadata; } + } + } +} +#endif \ No newline at end of file diff --git a/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/ISocialPlatform/PlayGamesScore.cs.meta b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/ISocialPlatform/PlayGamesScore.cs.meta new file mode 100644 index 00000000..e45e3214 --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/ISocialPlatform/PlayGamesScore.cs.meta @@ -0,0 +1,14 @@ +fileFormatVersion: 2 +guid: 2a6e2425305ab455a91061b1eb955b38 +labels: +- gvh +- gvh_version-2.1.0 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/ISocialPlatform/PlayGamesUserProfile.cs b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/ISocialPlatform/PlayGamesUserProfile.cs new file mode 100644 index 00000000..0f9440d1 --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/ISocialPlatform/PlayGamesUserProfile.cs @@ -0,0 +1,299 @@ +// +// Copyright (C) 2014 Google Inc. All Rights Reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// + +#if UNITY_ANDROID + +namespace GooglePlayGames +{ + using System; + using System.Collections; + using GooglePlayGames.OurUtils; + using UnityEngine; +#if UNITY_2017_2_OR_NEWER + using UnityEngine.Networking; +#endif + using UnityEngine.SocialPlatforms; + + /// + /// Represents a Google Play Games user profile. Implements the Unity's IUserProfile + /// interface and is used as a base class for . + /// + public class PlayGamesUserProfile : IUserProfile + { + /// + /// The user's display name. + /// + private string mDisplayName; + + /// + /// The user's unique player ID. + /// + private string mPlayerId; + + /// + /// The URL for the user's avatar image. + /// + private string mAvatarUrl; + + /// + /// A flag indicating if this user is a friend of the local user. + /// + private bool mIsFriend; + + /// + /// A flag to prevent multiple concurrent image loading coroutines. + /// + private volatile bool mImageLoading = false; + + /// + /// The cached user avatar image. + /// + private Texture2D mImage; + + /// + /// Initializes a new instance of the class. + /// + /// The user's display name. + /// The user's player ID. + /// The URL of the user's avatar. + internal PlayGamesUserProfile(string displayName, string playerId, + string avatarUrl) + { + mDisplayName = displayName; + mPlayerId = playerId; + setAvatarUrl(avatarUrl); + mImageLoading = false; + mIsFriend = false; + } + + /// + /// Initializes a new instance of the class. + /// + /// The user's display name. + /// The user's player ID. + /// The URL of the user's avatar. + /// A flag indicating if the user is a friend. + internal PlayGamesUserProfile(string displayName, string playerId, string avatarUrl, + bool isFriend) + { + mDisplayName = displayName; + mPlayerId = playerId; + mAvatarUrl = avatarUrl; + mImageLoading = false; + mIsFriend = isFriend; + } + + /// + /// Resets the user's identity with new information. If the avatar URL has changed, + /// the old image is discarded. + /// + /// The new display name. + /// The new player ID. + /// The new avatar URL. + protected void ResetIdentity(string displayName, string playerId, + string avatarUrl) + { + mDisplayName = displayName; + mPlayerId = playerId; + mIsFriend = false; + if (mAvatarUrl != avatarUrl) + { + mImage = null; + setAvatarUrl(avatarUrl); + } + + mImageLoading = false; + } + + #region IUserProfile implementation + + /// + /// Gets the user's display name. + /// + /// The name of the user. + public string userName + { + get { return mDisplayName; } + } + + /// + /// Gets the user's unique player ID. + /// + /// The player ID. + public string id + { + get { return mPlayerId; } + } + + /// + /// Gets the user's game-specific identifier. In this implementation, it is the same as the player ID. + /// + public string gameId + { + get { return mPlayerId; } + } + + /// + /// Gets a value indicating whether this user is a friend of the local user. + /// + /// true if this user is a friend; otherwise, false. + public bool isFriend + { + get { return mIsFriend; } + } + + /// + /// Gets the user's current state. In this implementation, it always returns 'Online'. + /// + public UserState state + { + get { return UserState.Online; } + } + + /// + /// Gets the user's avatar image as a . + /// The image is loaded asynchronously. Returns null until the image has been loaded. + /// + /// The user's avatar image. + public Texture2D image + { + get + { + if (!mImageLoading && mImage == null && !string.IsNullOrEmpty(AvatarURL)) + { + OurUtils.Logger.d("Starting to load image: " + AvatarURL); + mImageLoading = true; + PlayGamesHelperObject.RunCoroutine(LoadImage()); + } + + return mImage; + } + } + + #endregion + + /// + /// Gets the URL of the user's avatar. + /// + public string AvatarURL + { + get { return mAvatarUrl; } + } + + /// + /// An enumerator that asynchronously loads the user's avatar image from the . + /// + /// An to be used with a coroutine. + internal IEnumerator LoadImage() + { + // The URL can be null if the user does not have an avatar configured. + if (!string.IsNullOrEmpty(AvatarURL)) + { +#if UNITY_2017_2_OR_NEWER + UnityWebRequest www = UnityWebRequestTexture.GetTexture(AvatarURL); + www.SendWebRequest(); +#else + WWW www = new WWW(AvatarURL); +#endif + while (!www.isDone) + { + yield return null; + } + + if (www.error == null) + { +#if UNITY_2017_2_OR_NEWER + this.mImage = DownloadHandlerTexture.GetContent(www); +#else + this.mImage = www.texture; +#endif + } + else + { + mImage = Texture2D.blackTexture; + OurUtils.Logger.e("Error downloading image: " + www.error); + } + + mImageLoading = false; + } + else + { + OurUtils.Logger.e("No URL found."); + mImage = Texture2D.blackTexture; + mImageLoading = false; + } + } + + /// + /// Determines whether the specified is equal to the current . + /// Equality is based on the player ID. + /// + /// The to compare with the current . + /// true if the specified object is equal to the current object; otherwise, false. + public override bool Equals(object obj) + { + if (obj == null) + { + return false; + } + + if (ReferenceEquals(this, obj)) + { + return true; + } + + PlayGamesUserProfile other = obj as PlayGamesUserProfile; + if (other == null) + { + return false; + } + + return StringComparer.Ordinal.Equals(mPlayerId, other.mPlayerId); + } + + /// + /// Serves as a hash function for a object. + /// + /// A hash code for this instance that is suitable for use in hashing algorithms and data structures such as a hash table. + public override int GetHashCode() + { + return typeof(PlayGamesUserProfile).GetHashCode() ^ mPlayerId.GetHashCode(); + } + + /// + /// Returns a that represents the current . + /// + /// A string representation of the object. + public override string ToString() + { + return string.Format("[Player: '{0}' (id {1})]", mDisplayName, mPlayerId); + } + + /// + /// Sets the avatar URL, ensuring it uses HTTPS. + /// + /// The avatar URL to set. + private void setAvatarUrl(string avatarUrl) + { + mAvatarUrl = avatarUrl; + if (!string.IsNullOrEmpty(mAvatarUrl) && !mAvatarUrl.StartsWith("https") && mAvatarUrl.StartsWith("http")) + { + mAvatarUrl = mAvatarUrl.Insert(4, "s"); + } + } + } +} +#endif \ No newline at end of file diff --git a/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/ISocialPlatform/PlayGamesUserProfile.cs.meta b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/ISocialPlatform/PlayGamesUserProfile.cs.meta new file mode 100644 index 00000000..70b194e9 --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/ISocialPlatform/PlayGamesUserProfile.cs.meta @@ -0,0 +1,14 @@ +fileFormatVersion: 2 +guid: ab1b90315f37e498a849765260dd436c +labels: +- gvh +- gvh_version-2.1.0 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/OurUtils.meta b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/OurUtils.meta new file mode 100644 index 00000000..01304aa9 --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/OurUtils.meta @@ -0,0 +1,5 @@ +fileFormatVersion: 2 +guid: dc34e4ac2f7e6420da72898e7b511098 +folderAsset: yes +DefaultImporter: + userData: diff --git a/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/OurUtils/Logger.cs b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/OurUtils/Logger.cs new file mode 100644 index 00000000..af8b8c3a --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/OurUtils/Logger.cs @@ -0,0 +1,92 @@ +// +// Copyright (C) 2014 Google Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// + +namespace GooglePlayGames.OurUtils +{ + using System; + using UnityEngine; + + public class Logger + { + private static bool debugLogEnabled = false; + + public static bool DebugLogEnabled + { + get { return debugLogEnabled; } + + set { debugLogEnabled = value; } + } + + private static bool warningLogEnabled = true; + + public static bool WarningLogEnabled + { + get { return warningLogEnabled; } + + set { warningLogEnabled = value; } + } + + public static void d(string msg) + { + if (debugLogEnabled) + { + PlayGamesHelperObject.RunOnGameThread(() => + Debug.Log(ToLogMessage(string.Empty, "DEBUG", msg))); + } + } + + public static void w(string msg) + { + if (warningLogEnabled) + { + PlayGamesHelperObject.RunOnGameThread(() => + Debug.LogWarning(ToLogMessage("!!!", "WARNING", msg))); + } + } + + public static void e(string msg) + { + if (warningLogEnabled) + { + PlayGamesHelperObject.RunOnGameThread(() => + Debug.LogWarning(ToLogMessage("***", "ERROR", msg))); + } + } + + public static string describe(byte[] b) + { + return b == null ? "(null)" : "byte[" + b.Length + "]"; + } + + private static string ToLogMessage(string prefix, string logType, string msg) + { + string timeString = null; + try + { + timeString = DateTime.Now.ToString("MM/dd/yy H:mm:ss zzz"); + } + catch (Exception) + { + PlayGamesHelperObject.RunOnGameThread(() => + Debug.LogWarning("*** [Play Games Plugin " + PluginVersion.VersionString + "] ERROR: Failed to format DateTime.Now")); + timeString = string.Empty; + } + + return string.Format("{0} [Play Games Plugin " + PluginVersion.VersionString+ "] {1} {2}: {3}", + prefix, timeString, logType, msg); + } + } +} diff --git a/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/OurUtils/Logger.cs.meta b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/OurUtils/Logger.cs.meta new file mode 100644 index 00000000..05bbca70 --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/OurUtils/Logger.cs.meta @@ -0,0 +1,14 @@ +fileFormatVersion: 2 +guid: cde7cfd197b4a47edac2efe305e22e78 +labels: +- gvh +- gvh_version-2.1.0 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/OurUtils/Misc.cs b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/OurUtils/Misc.cs new file mode 100644 index 00000000..8af6ea8e --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/OurUtils/Misc.cs @@ -0,0 +1,100 @@ +// +// Copyright (C) 2014 Google Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// + +namespace GooglePlayGames.OurUtils +{ + using System; + + public static class Misc + { + public static bool BuffersAreIdentical(byte[] a, byte[] b) + { + if (a == b) + { + // not only identical but the very same! + return true; + } + + if (a == null || b == null) + { + // one of them is null, the other one isn't + return false; + } + + if (a.Length != b.Length) + { + return false; + } + + for (int i = 0; i < a.Length; i++) + { + if (a[i] != b[i]) + { + return false; + } + } + + return true; + } + + public static byte[] GetSubsetBytes(byte[] array, int offset, int length) + { + if (array == null) + { + throw new ArgumentNullException("array"); + } + + if (offset < 0 || offset >= array.Length) + { + throw new ArgumentOutOfRangeException("offset"); + } + + if (length < 0 || (array.Length - offset) < length) + { + throw new ArgumentOutOfRangeException("length"); + } + + if (offset == 0 && length == array.Length) + { + return array; + } + + byte[] piece = new byte[length]; + Array.Copy(array, offset, piece, 0, length); + return piece; + } + + public static T CheckNotNull(T value) + { + if (value == null) + { + throw new ArgumentNullException(); + } + + return value; + } + + public static T CheckNotNull(T value, string paramName) + { + if (value == null) + { + throw new ArgumentNullException(paramName); + } + + return value; + } + } +} \ No newline at end of file diff --git a/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/OurUtils/Misc.cs.meta b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/OurUtils/Misc.cs.meta new file mode 100644 index 00000000..b4bca209 --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/OurUtils/Misc.cs.meta @@ -0,0 +1,14 @@ +fileFormatVersion: 2 +guid: ee52269f55933442fa5ea52e688ebec2 +labels: +- gvh +- gvh_version-2.1.0 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/OurUtils/NearbyHelperObject.cs b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/OurUtils/NearbyHelperObject.cs new file mode 100644 index 00000000..3b09327a --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/OurUtils/NearbyHelperObject.cs @@ -0,0 +1,104 @@ +#if UNITY_ANDROID + +namespace GooglePlayGames.OurUtils +{ + using BasicApi.Nearby; + using System; + using UnityEngine; + + public class NearbyHelperObject : MonoBehaviour + { + // our (singleton) instance + private static NearbyHelperObject instance = null; + + // timers to keep track of discovery and advertising + private static double mAdvertisingRemaining = 0; + private static double mDiscoveryRemaining = 0; + + // nearby client to stop discovery and to stop advertising + private static INearbyConnectionClient mClient = null; + + public static void CreateObject(INearbyConnectionClient client) + { + if (instance != null) + { + return; + } + + mClient = client; + if (Application.isPlaying) + { + // add an invisible game object to the scene + GameObject obj = new GameObject("PlayGames_NearbyHelper"); + DontDestroyOnLoad(obj); + instance = obj.AddComponent(); + } + else + { + instance = new NearbyHelperObject(); + } + } + + private static double ToSeconds(TimeSpan? span) + { + if (!span.HasValue) + { + return 0; + } + + if (span.Value.TotalSeconds < 0) + { + return 0; + } + + return span.Value.TotalSeconds; + } + + public static void StartAdvertisingTimer(TimeSpan? span) + { + mAdvertisingRemaining = ToSeconds(span); + } + + public static void StartDiscoveryTimer(TimeSpan? span) + { + mDiscoveryRemaining = ToSeconds(span); + } + + public void Awake() + { + DontDestroyOnLoad(gameObject); + } + + public void OnDisable() + { + if (instance == this) + { + instance = null; + } + } + + public void Update() + { + // check if currently advertising + if (mAdvertisingRemaining > 0) + { + mAdvertisingRemaining -= Time.deltaTime; + if (mAdvertisingRemaining < 0) + { + mClient.StopAdvertising(); + } + } + + // check if currently discovering + if (mDiscoveryRemaining > 0) + { + mDiscoveryRemaining -= Time.deltaTime; + if (mDiscoveryRemaining < 0) + { + mClient.StopDiscovery(mClient.GetServiceId()); + } + } + } + } +} +#endif \ No newline at end of file diff --git a/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/OurUtils/NearbyHelperObject.cs.meta b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/OurUtils/NearbyHelperObject.cs.meta new file mode 100644 index 00000000..2573b0d3 --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/OurUtils/NearbyHelperObject.cs.meta @@ -0,0 +1,14 @@ +fileFormatVersion: 2 +guid: b66cca4a5a1f4a5092a280c452185308 +labels: +- gvh +- gvh_version-2.1.0 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/OurUtils/PlatformUtils.cs b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/OurUtils/PlatformUtils.cs new file mode 100644 index 00000000..43ce29ee --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/OurUtils/PlatformUtils.cs @@ -0,0 +1,42 @@ +// +// Copyright (C) 2014 Google Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// + +#if UNITY_ANDROID +namespace GooglePlayGames.OurUtils +{ + using UnityEngine; + using System; + + public static class PlatformUtils + { + /// + /// Check if the Google Play Games platform is supported at runtime. + /// + /// If the platform is supported. + public static bool Supported + { + get + { +#if UNITY_EDITOR + return false; +#else + return true; +#endif + } + } + } +} +#endif //UNITY_ANDROID \ No newline at end of file diff --git a/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/OurUtils/PlatformUtils.cs.meta b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/OurUtils/PlatformUtils.cs.meta new file mode 100644 index 00000000..3b2ccfd0 --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/OurUtils/PlatformUtils.cs.meta @@ -0,0 +1,14 @@ +fileFormatVersion: 2 +guid: 053811e778f3d4e3e98065f5db5bd005 +labels: +- gvh +- gvh_version-2.1.0 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/OurUtils/PlayGamesHelperObject.cs b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/OurUtils/PlayGamesHelperObject.cs new file mode 100644 index 00000000..6c8551cc --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/OurUtils/PlayGamesHelperObject.cs @@ -0,0 +1,222 @@ +// +// Copyright (C) 2014 Google Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// + +namespace GooglePlayGames.OurUtils +{ + using System; + using System.Collections; + using UnityEngine; + using System.Collections.Generic; + + public class PlayGamesHelperObject : MonoBehaviour + { + // our (singleton) instance + private static PlayGamesHelperObject instance = null; + + // are we a dummy instance (used in the editor?) + private static bool sIsDummy = false; + + // queue of actions to run on the game thread + private static List sQueue = new List(); + + // member variable used to copy actions from the sQueue and + // execute them on the game thread. It is a member variable + // to help minimize memory allocations. + List localQueue = new List(); + + // flag that alerts us that we should check the queue + // (we do this just so we don't have to lock() the queue every + // frame to check if it's empty or not). + private volatile static bool sQueueEmpty = true; + + // callback for application pause and focus events + private static List> sPauseCallbackList = + new List>(); + + private static List> sFocusCallbackList = + new List>(); + + // Call this once from the game thread + public static void CreateObject() + { + if (instance != null) + { + return; + } + + if (Application.isPlaying) + { + // add an invisible game object to the scene + GameObject obj = new GameObject("PlayGames_QueueRunner"); + DontDestroyOnLoad(obj); + instance = obj.AddComponent(); + } + else + { + instance = new PlayGamesHelperObject(); + sIsDummy = true; + } + } + + public void Awake() + { + DontDestroyOnLoad(gameObject); + } + + public void OnDisable() + { + if (instance == this) + { + instance = null; + } + } + + public static void RunCoroutine(IEnumerator action) + { + if (instance != null) + { + RunOnGameThread(() => instance.StartCoroutine(action)); + } + } + + public static void RunOnGameThread(System.Action action) + { + if (action == null) + { + throw new ArgumentNullException("action"); + } + + if (sIsDummy) + { + return; + } + + lock (sQueue) + { + sQueue.Add(action); + sQueueEmpty = false; + } + } + + public void Update() + { + if (sIsDummy || sQueueEmpty) + { + return; + } + + // first copy the shared queue into a local queue + localQueue.Clear(); + lock (sQueue) + { + // transfer the whole queue to our local queue + localQueue.AddRange(sQueue); + sQueue.Clear(); + sQueueEmpty = true; + } + + // execute queued actions (from local queue) + // use a loop to avoid extra memory allocations using the + // forEach + for (int i = 0; i < localQueue.Count; i++) + { + localQueue[i].Invoke(); + } + } + + public void OnApplicationFocus(bool focused) + { + foreach (Action cb in sFocusCallbackList) + { + try + { + cb(focused); + } + catch (Exception e) + { + Logger.e("Exception in OnApplicationFocus:" + + e.Message + "\n" + e.StackTrace); + } + } + } + + public void OnApplicationPause(bool paused) + { + foreach (Action cb in sPauseCallbackList) + { + try + { + cb(paused); + } + catch (Exception e) + { + Logger.e("Exception in OnApplicationPause:" + + e.Message + "\n" + e.StackTrace); + } + } + } + + /// + /// Adds a callback that is called when the Unity method OnApplicationFocus + /// is called. + /// + /// + /// Callback. + public static void AddFocusCallback(Action callback) + { + if (!sFocusCallbackList.Contains(callback)) + { + sFocusCallbackList.Add(callback); + } + } + + /// + /// Removes the callback from the list to call when handling OnApplicationFocus + /// is called. + /// + /// true, if focus callback was removed, false otherwise. + /// Callback. + public static bool RemoveFocusCallback(Action callback) + { + return sFocusCallbackList.Remove(callback); + } + + /// + /// Adds a callback that is called when the Unity method OnApplicationPause + /// is called. + /// + /// + /// Callback. + public static void AddPauseCallback(Action callback) + { + if (!sPauseCallbackList.Contains(callback)) + { + sPauseCallbackList.Add(callback); + } + } + + /// + /// Removes the callback from the list to call when handling OnApplicationPause + /// is called. + /// + /// true, if focus callback was removed, false otherwise. + /// Callback. + public static bool RemovePauseCallback(Action callback) + { + return sPauseCallbackList.Remove(callback); + } + } +} \ No newline at end of file diff --git a/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/OurUtils/PlayGamesHelperObject.cs.meta b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/OurUtils/PlayGamesHelperObject.cs.meta new file mode 100644 index 00000000..b4be3e6a --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/OurUtils/PlayGamesHelperObject.cs.meta @@ -0,0 +1,14 @@ +fileFormatVersion: 2 +guid: 7dd6f93ee6cb54945aea72a87542f720 +labels: +- gvh +- gvh_version-2.1.0 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/Platforms.meta b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/Platforms.meta new file mode 100644 index 00000000..dd9d70b7 --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/Platforms.meta @@ -0,0 +1,5 @@ +fileFormatVersion: 2 +guid: 58fac82a81a11415b99606841f6040a6 +folderAsset: yes +DefaultImporter: + userData: diff --git a/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/Platforms/Android.meta b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/Platforms/Android.meta new file mode 100644 index 00000000..a8981c48 --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/Platforms/Android.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 5c9032ae026414e1bbe872da53708edd +folderAsset: yes +timeCreated: 1441206393 +licenseType: Pro +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/Platforms/Android/AndroidClient.cs b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/Platforms/Android/AndroidClient.cs new file mode 100644 index 00000000..c25d19a1 --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/Platforms/Android/AndroidClient.cs @@ -0,0 +1,1128 @@ +// +// Copyright (C) 2014 Google Inc. All Rights Reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// + +#if UNITY_ANDROID +#pragma warning disable 0642 // Possible mistaken empty statement + +namespace GooglePlayGames.Android +{ + using GooglePlayGames.BasicApi; + using GooglePlayGames.BasicApi.Events; + using GooglePlayGames.BasicApi.SavedGame; + using GooglePlayGames.OurUtils; + using System; + using System.Collections.Generic; + using System.Linq; + using UnityEngine; + using UnityEngine.SocialPlatforms; + + public class AndroidClient : IPlayGamesClient + { + private enum AuthState + { + Unauthenticated, + Authenticated + } + + private readonly object GameServicesLock = new object(); + private readonly object AuthStateLock = new object(); + private readonly static String PlayGamesSdkClassName = + "com.google.android.gms.games.PlayGamesSdk"; + + private volatile ISavedGameClient mSavedGameClient; + private volatile IEventsClient mEventsClient; + private volatile Player mUser = null; + private volatile AuthState mAuthState = AuthState.Unauthenticated; + private IUserProfile[] mFriends = new IUserProfile[0]; + private LoadFriendsStatus mLastLoadFriendsStatus = LoadFriendsStatus.Unknown; + + AndroidJavaClass mGamesClass = new AndroidJavaClass("com.google.android.gms.games.PlayGames"); + private static string TasksClassName = "com.google.android.gms.tasks.Tasks"; + + private AndroidJavaObject mFriendsResolutionException = null; + + private readonly int mLeaderboardMaxResults = 25; // can be from 1 to 25 + + private readonly int mFriendsMaxResults = 200; // the maximum load friends page size + + internal AndroidClient() + { + PlayGamesHelperObject.CreateObject(); + InitializeSdk(); + } + + private static void InitializeSdk() { + using (var playGamesSdkClass = new AndroidJavaClass(PlayGamesSdkClassName)) { + playGamesSdkClass.CallStatic("initialize", AndroidHelperFragment.GetActivity()); + } + } + + public void Authenticate(Action callback) + { + Authenticate( /* isAutoSignIn= */ true, callback); + } + + public void ManuallyAuthenticate(Action callback) + { + Authenticate( /* isAutoSignIn= */ false, callback); + } + + private void Authenticate(bool isAutoSignIn, Action callback) + { + callback = AsOnGameThreadCallback(callback); + lock (AuthStateLock) + { + // If the user is already authenticated, just fire the callback, we don't need + // any additional work. + if (mAuthState == AuthState.Authenticated) + { + OurUtils.Logger.d("Already authenticated."); + InvokeCallbackOnGameThread(callback, SignInStatus.Success); + return; + } + } + + string methodName = isAutoSignIn ? "isAuthenticated" : "signIn"; + + OurUtils.Logger.d("Starting Auth using the method " + methodName); + using (var client = getGamesSignInClient()) + using ( + var task = client.Call(methodName)) + { + AndroidTaskUtils.AddOnSuccessListener(task, authenticationResult => + { + bool isAuthenticated = authenticationResult.Call("isAuthenticated"); + SignInOnResult(isAuthenticated, callback); + }); + + AndroidTaskUtils.AddOnFailureListener(task, exception => + { + OurUtils.Logger.e("Authentication failed - " + exception.Call("toString")); + callback(SignInStatus.InternalError); + }); + } + } + + private void SignInOnResult(bool isAuthenticated, Action callback) + { + if (isAuthenticated) + { + using (var signInTasks = new AndroidJavaObject("java.util.ArrayList")) + { + AndroidJavaObject taskGetPlayer = + getPlayersClient().Call("getCurrentPlayer"); + signInTasks.Call("add", taskGetPlayer); + + using (var tasks = new AndroidJavaClass(TasksClassName)) + using (var allTask = tasks.CallStatic("whenAll", signInTasks)) + { + AndroidTaskUtils.AddOnCompleteListener( + allTask, + completeTask => + { + if (completeTask.Call("isSuccessful")) + { + using (var resultObject = taskGetPlayer.Call("getResult")) + { + mUser = AndroidJavaConverter.ToPlayer(resultObject); + } + + lock (GameServicesLock) + { + mSavedGameClient = new AndroidSavedGameClient(this); + mEventsClient = new AndroidEventsClient(); + } + + mAuthState = AuthState.Authenticated; + InvokeCallbackOnGameThread(callback, SignInStatus.Success); + OurUtils.Logger.d("Authentication succeeded"); + LoadAchievements(ignore => { }); + } + else + { + if (completeTask.Call("isCanceled")) + { + InvokeCallbackOnGameThread(callback, SignInStatus.Canceled); + return; + } + + using (var exception = completeTask.Call("getException")) + { + OurUtils.Logger.e( + "Authentication failed - " + exception.Call("toString")); + InvokeCallbackOnGameThread(callback, SignInStatus.InternalError); + } + } + } + ); + } + } + } + else + { + lock (AuthStateLock) + { + OurUtils.Logger.e("Returning an error code."); + InvokeCallbackOnGameThread(callback, SignInStatus.Canceled); + } + } + } + + public void RequestServerSideAccess(bool forceRefreshToken, Action callback) + { + callback = AsOnGameThreadCallback(callback); + + if (!GameInfo.WebClientIdInitialized()) + { + throw new InvalidOperationException("Requesting server side access requires web " + + "client id to be configured."); + } + + using (var client = getGamesSignInClient()) + using (var task = client.Call("requestServerSideAccess", + GameInfo.WebClientId, forceRefreshToken)) + { + AndroidTaskUtils.AddOnSuccessListener( + task, + authCode => callback(authCode) + ); + + AndroidTaskUtils.AddOnFailureListener(task, exception => + { + OurUtils.Logger.e("Requesting server side access task failed - " + + exception.Call("toString")); + callback(null); + }); + } + } + + public void RequestServerSideAccess(bool forceRefreshToken, List scopes, Action callback) + { + callback = AsOnGameThreadCallback(callback); + + if (!GameInfo.WebClientIdInitialized()) + { + throw new InvalidOperationException("Requesting server-side access requires a web client ID to be configured."); + } + + if (scopes == null) + { + throw new ArgumentException("At least one scope must be provided."); + } + + var javaScopesList = new AndroidJavaObject("java.util.ArrayList"); + + foreach (var scope in scopes) + { + javaScopesList.Call("add", getJavaScopeEnum(scope)); + } + + using (var client = getGamesSignInClient()) + using (var task = client.Call( + "requestServerSideAccess", + GameInfo.WebClientId, + forceRefreshToken, + javaScopesList)) + { + AndroidTaskUtils.AddOnSuccessListener(task, result => callback(ToAuthResponse(result))); + + AndroidTaskUtils.AddOnFailureListener(task, exception => + { + OurUtils.Logger.e("Requesting server-side access with scopes task failed - " + exception.Call("toString")); + callback(new AuthResponse(null, new List())); // Return empty response on failure + }); + } + } + + private AuthResponse ToAuthResponse(AndroidJavaObject result) + { + string authCode = result.Call("getAuthCode"); + var grantedScopesObject = result.Call("getGrantedScopes"); + + var grantedScopesList = new List(); + if (grantedScopesObject != null) + { + int size = grantedScopesObject.Call("size"); + for (int i = 0; i < size; i++) + { + var javaScopeEnum = grantedScopesObject.Call("get", i); + string javaScopeName = javaScopeEnum.Call("name"); + if (Enum.TryParse(javaScopeName, out AuthScope grantedScope)) + { + grantedScopesList.Add(grantedScope); + } + else + { + OurUtils.Logger.w($"Unrecognized scope {javaScopeName} returned from java side."); + } + } + } + AuthResponse authResponse = new AuthResponse(authCode, grantedScopesList); + return authResponse; + } + + private AndroidJavaObject getJavaScopeEnum(AuthScope scope) + { + String AuthScopeClassName = "com.google.android.gms.games.gamessignin.AuthScope"; + var javaAuthScopeClass = new AndroidJavaClass(AuthScopeClassName); + return javaAuthScopeClass.CallStatic("valueOf", scope.GetValue()); + } + + + public void RequestRecallAccessToken(Action callback) + { + callback = AsOnGameThreadCallback(callback); + using (var client = getRecallClient()) + using (var task = client.Call("requestRecallAccess")) + { + AndroidTaskUtils.AddOnSuccessListener( + task, + recallAccess => { + var sessionId = recallAccess.Call("getSessionId"); + callback(new RecallAccess(sessionId)); + } + ); + + AndroidTaskUtils.AddOnFailureListener(task, exception => + { + OurUtils.Logger.e("Requesting Recall access task failed - " + + exception.Call("toString")); + callback(null); + }); + } + } + + private static Action AsOnGameThreadCallback(Action callback) + { + if (callback == null) + { + return delegate { }; + } + + return result => InvokeCallbackOnGameThread(callback, result); + } + + private static void InvokeCallbackOnGameThread(Action callback) + { + if (callback == null) + { + return; + } + + PlayGamesHelperObject.RunOnGameThread(() => { callback(); }); + } + + private static void InvokeCallbackOnGameThread(Action callback, T data) + { + if (callback == null) + { + return; + } + + PlayGamesHelperObject.RunOnGameThread(() => { callback(data); }); + } + + + private static Action AsOnGameThreadCallback( + Action toInvokeOnGameThread) + { + return (result1, result2) => + { + if (toInvokeOnGameThread == null) + { + return; + } + + PlayGamesHelperObject.RunOnGameThread(() => toInvokeOnGameThread(result1, result2)); + }; + } + + private static void InvokeCallbackOnGameThread(Action callback, T1 t1, T2 t2) + { + if (callback == null) + { + return; + } + + PlayGamesHelperObject.RunOnGameThread(() => { callback(t1, t2); }); + } + + public bool IsAuthenticated() + { + lock (AuthStateLock) + { + return mAuthState == AuthState.Authenticated; + } + } + + public void LoadFriends(Action callback) + { + LoadAllFriends(mFriendsMaxResults, /* forceReload= */ false, /* loadMore= */ false, callback); + } + + private void LoadAllFriends(int pageSize, bool forceReload, bool loadMore, + Action callback) + { + LoadFriendsPaginated(pageSize, loadMore, forceReload, result => + { + mLastLoadFriendsStatus = result; + switch (result) + { + case LoadFriendsStatus.Completed: + InvokeCallbackOnGameThread(callback, true); + break; + case LoadFriendsStatus.LoadMore: + // There are more friends to load. + LoadAllFriends(pageSize, /* forceReload= */ false, /* loadMore= */ true, callback); + break; + case LoadFriendsStatus.ResolutionRequired: + case LoadFriendsStatus.InternalError: + case LoadFriendsStatus.NotAuthorized: + InvokeCallbackOnGameThread(callback, false); + break; + default: + GooglePlayGames.OurUtils.Logger.d("There was an error when loading friends." + result); + InvokeCallbackOnGameThread(callback, false); + break; + } + }); + } + + public void LoadFriends(int pageSize, bool forceReload, + Action callback) + { + LoadFriendsPaginated(pageSize, /* isLoadMore= */ false, /* forceReload= */ forceReload, + callback); + } + + public void LoadMoreFriends(int pageSize, Action callback) + { + LoadFriendsPaginated(pageSize, /* isLoadMore= */ true, /* forceReload= */ false, + callback); + } + + private void LoadFriendsPaginated(int pageSize, bool isLoadMore, bool forceReload, + Action callback) + { + mFriendsResolutionException = null; + using (var playersClient = getPlayersClient()) + using (var task = isLoadMore + ? playersClient.Call("loadMoreFriends", pageSize) + : playersClient.Call("loadFriends", pageSize, + forceReload)) + { + AndroidTaskUtils.AddOnSuccessListener( + task, annotatedData => + { + using (var playersBuffer = annotatedData.Call("get")) + { + AndroidJavaObject metadata = playersBuffer.Call("getMetadata"); + var areMoreFriendsToLoad = metadata != null && + metadata.Call("getString", + "next_page_token") != null; + mFriends = AndroidJavaConverter.playersBufferToArray(playersBuffer); + mLastLoadFriendsStatus = areMoreFriendsToLoad + ? LoadFriendsStatus.LoadMore + : LoadFriendsStatus.Completed; + InvokeCallbackOnGameThread(callback, mLastLoadFriendsStatus); + } + }); + AndroidTaskUtils.AddOnFailureListener(task, exception => + { + AndroidHelperFragment.IsResolutionRequired(exception, resolutionRequired => + { + if (resolutionRequired) + { + mFriendsResolutionException = + exception.Call("getResolution"); + mLastLoadFriendsStatus = LoadFriendsStatus.ResolutionRequired; + mFriends = new IUserProfile[0]; + InvokeCallbackOnGameThread(callback, LoadFriendsStatus.ResolutionRequired); + } + else + { + mFriendsResolutionException = null; + + if (IsApiException(exception)) + { + var statusCode = exception.Call("getStatusCode"); + if (statusCode == /* GamesClientStatusCodes.NETWORK_ERROR_NO_DATA */ 26504) + { + mLastLoadFriendsStatus = LoadFriendsStatus.NetworkError; + InvokeCallbackOnGameThread(callback, LoadFriendsStatus.NetworkError); + return; + } + } + + mLastLoadFriendsStatus = LoadFriendsStatus.InternalError; + OurUtils.Logger.e("LoadFriends failed: " + + exception.Call("toString")); + InvokeCallbackOnGameThread(callback, LoadFriendsStatus.InternalError); + } + }); + return; + }); + } + } + + private static bool IsApiException(AndroidJavaObject exception) { + var exceptionClassName = exception.Call("getClass") + .Call("getName"); + return exceptionClassName == "com.google.android.gms.common.api.ApiException"; + } + + public LoadFriendsStatus GetLastLoadFriendsStatus() + { + return mLastLoadFriendsStatus; + } + + public void AskForLoadFriendsResolution(Action callback) + { + if (mFriendsResolutionException == null) + { + GooglePlayGames.OurUtils.Logger.d("The developer asked for access to the friends " + + "list but there is no intent to trigger the UI. This may be because the user " + + "has granted access already or the game has not called loadFriends() before."); + using (var playersClient = getPlayersClient()) + using ( + var task = playersClient.Call("loadFriends", /* pageSize= */ 1, + /* forceReload= */ false)) + { + AndroidTaskUtils.AddOnSuccessListener( + task, annotatedData => { InvokeCallbackOnGameThread(callback, UIStatus.Valid); }); + AndroidTaskUtils.AddOnFailureListener(task, exception => + { + AndroidHelperFragment.IsResolutionRequired(exception, resolutionRequired => + { + if (resolutionRequired) + { + mFriendsResolutionException = + exception.Call("getResolution"); + AndroidHelperFragment.AskForLoadFriendsResolution( + mFriendsResolutionException, AsOnGameThreadCallback(callback)); + return; + } + + if (IsApiException(exception)) + { + var statusCode = exception.Call("getStatusCode"); + if (statusCode == + /* GamesClientStatusCodes.NETWORK_ERROR_NO_DATA */ 26504) + { + InvokeCallbackOnGameThread(callback, UIStatus.NetworkError); + return; + } + } + + OurUtils.Logger.e("LoadFriends failed: " + + exception.Call("toString")); + InvokeCallbackOnGameThread(callback, UIStatus.InternalError); + }); + }); + } + } + else + { + AndroidHelperFragment.AskForLoadFriendsResolution(mFriendsResolutionException, + AsOnGameThreadCallback(callback)); + } + } + + public void ShowCompareProfileWithAlternativeNameHintsUI(string playerId, + string otherPlayerInGameName, + string currentPlayerInGameName, + Action callback) + { + AndroidHelperFragment.ShowCompareProfileWithAlternativeNameHintsUI( + playerId, otherPlayerInGameName, currentPlayerInGameName, + AsOnGameThreadCallback(callback)); + } + + public void GetFriendsListVisibility(bool forceReload, + Action callback) + { + using (var playersClient = getPlayersClient()) + using ( + var task = playersClient.Call("getCurrentPlayer", forceReload)) + { + AndroidTaskUtils.AddOnSuccessListener(task, annotatedData => + { + AndroidJavaObject currentPlayerInfo = + annotatedData.Call("get").Call( + "getCurrentPlayerInfo"); + int playerListVisibility = + currentPlayerInfo.Call("getFriendsListVisibilityStatus"); + InvokeCallbackOnGameThread(callback, + AndroidJavaConverter.ToFriendsListVisibilityStatus(playerListVisibility)); + }); + AndroidTaskUtils.AddOnFailureListener(task, exception => + { + InvokeCallbackOnGameThread(callback, FriendsListVisibilityStatus.NetworkError); + return; + }); + } + } + + public IUserProfile[] GetFriends() + { + return mFriends; + } + + public string GetUserId() + { + if (mUser == null) + { + return null; + } + + return mUser.id; + } + + public string GetUserDisplayName() + { + if (mUser == null) + { + return null; + } + + return mUser.userName; + } + + public string GetUserImageUrl() + { + if (mUser == null) + { + return null; + } + + return mUser.AvatarURL; + } + + public void GetPlayerStats(Action callback) + { + using (var playerStatsClient = getPlayerStatsClient()) + using (var task = playerStatsClient.Call("loadPlayerStats", /* forceReload= */ false)) + { + AndroidTaskUtils.AddOnSuccessListener( + task, + annotatedData => + { + using (var playerStatsJava = annotatedData.Call("get")) + { + int numberOfPurchases = playerStatsJava.Call("getNumberOfPurchases"); + float avgSessionLength = playerStatsJava.Call("getAverageSessionLength"); + int daysSinceLastPlayed = playerStatsJava.Call("getDaysSinceLastPlayed"); + int numberOfSessions = playerStatsJava.Call("getNumberOfSessions"); + float sessionPercentile = playerStatsJava.Call("getSessionPercentile"); + float spendPercentile = playerStatsJava.Call("getSpendPercentile"); + float spendProbability = playerStatsJava.Call("getSpendProbability"); + float churnProbability = playerStatsJava.Call("getChurnProbability"); + float highSpenderProbability = playerStatsJava.Call("getHighSpenderProbability"); + float totalSpendNext28Days = playerStatsJava.Call("getTotalSpendNext28Days"); + + PlayerStats result = new PlayerStats( + numberOfPurchases, + avgSessionLength, + daysSinceLastPlayed, + numberOfSessions, + sessionPercentile, + spendPercentile, + spendProbability, + churnProbability, + highSpenderProbability, + totalSpendNext28Days); + + InvokeCallbackOnGameThread(callback, CommonStatusCodes.Success, result); + } + }); + + AndroidTaskUtils.AddOnFailureListener(task, exception => + { + OurUtils.Logger.e("GetPlayerStats failed: " + exception.Call("toString")); + var statusCode = IsAuthenticated() + ? CommonStatusCodes.InternalError + : CommonStatusCodes.SignInRequired; + InvokeCallbackOnGameThread(callback, statusCode, new PlayerStats()); + }); + } + } + + public void LoadUsers(string[] userIds, Action callback) + { + if (!IsAuthenticated()) + { + InvokeCallbackOnGameThread(callback, new IUserProfile[0]); + return; + } + + using (var playersClient = getPlayersClient()) + { + object countLock = new object(); + int count = userIds.Length; + int resultCount = 0; + IUserProfile[] users = new IUserProfile[count]; + for (int i = 0; i < count; ++i) + { + using (var task = playersClient.Call("loadPlayer", userIds[i])) + { + AndroidTaskUtils.AddOnSuccessListener( + task, + annotatedData => + { + using (var player = annotatedData.Call("get")) + { + string playerId = player.Call("getPlayerId"); + for (int j = 0; j < count; ++j) + { + if (playerId == userIds[j]) + { + users[j] = AndroidJavaConverter.ToPlayer(player); + break; + } + } + + lock (countLock) + { + ++resultCount; + if (resultCount == count) + { + InvokeCallbackOnGameThread(callback, users); + } + } + } + }); + + AndroidTaskUtils.AddOnFailureListener(task, exception => + { + OurUtils.Logger.e("LoadUsers failed for index " + i + + " with: " + exception.Call("toString")); + lock (countLock) + { + ++resultCount; + if (resultCount == count) + { + InvokeCallbackOnGameThread(callback, users); + } + } + }); + } + } + } + } + + public void LoadAchievements(Action callback) + { + using (var achievementsClient = getAchievementsClient()) + using (var task = achievementsClient.Call("load", /* forceReload= */ false)) + { + AndroidTaskUtils.AddOnSuccessListener( + task, + annotatedData => + { + using (var achievementBuffer = annotatedData.Call("get")) + { + int count = achievementBuffer.Call("getCount"); + Achievement[] result = new Achievement[count]; + for (int i = 0; i < count; ++i) + { + Achievement achievement = new Achievement(); + using (var javaAchievement = achievementBuffer.Call("get", i)) + { + achievement.Id = javaAchievement.Call("getAchievementId"); + achievement.Description = javaAchievement.Call("getDescription"); + achievement.Name = javaAchievement.Call("getName"); + achievement.Points = javaAchievement.Call("getXpValue"); + + long timestamp = javaAchievement.Call("getLastUpdatedTimestamp"); + achievement.LastModifiedTime = AndroidJavaConverter.ToDateTime(timestamp); + + achievement.RevealedImageUrl = javaAchievement.Call("getRevealedImageUrl"); + achievement.UnlockedImageUrl = javaAchievement.Call("getUnlockedImageUrl"); + achievement.IsIncremental = + javaAchievement.Call("getType") == 1 /* TYPE_INCREMENTAL */; + if (achievement.IsIncremental) + { + achievement.CurrentSteps = javaAchievement.Call("getCurrentSteps"); + achievement.TotalSteps = javaAchievement.Call("getTotalSteps"); + } + + int state = javaAchievement.Call("getState"); + achievement.IsUnlocked = state == 0 /* STATE_UNLOCKED */; + achievement.IsRevealed = state == 1 /* STATE_REVEALED */; + } + + result[i] = achievement; + } + + achievementBuffer.Call("release"); + InvokeCallbackOnGameThread(callback, result); + } + }); + + AndroidTaskUtils.AddOnFailureListener(task, exception => + { + OurUtils.Logger.e("LoadAchievements failed: " + exception.Call("toString")); + InvokeCallbackOnGameThread(callback, new Achievement[0]); + }); + } + } + + public void UnlockAchievement(string achId, Action callback) + { + if (!IsAuthenticated()) + { + InvokeCallbackOnGameThread(callback, false); + return; + } + + using (var achievementsClient = getAchievementsClient()) + { + achievementsClient.Call("unlock", achId); + InvokeCallbackOnGameThread(callback, true); + } + } + + public void RevealAchievement(string achId, Action callback) + { + if (!IsAuthenticated()) + { + InvokeCallbackOnGameThread(callback, false); + return; + } + + using (var achievementsClient = getAchievementsClient()) + { + achievementsClient.Call("reveal", achId); + InvokeCallbackOnGameThread(callback, true); + } + } + + public void IncrementAchievement(string achId, int steps, Action callback) + { + if (!IsAuthenticated()) + { + InvokeCallbackOnGameThread(callback, false); + return; + } + + using (var achievementsClient = getAchievementsClient()) + { + achievementsClient.Call("increment", achId, steps); + InvokeCallbackOnGameThread(callback, true); + } + } + + public void SetStepsAtLeast(string achId, int steps, Action callback) + { + if (!IsAuthenticated()) + { + InvokeCallbackOnGameThread(callback, false); + return; + } + + using (var achievementsClient = getAchievementsClient()) + { + achievementsClient.Call("setSteps", achId, steps); + InvokeCallbackOnGameThread(callback, true); + } + } + + public void ShowAchievementsUI(Action callback) + { + if (!IsAuthenticated()) + { + InvokeCallbackOnGameThread(callback, UIStatus.NotAuthorized); + return; + } + + AndroidHelperFragment.ShowAchievementsUI(AsOnGameThreadCallback(callback)); + } + + public int LeaderboardMaxResults() + { + return mLeaderboardMaxResults; + } + + public void ShowLeaderboardUI(string leaderboardId, LeaderboardTimeSpan span, Action callback) + { + if (!IsAuthenticated()) + { + InvokeCallbackOnGameThread(callback, UIStatus.NotAuthorized); + return; + } + + if (leaderboardId == null) + { + AndroidHelperFragment.ShowAllLeaderboardsUI(AsOnGameThreadCallback(callback)); + } + else + { + AndroidHelperFragment.ShowLeaderboardUI(leaderboardId, span, + AsOnGameThreadCallback(callback)); + } + } + + public void LoadScores(string leaderboardId, LeaderboardStart start, + int rowCount, LeaderboardCollection collection, + LeaderboardTimeSpan timeSpan, + Action callback) + { + using (var client = getLeaderboardsClient()) + { + string loadScoresMethod = + start == LeaderboardStart.TopScores ? "loadTopScores" : "loadPlayerCenteredScores"; + using (var task = client.Call( + loadScoresMethod, + leaderboardId, + AndroidJavaConverter.ToLeaderboardVariantTimeSpan(timeSpan), + AndroidJavaConverter.ToLeaderboardVariantCollection(collection), + rowCount)) + { + AndroidTaskUtils.AddOnSuccessListener( + task, + annotatedData => + { + using (var leaderboardScores = annotatedData.Call("get")) + { + InvokeCallbackOnGameThread(callback, CreateLeaderboardScoreData( + leaderboardId, + collection, + timeSpan, + annotatedData.Call("isStale") + ? ResponseStatus.SuccessWithStale + : ResponseStatus.Success, + leaderboardScores)); + leaderboardScores.Call("release"); + } + }); + + AndroidTaskUtils.AddOnFailureListener(task, exception => + { + AndroidHelperFragment.IsResolutionRequired( + exception, resolutionRequired => + { + if (resolutionRequired) + { + mFriendsResolutionException = exception.Call( + "getResolution"); + InvokeCallbackOnGameThread( + callback, new LeaderboardScoreData(leaderboardId, + ResponseStatus.ResolutionRequired)); + } + else + { + mFriendsResolutionException = null; + } + }); + OurUtils.Logger.e("LoadScores failed: " + exception.Call("toString")); + InvokeCallbackOnGameThread( + callback, new LeaderboardScoreData(leaderboardId, + ResponseStatus.InternalError)); + }); + } + } + } + + public void LoadMoreScores(ScorePageToken token, int rowCount, + Action callback) + { + using (var client = getLeaderboardsClient()) + using (var task = client.Call("loadMoreScores", + token.InternalObject, rowCount, AndroidJavaConverter.ToPageDirection(token.Direction))) + { + AndroidTaskUtils.AddOnSuccessListener( + task, + annotatedData => + { + using (var leaderboardScores = annotatedData.Call("get")) + { + InvokeCallbackOnGameThread(callback, CreateLeaderboardScoreData( + token.LeaderboardId, + token.Collection, + token.TimeSpan, + annotatedData.Call("isStale") + ? ResponseStatus.SuccessWithStale + : ResponseStatus.Success, + leaderboardScores)); + leaderboardScores.Call("release"); + } + }); + + AndroidTaskUtils.AddOnFailureListener(task, exception => + { + AndroidHelperFragment.IsResolutionRequired(exception, resolutionRequired => + { + if (resolutionRequired) + { + mFriendsResolutionException = + exception.Call("getResolution"); + InvokeCallbackOnGameThread( + callback, new LeaderboardScoreData(token.LeaderboardId, + ResponseStatus.ResolutionRequired)); + } + else + { + mFriendsResolutionException = null; + } + }); + OurUtils.Logger.e("LoadMoreScores failed: " + exception.Call("toString")); + InvokeCallbackOnGameThread( + callback, new LeaderboardScoreData(token.LeaderboardId, + ResponseStatus.InternalError)); + }); + } + } + + private LeaderboardScoreData CreateLeaderboardScoreData( + string leaderboardId, + LeaderboardCollection collection, + LeaderboardTimeSpan timespan, + ResponseStatus status, + AndroidJavaObject leaderboardScoresJava) + { + LeaderboardScoreData leaderboardScoreData = new LeaderboardScoreData(leaderboardId, status); + var scoresBuffer = leaderboardScoresJava.Call("getScores"); + int count = scoresBuffer.Call("getCount"); + for (int i = 0; i < count; ++i) + { + using (var leaderboardScore = scoresBuffer.Call("get", i)) + { + long timestamp = leaderboardScore.Call("getTimestampMillis"); + System.DateTime date = AndroidJavaConverter.ToDateTime(timestamp); + + ulong rank = (ulong) leaderboardScore.Call("getRank"); + string scoreHolderId = ""; + using (var scoreHolder = leaderboardScore.Call("getScoreHolder")) + { + scoreHolderId = scoreHolder.Call("getPlayerId"); + } + + ulong score = (ulong) leaderboardScore.Call("getRawScore"); + string metadata = leaderboardScore.Call("getScoreTag"); + + leaderboardScoreData.AddScore(new PlayGamesScore(date, leaderboardId, + rank, scoreHolderId, score, metadata)); + } + } + + leaderboardScoreData.NextPageToken = new ScorePageToken(scoresBuffer, leaderboardId, collection, + timespan, ScorePageDirection.Forward); + leaderboardScoreData.PrevPageToken = new ScorePageToken(scoresBuffer, leaderboardId, collection, + timespan, ScorePageDirection.Backward); + + using (var leaderboard = leaderboardScoresJava.Call("getLeaderboard")) + using (var variants = leaderboard.Call("getVariants")) + using (var variant = variants.Call("get", 0)) + { + leaderboardScoreData.Title = leaderboard.Call("getDisplayName"); + if (variant.Call("hasPlayerInfo")) + { + System.DateTime date = AndroidJavaConverter.ToDateTime(0); + ulong rank = (ulong) variant.Call("getPlayerRank"); + ulong score = (ulong) variant.Call("getRawPlayerScore"); + string metadata = variant.Call("getPlayerScoreTag"); + leaderboardScoreData.PlayerScore = new PlayGamesScore(date, leaderboardId, + rank, mUser.id, score, metadata); + } + + leaderboardScoreData.ApproximateCount = (ulong) variant.Call("getNumScores"); + } + + return leaderboardScoreData; + } + + public void SubmitScore(string leaderboardId, long score, Action callback) + { + if (!IsAuthenticated()) + { + InvokeCallbackOnGameThread(callback, false); + } + + using (var client = getLeaderboardsClient()) + { + client.Call("submitScore", leaderboardId, score); + InvokeCallbackOnGameThread(callback, true); + } + } + + public void SubmitScore(string leaderboardId, long score, string metadata, + Action callback) + { + if (!IsAuthenticated()) + { + InvokeCallbackOnGameThread(callback, false); + } + + using (var client = getLeaderboardsClient()) + { + client.Call("submitScore", leaderboardId, score, metadata); + InvokeCallbackOnGameThread(callback, true); + } + } + + public ISavedGameClient GetSavedGameClient() + { + lock (GameServicesLock) + { + return mSavedGameClient; + } + } + + public IEventsClient GetEventsClient() + { + lock (GameServicesLock) + { + return mEventsClient; + } + } + + private AndroidJavaObject getAchievementsClient() + { + return mGamesClass.CallStatic("getAchievementsClient", + AndroidHelperFragment.GetActivity()); + } + + private AndroidJavaObject getPlayersClient() + { + return mGamesClass.CallStatic("getPlayersClient", AndroidHelperFragment.GetActivity()); + } + + private AndroidJavaObject getLeaderboardsClient() + { + return mGamesClass.CallStatic("getLeaderboardsClient", + AndroidHelperFragment.GetActivity()); + } + + private AndroidJavaObject getPlayerStatsClient() + { + return mGamesClass.CallStatic("getPlayerStatsClient", + AndroidHelperFragment.GetActivity()); + } + + private AndroidJavaObject getGamesSignInClient() + { + return mGamesClass.CallStatic("getGamesSignInClient", + AndroidHelperFragment.GetActivity()); + } + + private AndroidJavaObject getRecallClient() + { + return mGamesClass.CallStatic("getRecallClient", + AndroidHelperFragment.GetActivity()); + } + } +} +#endif \ No newline at end of file diff --git a/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/Platforms/Android/AndroidClient.cs.meta b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/Platforms/Android/AndroidClient.cs.meta new file mode 100644 index 00000000..bc55a0ac --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/Platforms/Android/AndroidClient.cs.meta @@ -0,0 +1,14 @@ +fileFormatVersion: 2 +guid: 32e99ad5da22248a28a9ca51282b121f +labels: +- gvh +- gvh_version-2.1.0 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/Platforms/Android/AndroidEventsClient.cs b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/Platforms/Android/AndroidEventsClient.cs new file mode 100644 index 00000000..799205d7 --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/Platforms/Android/AndroidEventsClient.cs @@ -0,0 +1,136 @@ +#if UNITY_ANDROID +namespace GooglePlayGames.Android +{ + using System; + using System.Collections.Generic; + using GooglePlayGames.BasicApi; + using GooglePlayGames.BasicApi.Events; + using GooglePlayGames.OurUtils; + using UnityEngine; + internal class AndroidEventsClient : IEventsClient + { + private volatile AndroidJavaObject mEventsClient; + + public AndroidEventsClient() + { + using (var gamesClass = new AndroidJavaClass("com.google.android.gms.games.PlayGames")) + { + mEventsClient = gamesClass.CallStatic("getEventsClient", + AndroidHelperFragment.GetActivity()); + } + } + + public void FetchAllEvents(DataSource source, Action> callback) + { + callback = ToOnGameThread(callback); + using (var task = + mEventsClient.Call("load", source == DataSource.ReadNetworkOnly ? true : false)) + { + AndroidTaskUtils.AddOnSuccessListener( + task, + annotatedData => + { + using (var buffer = annotatedData.Call("get")) + { + int count = buffer.Call("getCount"); + List result = new List(); + for (int i = 0; i < count; ++i) + { + using (var eventJava = buffer.Call("get", i)) + { + result.Add(CreateEvent(eventJava)); + } + } + buffer.Call("release"); + callback.Invoke( + annotatedData.Call("isStale") + ? ResponseStatus.SuccessWithStale + : ResponseStatus.Success, + result + ); + } + }); + AndroidTaskUtils.AddOnFailureListener( + task, + exception => + { + Debug.Log("FetchAllEvents failed"); + callback.Invoke(ResponseStatus.InternalError, null); + }); + } + } + + public void FetchEvent(DataSource source, string eventId, Action callback) + { + callback = ToOnGameThread(callback); + string[] ids = new string[1]; + ids[0] = eventId; + using (var task = mEventsClient.Call("loadByIds", + source == DataSource.ReadNetworkOnly ? true : false, ids)) + { + AndroidTaskUtils.AddOnSuccessListener( + task, + annotatedData => + { + using (var buffer = annotatedData.Call("get")) + { + int count = buffer.Call("getCount"); + if (count > 0) + { + using (var eventJava = buffer.Call("get", 0)) + { + callback.Invoke( + annotatedData.Call("isStale") + ? ResponseStatus.SuccessWithStale + : ResponseStatus.Success, + CreateEvent(eventJava) + ); + } + } + else + { + callback.Invoke( + annotatedData.Call("isStale") + ? ResponseStatus.SuccessWithStale + : ResponseStatus.Success, + null + ); + } + buffer.Call("release"); + } + }); + AndroidTaskUtils.AddOnFailureListener( + task, + exception => + { + Debug.Log("FetchEvent failed"); + callback.Invoke(ResponseStatus.InternalError, null); + }); + } + } + + public void IncrementEvent(string eventId, uint stepsToIncrement) + { + mEventsClient.Call("increment", eventId, (int) stepsToIncrement); + } + + private static Action ToOnGameThread(Action toConvert) + { + return (val1, val2) => PlayGamesHelperObject.RunOnGameThread(() => toConvert(val1, val2)); + } + + private static BasicApi.Events.Event CreateEvent(AndroidJavaObject eventJava) + { + string id = eventJava.Call("getEventId"); + string name = eventJava.Call("getName"); + string description = eventJava.Call("getDescription"); + string imageUrl = eventJava.Call("getIconImageUrl"); + ulong currentCount = (ulong) eventJava.Call("getValue"); + EventVisibility visibility = eventJava.Call("isVisible") + ? EventVisibility.Revealed + : EventVisibility.Hidden; + return new BasicApi.Events.Event(id, name, description, imageUrl, currentCount, visibility); + } + } +} +#endif diff --git a/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/Platforms/Android/AndroidEventsClient.cs.meta b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/Platforms/Android/AndroidEventsClient.cs.meta new file mode 100644 index 00000000..96e8524e --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/Platforms/Android/AndroidEventsClient.cs.meta @@ -0,0 +1,14 @@ +fileFormatVersion: 2 +guid: 311e1761661a341bebebd422a144b5e8 +labels: +- gvh +- gvh_version-2.1.0 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/Platforms/Android/AndroidHelperFragment.cs b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/Platforms/Android/AndroidHelperFragment.cs new file mode 100644 index 00000000..4b770e14 --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/Platforms/Android/AndroidHelperFragment.cs @@ -0,0 +1,223 @@ +// +// Copyright (C) 2015 Google Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// + +#if UNITY_ANDROID +namespace GooglePlayGames.Android +{ + using GooglePlayGames.BasicApi; + using GooglePlayGames.BasicApi.SavedGame; + using OurUtils; + using UnityEngine; + using System; + using System.Collections.Generic; + + internal class AndroidHelperFragment + { + private const string HelperFragmentClass = "com.google.games.bridge.HelperFragment"; + + public static AndroidJavaObject GetActivity() + { + using (var jc = new AndroidJavaClass("com.unity3d.player.UnityPlayer")) + { + return jc.GetStatic("currentActivity"); + } + } + + public static AndroidJavaObject GetDefaultPopupView() + { + using (var helperFragment = new AndroidJavaClass(HelperFragmentClass)) + using (var activity = AndroidHelperFragment.GetActivity()) + { + return helperFragment.CallStatic("getDecorView", activity); + } + } + + public static void ShowAchievementsUI(Action cb) + { + using (var helperFragment = new AndroidJavaClass(HelperFragmentClass)) + using (var task = + helperFragment.CallStatic("showAchievementUi", AndroidHelperFragment.GetActivity())) + { + AndroidTaskUtils.AddOnSuccessListener( + task, + uiCode => + { + OurUtils.Logger.d("ShowAchievementsUI result " + uiCode); + cb.Invoke((UIStatus) uiCode); + }); + + AndroidTaskUtils.AddOnFailureListener( + task, + exception => + { + OurUtils.Logger.e("ShowAchievementsUI failed with exception"); + cb.Invoke(UIStatus.InternalError); + }); + } + } + + public static void ShowCaptureOverlayUI() + { + using (var helperFragment = new AndroidJavaClass(HelperFragmentClass)) + { + helperFragment.CallStatic("showCaptureOverlayUi", AndroidHelperFragment.GetActivity()); + } + } + + public static void ShowAllLeaderboardsUI(Action cb) + { + using (var helperFragment = new AndroidJavaClass(HelperFragmentClass)) + using (var task = + helperFragment.CallStatic("showAllLeaderboardsUi", + AndroidHelperFragment.GetActivity())) + { + AndroidTaskUtils.AddOnSuccessListener( + task, + uiCode => + { + OurUtils.Logger.d("ShowAllLeaderboardsUI result " + uiCode); + cb.Invoke((UIStatus) uiCode); + }); + + AndroidTaskUtils.AddOnFailureListener( + task, + exception => + { + OurUtils.Logger.e("ShowAllLeaderboardsUI failed with exception"); + cb.Invoke(UIStatus.InternalError); + }); + } + } + + public static void ShowLeaderboardUI(string leaderboardId, LeaderboardTimeSpan timeSpan, Action cb) + { + using (var helperFragment = new AndroidJavaClass(HelperFragmentClass)) + using (var task = helperFragment.CallStatic("showLeaderboardUi", + AndroidHelperFragment.GetActivity(), leaderboardId, + AndroidJavaConverter.ToLeaderboardVariantTimeSpan(timeSpan))) + { + AndroidTaskUtils.AddOnSuccessListener( + task, + uiCode => + { + OurUtils.Logger.d("ShowLeaderboardUI result " + uiCode); + cb.Invoke((UIStatus) uiCode); + }); + + AndroidTaskUtils.AddOnFailureListener( + task, + exception => + { + OurUtils.Logger.e("ShowLeaderboardUI failed with exception"); + cb.Invoke(UIStatus.InternalError); + }); + } + } + + public static void ShowCompareProfileWithAlternativeNameHintsUI( + string playerId, string otherPlayerInGameName, string currentPlayerInGameName, + Action cb) + { + using (var helperFragment = new AndroidJavaClass(HelperFragmentClass)) + using ( + var task = helperFragment.CallStatic( + "showCompareProfileWithAlternativeNameHintsUI", + AndroidHelperFragment.GetActivity(), playerId, otherPlayerInGameName, + currentPlayerInGameName)) + { + AndroidTaskUtils.AddOnSuccessListener(task, uiCode => + { + OurUtils.Logger.d("ShowCompareProfileWithAlternativeNameHintsUI result " + uiCode); + cb.Invoke((UIStatus) uiCode); + }); + AndroidTaskUtils.AddOnFailureListener(task, exception => + { + OurUtils.Logger.e("ShowCompareProfileWithAlternativeNameHintsUI failed with exception"); + cb.Invoke(UIStatus.InternalError); + }); + } + } + + public static void IsResolutionRequired( + AndroidJavaObject friendsSharingConsentException, Action cb) + { + using (var helperFragment = new AndroidJavaClass(HelperFragmentClass)) + { + var isResolutionRequired = helperFragment.CallStatic( + "isResolutionRequired", friendsSharingConsentException); + cb.Invoke(isResolutionRequired); + } + } + + public static void AskForLoadFriendsResolution( + AndroidJavaObject friendsSharingConsentException, Action cb) + { + using (var helperFragment = new AndroidJavaClass(HelperFragmentClass)) + using ( + var task = helperFragment.CallStatic( + "askForLoadFriendsResolution", AndroidHelperFragment.GetActivity(), + friendsSharingConsentException)) + { + AndroidTaskUtils.AddOnSuccessListener(task, uiCode => + { + OurUtils.Logger.d("AskForLoadFriendsResolution result " + uiCode); + cb.Invoke((UIStatus) uiCode); + }); + + AndroidTaskUtils.AddOnFailureListener(task, exception => + { + OurUtils.Logger.e("AskForLoadFriendsResolution failed with exception"); + cb.Invoke(UIStatus.InternalError); + }); + } + } + + public static void ShowSelectSnapshotUI(bool showCreateSaveUI, bool showDeleteSaveUI, + int maxDisplayedSavedGames, string uiTitle, Action cb) + { + using (var helperFragment = new AndroidJavaClass(HelperFragmentClass)) + using (var task = helperFragment.CallStatic("showSelectSnapshotUi", + AndroidHelperFragment.GetActivity(), uiTitle, showCreateSaveUI, showDeleteSaveUI, + maxDisplayedSavedGames)) + { + AndroidTaskUtils.AddOnSuccessListener( + task, + result => + { + SelectUIStatus status = (SelectUIStatus) result.Get("status"); + OurUtils.Logger.d("ShowSelectSnapshotUI result " + status); + + AndroidJavaObject javaMetadata = result.Get("metadata"); + AndroidSnapshotMetadata metadata = + javaMetadata == null + ? null + : new AndroidSnapshotMetadata(javaMetadata, /* contents= */null); + + cb.Invoke(status, metadata); + }); + + AndroidTaskUtils.AddOnFailureListener( + task, + exception => + { + OurUtils.Logger.e("ShowSelectSnapshotUI failed with exception"); + cb.Invoke(SelectUIStatus.InternalError, null); + }); + } + } + } +} +#endif diff --git a/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/Platforms/Android/AndroidHelperFragment.cs.meta b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/Platforms/Android/AndroidHelperFragment.cs.meta new file mode 100644 index 00000000..74a1dc18 --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/Platforms/Android/AndroidHelperFragment.cs.meta @@ -0,0 +1,14 @@ +fileFormatVersion: 2 +guid: 6eb353a6ffa554bacb374cfaf0cc45e7 +labels: +- gvh +- gvh_version-2.1.0 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/Platforms/Android/AndroidJavaConverter.cs b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/Platforms/Android/AndroidJavaConverter.cs new file mode 100644 index 00000000..f4bd0674 --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/Platforms/Android/AndroidJavaConverter.cs @@ -0,0 +1,165 @@ +// +// Copyright (C) 2015 Google Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// + +#if UNITY_ANDROID +namespace GooglePlayGames.Android +{ + using GooglePlayGames.BasicApi; + using GooglePlayGames.BasicApi.SavedGame; + using OurUtils; + using UnityEngine; + using UnityEngine.SocialPlatforms; + using System; + using System.Collections.Generic; + + internal class AndroidJavaConverter + { + internal static System.DateTime ToDateTime(long milliseconds) + { + System.DateTime result = new System.DateTime(1970, 1, 1, 0, 0, 0, 0); + return result.AddMilliseconds(milliseconds); + } + + // Convert to LeaderboardVariant.java#TimeSpan + internal static int ToLeaderboardVariantTimeSpan(LeaderboardTimeSpan span) + { + switch (span) + { + case LeaderboardTimeSpan.Daily: + return 0 /* TIME_SPAN_DAILY */; + case LeaderboardTimeSpan.Weekly: + return 1 /* TIME_SPAN_WEEKLY */; + case LeaderboardTimeSpan.AllTime: + default: + return 2 /* TIME_SPAN_ALL_TIME */; + } + } + + // Convert to LeaderboardVariant.java#Collection + internal static int ToLeaderboardVariantCollection(LeaderboardCollection collection) + { + switch (collection) + { + case LeaderboardCollection.Social: + return 3 /* COLLECTION_FRIENDS */; + case LeaderboardCollection.Public: + default: + return 0 /* COLLECTION_PUBLIC */; + } + } + + // Convert to PageDirection.java#Direction + internal static int ToPageDirection(ScorePageDirection direction) + { + switch (direction) + { + case ScorePageDirection.Forward: + return 0 /* NEXT */; + case ScorePageDirection.Backward: + return 1 /* PREV */; + default: + return -1 /* NONE */; + } + } + + internal static Player ToPlayer(AndroidJavaObject player) + { + if (player == null) + { + return null; + } + + string displayName = player.Call("getDisplayName"); + string playerId = player.Call("getPlayerId"); + string avatarUrl = player.Call("getIconImageUrl"); + return new Player(displayName, playerId, avatarUrl); + } + + internal static PlayerProfile ToPlayerProfile(AndroidJavaObject player) { + if (player == null) { + return null; + } + + string displayName = player.Call("getDisplayName"); + string playerId = player.Call("getPlayerId"); + string avatarUrl = player.Call("getIconImageUrl"); + bool isFriend = + player.Call("getRelationshipInfo").Call("getFriendStatus") == + 4 /* PlayerFriendStatus.Friend*/; + return new PlayerProfile(displayName, playerId, avatarUrl, isFriend); + } + + internal static List ToStringList(AndroidJavaObject stringList) + { + if (stringList == null) + { + return new List(); + } + + int size = stringList.Call("size"); + List converted = new List(size); + + for (int i = 0; i < size; i++) + { + converted.Add(stringList.Call("get", i)); + } + + return converted; + } + + // from C#: List to Java: ArrayList + internal static AndroidJavaObject ToJavaStringList(List list) + { + AndroidJavaObject converted = new AndroidJavaObject("java.util.ArrayList"); + for (int i = 0; i < list.Count; i++) + { + converted.Call("add", list[i]); + } + + return converted; + } + + internal static FriendsListVisibilityStatus ToFriendsListVisibilityStatus(int playerListVisibility) { + switch (playerListVisibility) + { + case /* FriendsListVisibilityStatus.UNKNOWN */ 0: + return FriendsListVisibilityStatus.Unknown; + case /* FriendsListVisibilityStatus.VISIBLE */ 1: + return FriendsListVisibilityStatus.Visible; + case /* FriendsListVisibilityStatus.REQUEST_REQUIRED */ 2: + return FriendsListVisibilityStatus.ResolutionRequired; + case /* FriendsListVisibilityStatus.FEATURE_UNAVAILABLE */ 3: + return FriendsListVisibilityStatus.Unavailable; + default: + return FriendsListVisibilityStatus.Unknown; + } + } + + internal static IUserProfile[] playersBufferToArray(AndroidJavaObject playersBuffer) { + int count = playersBuffer.Call("getCount"); + IUserProfile[] users = new IUserProfile[count]; + for (int i = 0; i < count; ++i) { + using (var player = playersBuffer.Call("get", i)) { + users[i] = AndroidJavaConverter.ToPlayerProfile(player); + } + } + + playersBuffer.Call("release"); + return users; + } + } +} +#endif diff --git a/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/Platforms/Android/AndroidJavaConverter.cs.meta b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/Platforms/Android/AndroidJavaConverter.cs.meta new file mode 100644 index 00000000..6c15f8b6 --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/Platforms/Android/AndroidJavaConverter.cs.meta @@ -0,0 +1,14 @@ +fileFormatVersion: 2 +guid: d498c17d61b504b4f984a99b4542d02f +labels: +- gvh +- gvh_version-2.1.0 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/Platforms/Android/AndroidNearbyConnectionClient.cs b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/Platforms/Android/AndroidNearbyConnectionClient.cs new file mode 100644 index 00000000..654488cb --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/Platforms/Android/AndroidNearbyConnectionClient.cs @@ -0,0 +1,443 @@ +#if UNITY_ANDROID +#pragma warning disable 0642 // Possible mistaken empty statement + +namespace GooglePlayGames.Android +{ + using System; + using System.Collections.Generic; + using GooglePlayGames.BasicApi; + using GooglePlayGames.BasicApi.Nearby; + using GooglePlayGames.OurUtils; + using UnityEngine; + + public class AndroidNearbyConnectionClient : INearbyConnectionClient + { + private volatile AndroidJavaObject mClient; + private readonly static long NearbyClientId = 0L; + private readonly static int ApplicationInfoFlags = 0x00000080; + private readonly static string ServiceId = ReadServiceId(); + protected IMessageListener mAdvertisingMessageListener; + + public AndroidNearbyConnectionClient() + { + PlayGamesHelperObject.CreateObject(); + NearbyHelperObject.CreateObject(this); + using (var nearbyClass = new AndroidJavaClass("com.google.android.gms.nearby.Nearby")) + { + mClient = nearbyClass.CallStatic("getConnectionsClient", + AndroidHelperFragment.GetActivity()); + } + } + + public int MaxUnreliableMessagePayloadLength() + { + return NearbyConnectionConfiguration.MaxUnreliableMessagePayloadLength; + } + + public int MaxReliableMessagePayloadLength() + { + return NearbyConnectionConfiguration.MaxReliableMessagePayloadLength; + } + + public void SendReliable(List recipientEndpointIds, byte[] payload) + { + InternalSend(recipientEndpointIds, payload); + } + + public void SendUnreliable(List recipientEndpointIds, byte[] payload) + { + InternalSend(recipientEndpointIds, payload); + } + + private void InternalSend(List recipientEndpointIds, byte[] payload) + { + Misc.CheckNotNull(recipientEndpointIds); + Misc.CheckNotNull(payload); + + using (var payloadClass = new AndroidJavaClass("com.google.android.gms.nearby.connection.Payload")) + using (var payloadObject = payloadClass.CallStatic("fromBytes", payload)) + using (var task = mClient.Call("sendPayload", + AndroidJavaConverter.ToJavaStringList(recipientEndpointIds), + payloadObject)) + ; + } + + public void StartAdvertising(string name, List appIdentifiers, + TimeSpan? advertisingDuration, Action resultCallback, + Action connectionRequestCallback) + { + Misc.CheckNotNull(resultCallback, "resultCallback"); + Misc.CheckNotNull(connectionRequestCallback, "connectionRequestCallback"); + + if (advertisingDuration.HasValue && advertisingDuration.Value.Ticks < 0) + { + throw new InvalidOperationException("advertisingDuration must be positive"); + } + + connectionRequestCallback = ToOnGameThread(connectionRequestCallback); + resultCallback = ToOnGameThread(resultCallback); + + AdvertisingConnectionLifecycleCallbackProxy callbackProxy = + new AdvertisingConnectionLifecycleCallbackProxy(resultCallback, connectionRequestCallback, this); + using (var connectionLifecycleCallback = + new AndroidJavaObject("com.google.games.bridge.ConnectionLifecycleCallbackProxy", callbackProxy)) + using (var advertisingOptions = CreateAdvertisingOptions()) + using (var task = mClient.Call("startAdvertising", name, GetServiceId(), + connectionLifecycleCallback, advertisingOptions)) + { + AndroidTaskUtils.AddOnSuccessListener( + task, + v => NearbyHelperObject.StartAdvertisingTimer(advertisingDuration) + ); + } + } + + private AndroidJavaObject CreateAdvertisingOptions() + { + using (var strategy = new AndroidJavaClass("com.google.android.gms.nearby.connection.Strategy") + .GetStatic("P2P_CLUSTER")) + using (var builder = + new AndroidJavaObject("com.google.android.gms.nearby.connection.AdvertisingOptions$Builder")) + using (builder.Call("setStrategy", strategy)) + { + return builder.Call("build"); + } + } + + private class AdvertisingConnectionLifecycleCallbackProxy : AndroidJavaProxy + { + private Action mResultCallback; + private Action mConnectionRequestCallback; + private AndroidNearbyConnectionClient mClient; + private string mLocalEndpointName; + + public AdvertisingConnectionLifecycleCallbackProxy(Action resultCallback, + Action connectionRequestCallback, AndroidNearbyConnectionClient client) : base( + "com/google/games/bridge/ConnectionLifecycleCallbackProxy$Callback") + { + mResultCallback = resultCallback; + mConnectionRequestCallback = connectionRequestCallback; + mClient = client; + } + + public void onConnectionInitiated(string endpointId, AndroidJavaObject connectionInfo) + { + mLocalEndpointName = connectionInfo.Call("getEndpointName"); + mConnectionRequestCallback(new ConnectionRequest(endpointId, mLocalEndpointName, mClient.GetServiceId(), + new byte[0])); + } + + public void onConnectionResult(string endpointId, AndroidJavaObject connectionResolution) + { + int statusCode; + using (var status = connectionResolution.Call("getStatus")) + { + statusCode = status.Call("getStatusCode"); + } + + if (statusCode == 0) // STATUS_OK + { + mResultCallback(new AdvertisingResult(ResponseStatus.Success, mLocalEndpointName)); + return; + } + + if (statusCode == 8001) // STATUS_ALREADY_ADVERTISING + { + mResultCallback(new AdvertisingResult(ResponseStatus.NotAuthorized, mLocalEndpointName)); + return; + } + + mResultCallback(new AdvertisingResult(ResponseStatus.InternalError, mLocalEndpointName)); + } + + public void onDisconnected(string endpointId) + { + if (mClient.mAdvertisingMessageListener != null) + { + mClient.mAdvertisingMessageListener.OnRemoteEndpointDisconnected(endpointId); + } + } + } + + public void StopAdvertising() + { + mClient.Call("stopAdvertising"); + mAdvertisingMessageListener = null; + } + + public void SendConnectionRequest(string name, string remoteEndpointId, byte[] payload, + Action responseCallback, IMessageListener listener) + { + Misc.CheckNotNull(listener, "listener"); + var listenerOnGameThread = new OnGameThreadMessageListener(listener); + DiscoveringConnectionLifecycleCallback cb = + new DiscoveringConnectionLifecycleCallback(responseCallback, listenerOnGameThread, mClient); + using (var connectionLifecycleCallback = + new AndroidJavaObject("com.google.games.bridge.ConnectionLifecycleCallbackProxy", cb)) + using (mClient.Call("requestConnection", name, remoteEndpointId, + connectionLifecycleCallback)) + ; + } + + public void AcceptConnectionRequest(string remoteEndpointId, byte[] payload, IMessageListener listener) + { + Misc.CheckNotNull(listener, "listener"); + mAdvertisingMessageListener = new OnGameThreadMessageListener(listener); + + using (var payloadCallback = new AndroidJavaObject("com.google.games.bridge.PayloadCallbackProxy", + new PayloadCallback(listener))) + using (mClient.Call("acceptConnection", remoteEndpointId, payloadCallback)) + ; + } + + private class PayloadCallback : AndroidJavaProxy + { + private IMessageListener mListener; + + public PayloadCallback(IMessageListener listener) : base( + "com/google/games/bridge/PayloadCallbackProxy$Callback") + { + mListener = listener; + } + + public void onPayloadReceived(String endpointId, AndroidJavaObject payload) + { + if (payload.Call("getType") != 1) // 1 for BYTES + { + return; + } + + mListener.OnMessageReceived(endpointId, payload.Call("asBytes"), /* isReliableMessage */ true); + } + } + + public void StartDiscovery(string serviceId, TimeSpan? advertisingDuration, + IDiscoveryListener listener) + { + Misc.CheckNotNull(serviceId, "serviceId"); + Misc.CheckNotNull(listener, "listener"); + + var listenerOnGameThread = new OnGameThreadDiscoveryListener(listener); + + if (advertisingDuration.HasValue && advertisingDuration.Value.Ticks < 0) + { + throw new InvalidOperationException("advertisingDuration must be positive"); + } + + using (var endpointDiscoveryCallback = new AndroidJavaObject( + "com.google.games.bridge.EndpointDiscoveryCallbackProxy", + new EndpointDiscoveryCallback(listenerOnGameThread))) + using (var discoveryOptions = CreateDiscoveryOptions()) + using (var task = mClient.Call("startDiscovery", serviceId, endpointDiscoveryCallback, + discoveryOptions)) + { + AndroidTaskUtils.AddOnSuccessListener( + task, + v => NearbyHelperObject.StartDiscoveryTimer(advertisingDuration) + ); + } + } + + private class DiscoveringConnectionLifecycleCallback : AndroidJavaProxy + { + private Action mResponseCallback; + private IMessageListener mListener; + private AndroidJavaObject mClient; + + public DiscoveringConnectionLifecycleCallback(Action responseCallback, + IMessageListener listener, AndroidJavaObject client) : base( + "com/google/games/bridge/ConnectionLifecycleCallbackProxy$Callback") + { + mResponseCallback = responseCallback; + mListener = listener; + mClient = client; + } + + public void onConnectionInitiated(string endpointId, AndroidJavaObject connectionInfo) + { + using (var payloadCallback = new AndroidJavaObject("com.google.games.bridge.PayloadCallbackProxy", + new PayloadCallback(mListener))) + using (mClient.Call("acceptConnection", endpointId, payloadCallback)) + ; + } + + public void onConnectionResult(string endpointId, AndroidJavaObject connectionResolution) + { + int statusCode; + using (var status = connectionResolution.Call("getStatus")) + { + statusCode = status.Call("getStatusCode"); + } + + if (statusCode == 0) // STATUS_OK + { + mResponseCallback(ConnectionResponse.Accepted(NearbyClientId, endpointId, new byte[0])); + return; + } + + if (statusCode == 8002) // STATUS_ALREADY_DISCOVERING + { + mResponseCallback(ConnectionResponse.AlreadyConnected(NearbyClientId, endpointId)); + return; + } + + mResponseCallback(ConnectionResponse.Rejected(NearbyClientId, endpointId)); + } + + public void onDisconnected(string endpointId) + { + mListener.OnRemoteEndpointDisconnected(endpointId); + } + } + + private AndroidJavaObject CreateDiscoveryOptions() + { + using (var strategy = + new AndroidJavaClass("com.google.android.gms.nearby.connection.Strategy").GetStatic( + "P2P_CLUSTER")) + using (var builder = + new AndroidJavaObject("com.google.android.gms.nearby.connection.DiscoveryOptions$Builder")) + using (builder.Call("setStrategy", strategy)) + { + return builder.Call("build"); + } + } + + private class EndpointDiscoveryCallback : AndroidJavaProxy + { + private IDiscoveryListener mListener; + + public EndpointDiscoveryCallback(IDiscoveryListener listener) : base( + "com/google/games/bridge/EndpointDiscoveryCallbackProxy$Callback") + { + mListener = listener; + } + + public void onEndpointFound(string endpointId, AndroidJavaObject endpointInfo) + { + mListener.OnEndpointFound(CreateEndPointDetails(endpointId, endpointInfo)); + } + + public void onEndpointLost(string endpointId) + { + mListener.OnEndpointLost(endpointId); + } + + private EndpointDetails CreateEndPointDetails(string endpointId, AndroidJavaObject endpointInfo) + { + return new EndpointDetails( + endpointId, + endpointInfo.Call("getEndpointName"), + endpointInfo.Call("getServiceId") + ); + } + } + + private class OnGameThreadMessageListener : IMessageListener + { + private readonly IMessageListener mListener; + + public OnGameThreadMessageListener(IMessageListener listener) + { + mListener = Misc.CheckNotNull(listener); + } + + public void OnMessageReceived(string remoteEndpointId, byte[] data, + bool isReliableMessage) + { + PlayGamesHelperObject.RunOnGameThread(() => mListener.OnMessageReceived( + remoteEndpointId, data, isReliableMessage)); + } + + public void OnRemoteEndpointDisconnected(string remoteEndpointId) + { + PlayGamesHelperObject.RunOnGameThread( + () => mListener.OnRemoteEndpointDisconnected(remoteEndpointId)); + } + } + + private class OnGameThreadDiscoveryListener : IDiscoveryListener + { + private readonly IDiscoveryListener mListener; + + public OnGameThreadDiscoveryListener(IDiscoveryListener listener) + { + mListener = listener; + } + + public void OnEndpointFound(EndpointDetails discoveredEndpoint) + { + PlayGamesHelperObject.RunOnGameThread(() => mListener.OnEndpointFound(discoveredEndpoint)); + } + + public void OnEndpointLost(string lostEndpointId) + { + PlayGamesHelperObject.RunOnGameThread(() => mListener.OnEndpointLost(lostEndpointId)); + } + } + + public void StopDiscovery(string serviceId) + { + mClient.Call("stopDiscovery"); + } + + public void RejectConnectionRequest(string requestingEndpointId) + { + Misc.CheckNotNull(requestingEndpointId, "requestingEndpointId"); + using (var task = mClient.Call("rejectConnection", requestingEndpointId)) ; + } + + public void DisconnectFromEndpoint(string remoteEndpointId) + { + mClient.Call("disconnectFromEndpoint", remoteEndpointId); + } + + public void StopAllConnections() + { + mClient.Call("stopAllEndpoints"); + mAdvertisingMessageListener = null; + } + + public string GetAppBundleId() + { + using (var activity = AndroidHelperFragment.GetActivity()) + { + return activity.Call("getPackageName"); + } + } + + public string GetServiceId() + { + return ServiceId; + } + + private static string ReadServiceId() + { + using (var activity = AndroidHelperFragment.GetActivity()) + { + string packageName = activity.Call("getPackageName"); + using (var pm = activity.Call("getPackageManager")) + using (var appInfo = + pm.Call("getApplicationInfo", packageName, ApplicationInfoFlags)) + using (var bundle = appInfo.Get("metaData")) + { + string sysId = bundle.Call("getString", + "com.google.android.gms.nearby.connection.SERVICE_ID"); + OurUtils.Logger.d("SystemId from Manifest: " + sysId); + return sysId; + } + } + } + + private static Action ToOnGameThread(Action toConvert) + { + return (val) => PlayGamesHelperObject.RunOnGameThread(() => toConvert(val)); + } + + private static Action ToOnGameThread(Action toConvert) + { + return (val1, val2) => PlayGamesHelperObject.RunOnGameThread(() => toConvert(val1, val2)); + } + } +} +#endif diff --git a/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/Platforms/Android/AndroidNearbyConnectionClient.cs.meta b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/Platforms/Android/AndroidNearbyConnectionClient.cs.meta new file mode 100644 index 00000000..f0d961e9 --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/Platforms/Android/AndroidNearbyConnectionClient.cs.meta @@ -0,0 +1,14 @@ +fileFormatVersion: 2 +guid: d69ac0a61e8943ff82b14f7469f0fe97 +labels: +- gvh +- gvh_version-2.1.0 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/Platforms/Android/AndroidSavedGameClient.cs b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/Platforms/Android/AndroidSavedGameClient.cs new file mode 100644 index 00000000..0a0616f7 --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/Platforms/Android/AndroidSavedGameClient.cs @@ -0,0 +1,526 @@ +#if UNITY_ANDROID +#pragma warning disable 0642 // Possible mistaken empty statement + +namespace GooglePlayGames.Android +{ + using System; + using System.Collections.Generic; + using System.Text.RegularExpressions; + using GooglePlayGames.BasicApi; + using GooglePlayGames.BasicApi.SavedGame; + using GooglePlayGames.OurUtils; + using UnityEngine; + + internal class AndroidSavedGameClient : ISavedGameClient + { + // Regex for a valid filename. Valid file names are between 1 and 100 characters (inclusive) + // and only include URL-safe characters: a-z, A-Z, 0-9, or the symbols "-", ".", "_", or "~". + // This regex is guarded by \A and \Z which guarantee that the entire string matches this + // regex. If these were omitted, then illegal strings containing legal subsequences would be + // allowed (since the regex would match those subsequences). + private static readonly Regex ValidFilenameRegex = new Regex(@"\A[a-zA-Z0-9-._~]{1,100}\Z"); + + private volatile AndroidJavaObject mSnapshotsClient; + private volatile AndroidClient mAndroidClient; + + public AndroidSavedGameClient(AndroidClient androidClient) + { + mAndroidClient = androidClient; + using (var gamesClass = new AndroidJavaClass("com.google.android.gms.games.PlayGames")) + { + mSnapshotsClient = gamesClass.CallStatic("getSnapshotsClient", + AndroidHelperFragment.GetActivity()); + } + } + + public void OpenWithAutomaticConflictResolution(string filename, DataSource source, + ConflictResolutionStrategy resolutionStrategy, + Action completedCallback) + { + Misc.CheckNotNull(filename); + Misc.CheckNotNull(completedCallback); + bool prefetchDataOnConflict = false; + ConflictCallback conflictCallback = null; + completedCallback = ToOnGameThread(completedCallback); + + if (conflictCallback == null) + { + conflictCallback = (resolver, original, originalData, unmerged, unmergedData) => + { + switch (resolutionStrategy) + { + case ConflictResolutionStrategy.UseOriginal: + resolver.ChooseMetadata(original); + return; + case ConflictResolutionStrategy.UseUnmerged: + resolver.ChooseMetadata(unmerged); + return; + case ConflictResolutionStrategy.UseLongestPlaytime: + if (original.TotalTimePlayed >= unmerged.TotalTimePlayed) + { + resolver.ChooseMetadata(original); + } + else + { + resolver.ChooseMetadata(unmerged); + } + + return; + default: + OurUtils.Logger.e("Unhandled strategy " + resolutionStrategy); + completedCallback(SavedGameRequestStatus.InternalError, null); + return; + } + }; + } + + conflictCallback = ToOnGameThread(conflictCallback); + + if (!IsValidFilename(filename)) + { + OurUtils.Logger.e("Received invalid filename: " + filename); + completedCallback(SavedGameRequestStatus.BadInputError, null); + return; + } + + InternalOpen(filename, source, resolutionStrategy, prefetchDataOnConflict, conflictCallback, + completedCallback); + } + + public void OpenWithManualConflictResolution(string filename, DataSource source, bool prefetchDataOnConflict, + ConflictCallback conflictCallback, Action completedCallback) + { + Misc.CheckNotNull(filename); + Misc.CheckNotNull(conflictCallback); + Misc.CheckNotNull(completedCallback); + + conflictCallback = ToOnGameThread(conflictCallback); + completedCallback = ToOnGameThread(completedCallback); + + if (!IsValidFilename(filename)) + { + OurUtils.Logger.e("Received invalid filename: " + filename); + completedCallback(SavedGameRequestStatus.BadInputError, null); + return; + } + + InternalOpen(filename, source, ConflictResolutionStrategy.UseManual, prefetchDataOnConflict, + conflictCallback, completedCallback); + } + + private void InternalOpen(string filename, DataSource source, ConflictResolutionStrategy resolutionStrategy, + bool prefetchDataOnConflict, ConflictCallback conflictCallback, + Action completedCallback) + { + int conflictPolicy; // SnapshotsClient.java#RetentionPolicy + switch (resolutionStrategy) + { + case ConflictResolutionStrategy.UseLastKnownGood: + conflictPolicy = 2 /* RESOLUTION_POLICY_LAST_KNOWN_GOOD */; + break; + case ConflictResolutionStrategy.UseMostRecentlySaved: + conflictPolicy = 3 /* RESOLUTION_POLICY_MOST_RECENTLY_MODIFIED */; + break; + case ConflictResolutionStrategy.UseLongestPlaytime: + conflictPolicy = 1 /* RESOLUTION_POLICY_LONGEST_PLAYTIME*/; + break; + case ConflictResolutionStrategy.UseManual: + conflictPolicy = -1 /* RESOLUTION_POLICY_MANUAL */; + break; + default: + conflictPolicy = 3 /* RESOLUTION_POLICY_MOST_RECENTLY_MODIFIED */; + break; + } + + using (var task = + mSnapshotsClient.Call("open", filename, /* createIfNotFound= */ true, + conflictPolicy)) + { + AndroidTaskUtils.AddOnSuccessListener( + task, + dataOrConflict => + { + if (dataOrConflict.Call("isConflict")) + { + var conflict = dataOrConflict.Call("getConflict"); + AndroidSnapshotMetadata original = + new AndroidSnapshotMetadata(conflict.Call("getSnapshot")); + AndroidSnapshotMetadata unmerged = + new AndroidSnapshotMetadata( + conflict.Call("getConflictingSnapshot")); + + // Instantiate the conflict resolver. Note that the retry callback closes over + // all the parameters we need to retry the open attempt. Once the conflict is + // resolved by invoking the appropriate resolution method on + // AndroidConflictResolver, the resolver will invoke this callback, which will + // result in this method being re-executed. This recursion will continue until + // all conflicts are resolved or an error occurs. + AndroidConflictResolver resolver = new AndroidConflictResolver( + this, + mSnapshotsClient, + conflict, + original, + unmerged, + completedCallback, + () => InternalOpen(filename, source, resolutionStrategy, + prefetchDataOnConflict, + conflictCallback, completedCallback)); + + var originalBytes = original.JavaContents.Call("readFully"); + var unmergedBytes = unmerged.JavaContents.Call("readFully"); + conflictCallback(resolver, original, originalBytes, unmerged, unmergedBytes); + } + else + { + using (var snapshot = dataOrConflict.Call("getData")) + { + AndroidJavaObject metadata = snapshot.Call("freeze"); + completedCallback(SavedGameRequestStatus.Success, + new AndroidSnapshotMetadata(metadata)); + } + } + }); + + AndroidTaskUtils.AddOnFailureListener( + task, + exception => { + OurUtils.Logger.d("InternalOpen has failed: " + exception.Call("toString")); + var status = mAndroidClient.IsAuthenticated() ? + SavedGameRequestStatus.InternalError : + SavedGameRequestStatus.AuthenticationError; + completedCallback(status, null); + } + ); + } + } + + public void ReadBinaryData(ISavedGameMetadata metadata, + Action completedCallback) + { + Misc.CheckNotNull(metadata); + Misc.CheckNotNull(completedCallback); + completedCallback = ToOnGameThread(completedCallback); + + AndroidSnapshotMetadata convertedMetadata = metadata as AndroidSnapshotMetadata; + + if (convertedMetadata == null) + { + OurUtils.Logger.e("Encountered metadata that was not generated by this ISavedGameClient"); + completedCallback(SavedGameRequestStatus.BadInputError, null); + return; + } + + if (!convertedMetadata.IsOpen) + { + OurUtils.Logger.e("This method requires an open ISavedGameMetadata."); + completedCallback(SavedGameRequestStatus.BadInputError, null); + return; + } + + byte[] data = convertedMetadata.JavaContents.Call("readFully"); + if (data == null) + { + completedCallback(SavedGameRequestStatus.BadInputError, null); + } + else + { + completedCallback(SavedGameRequestStatus.Success, data); + } + } + + public void ShowSelectSavedGameUI(string uiTitle, uint maxDisplayedSavedGames, bool showCreateSaveUI, + bool showDeleteSaveUI, Action callback) + { + Misc.CheckNotNull(uiTitle); + Misc.CheckNotNull(callback); + + callback = ToOnGameThread(callback); + + if (!(maxDisplayedSavedGames > 0)) + { + OurUtils.Logger.e("maxDisplayedSavedGames must be greater than 0"); + callback(SelectUIStatus.BadInputError, null); + return; + } + + AndroidHelperFragment.ShowSelectSnapshotUI( + showCreateSaveUI, showDeleteSaveUI, (int) maxDisplayedSavedGames, uiTitle, callback); + } + + public void CommitUpdate(ISavedGameMetadata metadata, SavedGameMetadataUpdate updateForMetadata, + byte[] updatedBinaryData, Action callback) + { + Misc.CheckNotNull(metadata); + Misc.CheckNotNull(updatedBinaryData); + Misc.CheckNotNull(callback); + + callback = ToOnGameThread(callback); + + AndroidSnapshotMetadata convertedMetadata = metadata as AndroidSnapshotMetadata; + + if (convertedMetadata == null) + { + OurUtils.Logger.e("Encountered metadata that was not generated by this ISavedGameClient"); + callback(SavedGameRequestStatus.BadInputError, null); + return; + } + + if (!convertedMetadata.IsOpen) + { + OurUtils.Logger.e("This method requires an open ISavedGameMetadata."); + callback(SavedGameRequestStatus.BadInputError, null); + return; + } + + if (!convertedMetadata.JavaContents.Call("writeBytes", updatedBinaryData)) + { + OurUtils.Logger.e("This method requires an open ISavedGameMetadata."); + callback(SavedGameRequestStatus.BadInputError, null); + } + + using (var convertedMetadataChange = AsMetadataChange(updateForMetadata)) + using (var task = mSnapshotsClient.Call("commitAndClose", convertedMetadata.JavaSnapshot, + convertedMetadataChange)) + { + AndroidTaskUtils.AddOnSuccessListener( + task, + /* disposeResult= */ false, + snapshotMetadata => + { + OurUtils.Logger.d("commitAndClose.succeed"); + callback(SavedGameRequestStatus.Success, + new AndroidSnapshotMetadata(snapshotMetadata, /* contents= */null)); + }); + + AndroidTaskUtils.AddOnFailureListener( + task, + exception => + { + OurUtils.Logger.e("commitAndClose.failed: " + exception.Call("toString")); + var status = mAndroidClient.IsAuthenticated() ? + SavedGameRequestStatus.InternalError : + SavedGameRequestStatus.AuthenticationError; + callback(status, null); + }); + } + } + + public void FetchAllSavedGames(DataSource source, + Action> callback) + { + Misc.CheckNotNull(callback); + + callback = ToOnGameThread(callback); + + using (var task = + mSnapshotsClient.Call("load", /* forecReload= */ + source == DataSource.ReadNetworkOnly)) + { + AndroidTaskUtils.AddOnSuccessListener( + task, + annotatedData => + { + using (var buffer = annotatedData.Call("get")) + { + int count = buffer.Call("getCount"); + List result = new List(); + for (int i = 0; i < count; ++i) + { + using (var metadata = buffer.Call("get", i)) + { + result.Add(new AndroidSnapshotMetadata( + metadata.Call("freeze"), /* contents= */null)); + } + } + + buffer.Call("release"); + callback(SavedGameRequestStatus.Success, result); + } + }); + + AndroidTaskUtils.AddOnFailureListener( + task, + exception => { + OurUtils.Logger.d("FetchAllSavedGames failed: " + exception.Call("toString")); + var status = mAndroidClient.IsAuthenticated() ? + SavedGameRequestStatus.InternalError : + SavedGameRequestStatus.AuthenticationError; + callback(status, new List()); + } + ); + } + } + + public void Delete(ISavedGameMetadata metadata) + { + AndroidSnapshotMetadata androidMetadata = metadata as AndroidSnapshotMetadata; + Misc.CheckNotNull(androidMetadata); + using (mSnapshotsClient.Call("delete", androidMetadata.JavaMetadata)) ; + } + + private ConflictCallback ToOnGameThread(ConflictCallback conflictCallback) + { + return (resolver, original, originalData, unmerged, unmergedData) => + { + OurUtils.Logger.d("Invoking conflict callback"); + PlayGamesHelperObject.RunOnGameThread(() => + conflictCallback(resolver, original, originalData, unmerged, unmergedData)); + }; + } + + /// + /// A helper class that encapsulates the state around resolving a file conflict. It holds all + /// the state that is necessary to invoke as well as a + /// callback that will re-attempt to open the file after the resolution concludes. + /// + private class AndroidConflictResolver : IConflictResolver + { + private readonly AndroidJavaObject mSnapshotsClient; + private readonly AndroidJavaObject mConflict; + private readonly AndroidSnapshotMetadata mOriginal; + private readonly AndroidSnapshotMetadata mUnmerged; + private readonly Action mCompleteCallback; + private readonly Action mRetryFileOpen; + + private readonly AndroidSavedGameClient mAndroidSavedGameClient; + + internal AndroidConflictResolver(AndroidSavedGameClient androidSavedGameClient, AndroidJavaObject snapshotClient, AndroidJavaObject conflict, + AndroidSnapshotMetadata original, AndroidSnapshotMetadata unmerged, + Action completeCallback, Action retryOpen) + { + this.mAndroidSavedGameClient = androidSavedGameClient; + this.mSnapshotsClient = Misc.CheckNotNull(snapshotClient); + this.mConflict = Misc.CheckNotNull(conflict); + this.mOriginal = Misc.CheckNotNull(original); + this.mUnmerged = Misc.CheckNotNull(unmerged); + this.mCompleteCallback = Misc.CheckNotNull(completeCallback); + this.mRetryFileOpen = Misc.CheckNotNull(retryOpen); + } + + public void ResolveConflict(ISavedGameMetadata chosenMetadata, SavedGameMetadataUpdate metadataUpdate, + byte[] updatedData) + { + AndroidSnapshotMetadata convertedMetadata = chosenMetadata as AndroidSnapshotMetadata; + + if (convertedMetadata != mOriginal && convertedMetadata != mUnmerged) + { + OurUtils.Logger.e("Caller attempted to choose a version of the metadata that was not part " + + "of the conflict"); + mCompleteCallback(SavedGameRequestStatus.BadInputError, null); + return; + } + + using (var contentUpdate = mConflict.Call("getResolutionSnapshotContents")) + { + if (!contentUpdate.Call("writeBytes", updatedData)) + { + OurUtils.Logger.e("Can't update snapshot contents during conflict resolution."); + mCompleteCallback(SavedGameRequestStatus.BadInputError, null); + } + + using (var convertedMetadataChange = AsMetadataChange(metadataUpdate)) + using (var task = mSnapshotsClient.Call( + "resolveConflict", + mConflict.Call("getConflictId"), + convertedMetadata.JavaMetadata.Call("getSnapshotId"), + convertedMetadataChange, + contentUpdate)) + { + AndroidTaskUtils.AddOnSuccessListener( + task, + dataOrConflict => mRetryFileOpen()); + + AndroidTaskUtils.AddOnFailureListener( + task, + exception => { + OurUtils.Logger.d("ResolveConflict failed: " + exception.Call("toString")); + var status = mAndroidSavedGameClient.mAndroidClient.IsAuthenticated() ? + SavedGameRequestStatus.InternalError : + SavedGameRequestStatus.AuthenticationError; + mCompleteCallback(status, null); + } + ); + } + } + } + + public void ChooseMetadata(ISavedGameMetadata chosenMetadata) + { + AndroidSnapshotMetadata convertedMetadata = chosenMetadata as AndroidSnapshotMetadata; + + if (convertedMetadata != mOriginal && convertedMetadata != mUnmerged) + { + OurUtils.Logger.e("Caller attempted to choose a version of the metadata that was not part " + + "of the conflict"); + mCompleteCallback(SavedGameRequestStatus.BadInputError, null); + return; + } + + using (var task = mSnapshotsClient.Call( + "resolveConflict", mConflict.Call("getConflictId"), convertedMetadata.JavaSnapshot)) + { + AndroidTaskUtils.AddOnSuccessListener( + task, + dataOrConflict => mRetryFileOpen()); + + AndroidTaskUtils.AddOnFailureListener( + task, + exception => { + OurUtils.Logger.d("ChooseMetadata failed: " + exception.Call("toString")); + var status = mAndroidSavedGameClient.mAndroidClient.IsAuthenticated() ? + SavedGameRequestStatus.InternalError : + SavedGameRequestStatus.AuthenticationError; + mCompleteCallback(status, null); + } + ); + } + } + } + + internal static bool IsValidFilename(string filename) + { + if (filename == null) + { + return false; + } + + return ValidFilenameRegex.IsMatch(filename); + } + + private static AndroidJavaObject AsMetadataChange(SavedGameMetadataUpdate update) + { + using (var builder = + new AndroidJavaObject("com.google.android.gms.games.snapshot.SnapshotMetadataChange$Builder")) + { + if (update.IsCoverImageUpdated) + { + using (var bitmapFactory = new AndroidJavaClass("android.graphics.BitmapFactory")) + using (var bitmap = bitmapFactory.CallStatic( + "decodeByteArray", update.UpdatedPngCoverImage, /* offset= */0, + update.UpdatedPngCoverImage.Length)) + using (builder.Call("setCoverImage", bitmap)) + ; + } + + if (update.IsDescriptionUpdated) + { + using (builder.Call("setDescription", update.UpdatedDescription)) ; + } + + if (update.IsPlayedTimeUpdated) + { + using (builder.Call("setPlayedTimeMillis", + Convert.ToInt64(update.UpdatedPlayedTime.Value.TotalMilliseconds))) ; + } + + return builder.Call("build"); + } + } + + private static Action ToOnGameThread(Action toConvert) + { + return (val1, val2) => PlayGamesHelperObject.RunOnGameThread(() => toConvert(val1, val2)); + } + } +} +#endif diff --git a/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/Platforms/Android/AndroidSavedGameClient.cs.meta b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/Platforms/Android/AndroidSavedGameClient.cs.meta new file mode 100644 index 00000000..e42a0731 --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/Platforms/Android/AndroidSavedGameClient.cs.meta @@ -0,0 +1,14 @@ +fileFormatVersion: 2 +guid: a52ca79a06d83464e89d0d052c9af7d9 +labels: +- gvh +- gvh_version-2.1.0 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/Platforms/Android/AndroidSnapshotMetadata.cs b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/Platforms/Android/AndroidSnapshotMetadata.cs new file mode 100644 index 00000000..23623fbe --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/Platforms/Android/AndroidSnapshotMetadata.cs @@ -0,0 +1,90 @@ +#if UNITY_ANDROID + +namespace GooglePlayGames.Android +{ + using System; + using System.Collections.Generic; + using GooglePlayGames.BasicApi; + using GooglePlayGames.BasicApi.SavedGame; + using UnityEngine; + + internal class AndroidSnapshotMetadata : ISavedGameMetadata + { + private AndroidJavaObject mJavaSnapshot; + private AndroidJavaObject mJavaMetadata; + private AndroidJavaObject mJavaContents; + + public AndroidSnapshotMetadata(AndroidJavaObject javaSnapshot) + { + mJavaSnapshot = javaSnapshot; + mJavaMetadata = javaSnapshot.Call("getMetadata"); + mJavaContents = javaSnapshot.Call("getSnapshotContents"); + } + + public AndroidSnapshotMetadata(AndroidJavaObject javaMetadata, AndroidJavaObject javaContents) + { + mJavaSnapshot = null; + mJavaMetadata = javaMetadata; + mJavaContents = javaContents; + } + + public AndroidJavaObject JavaSnapshot + { + get { return mJavaSnapshot; } + } + + public AndroidJavaObject JavaMetadata + { + get { return mJavaMetadata; } + } + + public AndroidJavaObject JavaContents + { + get { return mJavaContents; } + } + + public bool IsOpen + { + get + { + if (mJavaContents == null) + { + return false; + } + + return !mJavaContents.Call("isClosed"); + } + } + + public string Filename + { + get { return mJavaMetadata.Call("getUniqueName"); } + } + + public string Description + { + get { return mJavaMetadata.Call("getDescription"); } + } + + public string CoverImageURL + { + get { return mJavaMetadata.Call("getCoverImageUrl"); } + } + + public TimeSpan TotalTimePlayed + { + get { return TimeSpan.FromMilliseconds(mJavaMetadata.Call("getPlayedTime")); } + } + + public DateTime LastModifiedTimestamp + { + get + { + long timestamp = mJavaMetadata.Call("getLastModifiedTimestamp"); + System.DateTime lastModifiedTime = AndroidJavaConverter.ToDateTime(timestamp); + return lastModifiedTime; + } + } + } +} +#endif diff --git a/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/Platforms/Android/AndroidSnapshotMetadata.cs.meta b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/Platforms/Android/AndroidSnapshotMetadata.cs.meta new file mode 100644 index 00000000..b6112b3c --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/Platforms/Android/AndroidSnapshotMetadata.cs.meta @@ -0,0 +1,14 @@ +fileFormatVersion: 2 +guid: 330ac7fa11d9a4bc099f0db5a3c26ad7 +labels: +- gvh +- gvh_version-2.1.0 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/Platforms/Android/AndroidTaskUtils.cs b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/Platforms/Android/AndroidTaskUtils.cs new file mode 100644 index 00000000..4740cae8 --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/Platforms/Android/AndroidTaskUtils.cs @@ -0,0 +1,111 @@ +#if UNITY_ANDROID +#pragma warning disable 0642 // Possible mistaken empty statement + +namespace GooglePlayGames.Android +{ + using UnityEngine; + using System; + + class AndroidTaskUtils + { + private AndroidTaskUtils() + { + } + + public static void AddOnSuccessListener(AndroidJavaObject task, Action callback) + { + using (task.Call("addOnSuccessListener", + new TaskOnSuccessProxy(callback, /* disposeResult= */ true))) ; + } + + public static void AddOnSuccessListener(AndroidJavaObject task, bool disposeResult, Action callback) + { + using (task.Call("addOnSuccessListener", + new TaskOnSuccessProxy(callback, disposeResult))) ; + } + + public static void AddOnFailureListener(AndroidJavaObject task, Action callback) + { + using (task.Call("addOnFailureListener", new TaskOnFailedProxy(callback))) ; + } + + public static void AddOnCompleteListener(AndroidJavaObject task, Action callback) + { + using (task.Call("addOnCompleteListener", new TaskOnCompleteProxy(callback))) ; + } + + private class TaskOnCompleteProxy : AndroidJavaProxy + { + private Action mCallback; + + public TaskOnCompleteProxy(Action callback) + : base("com/google/android/gms/tasks/OnCompleteListener") + { + mCallback = callback; + } + + public void onComplete(T result) + { + if (result is IDisposable) + { + using ((IDisposable) result) + { + mCallback(result); + } + } + else + { + mCallback(result); + } + } + } + + private class TaskOnSuccessProxy : AndroidJavaProxy + { + private Action mCallback; + private bool mDisposeResult; + + public TaskOnSuccessProxy(Action callback, bool disposeResult) + : base("com/google/android/gms/tasks/OnSuccessListener") + { + mCallback = callback; + mDisposeResult = disposeResult; + } + + public void onSuccess(T result) + { + if (result is IDisposable && mDisposeResult) + { + using ((IDisposable) result) + { + mCallback(result); + } + } + else + { + mCallback(result); + } + } + } + + private class TaskOnFailedProxy : AndroidJavaProxy + { + private Action mCallback; + + public TaskOnFailedProxy(Action callback) + : base("com/google/android/gms/tasks/OnFailureListener") + { + mCallback = callback; + } + + public void onFailure(AndroidJavaObject exception) + { + using (exception) + { + mCallback(exception); + } + } + } + } +} +#endif diff --git a/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/Platforms/Android/AndroidTaskUtils.cs.meta b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/Platforms/Android/AndroidTaskUtils.cs.meta new file mode 100644 index 00000000..97db5a08 --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/Platforms/Android/AndroidTaskUtils.cs.meta @@ -0,0 +1,14 @@ +fileFormatVersion: 2 +guid: 5d045a29538404b2da664bb55de949de +labels: +- gvh +- gvh_version-2.1.0 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/Platforms/NearbyConnectionClientFactory.cs b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/Platforms/NearbyConnectionClientFactory.cs new file mode 100644 index 00000000..2122714d --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/Platforms/NearbyConnectionClientFactory.cs @@ -0,0 +1,41 @@ +// +// Copyright (C) 2014 Google Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// + +// Android only feature + +#if (UNITY_ANDROID) +namespace GooglePlayGames +{ + using UnityEngine; + using System; + using GooglePlayGames.OurUtils; + using GooglePlayGames.BasicApi.Nearby; + + public static class NearbyConnectionClientFactory + { + public static void Create(Action callback) + { + if (Application.isEditor) + { + GooglePlayGames.OurUtils.Logger.d("Creating INearbyConnection in editor, using DummyClient."); + callback.Invoke(new GooglePlayGames.BasicApi.Nearby.DummyNearbyConnectionClient()); + } + + callback.Invoke(new GooglePlayGames.Android.AndroidNearbyConnectionClient()); + } + } +} +#endif //UNITY_ANDROID \ No newline at end of file diff --git a/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/Platforms/NearbyConnectionClientFactory.cs.meta b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/Platforms/NearbyConnectionClientFactory.cs.meta new file mode 100644 index 00000000..421f95df --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/Platforms/NearbyConnectionClientFactory.cs.meta @@ -0,0 +1,14 @@ +fileFormatVersion: 2 +guid: ff1201bd0205943ba9c881e50e38156b +labels: +- gvh +- gvh_version-2.1.0 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/Platforms/PlayGamesClientFactory.cs b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/Platforms/PlayGamesClientFactory.cs new file mode 100644 index 00000000..0c1ca525 --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/Platforms/PlayGamesClientFactory.cs @@ -0,0 +1,44 @@ +// +// Copyright (C) 2014 Google Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// + +#if UNITY_ANDROID + +namespace GooglePlayGames +{ + using UnityEngine; + using GooglePlayGames.BasicApi; + using GooglePlayGames.OurUtils; + + internal class PlayGamesClientFactory + { + internal static IPlayGamesClient GetPlatformPlayGamesClient() + { + if (Application.isEditor) + { + GooglePlayGames.OurUtils.Logger.d("Creating IPlayGamesClient in editor, using DummyClient."); + return new GooglePlayGames.BasicApi.DummyClient(); + } +#if UNITY_ANDROID + GooglePlayGames.OurUtils.Logger.d("Creating Android IPlayGamesClient Client"); + return new GooglePlayGames.Android.AndroidClient(); +#else + GooglePlayGames.OurUtils.Logger.d("Cannot create IPlayGamesClient for unknown platform, returning DummyClient"); + return new GooglePlayGames.BasicApi.DummyClient(); +#endif + } + } +} +#endif diff --git a/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/Platforms/PlayGamesClientFactory.cs.meta b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/Platforms/PlayGamesClientFactory.cs.meta new file mode 100644 index 00000000..322e1f31 --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/Platforms/PlayGamesClientFactory.cs.meta @@ -0,0 +1,14 @@ +fileFormatVersion: 2 +guid: 435fc2d0dc0ba475e9c8b0796303d6dd +labels: +- gvh +- gvh_version-2.1.0 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/PluginVersion.cs b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/PluginVersion.cs new file mode 100644 index 00000000..becc1c23 --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/PluginVersion.cs @@ -0,0 +1,26 @@ +// +// Copyright (C) 2014 Google Inc. All Rights Reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// + +namespace GooglePlayGames +{ + public class PluginVersion + { + // Current Version. + public const int VersionInt = 0x20000; + public const string VersionString = "2.1.0"; + public const string VersionKey = "20100" ; + } +} diff --git a/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/PluginVersion.cs.meta b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/PluginVersion.cs.meta new file mode 100644 index 00000000..ff061ce3 --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/Runtime/Scripts/PluginVersion.cs.meta @@ -0,0 +1,14 @@ +fileFormatVersion: 2 +guid: 4539142948daf4a26bf9cd6870ffa0b2 +labels: +- gvh +- gvh_version-2.1.0 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/current-build.meta b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/current-build.meta new file mode 100644 index 00000000..fc873074 --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/current-build.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: f6681e4838fac4335aefe237b6962051 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/package.json b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/package.json new file mode 100644 index 00000000..7a3461be --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/package.json @@ -0,0 +1,11 @@ +{ + "name": "com.google.play.games", + "displayName": "Google Play Games", + "description": "The Google Play Games plugin for Unity allows you to access the Google Play Games API through Unity's social interface.", + "version": "2.1.0", + "unity": "2018.4", + "author": { + "name": "Google LLC" + }, + "dependencies": {} +} diff --git a/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/package.json.meta b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/package.json.meta new file mode 100644 index 00000000..a712c9b9 --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/GooglePlayGames/com.google.play.games/package.json.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 51dd7d46faed94b31a71d5f4cec6ce14 +labels: +- gvh +- gvh_version-2.1.0 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/trivialkart/trivialkart-unity/Assets/Plugins.meta b/trivialkart/trivialkart-unity/Assets/Plugins.meta new file mode 100644 index 00000000..15a8f8e8 --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/Plugins.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 667c401c22795467a9e2e26447d19321 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/trivialkart/trivialkart-unity/Assets/Plugins/Android.meta b/trivialkart/trivialkart-unity/Assets/Plugins/Android.meta new file mode 100644 index 00000000..fdff6ba0 --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/Plugins/Android.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 5149ba273545c40c4aed02549914eddd +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/trivialkart/trivialkart-unity/Assets/Plugins/Android/GooglePlayGamesManifest.androidlib.meta b/trivialkart/trivialkart-unity/Assets/Plugins/Android/GooglePlayGamesManifest.androidlib.meta new file mode 100644 index 00000000..fa074514 --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/Plugins/Android/GooglePlayGamesManifest.androidlib.meta @@ -0,0 +1,143 @@ +fileFormatVersion: 2 +guid: 44f4150f398dc4f22b230f8c74866383 +folderAsset: yes +timeCreated: 1504033921 +licenseType: Pro +PluginImporter: + serializedVersion: 2 + iconMap: {} + executionOrder: {} + isPreloaded: 0 + isOverridable: 0 + platformData: + data: + first: + '': Any + second: + enabled: 0 + settings: + Exclude Android: 0 + Exclude Editor: 0 + Exclude Linux: 0 + Exclude Linux64: 0 + Exclude LinuxUniversal: 0 + Exclude OSXIntel: 0 + Exclude OSXIntel64: 0 + Exclude OSXUniversal: 0 + Exclude WebGL: 0 + Exclude Win: 0 + Exclude Win64: 0 + Exclude iOS: 0 + data: + first: + '': Editor + second: + enabled: 0 + settings: + CPU: AnyCPU + OS: AnyOS + data: + first: + Android: Android + second: + enabled: 1 + settings: + CPU: ARMv7 + data: + first: + Any: + second: + enabled: 1 + settings: {} + data: + first: + Editor: Editor + second: + enabled: 1 + settings: + DefaultValueInitialized: true + data: + first: + Facebook: Win + second: + enabled: 0 + settings: + CPU: AnyCPU + data: + first: + Facebook: Win64 + second: + enabled: 0 + settings: + CPU: AnyCPU + data: + first: + Standalone: Linux + second: + enabled: 1 + settings: + CPU: x86 + data: + first: + Standalone: Linux64 + second: + enabled: 1 + settings: + CPU: x86_64 + data: + first: + Standalone: LinuxUniversal + second: + enabled: 1 + settings: {} + data: + first: + Standalone: OSXIntel + second: + enabled: 1 + settings: + CPU: AnyCPU + data: + first: + Standalone: OSXIntel64 + second: + enabled: 1 + settings: + CPU: AnyCPU + data: + first: + Standalone: OSXUniversal + second: + enabled: 1 + settings: {} + data: + first: + Standalone: Win + second: + enabled: 1 + settings: + CPU: AnyCPU + data: + first: + Standalone: Win64 + second: + enabled: 1 + settings: + CPU: AnyCPU + data: + first: + WebGL: WebGL + second: + enabled: 1 + settings: {} + data: + first: + iPhone: iOS + second: + enabled: 1 + settings: + CompileFlags: + FrameworkDependencies: + userData: + assetBundleName: + assetBundleVariant: diff --git a/trivialkart/trivialkart-unity/Assets/Plugins/Android/GooglePlayGamesManifest.androidlib/AndroidManifest.xml b/trivialkart/trivialkart-unity/Assets/Plugins/Android/GooglePlayGamesManifest.androidlib/AndroidManifest.xml new file mode 100644 index 00000000..d52df7b0 --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/Plugins/Android/GooglePlayGamesManifest.androidlib/AndroidManifest.xml @@ -0,0 +1,36 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/trivialkart/trivialkart-unity/Assets/Plugins/Android/GooglePlayGamesManifest.androidlib/project.properties b/trivialkart/trivialkart-unity/Assets/Plugins/Android/GooglePlayGamesManifest.androidlib/project.properties new file mode 100644 index 00000000..f438126c --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/Plugins/Android/GooglePlayGamesManifest.androidlib/project.properties @@ -0,0 +1,2 @@ +target=android-16 +android.library=true diff --git a/trivialkart/trivialkart-unity/Assets/Plugins/Android/gradleTemplate.properties b/trivialkart/trivialkart-unity/Assets/Plugins/Android/gradleTemplate.properties new file mode 100644 index 00000000..87046809 --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/Plugins/Android/gradleTemplate.properties @@ -0,0 +1,8 @@ +org.gradle.jvmargs=-Xmx**JVM_HEAP_SIZE**M +org.gradle.parallel=true +unityStreamingAssets=**STREAMING_ASSETS** +# Android Resolver Properties Start +android.useAndroidX=true +android.enableJetifier=true +# Android Resolver Properties End +**ADDITIONAL_PROPERTIES** diff --git a/trivialkart/trivialkart-unity/Assets/Plugins/Android/gradleTemplate.properties.meta b/trivialkart/trivialkart-unity/Assets/Plugins/Android/gradleTemplate.properties.meta new file mode 100644 index 00000000..f829bc25 --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/Plugins/Android/gradleTemplate.properties.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: f7b9547fe11104703bd4f1b243b9fbbc +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/trivialkart/trivialkart-unity/Assets/Plugins/Android/mainTemplate.gradle b/trivialkart/trivialkart-unity/Assets/Plugins/Android/mainTemplate.gradle new file mode 100644 index 00000000..05a47f8f --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/Plugins/Android/mainTemplate.gradle @@ -0,0 +1,59 @@ +apply plugin: 'com.android.library' +apply from: '../shared/keepUnitySymbols.gradle' +apply from: '../shared/common.gradle' +**APPLY_PLUGINS** + +dependencies { + implementation fileTree(dir: 'libs', include: ['*.jar']) +// Android Resolver Dependencies Start + implementation 'com.google.games:gpgs-plugin-support:2.1.0' // Assets/GooglePlayGames/com.google.play.games/Editor/GooglePlayGamesPluginDependencies.xml:11 +// Android Resolver Dependencies End +**DEPS**} + +// Android Resolver Exclusions Start +android { + packaging { + exclude ('/lib/armeabi/*' + '*') + exclude ('/lib/mips/*' + '*') + exclude ('/lib/mips64/*' + '*') + } +} +// Android Resolver Exclusions End +android { + namespace "com.unity3d.player" + ndkPath "**NDKPATH**" + ndkVersion "**NDKVERSION**" + + compileSdk **APIVERSION** + buildToolsVersion = "**BUILDTOOLS**" + + compileOptions { + sourceCompatibility JavaVersion.VERSION_17 + targetCompatibility JavaVersion.VERSION_17 + } + + defaultConfig { + minSdk **MINSDK** + targetSdk **TARGETSDK** + ndk { + abiFilters **ABIFILTERS** + debugSymbolLevel **DEBUGSYMBOLLEVEL** + } + versionCode **VERSIONCODE** + versionName '**VERSIONNAME**' + consumerProguardFiles 'proguard-unity.txt'**USER_PROGUARD** +**DEFAULT_CONFIG_SETUP** + } + + lint { + abortOnError false + } + + androidResources { + noCompress = **BUILTIN_NOCOMPRESS** + unityStreamingAssets.tokenize(', ') + ignoreAssetsPattern = "!.svn:!.git:!.ds_store:!*.scc:!CVS:!thumbs.db:!picasa.ini:!*~" + }**PACKAGING** +} +**IL_CPP_BUILD_SETUP** +**SOURCE_BUILD_SETUP** +**EXTERNAL_SOURCES** diff --git a/trivialkart/trivialkart-unity/Assets/Plugins/Android/mainTemplate.gradle.meta b/trivialkart/trivialkart-unity/Assets/Plugins/Android/mainTemplate.gradle.meta new file mode 100644 index 00000000..76be6275 --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/Plugins/Android/mainTemplate.gradle.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 96eecc41984f3470499a45f69114882b +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/trivialkart/trivialkart-unity/Assets/Plugins/Android/settingsTemplate.gradle b/trivialkart/trivialkart-unity/Assets/Plugins/Android/settingsTemplate.gradle new file mode 100644 index 00000000..ba96fdfb --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/Plugins/Android/settingsTemplate.gradle @@ -0,0 +1,30 @@ +pluginManagement { + repositories { + **ARTIFACTORYREPOSITORY** + gradlePluginPortal() + google() + mavenCentral() + } +} + +include ':launcher', ':unityLibrary' +**INCLUDES** + +dependencyResolutionManagement { + repositoriesMode.set(RepositoriesMode.PREFER_SETTINGS) + repositories { + **ARTIFACTORYREPOSITORY** + google() + mavenCentral() +// Android Resolver Repos Start + def unityProjectPath = $/file:///**DIR_UNITYPROJECT**/$.replace("\\", "/") + maven { + url (unityProjectPath + "/Assets/GeneratedLocalRepo/GooglePlayGames/com.google.play.games/Editor/m2repository") // Assets/GooglePlayGames/com.google.play.games/Editor/GooglePlayGamesPluginDependencies.xml:11 + } + mavenLocal() +// Android Resolver Repos End + flatDir { + dirs "${project(':unityLibrary').projectDir}/libs" + } + } +} diff --git a/trivialkart/trivialkart-unity/Assets/Plugins/Android/settingsTemplate.gradle.meta b/trivialkart/trivialkart-unity/Assets/Plugins/Android/settingsTemplate.gradle.meta new file mode 100644 index 00000000..57b37baa --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/Plugins/Android/settingsTemplate.gradle.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 3298dc42f184d4410855122682fffe4b +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/trivialkart/trivialkart-unity/Assets/Resources/BillingMode.json b/trivialkart/trivialkart-unity/Assets/Resources/BillingMode.json new file mode 100644 index 00000000..6f4bfb71 --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/Resources/BillingMode.json @@ -0,0 +1 @@ +{"androidStore":"GooglePlay"} \ No newline at end of file diff --git a/trivialkart/trivialkart-unity/Assets/Resources/BillingMode.json.meta b/trivialkart/trivialkart-unity/Assets/Resources/BillingMode.json.meta new file mode 100644 index 00000000..5aa3762f --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/Resources/BillingMode.json.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 120cfcbbd130d438f96b9b6dfac16132 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/trivialkart/trivialkart-unity/Assets/Scenes/TrivialKartScene_RecallAPI.unity b/trivialkart/trivialkart-unity/Assets/Scenes/TrivialKartScene_RecallAPI.unity new file mode 100644 index 00000000..e1bc343b --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/Scenes/TrivialKartScene_RecallAPI.unity @@ -0,0 +1,36276 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &1 +OcclusionCullingSettings: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: 0.25 + backfaceThreshold: 100 + m_SceneGUID: 00000000000000000000000000000000 + m_OcclusionCullingData: {fileID: 0} +--- !u!104 &2 +RenderSettings: + m_ObjectHideFlags: 0 + serializedVersion: 10 + m_Fog: 0 + m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + m_FogMode: 3 + m_FogDensity: 0.01 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1} + m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} + m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 3 + m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} + m_SkyboxMaterial: {fileID: 0} + m_HaloStrength: 0.5 + m_FlareStrength: 1 + m_FlareFadeSpeed: 3 + m_HaloTexture: {fileID: 0} + m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} + m_DefaultReflectionMode: 0 + m_DefaultReflectionResolution: 128 + m_ReflectionBounces: 1 + m_ReflectionIntensity: 1 + m_CustomReflection: {fileID: 0} + m_Sun: {fileID: 0} + m_UseRadianceAmbientProbe: 0 +--- !u!157 &3 +LightmapSettings: + m_ObjectHideFlags: 0 + serializedVersion: 13 + m_BakeOnSceneLoad: 0 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 0 + m_EnableRealtimeLightmaps: 0 + m_LightmapEditorSettings: + serializedVersion: 12 + m_Resolution: 2 + m_BakeResolution: 40 + m_AtlasSize: 1024 + m_AO: 0 + m_AOMaxDistance: 1 + m_CompAOExponent: 1 + m_CompAOExponentDirect: 0 + m_ExtractAmbientOcclusion: 0 + m_Padding: 2 + m_LightmapParameters: {fileID: 0} + m_LightmapsBakeMode: 1 + m_TextureCompression: 1 + m_ReflectionCompression: 2 + m_MixedBakeMode: 2 + m_BakeBackend: 1 + m_PVRSampling: 1 + m_PVRDirectSampleCount: 32 + m_PVRSampleCount: 512 + m_PVRBounces: 2 + m_PVREnvironmentSampleCount: 512 + m_PVREnvironmentReferencePointCount: 2048 + m_PVRFilteringMode: 2 + m_PVRDenoiserTypeDirect: 0 + m_PVRDenoiserTypeIndirect: 0 + m_PVRDenoiserTypeAO: 0 + m_PVRFilterTypeDirect: 0 + m_PVRFilterTypeIndirect: 0 + m_PVRFilterTypeAO: 0 + m_PVREnvironmentMIS: 0 + m_PVRCulling: 1 + m_PVRFilteringGaussRadiusDirect: 1 + m_PVRFilteringGaussRadiusIndirect: 5 + m_PVRFilteringGaussRadiusAO: 2 + m_PVRFilteringAtrousPositionSigmaDirect: 0.5 + m_PVRFilteringAtrousPositionSigmaIndirect: 2 + m_PVRFilteringAtrousPositionSigmaAO: 1 + m_ExportTrainingData: 0 + m_TrainingDataDestination: TrainingData + m_LightProbeSampleCountMultiplier: 4 + m_LightingDataAsset: {fileID: 0} + m_LightingSettings: {fileID: 1995852035} +--- !u!196 &4 +NavMeshSettings: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_BuildSettings: + serializedVersion: 3 + agentTypeID: 0 + agentRadius: 0.5 + agentHeight: 2 + agentSlope: 45 + agentClimb: 0.4 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + minRegionArea: 2 + manualCellSize: 0 + cellSize: 0.16666667 + manualTileSize: 0 + tileSize: 256 + buildHeightMesh: 0 + maxJobWorkers: 0 + preserveTilesOutsideBounds: 0 + debug: + m_Flags: 0 + m_NavMeshData: {fileID: 0} +--- !u!1 &5001085 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5001086} + - component: {fileID: 5001088} + - component: {fileID: 5001087} + m_Layer: 5 + m_Name: LeaderboardText + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &5001086 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5001085} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1688263106} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 50, y: -50} + m_SizeDelta: {x: 700, y: 400} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &5001087 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5001085} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: 82730987d17d94dee82a4fc1f74af324, type: 3} + m_FontSize: 14 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 0 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: +--- !u!222 &5001088 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5001085} + m_CullTransparentMesh: 1 +--- !u!1 &8327710 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8327711} + m_Layer: 5 + m_Name: deferredPurchaseReminder + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!224 &8327711 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8327710} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 1} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1615795251} + - {fileID: 976005231} + m_Father: {fileID: 658201524} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 100, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &14350197 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 14350198} + - component: {fileID: 14350200} + - component: {fileID: 14350199} + m_Layer: 5 + m_Name: land (1) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &14350198 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 14350197} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1353145234} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0.4, y: -90.8} + m_SizeDelta: {x: 58, y: 58} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &14350199 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 14350197} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 2cb30301265d14c518963bfec692eb5c, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &14350200 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 14350197} + m_CullTransparentMesh: 1 +--- !u!1 &16853869 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 16853872} + - component: {fileID: 16853871} + - component: {fileID: 16853870} + m_Layer: 5 + m_Name: PanelBuyCoins + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!114 &16853870 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 16853869} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.38431373, g: 0.38431373, b: 0.38431373, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &16853871 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 16853869} + m_CullTransparentMesh: 1 +--- !u!224 &16853872 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 16853869} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1961366756} + - {fileID: 640405161} + m_Father: {fileID: 934722222} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 1} + m_AnchorMax: {x: 0.5, y: 1} + m_AnchoredPosition: {x: -0.000045776367, y: -11.2} + m_SizeDelta: {x: 307.2658, y: 40.048004} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &32773334 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 32773335} + - component: {fileID: 32773336} + m_Layer: 5 + m_Name: PGSPageController + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &32773335 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 32773334} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 635933294} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 100, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &32773336 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 32773334} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 72185284ab4ac455a88bc2ac80259b34, type: 3} + m_Name: + m_EditorClassIdentifier: + inputActionAsset: {fileID: -944628639613478452, guid: c44a0d3d8804e4fd887590aa86260552, type: 3} + tab: {fileID: 228858407} + signinPage: {fileID: 2136726070} + achievementPage: {fileID: 41016427} + leaderboardPage: {fileID: 1688263105} + friendsPage: {fileID: 721255555} +--- !u!1 &33244447 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 33244448} + m_Layer: 5 + m_Name: deferredPurchaseReminder + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!224 &33244448 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 33244447} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 1} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 906131437} + - {fileID: 2138181993} + m_Father: {fileID: 196393728} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: -0.000020504, y: -0.0000081062} + m_SizeDelta: {x: 100, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &33365684 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 33365685} + - component: {fileID: 33365687} + - component: {fileID: 33365686} + m_Layer: 5 + m_Name: gasCount + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &33365685 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 33365684} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 956482887} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 3.7028809, y: -16} + m_SizeDelta: {x: 150, y: 25} + m_Pivot: {x: 0, y: 0.5} +--- !u!114 &33365686 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 33365684} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.36862746, g: 0.7882353, b: 0.3647059, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &33365687 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 33365684} + m_CullTransparentMesh: 1 +--- !u!1 &41016427 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 41016428} + - component: {fileID: 41016429} + m_Layer: 5 + m_Name: AchievementsPage + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &41016428 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 41016427} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 963704569} + m_Father: {fileID: 685973730} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: -92} + m_SizeDelta: {x: 100, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &41016429 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 41016427} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fcfc0cfe3892344a381364f8a9128fbb, type: 3} + m_Name: + m_EditorClassIdentifier: + achievementText: {fileID: 963704568} +--- !u!1 &41048347 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 41048348} + - component: {fileID: 41048350} + - component: {fileID: 41048349} + m_Layer: 5 + m_Name: coin (1) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &41048348 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 41048347} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 1} + m_LocalScale: {x: 0.4, y: 0.4, z: 0.4} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1353145234} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 37.2, y: -41.400005} + m_SizeDelta: {x: 100, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &41048349 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 41048347} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 18365d95662f54c559a543e98eb34d7a, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &41048350 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 41048347} + m_CullTransparentMesh: 1 +--- !u!1 &41664092 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 41664093} + m_Layer: 0 + m_Name: Tabs + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &41664093 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 41664092} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 1} + m_LocalScale: {x: 0.3, y: 0.3, z: 0.3} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 903627573} + - {fileID: 587764106} + m_Father: {fileID: 1581781440} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: -233.2, y: 111.3} + m_SizeDelta: {x: 100, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &45068014 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 45068015} + - component: {fileID: 45068017} + - component: {fileID: 45068016} + m_Layer: 5 + m_Name: land + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &45068015 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 45068014} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1353145234} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: -56.6, y: -90.8} + m_SizeDelta: {x: 57, y: 58} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &45068016 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 45068014} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 2cb30301265d14c518963bfec692eb5c, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &45068017 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 45068014} + m_CullTransparentMesh: 1 +--- !u!1 &46006208 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 46006209} + - component: {fileID: 46006211} + - component: {fileID: 46006210} + m_Layer: 5 + m_Name: coin (4) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &46006209 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 46006208} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 1} + m_LocalScale: {x: 0.4, y: 0.4, z: 0.4} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 658201524} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: -41.099995, y: -41.400005} + m_SizeDelta: {x: 100, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &46006210 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 46006208} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 18365d95662f54c559a543e98eb34d7a, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &46006211 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 46006208} + m_CullTransparentMesh: 1 +--- !u!1 &51703361 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 51703362} + - component: {fileID: 51703364} + - component: {fileID: 51703363} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &51703362 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 51703361} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 574510997} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 100, y: -17.5} + m_SizeDelta: {x: 190, y: 30} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &51703363 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 51703361} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: 82730987d17d94dee82a4fc1f74af324, type: 3} + m_FontSize: 16 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 1 + m_MaxSize: 40 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: subscribe now! +--- !u!222 &51703364 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 51703361} + m_CullTransparentMesh: 1 +--- !u!1 &54280726 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 54280727} + - component: {fileID: 54280729} + - component: {fileID: 54280728} + m_Layer: 0 + m_Name: leaderboardIcon + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &54280727 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 54280726} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: -0.5} + m_LocalScale: {x: 0.95, y: 0.65000004, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 433447119} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 3} + m_SizeDelta: {x: 80, y: 90} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &54280728 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 54280726} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 40f5f197a62d443a79a689dcc210c3ad, type: 3} + m_Type: 0 + m_PreserveAspect: 1 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &54280729 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 54280726} + m_CullTransparentMesh: 1 +--- !u!1 &58263370 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 58263371} + - component: {fileID: 58263373} + - component: {fileID: 58263372} + m_Layer: 0 + m_Name: backGroundIcon + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &58263371 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 58263370} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: -0.5} + m_LocalScale: {x: 0.95, y: 0.6500001, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1404411602} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 3} + m_SizeDelta: {x: 80, y: 90} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &58263372 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 58263370} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 5628e29fca1e94568a764c47bd2a4f9c, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &58263373 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 58263370} + m_CullTransparentMesh: 1 +--- !u!1 &61376231 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 61376232} + - component: {fileID: 61376234} + - component: {fileID: 61376233} + m_Layer: 5 + m_Name: Image + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &61376232 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 61376231} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1913994622} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 1.102, y: -0.17297} + m_SizeDelta: {x: 172.40402, y: 239.25403} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &61376233 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 61376231} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.69803923, g: 0.69803923, b: 0.69803923, a: 0.70980394} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &61376234 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 61376231} + m_CullTransparentMesh: 1 +--- !u!1 &62320612 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 62320613} + - component: {fileID: 62320616} + - component: {fileID: 62320614} + - component: {fileID: 62320615} + m_Layer: 5 + m_Name: Item (Sedan) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &62320613 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 62320612} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 721636476} + - {fileID: 1680173495} + m_Father: {fileID: 1106596712} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0.5} + m_AnchorMax: {x: 0, y: 0.5} + m_AnchoredPosition: {x: -239.6, y: 0.79999906} + m_SizeDelta: {x: 195, y: 261} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &62320614 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 62320612} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: c0d577206ebc442f28eb6577a8fcd220, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!114 &62320615 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 62320612} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 0 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Highlighted + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 62320614} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 110421607} + m_TargetAssemblyTypeName: + m_MethodName: OnCarStoreItemClicked + m_Mode: 3 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 +--- !u!222 &62320616 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 62320612} + m_CullTransparentMesh: 1 +--- !u!1 &63346968 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 63346969} + - component: {fileID: 63346971} + - component: {fileID: 63346970} + m_Layer: 5 + m_Name: statusText + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!224 &63346969 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 63346968} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 508832420} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 4.242, y: -106} + m_SizeDelta: {x: 175.843, y: 48.892014} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &63346970 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 63346968} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: 82730987d17d94dee82a4fc1f74af324, type: 3} + m_FontSize: 27 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 2 + m_MaxSize: 40 + m_Alignment: 1 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: USING +--- !u!222 &63346971 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 63346968} + m_CullTransparentMesh: 1 +--- !u!1 &66031379 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 66031380} + - component: {fileID: 66031382} + - component: {fileID: 66031381} + m_Layer: 0 + m_Name: 'carIcon ' + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &66031380 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 66031379} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: -0.5} + m_LocalScale: {x: 0.95, y: 0.65000004, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1281542828} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0.63555, y: -0.000025034} + m_SizeDelta: {x: 103.92522, y: 124.1073} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &66031381 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 66031379} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: c41a1da6845cf4810a7261e2662f752e, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &66031382 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 66031379} + m_CullTransparentMesh: 1 +--- !u!1 &66651290 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 66651293} + - component: {fileID: 66651292} + - component: {fileID: 66651291} + m_Layer: 5 + m_Name: WaitText + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &66651291 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 66651290} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: 82730987d17d94dee82a4fc1f74af324, type: 3} + m_FontSize: 25 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 2 + m_MaxSize: 40 + m_Alignment: 0 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Please Wait +--- !u!222 &66651292 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 66651290} + m_CullTransparentMesh: 1 +--- !u!224 &66651293 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 66651290} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1413782429} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: -50, y: -5} + m_SizeDelta: {x: 250, y: 50} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &72222043 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 72222044} + - component: {fileID: 72222046} + - component: {fileID: 72222045} + m_Layer: 0 + m_Name: vipIcon + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &72222044 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 72222043} + m_LocalRotation: {x: 0, y: 0, z: -0.17364825, w: 0.9848078} + m_LocalPosition: {x: 0, y: 0, z: -0.5} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 2087359307} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: -20} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0.00006505212, y: 0} + m_SizeDelta: {x: 100, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &72222045 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 72222043} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 6de347b035e2d4e889a9cbc138671727, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &72222046 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 72222043} + m_CullTransparentMesh: 1 +--- !u!1 &77866091 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 77866092} + - component: {fileID: 77866094} + - component: {fileID: 77866093} + m_Layer: 5 + m_Name: PGSText + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &77866092 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 77866091} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1413877829} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: -0.0004272461, y: 0.0021514893} + m_SizeDelta: {x: 0.00090026855, y: 0.004306793} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &77866093 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 77866091} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.4392157, g: 0.4392157, b: 0.4392157, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: 82730987d17d94dee82a4fc1f74af324, type: 3} + m_FontSize: 35 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 3 + m_MaxSize: 40 + m_Alignment: 0 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Sign in to PGS +--- !u!222 &77866094 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 77866091} + m_CullTransparentMesh: 1 +--- !u!1 &85210836 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 85210837} + - component: {fileID: 85210838} + m_Layer: 0 + m_Name: blue_grass (5) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &85210837 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 85210836} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 35.46, y: -1.19, z: 398.446} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 213225580} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!212 &85210838 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 85210836} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_ForceMeshLod: -1 + m_MeshLodSelectionBias: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_GlobalIlluminationMeshLod: 0 + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_Sprite: {fileID: 21300000, guid: 5628e29fca1e94568a764c47bd2a4f9c, type: 3} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FlipX: 0 + m_FlipY: 0 + m_DrawMode: 0 + m_Size: {x: 10.24, y: 10.24} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 +--- !u!1 &86708216 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 86708217} + - component: {fileID: 86708219} + - component: {fileID: 86708218} + m_Layer: 5 + m_Name: coin + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &86708217 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 86708216} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 1} + m_LocalScale: {x: 0.4, y: 0.4, z: 0.4} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 196393728} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 59.504013, y: -41.33} + m_SizeDelta: {x: 100, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &86708218 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 86708216} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 18365d95662f54c559a543e98eb34d7a, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &86708219 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 86708216} + m_CullTransparentMesh: 1 +--- !u!1 &87354423 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 87354424} + - component: {fileID: 87354426} + - component: {fileID: 87354425} + m_Layer: 5 + m_Name: land (2) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &87354424 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 87354423} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 658201524} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 58.044006, y: -90.77001} + m_SizeDelta: {x: 58, y: 58} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &87354425 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 87354423} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 2cb30301265d14c518963bfec692eb5c, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &87354426 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 87354423} + m_CullTransparentMesh: 1 +--- !u!1 &90396459 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 90396460} + - component: {fileID: 90396462} + - component: {fileID: 90396461} + m_Layer: 5 + m_Name: itemText + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &90396460 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 90396459} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1353145234} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 101} + m_SizeDelta: {x: 174, y: 43.708984} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &90396461 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 90396459} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: 82730987d17d94dee82a4fc1f74af324, type: 3} + m_FontSize: 25 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 2 + m_MaxSize: 40 + m_Alignment: 1 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: 5 Coins +--- !u!222 &90396462 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 90396459} + m_CullTransparentMesh: 1 +--- !u!1 &95224769 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 95224770} + - component: {fileID: 95224772} + - component: {fileID: 95224771} + m_Layer: 5 + m_Name: WaitTint + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &95224770 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 95224769} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 882154616} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 800, y: 600} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &95224771 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 95224769} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0, g: 0, b: 0, a: 0.78039217} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &95224772 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 95224769} + m_CullTransparentMesh: 1 +--- !u!1 &95428281 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 95428282} + - component: {fileID: 95428284} + - component: {fileID: 95428283} + m_Layer: 5 + m_Name: coinCount + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &95428282 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 95428281} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1485754769} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 10.432, y: 2} + m_SizeDelta: {x: 80.13605, y: 30} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &95428283 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 95428281} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: 82730987d17d94dee82a4fc1f74af324, type: 3} + m_FontSize: 20 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 2 + m_MaxSize: 40 + m_Alignment: 1 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: 20 +--- !u!222 &95428284 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 95428281} + m_CullTransparentMesh: 1 +--- !u!1 &96156589 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 96156590} + - component: {fileID: 96156592} + - component: {fileID: 96156591} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &96156590 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 96156589} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 761588025} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: -0.0000077486, y: 11.159} + m_SizeDelta: {x: 361.65448, y: 110.538956} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &96156591 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 96156589} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: 82730987d17d94dee82a4fc1f74af324, type: 3} + m_FontSize: 14 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 1 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Complete purchase on the Google Play Store. +--- !u!222 &96156592 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 96156589} + m_CullTransparentMesh: 1 +--- !u!1 &96408348 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 96408351} + - component: {fileID: 96408350} + - component: {fileID: 96408349} + m_Layer: 5 + m_Name: TapToDriveText + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &96408349 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 96408348} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0, g: 0, b: 0, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: 82730987d17d94dee82a4fc1f74af324, type: 3} + m_FontSize: 35 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 0 + m_MaxSize: 300 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: 'tap to drive + + double tap turbo' +--- !u!222 &96408350 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 96408348} + m_CullTransparentMesh: 1 +--- !u!224 &96408351 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 96408348} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 707242308} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: -144.3, y: 58.3} + m_SizeDelta: {x: 500, y: 120} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &106613948 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 106613949} + - component: {fileID: 106613951} + - component: {fileID: 106613950} + m_Layer: 5 + m_Name: coin (8) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &106613949 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 106613948} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 1} + m_LocalScale: {x: 0.4, y: 0.4, z: 0.4} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1005024301} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: -28.199997, y: -18.800007} + m_SizeDelta: {x: 100, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &106613950 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 106613948} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 18365d95662f54c559a543e98eb34d7a, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &106613951 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 106613948} + m_CullTransparentMesh: 1 +--- !u!1 &106810685 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 106810686} + - component: {fileID: 106810688} + - component: {fileID: 106810687} + m_Layer: 5 + m_Name: CoinBar + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &106810686 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 106810685} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1697412876} + m_Father: {fileID: 1247029532} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 1} + m_AnchorMax: {x: 0.5, y: 1} + m_AnchoredPosition: {x: -342, y: -76} + m_SizeDelta: {x: 101, y: 44} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &106810687 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 106810685} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 3272d975c083c4602a976ef787de3f9f, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &106810688 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 106810685} + m_CullTransparentMesh: 1 +--- !u!1 &110356772 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 110356773} + - component: {fileID: 110356775} + - component: {fileID: 110356774} + m_Layer: 5 + m_Name: VerdictText + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &110356773 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 110356772} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1247029532} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 1} + m_AnchorMax: {x: 0.5, y: 1} + m_AnchoredPosition: {x: 0, y: -68} + m_SizeDelta: {x: 780, y: 30} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &110356774 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 110356772} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 0 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: 82730987d17d94dee82a4fc1f74af324, type: 3} + m_FontSize: 12 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 1 + m_MaxSize: 40 + m_Alignment: 1 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: +--- !u!222 &110356775 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 110356772} + m_CullTransparentMesh: 1 +--- !u!1 &110421605 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 110421606} + - component: {fileID: 110421607} + m_Layer: 5 + m_Name: CarStorePageController + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &110421606 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 110421605} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1106596712} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 100, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &110421607 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 110421605} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f05e0ad2cf48b4fce9f9f7d1705e379a, type: 3} + m_Name: + m_EditorClassIdentifier: + confirmPanel: {fileID: 1742730270} + confirmText: {fileID: 1861826579} + coinsNotEnoughReminder: {fileID: 1210520474} +--- !u!1 &112345030 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 112345033} + - component: {fileID: 112345032} + - component: {fileID: 112345031} + - component: {fileID: 112345034} + - component: {fileID: 112345035} + m_Layer: 0 + m_Name: PGSController + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &112345031 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 112345030} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 35979d29ba4aa4723b9d6d070cd9c28a, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!114 &112345032 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 112345030} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 82dba8d33c9a1446fb696d2c744179e1, type: 3} + m_Name: + m_EditorClassIdentifier: + friendsPage: {fileID: 721255555} + leaderboardPage: {fileID: 1688263105} + signinPage: {fileID: 2136726070} +--- !u!4 &112345033 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 112345030} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &112345034 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 112345030} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4d434e925f4cc4793a133de21b072fa0, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!114 &112345035 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 112345030} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 92753bc72e32c43489d5f4d7ec1b8afc, type: 3} + m_Name: + m_EditorClassIdentifier: Assembly-CSharp::PGSRecallManager +--- !u!1 &121046706 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 121046707} + - component: {fileID: 121046709} + - component: {fileID: 121046708} + m_Layer: 5 + m_Name: FriendsListText + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &121046707 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 121046706} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 721255556} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 50, y: -50} + m_SizeDelta: {x: 700, y: 400} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &121046708 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 121046706} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: 82730987d17d94dee82a4fc1f74af324, type: 3} + m_FontSize: 14 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 0 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Friends list +--- !u!222 &121046709 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 121046706} + m_CullTransparentMesh: 1 +--- !u!1 &122742391 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 122742393} + - component: {fileID: 122742392} + m_Layer: 0 + m_Name: rock + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!212 &122742392 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 122742391} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_ForceMeshLod: -1 + m_MeshLodSelectionBias: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_GlobalIlluminationMeshLod: 0 + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 2 + m_Sprite: {fileID: 21300000, guid: 0ac6560a4b3d3462a9a5c5ea9e0834fe, type: 3} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FlipX: 0 + m_FlipY: 0 + m_DrawMode: 0 + m_Size: {x: 1.28, y: 1.28} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 +--- !u!4 &122742393 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 122742391} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 9.007006, y: -2.431487, z: 398.446} + m_LocalScale: {x: 2, y: 2, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 427481935} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &125787076 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 125787077} + - component: {fileID: 125787080} + - component: {fileID: 125787079} + - component: {fileID: 125787078} + m_Layer: 5 + m_Name: Item (Truck) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!224 &125787077 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 125787076} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 726791189} + - {fileID: 1451680904} + m_Father: {fileID: 560796383} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0.5} + m_AnchorMax: {x: 0, y: 0.5} + m_AnchoredPosition: {x: -45.5, y: 94.40001} + m_SizeDelta: {x: 195, y: 261} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &125787078 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 125787076} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 0 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Highlighted + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 984682900} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 1198602001} + m_TargetAssemblyTypeName: + m_MethodName: OnCarGarageItemClicked + m_Mode: 3 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 1 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 +--- !u!114 &125787079 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 125787076} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 6da84f84cb1ad4df7832397e4a9d489e, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &125787080 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 125787076} + m_CullTransparentMesh: 1 +--- !u!1 &126712315 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 126712316} + - component: {fileID: 126712317} + m_Layer: 0 + m_Name: GasTab + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &126712316 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 126712315} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 1} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 704934409} + - {fileID: 1132136874} + m_Father: {fileID: 907958060} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &126712317 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 126712315} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 0 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Highlighted + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 0} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 1461505798} + m_TargetAssemblyTypeName: + m_MethodName: OnSwitchPageTabClicked + m_Mode: 3 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 +--- !u!1 &140605185 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 140605186} + m_Layer: 5 + m_Name: GasPage + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!224 &140605186 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 140605185} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 334957934} + - {fileID: 1124647842} + - {fileID: 1628116807} + - {fileID: 2068190052} + - {fileID: 612560964} + m_Father: {fileID: 885267311} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0} + m_AnchorMax: {x: 0.5, y: 0} + m_AnchoredPosition: {x: -0.9, y: 210.7} + m_SizeDelta: {x: 100, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &145958736 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 145958737} + - component: {fileID: 145958739} + - component: {fileID: 145958738} + m_Layer: 5 + m_Name: land (1) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &145958737 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 145958736} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1005024301} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0.6999943, y: -90.770004} + m_SizeDelta: {x: 58, y: 58} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &145958738 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 145958736} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 2cb30301265d14c518963bfec692eb5c, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &145958739 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 145958736} + m_CullTransparentMesh: 1 +--- !u!1 &149730646 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 149730647} + - component: {fileID: 149730649} + - component: {fileID: 149730648} + m_Layer: 5 + m_Name: Image + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &149730647 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 149730646} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 761588025} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: -0.000034243, y: 0.0000026226} + m_SizeDelta: {x: 361.65445, y: 229.83081} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &149730648 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 149730646} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.69803923, g: 0.69803923, b: 0.69803923, a: 0.70980394} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &149730649 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 149730646} + m_CullTransparentMesh: 1 +--- !u!1 &151449014 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 151449015} + - component: {fileID: 151449017} + - component: {fileID: 151449016} + m_Layer: 0 + m_Name: grass (10) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &151449015 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 151449014} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 26.69, y: -7.5, z: 398.38742} + m_LocalScale: {x: 2, y: 2, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 854302113} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!61 &151449016 +BoxCollider2D: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 151449014} + m_Enabled: 0 + serializedVersion: 3 + m_Density: 1 + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_ForceSendLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_ForceReceiveLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_ContactCaptureLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_CallbackLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_IsTrigger: 0 + m_UsedByEffector: 0 + m_CompositeOperation: 0 + m_CompositeOrder: 0 + m_Offset: {x: 0, y: 0} + m_SpriteTilingProperty: + border: {x: 0, y: 0, z: 0, w: 0} + pivot: {x: 0.5, y: 0.5} + oldSize: {x: 1.28, y: 1.28} + newSize: {x: 1.28, y: 1.28} + adaptiveTilingThreshold: 0.5 + drawMode: 0 + adaptiveTiling: 0 + m_AutoTiling: 0 + m_Size: {x: 1.28, y: 1.28} + m_EdgeRadius: 1 +--- !u!212 &151449017 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 151449014} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_ForceMeshLod: -1 + m_MeshLodSelectionBias: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_GlobalIlluminationMeshLod: 0 + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 1 + m_Sprite: {fileID: 21300000, guid: 2cb30301265d14c518963bfec692eb5c, type: 3} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FlipX: 0 + m_FlipY: 0 + m_DrawMode: 0 + m_Size: {x: 1.28, y: 1.28} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 +--- !u!1 &155421929 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 155421930} + - component: {fileID: 155421933} + - component: {fileID: 155421932} + - component: {fileID: 155421931} + m_Layer: 5 + m_Name: RestoreButton + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &155421930 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 155421929} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1981601474} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 362.1, y: 115.4} + m_SizeDelta: {x: 48, y: 40} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &155421931 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 155421929} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Highlighted + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 155421932} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 181028047} + m_TargetAssemblyTypeName: + m_MethodName: OnRestorePurchaseButtonClicked + m_Mode: 1 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 +--- !u!114 &155421932 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 155421929} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.7372549, g: 0.7372549, b: 0.7372549, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 72c92a550aa254648a2ae26fb49b257e, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &155421933 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 155421929} + m_CullTransparentMesh: 1 +--- !u!1 &159322225 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 159322226} + - component: {fileID: 159322228} + - component: {fileID: 159322227} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &159322226 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 159322225} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1628116807} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 122.871765, y: 37.30526} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &159322227 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 159322225} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: 82730987d17d94dee82a4fc1f74af324, type: 3} + m_FontSize: 24 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 2 + m_MaxSize: 40 + m_Alignment: 1 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Fill Gas +--- !u!222 &159322228 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 159322225} + m_CullTransparentMesh: 1 +--- !u!1 &160131317 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 160131318} + - component: {fileID: 160131320} + - component: {fileID: 160131319} + m_Layer: 0 + m_Name: green_land + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &160131318 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 160131317} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 11.138, y: -6.09, z: 398.38742} + m_LocalScale: {x: 10.137565, y: 0.5, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 854302113} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!61 &160131319 +BoxCollider2D: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 160131317} + m_Enabled: 1 + serializedVersion: 3 + m_Density: 1 + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_ForceSendLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_ForceReceiveLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_ContactCaptureLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_CallbackLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_IsTrigger: 0 + m_UsedByEffector: 0 + m_CompositeOperation: 0 + m_CompositeOrder: 0 + m_Offset: {x: 0, y: 0} + m_SpriteTilingProperty: + border: {x: 0, y: 0, z: 0, w: 0} + pivot: {x: 0.5, y: 0.5} + oldSize: {x: 6.38, y: 0.65} + newSize: {x: 6.38, y: 0.65} + adaptiveTilingThreshold: 0.5 + drawMode: 0 + adaptiveTiling: 0 + m_AutoTiling: 0 + m_Size: {x: 6.38, y: 0.65} + m_EdgeRadius: 0 +--- !u!212 &160131320 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 160131317} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_ForceMeshLod: -1 + m_MeshLodSelectionBias: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_GlobalIlluminationMeshLod: 0 + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_Sprite: {fileID: 21300000, guid: f62c113552cb0464a89ae4364bce0c33, type: 3} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FlipX: 0 + m_FlipY: 0 + m_DrawMode: 0 + m_Size: {x: 6.38, y: 0.65} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 +--- !u!1 &172629684 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 172629687} + - component: {fileID: 172629686} + - component: {fileID: 172629685} + m_Layer: 0 + m_Name: Main Camera + m_TagString: MainCamera + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!81 &172629685 +AudioListener: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 172629684} + m_Enabled: 1 +--- !u!20 &172629686 +Camera: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 172629684} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 1 + m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0} + m_projectionMatrixMode: 1 + m_GateFitMode: 2 + m_FOVAxisMode: 0 + m_Iso: 200 + m_ShutterSpeed: 0.005 + m_Aperture: 16 + m_FocusDistance: 10 + m_FocalLength: 50 + m_BladeCount: 5 + m_Curvature: {x: 2, y: 11} + m_BarrelClipping: 0.25 + m_Anamorphism: 0 + m_SensorSize: {x: 36, y: 24} + m_LensShift: {x: 0, y: 0} + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: 0.3 + far clip plane: 1000 + field of view: 60 + orthographic: 1 + orthographic size: 5 + m_Depth: -1 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingPath: -1 + m_TargetTexture: {fileID: 0} + m_TargetDisplay: 0 + m_TargetEye: 3 + m_HDR: 1 + m_AllowMSAA: 1 + m_AllowDynamicResolution: 0 + m_ForceIntoRT: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: 0.022 +--- !u!4 &172629687 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 172629684} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -11.75, y: 0.32000732, z: -10} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &181028045 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 181028046} + - component: {fileID: 181028047} + m_Layer: 5 + m_Name: GarageController + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &181028046 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 181028045} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1284203584} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 100, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &181028047 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 181028045} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: df053f2f420b74803bb7eb2fe1d2f2c9, type: 3} + m_Name: + m_EditorClassIdentifier: + inputActionAsset: {fileID: -944628639613478452, guid: c44a0d3d8804e4fd887590aa86260552, type: 3} + tab: {fileID: 41664092} + carPage: {fileID: 560796382} + backgroundPage: {fileID: 434610940} + restorePurchaseConfirmPanel: {fileID: 630752254} + restorePurchaseResultText: {fileID: 1447954936} + coinsCount: {fileID: 95428283} +--- !u!1 &181622526 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 181622527} + - component: {fileID: 181622529} + - component: {fileID: 181622528} + m_Layer: 5 + m_Name: itemText + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &181622527 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 181622526} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 344778953} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 2.2, y: 97.4} + m_SizeDelta: {x: 341.74277, y: 38.105644} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &181622528 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 181622526} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.553, g: 0.541, b: 0.541, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: 82730987d17d94dee82a4fc1f74af324, type: 3} + m_FontSize: 24 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 0 + m_MaxSize: 40 + m_Alignment: 1 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Silver +--- !u!222 &181622529 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 181622526} + m_CullTransparentMesh: 1 +--- !u!1 &182434529 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 182434530} + - component: {fileID: 182434532} + - component: {fileID: 182434531} + m_Layer: 5 + m_Name: Image + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &182434530 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 182434529} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1.5, y: 1.5, z: 1.5} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 334957934} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 11.2, y: -46.19995} + m_SizeDelta: {x: 100, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &182434531 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 182434529} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 6f47a04a8fd3c4dd09b08cb7892d0673, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &182434532 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 182434529} + m_CullTransparentMesh: 1 +--- !u!1 &190220290 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 190220291} + - component: {fileID: 190220293} + - component: {fileID: 190220292} + m_Layer: 0 + m_Name: grass (15) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &190220291 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 190220290} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -11.23, y: -7.5, z: 398.38742} + m_LocalScale: {x: 2, y: 2, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 854302113} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!61 &190220292 +BoxCollider2D: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 190220290} + m_Enabled: 0 + serializedVersion: 3 + m_Density: 1 + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_ForceSendLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_ForceReceiveLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_ContactCaptureLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_CallbackLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_IsTrigger: 0 + m_UsedByEffector: 0 + m_CompositeOperation: 0 + m_CompositeOrder: 0 + m_Offset: {x: 0, y: 0} + m_SpriteTilingProperty: + border: {x: 0, y: 0, z: 0, w: 0} + pivot: {x: 0.5, y: 0.5} + oldSize: {x: 1.28, y: 1.28} + newSize: {x: 1.28, y: 1.28} + adaptiveTilingThreshold: 0.5 + drawMode: 0 + adaptiveTiling: 0 + m_AutoTiling: 0 + m_Size: {x: 1.28, y: 1.28} + m_EdgeRadius: 1 +--- !u!212 &190220293 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 190220290} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_ForceMeshLod: -1 + m_MeshLodSelectionBias: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_GlobalIlluminationMeshLod: 0 + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 1 + m_Sprite: {fileID: 21300000, guid: 2cb30301265d14c518963bfec692eb5c, type: 3} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FlipX: 0 + m_FlipY: 0 + m_DrawMode: 0 + m_Size: {x: 1.28, y: 1.28} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 +--- !u!1 &196393727 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 196393728} + - component: {fileID: 196393731} + - component: {fileID: 196393730} + - component: {fileID: 196393729} + m_Layer: 5 + m_Name: Item (50 coins) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &196393728 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 196393727} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1079473134} + - {fileID: 1743297397} + - {fileID: 901699991} + - {fileID: 319491637} + - {fileID: 281505954} + - {fileID: 86708217} + - {fileID: 409290593} + - {fileID: 1677004924} + - {fileID: 1045735324} + - {fileID: 1207584133} + - {fileID: 1253581748} + - {fileID: 479272330} + - {fileID: 808788999} + - {fileID: 1613978348} + - {fileID: 1171889515} + - {fileID: 2130538489} + - {fileID: 895601394} + - {fileID: 1200048177} + - {fileID: 2069640799} + - {fileID: 1725105005} + - {fileID: 1419644421} + - {fileID: 1230024276} + - {fileID: 1752026901} + - {fileID: 215361351} + - {fileID: 33244448} + m_Father: {fileID: 934722222} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0.5} + m_AnchorMax: {x: 0, y: 0.5} + m_AnchoredPosition: {x: 339, y: -63.699993} + m_SizeDelta: {x: 195, y: 261} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &196393729 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 196393727} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 0 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Highlighted + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 1353145236} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 2000898529} + m_TargetAssemblyTypeName: + m_MethodName: OnCoinStoreItemClicked + m_Mode: 3 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 3 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 +--- !u!114 &196393730 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 196393727} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: f98c1e8e1f98a4d028d68c8ebc4aa032, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &196393731 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 196393727} + m_CullTransparentMesh: 1 +--- !u!1 &201945453 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 201945454} + - component: {fileID: 201945456} + - component: {fileID: 201945455} + m_Layer: 5 + m_Name: coin (1) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &201945454 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 201945453} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 1} + m_LocalScale: {x: 0.4, y: 0.4, z: 0.4} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1005024301} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 37.700005, y: -41.400005} + m_SizeDelta: {x: 100, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &201945455 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 201945453} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 18365d95662f54c559a543e98eb34d7a, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &201945456 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 201945453} + m_CullTransparentMesh: 1 +--- !u!1 &213225579 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 213225580} + m_Layer: 0 + m_Name: backGroundImages + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &213225580 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 213225579} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 663929152} + - {fileID: 1412137736} + - {fileID: 238345375} + - {fileID: 1967730368} + - {fileID: 604100076} + - {fileID: 85210837} + - {fileID: 2117998006} + m_Father: {fileID: 594724466} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &215361350 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 215361351} + - component: {fileID: 215361353} + - component: {fileID: 215361352} + m_Layer: 5 + m_Name: coin (18) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &215361351 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 215361350} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0.4, y: 0.4, z: 0.4} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 196393728} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 26.487011, y: 30.469997} + m_SizeDelta: {x: 100, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &215361352 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 215361350} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 18365d95662f54c559a543e98eb34d7a, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &215361353 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 215361350} + m_CullTransparentMesh: 1 +--- !u!1 &227353572 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 227353573} + - component: {fileID: 227353575} + - component: {fileID: 227353574} + m_Layer: 5 + m_Name: tick (3) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &227353573 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 227353572} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0.69025016, y: 0.69025016, z: 0.69025016} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1124647842} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 48.1, y: -6.45} + m_SizeDelta: {x: 5.4154196, y: 17.671354} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &227353574 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 227353572} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.827451, g: 0.827451, b: 0.827451, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &227353575 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 227353572} + m_CullTransparentMesh: 1 +--- !u!1 &228858407 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 228858408} + m_Layer: 0 + m_Name: Tabs + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &228858408 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 228858407} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 1} + m_LocalScale: {x: 0.3, y: 0.3, z: 0.3} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 876883264} + - {fileID: 1810270466} + - {fileID: 1908887244} + - {fileID: 1443469040} + m_Father: {fileID: 1027846875} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: -233.2, y: 111.3} + m_SizeDelta: {x: 100, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &230607355 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 230607356} + - component: {fileID: 230607358} + - component: {fileID: 230607357} + m_Layer: 0 + m_Name: grass (6) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &230607356 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 230607355} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 16.569832, y: -7.5, z: 398.38742} + m_LocalScale: {x: 2, y: 2, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 854302113} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!61 &230607357 +BoxCollider2D: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 230607355} + m_Enabled: 0 + serializedVersion: 3 + m_Density: 1 + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_ForceSendLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_ForceReceiveLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_ContactCaptureLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_CallbackLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_IsTrigger: 0 + m_UsedByEffector: 0 + m_CompositeOperation: 0 + m_CompositeOrder: 0 + m_Offset: {x: 0, y: 0} + m_SpriteTilingProperty: + border: {x: 0, y: 0, z: 0, w: 0} + pivot: {x: 0.5, y: 0.5} + oldSize: {x: 1.28, y: 1.28} + newSize: {x: 1.28, y: 1.28} + adaptiveTilingThreshold: 0.5 + drawMode: 0 + adaptiveTiling: 0 + m_AutoTiling: 0 + m_Size: {x: 1.28, y: 1.28} + m_EdgeRadius: 1 +--- !u!212 &230607358 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 230607355} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_ForceMeshLod: -1 + m_MeshLodSelectionBias: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_GlobalIlluminationMeshLod: 0 + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 1 + m_Sprite: {fileID: 21300000, guid: 2cb30301265d14c518963bfec692eb5c, type: 3} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FlipX: 0 + m_FlipY: 0 + m_DrawMode: 0 + m_Size: {x: 1.28, y: 1.28} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 +--- !u!1 &237784484 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 237784485} + - component: {fileID: 237784488} + - component: {fileID: 237784486} + - component: {fileID: 237784487} + m_Layer: 5 + m_Name: YesButton + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &237784485 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 237784484} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1699066726} + m_Father: {fileID: 1519550917} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0} + m_AnchorMax: {x: 0.5, y: 0} + m_AnchoredPosition: {x: -80, y: 33.6} + m_SizeDelta: {x: 67, y: 31} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &237784486 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 237784484} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: da940c180b04d4fc090d53ae5e583e5c, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!114 &237784487 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 237784484} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Highlighted + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 237784486} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 181028047} + m_TargetAssemblyTypeName: + m_MethodName: OnRestorePurchaseConfirmPanelButtonClicked + m_Mode: 6 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 1 + m_CallState: 2 +--- !u!222 &237784488 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 237784484} + m_CullTransparentMesh: 1 +--- !u!1 &238345374 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 238345375} + - component: {fileID: 238345376} + m_Layer: 0 + m_Name: blue_grass (2) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &238345375 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 238345374} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 15.01, y: -1.1599998, z: 398.446} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 213225580} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!212 &238345376 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 238345374} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_ForceMeshLod: -1 + m_MeshLodSelectionBias: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_GlobalIlluminationMeshLod: 0 + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_Sprite: {fileID: 21300000, guid: 5628e29fca1e94568a764c47bd2a4f9c, type: 3} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FlipX: 0 + m_FlipY: 0 + m_DrawMode: 0 + m_Size: {x: 10.24, y: 10.24} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 +--- !u!1 &241500984 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 241500985} + - component: {fileID: 241500987} + - component: {fileID: 241500986} + m_Layer: 0 + m_Name: UnSelected + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!224 &241500985 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 241500984} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 2, y: 2, z: 2} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 361383861} + m_Father: {fileID: 903627573} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 760, y: 15} + m_SizeDelta: {x: 100, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &241500986 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 241500984} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 9966e399068234a0fbfd114de320fa0b, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &241500987 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 241500984} + m_CullTransparentMesh: 1 +--- !u!1 &255060343 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 255060346} + - component: {fileID: 255060345} + - component: {fileID: 255060344} + m_Layer: 5 + m_Name: coinCount + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &255060344 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 255060343} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: 82730987d17d94dee82a4fc1f74af324, type: 3} + m_FontSize: 20 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 2 + m_MaxSize: 40 + m_Alignment: 1 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: 20 +--- !u!222 &255060345 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 255060343} + m_CullTransparentMesh: 1 +--- !u!224 &255060346 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 255060343} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1044462645} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 60.644, y: -20.9} + m_SizeDelta: {x: 79.71294, y: 30} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &272158437 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 272158438} + - component: {fileID: 272158440} + - component: {fileID: 272158439} + m_Layer: 5 + m_Name: coin + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &272158438 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 272158437} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0.4, y: 0.4, z: 0.4} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 334957934} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: -32.418, y: 64.8} + m_SizeDelta: {x: 94.409515, y: 93.521484} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &272158439 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 272158437} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 18365d95662f54c559a543e98eb34d7a, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &272158440 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 272158437} + m_CullTransparentMesh: 1 +--- !u!1 &272403477 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 272403478} + - component: {fileID: 272403479} + m_Layer: 5 + m_Name: SubscriptionPageController + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &272403478 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 272403477} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1652414803} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 100, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &272403479 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 272403477} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 7f7c7a86343554d66b5fbea57861fce5, type: 3} + m_Name: + m_EditorClassIdentifier: + confirmPanel: {fileID: 785660340} + confirmText: {fileID: 1450197656} +--- !u!1 &272670798 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 272670799} + - component: {fileID: 272670801} + - component: {fileID: 272670800} + m_Layer: 5 + m_Name: PGSText + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &272670799 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 272670798} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1602390004} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: -0.0004272461, y: 0.0021514893} + m_SizeDelta: {x: 0.00090026855, y: 0.004306793} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &272670800 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 272670798} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.4392157, g: 0.4392157, b: 0.4392157, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: 82730987d17d94dee82a4fc1f74af324, type: 3} + m_FontSize: 35 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 3 + m_MaxSize: 40 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: PGS +--- !u!222 &272670801 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 272670798} + m_CullTransparentMesh: 1 +--- !u!1 &272974522 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 272974526} + - component: {fileID: 272974525} + - component: {fileID: 272974523} + - component: {fileID: 272974529} + - component: {fileID: 272974528} + - component: {fileID: 272974531} + - component: {fileID: 272974524} + - component: {fileID: 272974527} + m_Layer: 0 + m_Name: carSedan + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!61 &272974523 +BoxCollider2D: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 272974522} + m_Enabled: 1 + serializedVersion: 3 + m_Density: 1 + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_ForceSendLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_ForceReceiveLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_ContactCaptureLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_CallbackLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_IsTrigger: 0 + m_UsedByEffector: 0 + m_CompositeOperation: 0 + m_CompositeOrder: 0 + m_Offset: {x: 0, y: 0.054447636} + m_SpriteTilingProperty: + border: {x: 0, y: 0, z: 0, w: 0} + pivot: {x: 0.5, y: 0.5} + oldSize: {x: 1.77, y: 1.05} + newSize: {x: 1.77, y: 1.05} + adaptiveTilingThreshold: 0.5 + drawMode: 0 + adaptiveTiling: 0 + m_AutoTiling: 0 + m_Size: {x: 1.77, y: 0.94110465} + m_EdgeRadius: 0 +--- !u!50 &272974524 +Rigidbody2D: + serializedVersion: 5 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 272974522} + m_BodyType: 0 + m_Simulated: 1 + m_UseFullKinematicContacts: 0 + m_UseAutoMass: 0 + m_Mass: 1 + m_LinearDamping: 0 + m_AngularDamping: 0 + m_GravityScale: 1 + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_Interpolate: 0 + m_SleepingMode: 1 + m_CollisionDetection: 0 + m_Constraints: 0 +--- !u!212 &272974525 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 272974522} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_ForceMeshLod: -1 + m_MeshLodSelectionBias: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_GlobalIlluminationMeshLod: 0 + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 3 + m_Sprite: {fileID: 21300000, guid: 12d1ab197f3d0406981eaed79251b7db, type: 3} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FlipX: 0 + m_FlipY: 0 + m_DrawMode: 0 + m_Size: {x: 1.77, y: 1.05} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 +--- !u!4 &272974526 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 272974522} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 305869539} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &272974527 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 272974522} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: a3c455de4da794453acc720d32af20d3, type: 3} + m_Name: + m_EditorClassIdentifier: + inputActionAsset: {fileID: -944628639613478452, guid: c44a0d3d8804e4fd887590aa86260552, type: 3} + odometerLabel: {fileID: 1183118621} + tapToDriveText: {fileID: 96408348} + carName: 0 +--- !u!58 &272974528 +CircleCollider2D: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 272974522} + m_Enabled: 1 + serializedVersion: 3 + m_Density: 1 + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_ForceSendLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_ForceReceiveLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_ContactCaptureLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_CallbackLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_IsTrigger: 0 + m_UsedByEffector: 0 + m_CompositeOperation: 0 + m_CompositeOrder: 0 + m_Offset: {x: 0.47, y: -0.3337343} + m_Radius: 0.17901011 +--- !u!58 &272974529 +CircleCollider2D: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 272974522} + m_Enabled: 1 + serializedVersion: 3 + m_Density: 1 + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_ForceSendLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_ForceReceiveLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_ContactCaptureLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_CallbackLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_IsTrigger: 0 + m_UsedByEffector: 0 + m_CompositeOperation: 0 + m_CompositeOrder: 0 + m_Offset: {x: -0.44361186, y: -0.33373433} + m_Radius: 0.18452588 +--- !u!95 &272974531 +Animator: + serializedVersion: 7 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 272974522} + m_Enabled: 1 + m_Avatar: {fileID: 0} + m_Controller: {fileID: 9100000, guid: 728c46fc0c88c4054a021f953ac42d91, type: 2} + m_CullingMode: 0 + m_UpdateMode: 0 + m_ApplyRootMotion: 0 + m_LinearVelocityBlending: 0 + m_StabilizeFeet: 0 + m_AnimatePhysics: 0 + m_WarningMessage: + m_HasTransformHierarchy: 1 + m_AllowConstantClipSamplingOptimization: 1 + m_KeepAnimatorStateOnDisable: 0 + m_WriteDefaultValuesOnDisable: 0 +--- !u!1 &275478058 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 275478059} + - component: {fileID: 275478061} + - component: {fileID: 275478060} + m_Layer: 5 + m_Name: coin (2) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &275478059 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 275478058} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 1} + m_LocalScale: {x: 0.4, y: 0.4, z: 0.4} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 658201524} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 11.396005, y: -41.400005} + m_SizeDelta: {x: 101.68176, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &275478060 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 275478058} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 18365d95662f54c559a543e98eb34d7a, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &275478061 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 275478058} + m_CullTransparentMesh: 1 +--- !u!1 &278941814 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 278941815} + - component: {fileID: 278941817} + - component: {fileID: 278941816} + m_Layer: 5 + m_Name: tick + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &278941815 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 278941814} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 956482887} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 48.298, y: -6.2517} + m_SizeDelta: {x: 4.1217146, y: 12.496681} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &278941816 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 278941814} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.827451, g: 0.827451, b: 0.827451, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &278941817 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 278941814} + m_CullTransparentMesh: 1 +--- !u!1 &280857204 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 280857205} + - component: {fileID: 280857207} + - component: {fileID: 280857206} + m_Layer: 5 + m_Name: price + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &280857205 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 280857204} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1340913521} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 1.3927, y: 48.6} + m_SizeDelta: {x: 340.12808, y: 67.48826} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &280857206 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 280857204} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 0.015686275, b: 0.015686275, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: 82730987d17d94dee82a4fc1f74af324, type: 3} + m_FontSize: 22 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 2 + m_MaxSize: 40 + m_Alignment: 1 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: 'VIP SUBSCRIPTION + + $golden_subscription/month' +--- !u!222 &280857207 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 280857204} + m_CullTransparentMesh: 1 +--- !u!1 &281505953 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 281505954} + - component: {fileID: 281505956} + - component: {fileID: 281505955} + m_Layer: 5 + m_Name: land (2) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &281505954 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 281505953} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 196393728} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 58.648014, y: -90.700005} + m_SizeDelta: {x: 58, y: 58} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &281505955 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 281505953} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 2cb30301265d14c518963bfec692eb5c, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &281505956 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 281505953} + m_CullTransparentMesh: 1 +--- !u!1 &282345846 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 282345847} + - component: {fileID: 282345849} + - component: {fileID: 282345848} + m_Layer: 5 + m_Name: descriptionImage + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &282345847 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 282345846} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 344778953} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: -0, y: -53.116} + m_SizeDelta: {x: 133.93123, y: 72.48819} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &282345848 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 282345846} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: b685d6ff267814f6dbe4cda37a408bad, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &282345849 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 282345846} + m_CullTransparentMesh: 1 +--- !u!1 &301661700 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 301661701} + - component: {fileID: 301661703} + - component: {fileID: 301661702} + m_Layer: 0 + m_Name: grass (20) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &301661701 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 301661700} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 41.94, y: -7.5, z: 398.38742} + m_LocalScale: {x: 2, y: 2, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 854302113} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!61 &301661702 +BoxCollider2D: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 301661700} + m_Enabled: 0 + serializedVersion: 3 + m_Density: 1 + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_ForceSendLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_ForceReceiveLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_ContactCaptureLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_CallbackLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_IsTrigger: 0 + m_UsedByEffector: 0 + m_CompositeOperation: 0 + m_CompositeOrder: 0 + m_Offset: {x: 0, y: 0} + m_SpriteTilingProperty: + border: {x: 0, y: 0, z: 0, w: 0} + pivot: {x: 0.5, y: 0.5} + oldSize: {x: 1.28, y: 1.28} + newSize: {x: 1.28, y: 1.28} + adaptiveTilingThreshold: 0.5 + drawMode: 0 + adaptiveTiling: 0 + m_AutoTiling: 0 + m_Size: {x: 1.28, y: 1.28} + m_EdgeRadius: 1 +--- !u!212 &301661703 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 301661700} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_ForceMeshLod: -1 + m_MeshLodSelectionBias: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_GlobalIlluminationMeshLod: 0 + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 1 + m_Sprite: {fileID: 21300000, guid: 2cb30301265d14c518963bfec692eb5c, type: 3} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FlipX: 0 + m_FlipY: 0 + m_DrawMode: 0 + m_Size: {x: 1.28, y: 1.28} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 +--- !u!1 &305869538 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 305869539} + - component: {fileID: 305869540} + - component: {fileID: 305869541} + m_Layer: 0 + m_Name: Car + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &305869539 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 305869538} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -15.66, y: -0.831, z: 0} + m_LocalScale: {x: 2.5, y: 2.5, z: 2.5} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 272974526} + - {fileID: 2142797804} + - {fileID: 1916547084} + - {fileID: 837701551} + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &305869540 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 305869538} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 3aa6c92eefa3b4920bba3bf1125dc7be, type: 3} + m_Name: + m_EditorClassIdentifier: + cam: {fileID: 172629684} +--- !u!114 &305869541 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 305869538} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4ccbe01300ab944178db6b9798733e61, type: 3} + m_Name: + m_EditorClassIdentifier: + noGasText: {fileID: 1944635351} + gasLevelImageObj: {fileID: 33365684} +--- !u!1 &313964507 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 313964508} + - component: {fileID: 313964510} + - component: {fileID: 313964509} + m_Layer: 5 + m_Name: itemText + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &313964508 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 313964507} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 682708800} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 1.76, y: 101} + m_SizeDelta: {x: 170.87903, y: 43.708984} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &313964509 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 313964507} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: 82730987d17d94dee82a4fc1f74af324, type: 3} + m_FontSize: 25 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 2 + m_MaxSize: 40 + m_Alignment: 1 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Offroad +--- !u!222 &313964510 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 313964507} + m_CullTransparentMesh: 1 +--- !u!1 &314683307 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 314683308} + - component: {fileID: 314683310} + - component: {fileID: 314683309} + m_Layer: 5 + m_Name: price + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &314683308 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 314683307} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1350373937} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 69.1} + m_SizeDelta: {x: 174, y: 39.676895} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &314683309 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 314683307} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: 82730987d17d94dee82a4fc1f74af324, type: 3} + m_FontSize: 22 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 2 + m_MaxSize: 40 + m_Alignment: 1 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: $car_kart +--- !u!222 &314683310 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 314683307} + m_CullTransparentMesh: 1 +--- !u!1 &318392374 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 318392375} + - component: {fileID: 318392377} + - component: {fileID: 318392376} + m_Layer: 0 + m_Name: friendsIcon + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &318392375 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 318392374} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: -0.5} + m_LocalScale: {x: 0.95, y: 0.6500001, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1727925814} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 3} + m_SizeDelta: {x: 80, y: 90} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &318392376 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 318392374} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: bb7454cacfaf44c08b4ad7722464c6f8, type: 3} + m_Type: 0 + m_PreserveAspect: 1 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &318392377 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 318392374} + m_CullTransparentMesh: 1 +--- !u!1 &319491636 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 319491637} + - component: {fileID: 319491639} + - component: {fileID: 319491638} + m_Layer: 5 + m_Name: land (1) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &319491637 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 319491636} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 196393728} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0.64775044, y: -90.700005} + m_SizeDelta: {x: 58, y: 58} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &319491638 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 319491636} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 2cb30301265d14c518963bfec692eb5c, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &319491639 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 319491636} + m_CullTransparentMesh: 1 +--- !u!1 &334957933 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 334957934} + - component: {fileID: 334957937} + - component: {fileID: 334957936} + - component: {fileID: 334957935} + m_Layer: 5 + m_Name: ItemBg + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &334957934 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 334957933} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 182434530} + - {fileID: 982968240} + - {fileID: 272158438} + - {fileID: 1689975707} + m_Father: {fileID: 140605186} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 7.73, y: 165.56} + m_SizeDelta: {x: 204.40247, y: 252.52652} + m_Pivot: {x: 0.5, y: 1.4} +--- !u!114 &334957935 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 334957933} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 0 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Highlighted + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 334957936} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 612560965} + m_TargetAssemblyTypeName: + m_MethodName: OnFillGasButtonClicked + m_Mode: 1 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 +--- !u!114 &334957936 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 334957933} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: f98c1e8e1f98a4d028d68c8ebc4aa032, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &334957937 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 334957933} + m_CullTransparentMesh: 1 +--- !u!1 &336491519 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 336491521} + - component: {fileID: 336491520} + m_Layer: 0 + m_Name: signRight + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!212 &336491520 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 336491519} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_ForceMeshLod: -1 + m_MeshLodSelectionBias: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_GlobalIlluminationMeshLod: 0 + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 2 + m_Sprite: {fileID: 21300000, guid: 7d2b8f4e672ae4e7bb06987a6c8b5124, type: 3} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FlipX: 0 + m_FlipY: 0 + m_DrawMode: 0 + m_Size: {x: 1.28, y: 1.28} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 +--- !u!4 &336491521 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 336491519} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0.86, y: -2.45, z: 398.446} + m_LocalScale: {x: 2, y: 2, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 427481935} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &337895779 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 337895780} + - component: {fileID: 337895782} + - component: {fileID: 337895781} + m_Layer: 5 + m_Name: coin (5) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &337895780 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 337895779} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0.4, y: 0.4, z: 0.4} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1005024301} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 45.801003, y: -16.600006} + m_SizeDelta: {x: 100, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &337895781 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 337895779} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 18365d95662f54c559a543e98eb34d7a, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &337895782 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 337895779} + m_CullTransparentMesh: 1 +--- !u!1 &343920139 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 343920140} + - component: {fileID: 343920142} + - component: {fileID: 343920141} + m_Layer: 0 + m_Name: grass (17) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &343920140 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 343920139} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 31.81, y: -7.5, z: 398.38742} + m_LocalScale: {x: 2, y: 2, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 854302113} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!61 &343920141 +BoxCollider2D: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 343920139} + m_Enabled: 0 + serializedVersion: 3 + m_Density: 1 + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_ForceSendLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_ForceReceiveLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_ContactCaptureLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_CallbackLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_IsTrigger: 0 + m_UsedByEffector: 0 + m_CompositeOperation: 0 + m_CompositeOrder: 0 + m_Offset: {x: 0, y: 0} + m_SpriteTilingProperty: + border: {x: 0, y: 0, z: 0, w: 0} + pivot: {x: 0.5, y: 0.5} + oldSize: {x: 1.28, y: 1.28} + newSize: {x: 1.28, y: 1.28} + adaptiveTilingThreshold: 0.5 + drawMode: 0 + adaptiveTiling: 0 + m_AutoTiling: 0 + m_Size: {x: 1.28, y: 1.28} + m_EdgeRadius: 1 +--- !u!212 &343920142 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 343920139} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_ForceMeshLod: -1 + m_MeshLodSelectionBias: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_GlobalIlluminationMeshLod: 0 + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 1 + m_Sprite: {fileID: 21300000, guid: 2cb30301265d14c518963bfec692eb5c, type: 3} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FlipX: 0 + m_FlipY: 0 + m_DrawMode: 0 + m_Size: {x: 1.28, y: 1.28} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 +--- !u!1 &344383112 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 344383113} + - component: {fileID: 344383114} + m_Layer: 0 + m_Name: SubscriptionTab + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &344383113 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 344383112} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 1} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1050471772} + - {fileID: 2087359307} + m_Father: {fileID: 907958060} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &344383114 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 344383112} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 0 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Highlighted + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 0} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 1461505798} + m_TargetAssemblyTypeName: + m_MethodName: OnSwitchPageTabClicked + m_Mode: 3 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 3 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 +--- !u!1 &344778952 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 344778953} + - component: {fileID: 344778956} + - component: {fileID: 344778954} + m_Layer: 5 + m_Name: item (silver subscription) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &344778953 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 344778952} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 181622527} + - {fileID: 1688075157} + - {fileID: 446210136} + - {fileID: 282345847} + - {fileID: 761588025} + - {fileID: 1570447887} + m_Father: {fileID: 1652414803} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0.5} + m_AnchorMax: {x: 0, y: 0.5} + m_AnchoredPosition: {x: -141.84, y: -57.4} + m_SizeDelta: {x: 386.73877, y: 253.20502} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &344778954 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 344778952} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 0fe4e8709dc02431e864a0af7ac669bb, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &344778956 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 344778952} + m_CullTransparentMesh: 1 +--- !u!1 &351286572 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 351286573} + - component: {fileID: 351286576} + - component: {fileID: 351286575} + - component: {fileID: 351286574} + m_Layer: 5 + m_Name: yesButton + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &351286573 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 351286572} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1193750091} + m_Father: {fileID: 640405161} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: -82, y: -33} + m_SizeDelta: {x: 67.08414, y: 31.055847} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &351286574 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 351286572} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Highlighted + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 351286575} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 2000898529} + m_TargetAssemblyTypeName: + m_MethodName: OnConfirmPurchasePanelButtonClicked + m_Mode: 6 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 1 + m_CallState: 2 +--- !u!114 &351286575 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 351286572} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: da940c180b04d4fc090d53ae5e583e5c, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &351286576 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 351286572} + m_CullTransparentMesh: 1 +--- !u!1 &355019295 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 355019296} + - component: {fileID: 355019299} + - component: {fileID: 355019298} + - component: {fileID: 355019297} + m_Layer: 5 + m_Name: Item (Truck) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &355019296 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 355019295} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1240722776} + - {fileID: 866240590} + - {fileID: 1708405514} + m_Father: {fileID: 1106596712} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0.5} + m_AnchorMax: {x: 0, y: 0.5} + m_AnchoredPosition: {x: -46.2, y: 0.79999965} + m_SizeDelta: {x: 195, y: 261} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &355019297 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 355019295} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 0 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Highlighted + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 62320614} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 110421607} + m_TargetAssemblyTypeName: + m_MethodName: OnCarStoreItemClicked + m_Mode: 3 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 1 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 +--- !u!114 &355019298 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 355019295} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 6da84f84cb1ad4df7832397e4a9d489e, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &355019299 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 355019295} + m_CullTransparentMesh: 1 +--- !u!1 &361383860 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 361383861} + - component: {fileID: 361383863} + - component: {fileID: 361383862} + m_Layer: 0 + m_Name: carIcon + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &361383861 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 361383860} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: -0.5} + m_LocalScale: {x: 0.95, y: 0.6500001, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 241500985} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0.00006502867, y: -5} + m_SizeDelta: {x: 100, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &361383862 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 361383860} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: c8f428910fa834c8dba079b8c89a7360, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &361383863 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 361383860} + m_CullTransparentMesh: 1 +--- !u!1 &362526366 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 362526367} + - component: {fileID: 362526369} + - component: {fileID: 362526368} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &362526367 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 362526366} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 407561291} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &362526368 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 362526366} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: 82730987d17d94dee82a4fc1f74af324, type: 3} + m_FontSize: 16 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 1 + m_MaxSize: 40 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: No +--- !u!222 &362526369 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 362526366} + m_CullTransparentMesh: 1 +--- !u!1 &376339514 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 376339515} + - component: {fileID: 376339517} + - component: {fileID: 376339516} + m_Layer: 5 + m_Name: MenuBar + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &376339515 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 376339514} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1516618631} + - {fileID: 1535592529} + m_Father: {fileID: 1581781440} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 1} + m_AnchorMax: {x: 0.5, y: 1} + m_AnchoredPosition: {x: 0, y: 144.5946} + m_SizeDelta: {x: 800, y: 45.204742} + m_Pivot: {x: 0.5, y: 1} +--- !u!114 &376339516 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 376339514} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.38431373, g: 0.38431373, b: 0.38431373, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &376339517 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 376339514} + m_CullTransparentMesh: 1 +--- !u!1 &380163892 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 380163893} + - component: {fileID: 380163895} + - component: {fileID: 380163894} + m_Layer: 0 + m_Name: coinIcon + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &380163893 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 380163892} + m_LocalRotation: {x: 0, y: 0, z: 0.7071068, w: 0.7071068} + m_LocalPosition: {x: 0, y: 0, z: -0.5} + m_LocalScale: {x: 0.80000013, y: 0.80000013, z: 0.80000013} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1236088371} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 90} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: -0.5999756, y: 0} + m_SizeDelta: {x: 100, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &380163894 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 380163892} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 18365d95662f54c559a543e98eb34d7a, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &380163895 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 380163892} + m_CullTransparentMesh: 1 +--- !u!1 &387146817 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 387146818} + - component: {fileID: 387146820} + - component: {fileID: 387146819} + m_Layer: 5 + m_Name: coinImage + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &387146818 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 387146817} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0.2, y: 0.2, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 920210615} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 101.2, y: 11.6} + m_SizeDelta: {x: 100, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &387146819 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 387146817} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 18365d95662f54c559a543e98eb34d7a, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &387146820 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 387146817} + m_CullTransparentMesh: 1 +--- !u!1 &388669356 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 388669357} + - component: {fileID: 388669359} + - component: {fileID: 388669358} + m_Layer: 5 + m_Name: statusText + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!224 &388669357 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 388669356} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 2022186446} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 1.38, y: -106} + m_SizeDelta: {x: 175.843, y: 48.892014} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &388669358 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 388669356} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: 82730987d17d94dee82a4fc1f74af324, type: 3} + m_FontSize: 27 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 2 + m_MaxSize: 40 + m_Alignment: 1 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: USING +--- !u!222 &388669359 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 388669356} + m_CullTransparentMesh: 1 +--- !u!1 &392828580 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 392828581} + - component: {fileID: 392828583} + - component: {fileID: 392828582} + m_Layer: 5 + m_Name: GasLabel + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &392828581 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 392828580} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 707242308} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 57.710938, y: -35} + m_SizeDelta: {x: 48.952454, y: 32.35681} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &392828582 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 392828580} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.4392157, g: 0.4392157, b: 0.4392157, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: 82730987d17d94dee82a4fc1f74af324, type: 3} + m_FontSize: 20 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 2 + m_MaxSize: 40 + m_Alignment: 0 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Gas +--- !u!222 &392828583 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 392828580} + m_CullTransparentMesh: 1 +--- !u!1 &393139015 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 393139017} + - component: {fileID: 393139016} + m_Layer: 0 + m_Name: bush + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!212 &393139016 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 393139015} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_ForceMeshLod: -1 + m_MeshLodSelectionBias: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_GlobalIlluminationMeshLod: 0 + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 2 + m_Sprite: {fileID: 21300000, guid: 3b265e81c61254a51ab30344a02edea1, type: 3} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FlipX: 0 + m_FlipY: 0 + m_DrawMode: 0 + m_Size: {x: 1.28, y: 1.28} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 +--- !u!4 &393139017 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 393139015} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 13.617006, y: -2.711487, z: 398.446} + m_LocalScale: {x: 1.5, y: 1.5, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 427481935} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &394652842 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 394652843} + - component: {fileID: 394652845} + - component: {fileID: 394652844} + m_Layer: 5 + m_Name: price + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &394652843 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 394652842} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 682708800} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 69.1} + m_SizeDelta: {x: 174, y: 39.676895} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &394652844 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 394652842} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: 82730987d17d94dee82a4fc1f74af324, type: 3} + m_FontSize: 22 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 2 + m_MaxSize: 40 + m_Alignment: 1 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: $car_offroad +--- !u!222 &394652845 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 394652842} + m_CullTransparentMesh: 1 +--- !u!1 &405640381 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 405640383} + - component: {fileID: 405640382} + m_Layer: 0 + m_Name: grass 1 (2) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!212 &405640382 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 405640381} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_ForceMeshLod: -1 + m_MeshLodSelectionBias: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_GlobalIlluminationMeshLod: 0 + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 2 + m_Sprite: {fileID: 21300000, guid: a130d426e3ee54a6295e478326081593, type: 3} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FlipX: 0 + m_FlipY: 0 + m_DrawMode: 0 + m_Size: {x: 1.28, y: 1.28} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 +--- !u!4 &405640383 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 405640381} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 4.817006, y: -2.681487, z: 398.446} + m_LocalScale: {x: 1.5, y: 1.5, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 427481935} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &407561290 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 407561291} + - component: {fileID: 407561294} + - component: {fileID: 407561293} + - component: {fileID: 407561292} + m_Layer: 5 + m_Name: noButton + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &407561291 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 407561290} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 362526367} + m_Father: {fileID: 1494577192} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 68.3, y: -33} + m_SizeDelta: {x: 67.08414, y: 31.055847} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &407561292 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 407561290} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Highlighted + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 407561293} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 1033821259} + m_TargetAssemblyTypeName: GameManager, Assembly-CSharp + m_MethodName: OnDeclineCloudLoadButtonClicked + m_Mode: 1 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 +--- !u!114 &407561293 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 407561290} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: da940c180b04d4fc090d53ae5e583e5c, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &407561294 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 407561290} + m_CullTransparentMesh: 1 +--- !u!1 &409290592 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 409290593} + - component: {fileID: 409290595} + - component: {fileID: 409290594} + m_Layer: 5 + m_Name: coin (1) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &409290593 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 409290592} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 1} + m_LocalScale: {x: 0.4, y: 0.4, z: 0.4} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 196393728} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 38.400013, y: -41.33} + m_SizeDelta: {x: 100, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &409290594 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 409290592} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 18365d95662f54c559a543e98eb34d7a, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &409290595 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 409290592} + m_CullTransparentMesh: 1 +--- !u!1 &413232504 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 413232505} + - component: {fileID: 413232507} + - component: {fileID: 413232506} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &413232505 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 413232504} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1772208397} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0.40002, y: -0} + m_SizeDelta: {x: 167.62558, y: 132.8706} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &413232506 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 413232504} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: 82730987d17d94dee82a4fc1f74af324, type: 3} + m_FontSize: 14 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 1 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Complete purchase on the Google Play Store. +--- !u!222 &413232507 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 413232504} + m_CullTransparentMesh: 1 +--- !u!1 &422066570 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 422066571} + - component: {fileID: 422066574} + - component: {fileID: 422066572} + - component: {fileID: 422066573} + m_Layer: 5 + m_Name: yesButton + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &422066571 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 422066570} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1251440171} + m_Father: {fileID: 568397363} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: -82, y: -33} + m_SizeDelta: {x: 67.08414, y: 31.055847} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &422066572 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 422066570} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: da940c180b04d4fc090d53ae5e583e5c, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!114 &422066573 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 422066570} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Highlighted + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 422066572} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 110421607} + m_TargetAssemblyTypeName: + m_MethodName: OnConfirmPurchasePanelButtonClicked + m_Mode: 6 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 1 + m_CallState: 2 +--- !u!222 &422066574 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 422066570} + m_CullTransparentMesh: 1 +--- !u!1 &422719010 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 422719013} + - component: {fileID: 422719012} + - component: {fileID: 422719011} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &422719011 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 422719010} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0, g: 0, b: 0, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: 82730987d17d94dee82a4fc1f74af324, type: 3} + m_FontSize: 16 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 1 + m_MaxSize: 40 + m_Alignment: 0 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Would you like to purchase 5 Coins with $0.99? +--- !u!222 &422719012 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 422719010} + m_CullTransparentMesh: 1 +--- !u!224 &422719013 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 422719010} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 640405161} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0.31, y: -2.1} + m_SizeDelta: {x: 280.43582, y: 98.24942} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &427481934 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 427481935} + m_Layer: 0 + m_Name: backgroundItems + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &427481935 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 427481934} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 122742393} + - {fileID: 336491521} + - {fileID: 1666774820} + - {fileID: 713046487} + - {fileID: 405640383} + - {fileID: 1667269311} + - {fileID: 393139017} + m_Father: {fileID: 594724466} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &429684191 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 429684192} + - component: {fileID: 429684194} + - component: {fileID: 429684193} + m_Layer: 5 + m_Name: coin (2) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &429684192 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 429684191} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 1} + m_LocalScale: {x: 0.4, y: 0.4, z: 0.4} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1005024301} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 11.3, y: -41.4} + m_SizeDelta: {x: 101.68176, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &429684193 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 429684191} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 18365d95662f54c559a543e98eb34d7a, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &429684194 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 429684191} + m_CullTransparentMesh: 1 +--- !u!1 &433447118 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 433447119} + - component: {fileID: 433447121} + - component: {fileID: 433447120} + m_Layer: 5 + m_Name: Selected + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!224 &433447119 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 433447118} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 2, y: 2, z: 2} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 54280727} + m_Father: {fileID: 1908887244} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 760, y: 15} + m_SizeDelta: {x: 100, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &433447120 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 433447118} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 1e0d88ad9a1b841f2b7cc7f47659dffb, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &433447121 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 433447118} + m_CullTransparentMesh: 1 +--- !u!1 &434610940 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 434610941} + m_Layer: 5 + m_Name: BackgroundPage + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!224 &434610941 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 434610940} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1673999204} + - {fileID: 1883743017} + - {fileID: 1023875365} + m_Father: {fileID: 530847220} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 100, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &438713673 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 438713674} + - component: {fileID: 438713676} + - component: {fileID: 438713675} + m_Layer: 5 + m_Name: gasCount + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &438713674 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 438713673} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1124647842} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0.5} + m_AnchorMax: {x: 0, y: 0.5} + m_AnchoredPosition: {x: 4, y: -12.082} + m_SizeDelta: {x: 149, y: 24.1641} + m_Pivot: {x: 0, y: 0} +--- !u!114 &438713675 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 438713673} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.36862746, g: 0.7882353, b: 0.3647059, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &438713676 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 438713673} + m_CullTransparentMesh: 1 +--- !u!1 &439531932 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 439531933} + - component: {fileID: 439531935} + - component: {fileID: 439531934} + m_Layer: 0 + m_Name: grass (7) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &439531933 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 439531932} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 11.51, y: -7.5, z: 398.38742} + m_LocalScale: {x: 2, y: 2, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 854302113} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!61 &439531934 +BoxCollider2D: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 439531932} + m_Enabled: 0 + serializedVersion: 3 + m_Density: 1 + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_ForceSendLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_ForceReceiveLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_ContactCaptureLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_CallbackLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_IsTrigger: 0 + m_UsedByEffector: 0 + m_CompositeOperation: 0 + m_CompositeOrder: 0 + m_Offset: {x: 0, y: 0} + m_SpriteTilingProperty: + border: {x: 0, y: 0, z: 0, w: 0} + pivot: {x: 0.5, y: 0.5} + oldSize: {x: 1.28, y: 1.28} + newSize: {x: 1.28, y: 1.28} + adaptiveTilingThreshold: 0.5 + drawMode: 0 + adaptiveTiling: 0 + m_AutoTiling: 0 + m_Size: {x: 1.28, y: 1.28} + m_EdgeRadius: 1 +--- !u!212 &439531935 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 439531932} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_ForceMeshLod: -1 + m_MeshLodSelectionBias: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_GlobalIlluminationMeshLod: 0 + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 1 + m_Sprite: {fileID: 21300000, guid: 2cb30301265d14c518963bfec692eb5c, type: 3} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FlipX: 0 + m_FlipY: 0 + m_DrawMode: 0 + m_Size: {x: 1.28, y: 1.28} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 +--- !u!1 &446210135 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 446210136} + - component: {fileID: 446210138} + - component: {fileID: 446210137} + m_Layer: 5 + m_Name: description + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &446210136 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 446210135} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 344778953} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 1.62, y: -1.01} + m_SizeDelta: {x: 358.92783, y: 31.722893} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &446210137 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 446210135} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0, g: 0, b: 0, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: 82730987d17d94dee82a4fc1f74af324, type: 3} + m_FontSize: 20 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 2 + m_MaxSize: 40 + m_Alignment: 1 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: mushroom background +--- !u!222 &446210138 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 446210135} + m_CullTransparentMesh: 1 +--- !u!1 &448197874 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 448197875} + - component: {fileID: 448197877} + - component: {fileID: 448197876} + m_Layer: 0 + m_Name: grass (2) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &448197875 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 448197874} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 6.42, y: -7.5, z: 398.38742} + m_LocalScale: {x: 2, y: 2, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 854302113} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!61 &448197876 +BoxCollider2D: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 448197874} + m_Enabled: 0 + serializedVersion: 3 + m_Density: 1 + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_ForceSendLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_ForceReceiveLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_ContactCaptureLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_CallbackLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_IsTrigger: 0 + m_UsedByEffector: 0 + m_CompositeOperation: 0 + m_CompositeOrder: 0 + m_Offset: {x: 0, y: 0} + m_SpriteTilingProperty: + border: {x: 0, y: 0, z: 0, w: 0} + pivot: {x: 0.5, y: 0.5} + oldSize: {x: 1.28, y: 1.28} + newSize: {x: 1.28, y: 1.28} + adaptiveTilingThreshold: 0.5 + drawMode: 0 + adaptiveTiling: 0 + m_AutoTiling: 0 + m_Size: {x: 1.28, y: 1.28} + m_EdgeRadius: 1 +--- !u!212 &448197877 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 448197874} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_ForceMeshLod: -1 + m_MeshLodSelectionBias: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_GlobalIlluminationMeshLod: 0 + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 1 + m_Sprite: {fileID: 21300000, guid: 2cb30301265d14c518963bfec692eb5c, type: 3} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FlipX: 0 + m_FlipY: 0 + m_DrawMode: 0 + m_Size: {x: 1.28, y: 1.28} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 +--- !u!1 &449190464 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 449190465} + - component: {fileID: 449190466} + m_Layer: 0 + m_Name: roadRampLong_SE (1) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &449190465 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 449190464} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0.37298784, w: 0.92783624} + m_LocalPosition: {x: -3.08, y: -4.76, z: 400} + m_LocalScale: {x: 2.5, y: 2.5, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 973702867} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 43.8} +--- !u!212 &449190466 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 449190464} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_ForceMeshLod: -1 + m_MeshLodSelectionBias: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_GlobalIlluminationMeshLod: 0 + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 1 + m_Sprite: {fileID: 21300000, guid: f9cb1859eda6347cc971102e24992af9, type: 3} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FlipX: 0 + m_FlipY: 0 + m_DrawMode: 0 + m_Size: {x: 2.27, y: 1.97} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 +--- !u!1 &456875792 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 456875793} + - component: {fileID: 456875795} + - component: {fileID: 456875794} + m_Layer: 5 + m_Name: coin (8) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &456875793 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 456875792} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 1} + m_LocalScale: {x: 0.4, y: 0.4, z: 0.4} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 658201524} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: -28.103996, y: -18.800005} + m_SizeDelta: {x: 100, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &456875794 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 456875792} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 18365d95662f54c559a543e98eb34d7a, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &456875795 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 456875792} + m_CullTransparentMesh: 1 +--- !u!1 &463445601 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 463445602} + - component: {fileID: 463445604} + - component: {fileID: 463445603} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &463445602 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 463445601} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1484044226} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &463445603 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 463445601} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: 82730987d17d94dee82a4fc1f74af324, type: 3} + m_FontSize: 16 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 1 + m_MaxSize: 40 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: No +--- !u!222 &463445604 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 463445601} + m_CullTransparentMesh: 1 +--- !u!1 &463670698 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 463670699} + - component: {fileID: 463670701} + - component: {fileID: 463670700} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &463670699 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 463670698} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1913994622} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0.40002, y: -0} + m_SizeDelta: {x: 167.62558, y: 132.8706} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &463670700 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 463670698} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: 82730987d17d94dee82a4fc1f74af324, type: 3} + m_FontSize: 14 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 1 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Complete purchase on the Google Play Store. +--- !u!222 &463670701 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 463670698} + m_CullTransparentMesh: 1 +--- !u!1 &473762652 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 473762653} + - component: {fileID: 473762655} + - component: {fileID: 473762654} + m_Layer: 5 + m_Name: land (2) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &473762653 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 473762652} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1005024301} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 58.69999, y: -90.770004} + m_SizeDelta: {x: 58, y: 58} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &473762654 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 473762652} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 2cb30301265d14c518963bfec692eb5c, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &473762655 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 473762652} + m_CullTransparentMesh: 1 +--- !u!1 &476839439 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 476839440} + - component: {fileID: 476839441} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &476839440 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 476839439} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1316706130} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &476839441 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 476839439} + m_CullTransparentMesh: 1 +--- !u!1 &479272329 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 479272330} + - component: {fileID: 479272332} + - component: {fileID: 479272331} + m_Layer: 5 + m_Name: coin (6) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &479272330 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 479272329} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 1} + m_LocalScale: {x: 0.4, y: 0.4, z: 0.4} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 196393728} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 15.95001, y: -16.53} + m_SizeDelta: {x: 97.24751, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &479272331 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 479272329} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 18365d95662f54c559a543e98eb34d7a, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &479272332 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 479272329} + m_CullTransparentMesh: 1 +--- !u!1 &485276825 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 485276826} + - component: {fileID: 485276827} + m_Layer: 0 + m_Name: roadRampLong_SE (10) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &485276826 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 485276825} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0.37298784, w: 0.92783624} + m_LocalPosition: {x: 33.05, y: -4.76, z: 400} + m_LocalScale: {x: 2.5, y: 2.5, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 973702867} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 43.8} +--- !u!212 &485276827 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 485276825} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_ForceMeshLod: -1 + m_MeshLodSelectionBias: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_GlobalIlluminationMeshLod: 0 + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 1 + m_Sprite: {fileID: 21300000, guid: f9cb1859eda6347cc971102e24992af9, type: 3} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FlipX: 0 + m_FlipY: 0 + m_DrawMode: 0 + m_Size: {x: 2.27, y: 1.97} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 +--- !u!1 &496918476 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 496918477} + - component: {fileID: 496918479} + - component: {fileID: 496918478} + m_Layer: 5 + m_Name: coin (1) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &496918477 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 496918476} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 1} + m_LocalScale: {x: 0.4, y: 0.4, z: 0.4} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 658201524} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 37.796005, y: -41.400005} + m_SizeDelta: {x: 100, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &496918478 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 496918476} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 18365d95662f54c559a543e98eb34d7a, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &496918479 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 496918476} + m_CullTransparentMesh: 1 +--- !u!1 &508832419 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 508832420} + - component: {fileID: 508832423} + - component: {fileID: 508832422} + - component: {fileID: 508832421} + m_Layer: 5 + m_Name: 'Item (Offroad) ' + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!224 &508832420 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 508832419} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1632190558} + - {fileID: 63346969} + m_Father: {fileID: 560796383} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0.5} + m_AnchorMax: {x: 0, y: 0.5} + m_AnchoredPosition: {x: 146.7, y: 94.40001} + m_SizeDelta: {x: 195, y: 261} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &508832421 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 508832419} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 0 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Highlighted + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 984682900} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 1198602001} + m_TargetAssemblyTypeName: + m_MethodName: OnCarGarageItemClicked + m_Mode: 3 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 2 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 +--- !u!114 &508832422 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 508832419} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: ec98e495e40ab4289aa4d892238b08a5, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &508832423 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 508832419} + m_CullTransparentMesh: 1 +--- !u!1 &509454615 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 509454616} + - component: {fileID: 509454618} + - component: {fileID: 509454617} + m_Layer: 5 + m_Name: WaitTint + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &509454616 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 509454615} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1546055787} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 800, y: 600} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &509454617 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 509454615} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0, g: 0, b: 0, a: 0.78039217} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &509454618 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 509454615} + m_CullTransparentMesh: 1 +--- !u!1 &517279190 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 517279191} + - component: {fileID: 517279193} + - component: {fileID: 517279192} + m_Layer: 5 + m_Name: Selected + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!224 &517279191 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 517279190} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 2, y: 2, z: 2} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1080288860} + m_Father: {fileID: 1099761081} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 838.3, y: 15} + m_SizeDelta: {x: 100, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &517279192 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 517279190} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 1e0d88ad9a1b841f2b7cc7f47659dffb, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &517279193 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 517279190} + m_CullTransparentMesh: 1 +--- !u!1 &517605791 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 517605792} + - component: {fileID: 517605794} + - component: {fileID: 517605793} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &517605792 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 517605791} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 2006688179} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0.40002, y: -0} + m_SizeDelta: {x: 167.62558, y: 132.8706} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &517605793 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 517605791} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: 82730987d17d94dee82a4fc1f74af324, type: 3} + m_FontSize: 14 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 1 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Complete purchase on the Google Play Store. +--- !u!222 &517605794 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 517605791} + m_CullTransparentMesh: 1 +--- !u!1 &529302130 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 529302131} + - component: {fileID: 529302133} + - component: {fileID: 529302132} + m_Layer: 0 + m_Name: grass (16) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &529302131 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 529302130} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 29.25, y: -7.5, z: 398.38742} + m_LocalScale: {x: 2, y: 2, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 854302113} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!61 &529302132 +BoxCollider2D: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 529302130} + m_Enabled: 0 + serializedVersion: 3 + m_Density: 1 + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_ForceSendLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_ForceReceiveLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_ContactCaptureLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_CallbackLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_IsTrigger: 0 + m_UsedByEffector: 0 + m_CompositeOperation: 0 + m_CompositeOrder: 0 + m_Offset: {x: 0, y: 0} + m_SpriteTilingProperty: + border: {x: 0, y: 0, z: 0, w: 0} + pivot: {x: 0.5, y: 0.5} + oldSize: {x: 1.28, y: 1.28} + newSize: {x: 1.28, y: 1.28} + adaptiveTilingThreshold: 0.5 + drawMode: 0 + adaptiveTiling: 0 + m_AutoTiling: 0 + m_Size: {x: 1.28, y: 1.28} + m_EdgeRadius: 1 +--- !u!212 &529302133 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 529302130} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_ForceMeshLod: -1 + m_MeshLodSelectionBias: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_GlobalIlluminationMeshLod: 0 + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 1 + m_Sprite: {fileID: 21300000, guid: 2cb30301265d14c518963bfec692eb5c, type: 3} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FlipX: 0 + m_FlipY: 0 + m_DrawMode: 0 + m_Size: {x: 1.28, y: 1.28} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 +--- !u!1 &530847219 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 530847220} + - component: {fileID: 530847222} + - component: {fileID: 530847221} + m_Layer: 5 + m_Name: Pages + m_TagString: garagePages + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &530847220 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 530847219} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 560796383} + - {fileID: 434610941} + m_Father: {fileID: 1581781440} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: -52} + m_SizeDelta: {x: 800, y: 284} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &530847221 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 530847219} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 2d2def352a2284c989616fa9eb46baa4, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &530847222 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 530847219} + m_CullTransparentMesh: 1 +--- !u!1 &548214081 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 548214082} + - component: {fileID: 548214084} + - component: {fileID: 548214083} + m_Layer: 0 + m_Name: friendsIcon + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &548214082 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 548214081} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: -0.5} + m_LocalScale: {x: 0.95, y: 0.65000004, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 833469978} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 3} + m_SizeDelta: {x: 80, y: 90} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &548214083 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 548214081} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: bb7454cacfaf44c08b4ad7722464c6f8, type: 3} + m_Type: 0 + m_PreserveAspect: 1 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &548214084 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 548214081} + m_CullTransparentMesh: 1 +--- !u!1 &548695188 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 548695189} + - component: {fileID: 548695191} + - component: {fileID: 548695190} + m_Layer: 5 + m_Name: description + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &548695189 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 548695188} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1340913521} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 1.39, y: -31.23} + m_SizeDelta: {x: 358.47348, y: 92.158585} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &548695190 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 548695188} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0, g: 0, b: 0, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: 82730987d17d94dee82a4fc1f74af324, type: 3} + m_FontSize: 20 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 2 + m_MaxSize: 40 + m_Alignment: 1 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: 'all silver privileges + + + + + all coin items 40% off' +--- !u!222 &548695191 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 548695188} + m_CullTransparentMesh: 1 +--- !u!1 &551566687 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 551566688} + - component: {fileID: 551566690} + - component: {fileID: 551566689} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &551566688 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 551566687} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 630752255} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: -0.000030041, y: -0.0000052452} + m_SizeDelta: {x: 310, y: 41.686348} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &551566689 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 551566687} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: 82730987d17d94dee82a4fc1f74af324, type: 3} + m_FontSize: 24 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 2 + m_MaxSize: 40 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Restore Purchases +--- !u!222 &551566690 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 551566687} + m_CullTransparentMesh: 1 +--- !u!1 &560796382 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 560796383} + m_Layer: 5 + m_Name: CarPage + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &560796383 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 560796382} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 984682899} + - {fileID: 125787077} + - {fileID: 508832420} + - {fileID: 2022186446} + - {fileID: 1198602000} + m_Father: {fileID: 530847220} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: -92} + m_SizeDelta: {x: 100, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &562134168 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 562134169} + - component: {fileID: 562134171} + - component: {fileID: 562134170} + m_Layer: 0 + m_Name: grass (12) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &562134169 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 562134168} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -3.72, y: -7.5, z: 398.38742} + m_LocalScale: {x: 2, y: 2, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 854302113} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!61 &562134170 +BoxCollider2D: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 562134168} + m_Enabled: 0 + serializedVersion: 3 + m_Density: 1 + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_ForceSendLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_ForceReceiveLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_ContactCaptureLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_CallbackLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_IsTrigger: 0 + m_UsedByEffector: 0 + m_CompositeOperation: 0 + m_CompositeOrder: 0 + m_Offset: {x: 0, y: 0} + m_SpriteTilingProperty: + border: {x: 0, y: 0, z: 0, w: 0} + pivot: {x: 0.5, y: 0.5} + oldSize: {x: 1.28, y: 1.28} + newSize: {x: 1.28, y: 1.28} + adaptiveTilingThreshold: 0.5 + drawMode: 0 + adaptiveTiling: 0 + m_AutoTiling: 0 + m_Size: {x: 1.28, y: 1.28} + m_EdgeRadius: 1 +--- !u!212 &562134171 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 562134168} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_ForceMeshLod: -1 + m_MeshLodSelectionBias: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_GlobalIlluminationMeshLod: 0 + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 1 + m_Sprite: {fileID: 21300000, guid: 2cb30301265d14c518963bfec692eb5c, type: 3} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FlipX: 0 + m_FlipY: 0 + m_DrawMode: 0 + m_Size: {x: 1.28, y: 1.28} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 +--- !u!1 &562719369 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 562719370} + - component: {fileID: 562719372} + - component: {fileID: 562719371} + m_Layer: 5 + m_Name: land + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &562719370 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 562719369} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 658201524} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: -57.403965, y: -90.77001} + m_SizeDelta: {x: 58, y: 58} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &562719371 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 562719369} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 2cb30301265d14c518963bfec692eb5c, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &562719372 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 562719369} + m_CullTransparentMesh: 1 +--- !u!1 &565387855 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 565387856} + - component: {fileID: 565387858} + - component: {fileID: 565387857} + m_Layer: 0 + m_Name: grass (19) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &565387856 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 565387855} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 36.88, y: -7.5, z: 398.38742} + m_LocalScale: {x: 2, y: 2, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 854302113} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!61 &565387857 +BoxCollider2D: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 565387855} + m_Enabled: 0 + serializedVersion: 3 + m_Density: 1 + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_ForceSendLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_ForceReceiveLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_ContactCaptureLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_CallbackLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_IsTrigger: 0 + m_UsedByEffector: 0 + m_CompositeOperation: 0 + m_CompositeOrder: 0 + m_Offset: {x: 0, y: 0} + m_SpriteTilingProperty: + border: {x: 0, y: 0, z: 0, w: 0} + pivot: {x: 0.5, y: 0.5} + oldSize: {x: 1.28, y: 1.28} + newSize: {x: 1.28, y: 1.28} + adaptiveTilingThreshold: 0.5 + drawMode: 0 + adaptiveTiling: 0 + m_AutoTiling: 0 + m_Size: {x: 1.28, y: 1.28} + m_EdgeRadius: 1 +--- !u!212 &565387858 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 565387855} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_ForceMeshLod: -1 + m_MeshLodSelectionBias: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_GlobalIlluminationMeshLod: 0 + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 1 + m_Sprite: {fileID: 21300000, guid: 2cb30301265d14c518963bfec692eb5c, type: 3} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FlipX: 0 + m_FlipY: 0 + m_DrawMode: 0 + m_Size: {x: 1.28, y: 1.28} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 +--- !u!1 &566581815 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 566581816} + - component: {fileID: 566581818} + - component: {fileID: 566581817} + m_Layer: 5 + m_Name: PGSText + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &566581816 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 566581815} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1041642585} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0.0000066757, y: -2.0412} + m_SizeDelta: {x: 600, y: 41.122337} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &566581817 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 566581815} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: 82730987d17d94dee82a4fc1f74af324, type: 3} + m_FontSize: 25 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 2 + m_MaxSize: 40 + m_Alignment: 1 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Play Games Services +--- !u!222 &566581818 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 566581815} + m_CullTransparentMesh: 1 +--- !u!1 &566913382 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 566913383} + - component: {fileID: 566913384} + m_Layer: 0 + m_Name: roadRampLong_SE (9) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &566913383 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 566913382} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0.37298784, w: 0.92783624} + m_LocalPosition: {x: 27.89, y: -4.76, z: 400} + m_LocalScale: {x: 2.5, y: 2.5, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 973702867} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 43.8} +--- !u!212 &566913384 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 566913382} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_ForceMeshLod: -1 + m_MeshLodSelectionBias: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_GlobalIlluminationMeshLod: 0 + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 1 + m_Sprite: {fileID: 21300000, guid: f9cb1859eda6347cc971102e24992af9, type: 3} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FlipX: 0 + m_FlipY: 0 + m_DrawMode: 0 + m_Size: {x: 2.27, y: 1.97} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 +--- !u!1 &568397362 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 568397363} + - component: {fileID: 568397365} + - component: {fileID: 568397364} + m_Layer: 5 + m_Name: Panel + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &568397363 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 568397362} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1861826581} + - {fileID: 422066571} + - {fileID: 1484044226} + m_Father: {fileID: 1742730273} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: -86.1} + m_SizeDelta: {x: 0, y: 94.84216} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &568397364 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 568397362} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &568397365 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 568397362} + m_CullTransparentMesh: 1 +--- !u!1 &571608659 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 571608660} + - component: {fileID: 571608662} + - component: {fileID: 571608661} + m_Layer: 0 + m_Name: userIcon + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &571608660 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 571608659} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: -0.5} + m_LocalScale: {x: 0.95, y: 0.6500001, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1957284956} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0.00006502867, y: -5} + m_SizeDelta: {x: 100, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &571608661 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 571608659} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 409c2375b9f6f46c7b0fbc33449c331f, type: 3} + m_Type: 0 + m_PreserveAspect: 1 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &571608662 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 571608659} + m_CullTransparentMesh: 1 +--- !u!1 &574510996 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 574510997} + - component: {fileID: 574511000} + - component: {fileID: 574511002} + - component: {fileID: 574511001} + - component: {fileID: 574510999} + - component: {fileID: 574510998} + m_Layer: 5 + m_Name: goldenSubscriptionButton + m_TagString: goldenSubscriptionButton + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &574510997 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 574510996} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 51703362} + m_Father: {fileID: 1340913521} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0.0000022054, y: -116.84} + m_SizeDelta: {x: 200, y: 35} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &574510998 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 574510996} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 30649d3a9faa99c48a7b1166b86bf2a0, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Padding: + m_Left: 0 + m_Right: 0 + m_Top: 0 + m_Bottom: 0 + m_ChildAlignment: 4 + m_Spacing: 0 + m_ChildForceExpandWidth: 1 + m_ChildForceExpandHeight: 0 + m_ChildControlWidth: 0 + m_ChildControlHeight: 0 + m_ChildScaleWidth: 0 + m_ChildScaleHeight: 0 + m_ReverseArrangement: 0 +--- !u!114 &574510999 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 574510996} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 3245ec927659c4140ac4f8d17403cc18, type: 3} + m_Name: + m_EditorClassIdentifier: + m_HorizontalFit: 0 + m_VerticalFit: 0 +--- !u!222 &574511000 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 574510996} + m_CullTransparentMesh: 1 +--- !u!114 &574511001 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 574510996} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 0.8941177, g: 0.21960786, b: 0.10588236, a: 1} + m_HighlightedColor: {r: 0.8000001, g: 0.04705883, b: 0.011764707, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.8000001, g: 0.04705883, b: 0.011764707, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Highlighted + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 1570447888} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 272403479} + m_TargetAssemblyTypeName: + m_MethodName: OnSubscriptionStoreItemClicked + m_Mode: 3 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 2 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 +--- !u!114 &574511002 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 574510996} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: da1d02f4338834dd28524871d38142f7, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!1 &575866414 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 575866415} + - component: {fileID: 575866417} + - component: {fileID: 575866416} + m_Layer: 0 + m_Name: UnSelected + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &575866415 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 575866414} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 2, y: 2, z: 2} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1124256803} + m_Father: {fileID: 1099761081} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 840.1, y: 15} + m_SizeDelta: {x: 100, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &575866416 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 575866414} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 9966e399068234a0fbfd114de320fa0b, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &575866417 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 575866414} + m_CullTransparentMesh: 1 +--- !u!1 &587764105 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 587764106} + - component: {fileID: 587764107} + m_Layer: 0 + m_Name: BackgroundTab + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &587764106 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 587764105} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 109.2, y: -0.4, z: 1} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1404411602} + - {fileID: 745764001} + m_Father: {fileID: 41664093} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &587764107 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 587764105} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 0 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Highlighted + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 0} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 181028047} + m_TargetAssemblyTypeName: + m_MethodName: OnSwitchPageTabClicked + m_Mode: 3 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 1 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 +--- !u!1 &594724465 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 594724466} + m_Layer: 0 + m_Name: Background + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &594724466 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 594724465} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 1.6929932, y: 3.2514877, z: -398.44604} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 427481935} + - {fileID: 213225580} + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &597130455 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 597130456} + - component: {fileID: 597130457} + m_Layer: 0 + m_Name: roadRampLong_SE (14) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &597130456 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 597130455} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0.37298784, w: 0.92783624} + m_LocalPosition: {x: 38.26, y: -4.76, z: 400} + m_LocalScale: {x: 2.5, y: 2.5, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 973702867} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 43.8} +--- !u!212 &597130457 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 597130455} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_ForceMeshLod: -1 + m_MeshLodSelectionBias: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_GlobalIlluminationMeshLod: 0 + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 1 + m_Sprite: {fileID: 21300000, guid: f9cb1859eda6347cc971102e24992af9, type: 3} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FlipX: 0 + m_FlipY: 0 + m_DrawMode: 0 + m_Size: {x: 2.27, y: 1.97} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 +--- !u!1 &604100075 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 604100076} + - component: {fileID: 604100077} + m_Layer: 0 + m_Name: blue_grass (4) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &604100076 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 604100075} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 25.24, y: -1.1599998, z: 398.446} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 213225580} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!212 &604100077 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 604100075} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_ForceMeshLod: -1 + m_MeshLodSelectionBias: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_GlobalIlluminationMeshLod: 0 + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_Sprite: {fileID: 21300000, guid: 5628e29fca1e94568a764c47bd2a4f9c, type: 3} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FlipX: 0 + m_FlipY: 0 + m_DrawMode: 0 + m_Size: {x: 10.24, y: 10.24} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 +--- !u!1 &607137449 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 607137450} + - component: {fileID: 607137452} + - component: {fileID: 607137451} + m_Layer: 5 + m_Name: tick (1) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &607137450 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 607137449} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0.69025016, y: 0.69025016, z: 0.69025016} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1124647842} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: -13.42, y: -6.45} + m_SizeDelta: {x: 5.4154196, y: 17.671354} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &607137451 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 607137449} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.827451, g: 0.827451, b: 0.827451, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &607137452 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 607137449} + m_CullTransparentMesh: 1 +--- !u!1 &612560963 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 612560964} + - component: {fileID: 612560965} + m_Layer: 5 + m_Name: GasStorePageController + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &612560964 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 612560963} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 140605186} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 100, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &612560965 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 612560963} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: e6b2322fbd72c45b1aeacc38e6455835, type: 3} + m_Name: + m_EditorClassIdentifier: + gasPrice: {fileID: 1689975708} + panelGasPrice: {fileID: 987277604} + panelFillGas: {fileID: 1628116804} + gasLevelImageObj: {fileID: 438713673} + cannotAffordWarning: {fileID: 2068190051} + car: {fileID: 305869538} +--- !u!1 &615413807 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 615413808} + - component: {fileID: 615413810} + - component: {fileID: 615413809} + m_Layer: 5 + m_Name: coin (3) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &615413808 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 615413807} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 1} + m_LocalScale: {x: 0.4, y: 0.4, z: 0.4} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1005024301} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: -17.200996, y: -41.400005} + m_SizeDelta: {x: 100, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &615413809 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 615413807} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 18365d95662f54c559a543e98eb34d7a, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &615413810 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 615413807} + m_CullTransparentMesh: 1 +--- !u!1 &627871555 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 627871556} + - component: {fileID: 627871558} + - component: {fileID: 627871557} + m_Layer: 0 + m_Name: grass (23) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &627871556 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 627871555} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 47.02, y: -7.5, z: 398.38742} + m_LocalScale: {x: 2, y: 2, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 854302113} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!61 &627871557 +BoxCollider2D: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 627871555} + m_Enabled: 0 + serializedVersion: 3 + m_Density: 1 + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_ForceSendLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_ForceReceiveLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_ContactCaptureLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_CallbackLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_IsTrigger: 0 + m_UsedByEffector: 0 + m_CompositeOperation: 0 + m_CompositeOrder: 0 + m_Offset: {x: 0, y: 0} + m_SpriteTilingProperty: + border: {x: 0, y: 0, z: 0, w: 0} + pivot: {x: 0.5, y: 0.5} + oldSize: {x: 1.28, y: 1.28} + newSize: {x: 1.28, y: 1.28} + adaptiveTilingThreshold: 0.5 + drawMode: 0 + adaptiveTiling: 0 + m_AutoTiling: 0 + m_Size: {x: 1.28, y: 1.28} + m_EdgeRadius: 1 +--- !u!212 &627871558 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 627871555} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_ForceMeshLod: -1 + m_MeshLodSelectionBias: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_GlobalIlluminationMeshLod: 0 + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 1 + m_Sprite: {fileID: 21300000, guid: 2cb30301265d14c518963bfec692eb5c, type: 3} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FlipX: 0 + m_FlipY: 0 + m_DrawMode: 0 + m_Size: {x: 1.28, y: 1.28} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 +--- !u!1 &628554574 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 628554575} + - component: {fileID: 628554577} + - component: {fileID: 628554576} + m_Layer: 5 + m_Name: FilGasReminder + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &628554575 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 628554574} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1944635352} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 4.20006, y: -47.600033} + m_SizeDelta: {x: 417.5641, y: 63.02108} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &628554576 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 628554574} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: 82730987d17d94dee82a4fc1f74af324, type: 3} + m_FontSize: 30 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 3 + m_MaxSize: 40 + m_Alignment: 0 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Please Fill at store +--- !u!222 &628554577 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 628554574} + m_CullTransparentMesh: 1 +--- !u!1 &630752254 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 630752255} + - component: {fileID: 630752257} + - component: {fileID: 630752256} + m_Layer: 5 + m_Name: PanelRestorePurchase + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!224 &630752255 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 630752254} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 551566688} + - {fileID: 1519550917} + m_Father: {fileID: 1981601474} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: -0.722003, y: 20.596188} + m_SizeDelta: {x: 320, y: 41.68638} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &630752256 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 630752254} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.34117648, g: 0.34117648, b: 0.34117648, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &630752257 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 630752254} + m_CullTransparentMesh: 1 +--- !u!1 &635933290 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 635933294} + - component: {fileID: 635933293} + - component: {fileID: 635933292} + - component: {fileID: 635933291} + m_Layer: 5 + m_Name: PGSPageCanvas + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!114 &635933291 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 635933290} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: dc42784cf147c0c48a680349fa168899, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreReversedGraphics: 1 + m_BlockingObjects: 0 + m_BlockingMask: + serializedVersion: 2 + m_Bits: 4294967295 +--- !u!114 &635933292 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 635933290} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UiScaleMode: 1 + m_ReferencePixelsPerUnit: 100 + m_ScaleFactor: 1 + m_ReferenceResolution: {x: 800, y: 600} + m_ScreenMatchMode: 0 + m_MatchWidthOrHeight: 0 + m_PhysicalUnit: 3 + m_FallbackScreenDPI: 96 + m_DefaultSpriteDPI: 96 + m_DynamicPixelsPerUnit: 1 + m_PresetInfoIsWorld: 0 +--- !u!223 &635933293 +Canvas: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 635933290} + m_Enabled: 1 + serializedVersion: 3 + m_RenderMode: 0 + m_Camera: {fileID: 0} + m_PlaneDistance: 100 + m_PixelPerfect: 0 + m_ReceivesEvents: 1 + m_OverrideSorting: 0 + m_OverridePixelPerfect: 0 + m_SortingBucketNormalizedSize: 0 + m_VertexColorAlwaysGammaSpace: 0 + m_AdditionalShaderChannelsFlag: 0 + m_UpdateRectTransformForStandalone: 0 + m_SortingLayerID: 0 + m_SortingOrder: 1 + m_TargetDisplay: 0 +--- !u!224 &635933294 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 635933290} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0, y: 0, z: 0} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 32773335} + - {fileID: 1027846875} + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0, y: 0} +--- !u!1 &637458224 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 637458225} + - component: {fileID: 637458226} + m_Layer: 0 + m_Name: roadRampLong_SE + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &637458225 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 637458224} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: 0.37298784, w: 0.92783624} + m_LocalPosition: {x: -7.63, y: -4.76, z: 400} + m_LocalScale: {x: 2.5, y: 2.5, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 973702867} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 43.8} +--- !u!212 &637458226 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 637458224} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_ForceMeshLod: -1 + m_MeshLodSelectionBias: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_GlobalIlluminationMeshLod: 0 + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 1 + m_Sprite: {fileID: 21300000, guid: f9cb1859eda6347cc971102e24992af9, type: 3} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FlipX: 0 + m_FlipY: 0 + m_DrawMode: 0 + m_Size: {x: 2.27, y: 1.97} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 +--- !u!1 &640405160 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 640405161} + - component: {fileID: 640405163} + - component: {fileID: 640405162} + m_Layer: 5 + m_Name: Panel + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &640405161 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 640405160} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 422719013} + - {fileID: 351286573} + - {fileID: 793877591} + m_Father: {fileID: 16853872} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: -86.1} + m_SizeDelta: {x: 0, y: 94.84216} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &640405162 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 640405160} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &640405163 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 640405160} + m_CullTransparentMesh: 1 +--- !u!1 &641717530 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 641717533} + - component: {fileID: 641717532} + - component: {fileID: 641717531} + m_Layer: 5 + m_Name: NoGas + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &641717531 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 641717530} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: 82730987d17d94dee82a4fc1f74af324, type: 3} + m_FontSize: 60 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 6 + m_MaxSize: 60 + m_Alignment: 0 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: NO GAS !! +--- !u!222 &641717532 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 641717530} + m_CullTransparentMesh: 1 +--- !u!224 &641717533 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 641717530} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1944635352} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0.00002670288, y: 12.299992} + m_SizeDelta: {x: 299.69794, y: 96.29826} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &647634641 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 647634642} + - component: {fileID: 647634645} + - component: {fileID: 647634644} + - component: {fileID: 647634643} + m_Layer: 5 + m_Name: noButton + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &647634642 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 647634641} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1530108569} + m_Father: {fileID: 920210615} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 68.3, y: -33} + m_SizeDelta: {x: 67.08414, y: 31.055847} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &647634643 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 647634641} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Highlighted + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 647634644} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 612560965} + m_TargetAssemblyTypeName: + m_MethodName: OnFillGasConfirmPanelButtonClicked + m_Mode: 6 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 +--- !u!114 &647634644 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 647634641} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: da940c180b04d4fc090d53ae5e583e5c, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &647634645 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 647634641} + m_CullTransparentMesh: 1 +--- !u!1 &658201523 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 658201524} + - component: {fileID: 658201527} + - component: {fileID: 658201526} + - component: {fileID: 658201525} + m_Layer: 5 + m_Name: 'Item (20 coins) ' + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &658201524 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 658201523} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 851168846} + - {fileID: 887435770} + - {fileID: 562719370} + - {fileID: 1710353590} + - {fileID: 87354424} + - {fileID: 771797518} + - {fileID: 496918477} + - {fileID: 275478059} + - {fileID: 1723044190} + - {fileID: 46006209} + - {fileID: 1401518708} + - {fileID: 1074692188} + - {fileID: 1630688871} + - {fileID: 456875793} + - {fileID: 1554752784} + - {fileID: 967949547} + - {fileID: 673627377} + - {fileID: 8327711} + m_Father: {fileID: 934722222} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0.5} + m_AnchorMax: {x: 0, y: 0.5} + m_AnchoredPosition: {x: 146, y: -63.7} + m_SizeDelta: {x: 195, y: 261} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &658201525 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 658201523} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 0 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Highlighted + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 1353145236} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 2000898529} + m_TargetAssemblyTypeName: + m_MethodName: OnCoinStoreItemClicked + m_Mode: 3 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 2 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 +--- !u!114 &658201526 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 658201523} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: f98c1e8e1f98a4d028d68c8ebc4aa032, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &658201527 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 658201523} + m_CullTransparentMesh: 1 +--- !u!1 &663929151 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 663929152} + - component: {fileID: 663929153} + m_Layer: 0 + m_Name: blue_grass + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &663929152 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 663929151} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -5.44, y: -1.1599998, z: 398.446} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 213225580} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!212 &663929153 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 663929151} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_ForceMeshLod: -1 + m_MeshLodSelectionBias: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_GlobalIlluminationMeshLod: 0 + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_Sprite: {fileID: 21300000, guid: 5628e29fca1e94568a764c47bd2a4f9c, type: 3} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FlipX: 0 + m_FlipY: 0 + m_DrawMode: 0 + m_Size: {x: 10.24, y: 10.24} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 +--- !u!1 &673627376 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 673627377} + - component: {fileID: 673627379} + - component: {fileID: 673627378} + m_Layer: 5 + m_Name: coin (11) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &673627377 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 673627376} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 1} + m_LocalScale: {x: 0.4, y: 0.4, z: 0.4} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 658201524} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: -20.40398, y: 11.999995} + m_SizeDelta: {x: 100, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &673627378 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 673627376} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 18365d95662f54c559a543e98eb34d7a, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &673627379 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 673627376} + m_CullTransparentMesh: 1 +--- !u!1 &674287166 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 674287167} + - component: {fileID: 674287169} + - component: {fileID: 674287168} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &674287167 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 674287166} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1494577192} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 4.6, y: -2.1} + m_SizeDelta: {x: 289.0151, y: 98.24942} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &674287168 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 674287166} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0, g: 0, b: 0, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: 82730987d17d94dee82a4fc1f74af324, type: 3} + m_FontSize: 16 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 1 + m_MaxSize: 40 + m_Alignment: 0 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Load the cloud save with X distance traveled? +--- !u!222 &674287169 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 674287166} + m_CullTransparentMesh: 1 +--- !u!1 &674963467 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 674963468} + - component: {fileID: 674963471} + - component: {fileID: 674963470} + - component: {fileID: 674963469} + m_Layer: 5 + m_Name: NoButton + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &674963468 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 674963467} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1673574548} + m_Father: {fileID: 1519550917} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0} + m_AnchorMax: {x: 0.5, y: 0} + m_AnchoredPosition: {x: 80, y: 33.6} + m_SizeDelta: {x: 67, y: 31} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &674963469 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 674963467} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Highlighted + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 237784486} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 181028047} + m_TargetAssemblyTypeName: + m_MethodName: OnRestorePurchaseConfirmPanelButtonClicked + m_Mode: 6 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 +--- !u!114 &674963470 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 674963467} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: da940c180b04d4fc090d53ae5e583e5c, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &674963471 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 674963467} + m_CullTransparentMesh: 1 +--- !u!1 &679549199 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 679549200} + - component: {fileID: 679549202} + - component: {fileID: 679549201} + m_Layer: 0 + m_Name: grass (22) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &679549200 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 679549199} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 44.49, y: -7.5, z: 398.38742} + m_LocalScale: {x: 2, y: 2, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 854302113} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!61 &679549201 +BoxCollider2D: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 679549199} + m_Enabled: 0 + serializedVersion: 3 + m_Density: 1 + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_ForceSendLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_ForceReceiveLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_ContactCaptureLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_CallbackLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_IsTrigger: 0 + m_UsedByEffector: 0 + m_CompositeOperation: 0 + m_CompositeOrder: 0 + m_Offset: {x: 0, y: 0} + m_SpriteTilingProperty: + border: {x: 0, y: 0, z: 0, w: 0} + pivot: {x: 0.5, y: 0.5} + oldSize: {x: 1.28, y: 1.28} + newSize: {x: 1.28, y: 1.28} + adaptiveTilingThreshold: 0.5 + drawMode: 0 + adaptiveTiling: 0 + m_AutoTiling: 0 + m_Size: {x: 1.28, y: 1.28} + m_EdgeRadius: 1 +--- !u!212 &679549202 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 679549199} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_ForceMeshLod: -1 + m_MeshLodSelectionBias: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_GlobalIlluminationMeshLod: 0 + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 1 + m_Sprite: {fileID: 21300000, guid: 2cb30301265d14c518963bfec692eb5c, type: 3} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FlipX: 0 + m_FlipY: 0 + m_DrawMode: 0 + m_Size: {x: 1.28, y: 1.28} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 +--- !u!1 &682708799 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 682708800} + - component: {fileID: 682708803} + - component: {fileID: 682708802} + - component: {fileID: 682708801} + m_Layer: 5 + m_Name: 'Item (Offroad) ' + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &682708800 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 682708799} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 313964508} + - {fileID: 394652843} + - {fileID: 2006688179} + m_Father: {fileID: 1106596712} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0.5} + m_AnchorMax: {x: 0, y: 0.5} + m_AnchoredPosition: {x: 146.5, y: 0.8} + m_SizeDelta: {x: 195, y: 261} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &682708801 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 682708799} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 0 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Highlighted + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 62320614} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 110421607} + m_TargetAssemblyTypeName: + m_MethodName: OnCarStoreItemClicked + m_Mode: 3 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 2 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 +--- !u!114 &682708802 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 682708799} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: ec98e495e40ab4289aa4d892238b08a5, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &682708803 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 682708799} + m_CullTransparentMesh: 1 +--- !u!1 &685973729 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 685973730} + - component: {fileID: 685973732} + - component: {fileID: 685973731} + m_Layer: 5 + m_Name: Pages + m_TagString: garagePages + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &685973730 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 685973729} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 2136726071} + - {fileID: 41016428} + - {fileID: 1688263106} + - {fileID: 721255556} + m_Father: {fileID: 1027846875} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: -52} + m_SizeDelta: {x: 800, y: 284} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &685973731 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 685973729} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 2d2def352a2284c989616fa9eb46baa4, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &685973732 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 685973729} + m_CullTransparentMesh: 1 +--- !u!1 &698566862 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 698566863} + - component: {fileID: 698566865} + - component: {fileID: 698566864} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &698566863 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 698566862} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 832686085} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0.40002, y: -0} + m_SizeDelta: {x: 167.62558, y: 132.8706} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &698566864 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 698566862} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: 82730987d17d94dee82a4fc1f74af324, type: 3} + m_FontSize: 14 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 1 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Complete purchase on the Google Play Store. +--- !u!222 &698566865 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 698566862} + m_CullTransparentMesh: 1 +--- !u!1 &704934408 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 704934409} + - component: {fileID: 704934411} + - component: {fileID: 704934410} + m_Layer: 0 + m_Name: UnSelected + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!224 &704934409 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 704934408} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 2, y: 2, z: 2} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1520646620} + m_Father: {fileID: 126712316} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 427.4, y: 15.000131} + m_SizeDelta: {x: 100, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &704934410 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 704934408} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 9966e399068234a0fbfd114de320fa0b, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &704934411 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 704934408} + m_CullTransparentMesh: 1 +--- !u!1 &706600951 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 706600952} + - component: {fileID: 706600954} + - component: {fileID: 706600953} + m_Layer: 0 + m_Name: backGroundIcon + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &706600952 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 706600951} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: -0.5} + m_LocalScale: {x: 0.95, y: 0.65000004, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 745764001} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 3} + m_SizeDelta: {x: 80, y: 90} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &706600953 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 706600951} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: b3ebf8bf911ad488b9ee848c5cf533c8, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &706600954 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 706600951} + m_CullTransparentMesh: 1 +--- !u!1 &707242307 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 707242308} + - component: {fileID: 707242311} + - component: {fileID: 707242310} + - component: {fileID: 707242309} + m_Layer: 5 + m_Name: PlayBoardCanvas + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &707242308 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 707242307} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0, y: 0, z: 0} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 96408351} + - {fileID: 392828581} + - {fileID: 956482887} + - {fileID: 1944635352} + - {fileID: 1590864596} + - {fileID: 1182112700} + - {fileID: 1044462645} + - {fileID: 1000451083} + - {fileID: 1602390004} + - {fileID: 867834569} + - {fileID: 1183118622} + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 23.719, y: 36.819, z: 45.519} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0, y: 0} +--- !u!114 &707242309 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 707242307} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: dc42784cf147c0c48a680349fa168899, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreReversedGraphics: 1 + m_BlockingObjects: 0 + m_BlockingMask: + serializedVersion: 2 + m_Bits: 4294967295 +--- !u!114 &707242310 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 707242307} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UiScaleMode: 1 + m_ReferencePixelsPerUnit: 100 + m_ScaleFactor: 1 + m_ReferenceResolution: {x: 800, y: 600} + m_ScreenMatchMode: 0 + m_MatchWidthOrHeight: 0 + m_PhysicalUnit: 3 + m_FallbackScreenDPI: 96 + m_DefaultSpriteDPI: 96 + m_DynamicPixelsPerUnit: 1 + m_PresetInfoIsWorld: 0 +--- !u!223 &707242311 +Canvas: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 707242307} + m_Enabled: 1 + serializedVersion: 3 + m_RenderMode: 0 + m_Camera: {fileID: 0} + m_PlaneDistance: 100 + m_PixelPerfect: 0 + m_ReceivesEvents: 1 + m_OverrideSorting: 0 + m_OverridePixelPerfect: 0 + m_SortingBucketNormalizedSize: 0 + m_VertexColorAlwaysGammaSpace: 0 + m_AdditionalShaderChannelsFlag: 0 + m_UpdateRectTransformForStandalone: 0 + m_SortingLayerID: 0 + m_SortingOrder: 0 + m_TargetDisplay: 0 +--- !u!1 &712163293 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 712163294} + - component: {fileID: 712163296} + - component: {fileID: 712163295} + m_Layer: 5 + m_Name: land (2) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &712163294 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 712163293} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1353145234} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 58.30401, y: -90.8} + m_SizeDelta: {x: 58, y: 58} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &712163295 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 712163293} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 2cb30301265d14c518963bfec692eb5c, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &712163296 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 712163293} + m_CullTransparentMesh: 1 +--- !u!1 &713046485 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 713046487} + - component: {fileID: 713046486} + m_Layer: 0 + m_Name: grass 1 (1) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!212 &713046486 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 713046485} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_ForceMeshLod: -1 + m_MeshLodSelectionBias: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_GlobalIlluminationMeshLod: 0 + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 2 + m_Sprite: {fileID: 21300000, guid: a130d426e3ee54a6295e478326081593, type: 3} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FlipX: 0 + m_FlipY: 0 + m_DrawMode: 0 + m_Size: {x: 1.28, y: 1.28} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 +--- !u!4 &713046487 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 713046485} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 4.2870064, y: -2.681487, z: 398.446} + m_LocalScale: {x: 1.5, y: 1.5, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 427481935} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &715357005 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 715357006} + - component: {fileID: 715357008} + - component: {fileID: 715357007} + m_Layer: 5 + m_Name: storeText + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &715357006 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 715357005} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1590864596} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: -0.0004272461, y: 0.0021514893} + m_SizeDelta: {x: 0.00090026855, y: 0.004306793} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &715357007 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 715357005} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.4392157, g: 0.4392157, b: 0.4392157, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: 82730987d17d94dee82a4fc1f74af324, type: 3} + m_FontSize: 35 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 3 + m_MaxSize: 40 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Store +--- !u!222 &715357008 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 715357005} + m_CullTransparentMesh: 1 +--- !u!1 &721255555 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 721255556} + - component: {fileID: 721255557} + m_Layer: 5 + m_Name: FriendsPage + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!224 &721255556 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 721255555} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1912990737} + - {fileID: 121046707} + m_Father: {fileID: 685973730} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: -92} + m_SizeDelta: {x: 100, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &721255557 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 721255555} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f308f65d36bb0421fa331741a1e15c35, type: 3} + m_Name: + m_EditorClassIdentifier: + friendsListText: {fileID: 121046706} + requestFriendsButton: {fileID: 1912990736} +--- !u!1 &721636475 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 721636476} + - component: {fileID: 721636478} + - component: {fileID: 721636477} + m_Layer: 5 + m_Name: itemText + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &721636476 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 721636475} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 62320613} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 101} + m_SizeDelta: {x: 174, y: 43.708984} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &721636477 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 721636475} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: 82730987d17d94dee82a4fc1f74af324, type: 3} + m_FontSize: 25 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 2 + m_MaxSize: 40 + m_Alignment: 1 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Sedan +--- !u!222 &721636478 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 721636475} + m_CullTransparentMesh: 1 +--- !u!1 &726791188 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 726791189} + - component: {fileID: 726791191} + - component: {fileID: 726791190} + m_Layer: 5 + m_Name: itemText + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &726791189 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 726791188} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 125787077} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 1.35, y: 101} + m_SizeDelta: {x: 171, y: 43.708984} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &726791190 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 726791188} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: 82730987d17d94dee82a4fc1f74af324, type: 3} + m_FontSize: 25 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 2 + m_MaxSize: 40 + m_Alignment: 1 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Truck +--- !u!222 &726791191 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 726791188} + m_CullTransparentMesh: 1 +--- !u!1 &732906223 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 732906226} + - component: {fileID: 732906225} + - component: {fileID: 732906227} + m_Layer: 0 + m_Name: EventSystem + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &732906225 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 732906223} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 76c392e42b5098c458856cdf6ecaaaa1, type: 3} + m_Name: + m_EditorClassIdentifier: + m_FirstSelected: {fileID: 0} + m_sendNavigationEvents: 1 + m_DragThreshold: 10 +--- !u!4 &732906226 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 732906223} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &732906227 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 732906223} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 01614664b831546d2ae94a42149d80ac, type: 3} + m_Name: + m_EditorClassIdentifier: + m_SendPointerHoverToParent: 1 + m_MoveRepeatDelay: 0.5 + m_MoveRepeatRate: 0.1 + m_XRTrackingOrigin: {fileID: 0} + m_ActionsAsset: {fileID: -944628639613478452, guid: ca9f5fa95ffab41fb9a615ab714db018, type: 3} + m_PointAction: {fileID: -1654692200621890270, guid: ca9f5fa95ffab41fb9a615ab714db018, type: 3} + m_MoveAction: {fileID: -8784545083839296357, guid: ca9f5fa95ffab41fb9a615ab714db018, type: 3} + m_SubmitAction: {fileID: 392368643174621059, guid: ca9f5fa95ffab41fb9a615ab714db018, type: 3} + m_CancelAction: {fileID: 7727032971491509709, guid: ca9f5fa95ffab41fb9a615ab714db018, type: 3} + m_LeftClickAction: {fileID: 3001919216989983466, guid: ca9f5fa95ffab41fb9a615ab714db018, type: 3} + m_MiddleClickAction: {fileID: -2185481485913320682, guid: ca9f5fa95ffab41fb9a615ab714db018, type: 3} + m_RightClickAction: {fileID: -4090225696740746782, guid: ca9f5fa95ffab41fb9a615ab714db018, type: 3} + m_ScrollWheelAction: {fileID: 6240969308177333660, guid: ca9f5fa95ffab41fb9a615ab714db018, type: 3} + m_TrackedDevicePositionAction: {fileID: 6564999863303420839, guid: ca9f5fa95ffab41fb9a615ab714db018, type: 3} + m_TrackedDeviceOrientationAction: {fileID: 7970375526676320489, guid: ca9f5fa95ffab41fb9a615ab714db018, type: 3} + m_DeselectOnBackgroundClick: 1 + m_PointerBehavior: 0 + m_CursorLockBehavior: 0 + m_ScrollDeltaPerTick: 6 +--- !u!1 &734817209 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 734817210} + - component: {fileID: 734817212} + - component: {fileID: 734817211} + m_Layer: 5 + m_Name: tick + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &734817210 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 734817209} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0.69025016, y: 0.69025016, z: 0.69025016} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1124647842} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: -44.08, y: -6.45} + m_SizeDelta: {x: 5.4154196, y: 17.671354} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &734817211 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 734817209} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.827451, g: 0.827451, b: 0.827451, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &734817212 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 734817209} + m_CullTransparentMesh: 1 +--- !u!1 &745764000 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 745764001} + - component: {fileID: 745764003} + - component: {fileID: 745764002} + m_Layer: 5 + m_Name: Selected + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!224 &745764001 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 745764000} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 2, y: 2, z: 2} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 706600952} + m_Father: {fileID: 587764106} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 760, y: 15} + m_SizeDelta: {x: 100, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &745764002 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 745764000} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 1e0d88ad9a1b841f2b7cc7f47659dffb, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &745764003 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 745764000} + m_CullTransparentMesh: 1 +--- !u!1 &761588024 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 761588025} + m_Layer: 5 + m_Name: deferredPurchaseReminder + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!224 &761588025 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 761588024} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 1} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 149730647} + - {fileID: 96156590} + m_Father: {fileID: 344778953} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 1.3927, y: 0.0000051856} + m_SizeDelta: {x: 295.53256, y: 88.22093} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &768087314 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 768087315} + - component: {fileID: 768087317} + - component: {fileID: 768087316} + m_Layer: 5 + m_Name: StoreText + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &768087315 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 768087314} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 2129103658} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: -0.000012398, y: -2.0400238} + m_SizeDelta: {x: 95.63997, y: 41.122337} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &768087316 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 768087314} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: 82730987d17d94dee82a4fc1f74af324, type: 3} + m_FontSize: 25 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 2 + m_MaxSize: 40 + m_Alignment: 0 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Store +--- !u!222 &768087317 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 768087314} + m_CullTransparentMesh: 1 +--- !u!1 &771102125 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 771102126} + - component: {fileID: 771102128} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &771102126 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 771102125} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1700502101} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &771102128 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 771102125} + m_CullTransparentMesh: 1 +--- !u!1 &771797517 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 771797518} + - component: {fileID: 771797520} + - component: {fileID: 771797519} + m_Layer: 5 + m_Name: coin + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &771797518 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 771797517} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 1} + m_LocalScale: {x: 0.4, y: 0.4, z: 0.4} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 658201524} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 58.9, y: -41.4} + m_SizeDelta: {x: 100, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &771797519 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 771797517} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 18365d95662f54c559a543e98eb34d7a, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &771797520 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 771797517} + m_CullTransparentMesh: 1 +--- !u!1 &772879696 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 772879697} + - component: {fileID: 772879699} + - component: {fileID: 772879698} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &772879697 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 772879696} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1742730273} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 122.871765, y: 37.30526} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &772879698 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 772879696} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: 82730987d17d94dee82a4fc1f74af324, type: 3} + m_FontSize: 24 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 2 + m_MaxSize: 40 + m_Alignment: 1 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Car +--- !u!222 &772879699 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 772879696} + m_CullTransparentMesh: 1 +--- !u!1 &785660340 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 785660341} + - component: {fileID: 785660343} + - component: {fileID: 785660342} + m_Layer: 5 + m_Name: PanelSubscription + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!224 &785660341 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 785660340} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1191476945} + - {fileID: 1663024518} + m_Father: {fileID: 1652414803} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 1} + m_AnchorMax: {x: 0.5, y: 1} + m_AnchoredPosition: {x: -0.000045776367, y: -11.2} + m_SizeDelta: {x: 307.2658, y: 40.048004} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &785660342 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 785660340} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.38431373, g: 0.38431373, b: 0.38431373, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &785660343 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 785660340} + m_CullTransparentMesh: 1 +--- !u!1 &788522293 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 788522294} + - component: {fileID: 788522296} + - component: {fileID: 788522295} + m_Layer: 5 + m_Name: tick (1) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &788522294 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 788522293} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 956482887} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 17.39, y: -6.2517} + m_SizeDelta: {x: 4.1217146, y: 12.496681} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &788522295 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 788522293} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.827451, g: 0.827451, b: 0.827451, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &788522296 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 788522293} + m_CullTransparentMesh: 1 +--- !u!1 &793877590 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 793877591} + - component: {fileID: 793877594} + - component: {fileID: 793877593} + - component: {fileID: 793877592} + m_Layer: 5 + m_Name: noButton + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &793877591 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 793877590} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1879601640} + m_Father: {fileID: 640405161} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 68.3, y: -33} + m_SizeDelta: {x: 67.08414, y: 31.055847} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &793877592 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 793877590} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Highlighted + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 793877593} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 2000898529} + m_TargetAssemblyTypeName: + m_MethodName: OnConfirmPurchasePanelButtonClicked + m_Mode: 6 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 +--- !u!114 &793877593 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 793877590} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: da940c180b04d4fc090d53ae5e583e5c, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &793877594 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 793877590} + m_CullTransparentMesh: 1 +--- !u!1 &803458929 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 803458930} + - component: {fileID: 803458932} + - component: {fileID: 803458931} + m_Layer: 5 + m_Name: itemText + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &803458930 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 803458929} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 2022186446} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 1.38, y: 101} + m_SizeDelta: {x: 171, y: 43.708984} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &803458931 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 803458929} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: 82730987d17d94dee82a4fc1f74af324, type: 3} + m_FontSize: 25 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 2 + m_MaxSize: 40 + m_Alignment: 1 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Kart +--- !u!222 &803458932 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 803458929} + m_CullTransparentMesh: 1 +--- !u!1 &808788998 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 808788999} + - component: {fileID: 808789001} + - component: {fileID: 808789000} + m_Layer: 5 + m_Name: coin (7) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &808788999 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 808788998} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 1} + m_LocalScale: {x: 0.4, y: 0.4, z: 0.4} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 196393728} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: -4.4999895, y: -13.630003} + m_SizeDelta: {x: 100, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &808789000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 808788998} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 18365d95662f54c559a543e98eb34d7a, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &808789001 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 808788998} + m_CullTransparentMesh: 1 +--- !u!1 &809353100 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 809353101} + - component: {fileID: 809353103} + - component: {fileID: 809353102} + m_Layer: 5 + m_Name: coin (6) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &809353101 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 809353100} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 1} + m_LocalScale: {x: 0.4, y: 0.4, z: 0.4} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1005024301} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 15.250004, y: -16.600006} + m_SizeDelta: {x: 97.24751, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &809353102 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 809353100} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 18365d95662f54c559a543e98eb34d7a, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &809353103 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 809353100} + m_CullTransparentMesh: 1 +--- !u!1 &810362342 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 810362343} + - component: {fileID: 810362345} + - component: {fileID: 810362344} + m_Layer: 5 + m_Name: coin (2) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &810362343 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 810362342} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 1} + m_LocalScale: {x: 0.4, y: 0.4, z: 0.4} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1353145234} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 10.8, y: -41.4} + m_SizeDelta: {x: 101.68176, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &810362344 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 810362342} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 18365d95662f54c559a543e98eb34d7a, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &810362345 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 810362342} + m_CullTransparentMesh: 1 +--- !u!1 &832686084 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 832686085} + m_Layer: 5 + m_Name: deferredPurchaseReminder + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!224 &832686085 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 832686084} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1910930078} + - {fileID: 698566863} + m_Father: {fileID: 1353145234} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 100, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &833469977 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 833469978} + - component: {fileID: 833469980} + - component: {fileID: 833469979} + m_Layer: 5 + m_Name: Selected + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!224 &833469978 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 833469977} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 2, y: 2, z: 2} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 548214082} + m_Father: {fileID: 1443469040} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 760, y: 15} + m_SizeDelta: {x: 100, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &833469979 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 833469977} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 1e0d88ad9a1b841f2b7cc7f47659dffb, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &833469980 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 833469977} + m_CullTransparentMesh: 1 +--- !u!1 &837701542 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 837701551} + - component: {fileID: 837701550} + - component: {fileID: 837701549} + - component: {fileID: 837701548} + - component: {fileID: 837701546} + - component: {fileID: 837701545} + - component: {fileID: 837701544} + - component: {fileID: 837701543} + m_Layer: 0 + m_Name: carKart + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!114 &837701543 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 837701542} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: a3c455de4da794453acc720d32af20d3, type: 3} + m_Name: + m_EditorClassIdentifier: + inputActionAsset: {fileID: -944628639613478452, guid: c44a0d3d8804e4fd887590aa86260552, type: 3} + odometerLabel: {fileID: 1183118621} + tapToDriveText: {fileID: 96408348} + carName: 3 +--- !u!95 &837701544 +Animator: + serializedVersion: 7 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 837701542} + m_Enabled: 1 + m_Avatar: {fileID: 0} + m_Controller: {fileID: 9100000, guid: 65fab2332e9d049b4b4388e11c6d6f85, type: 2} + m_CullingMode: 0 + m_UpdateMode: 0 + m_ApplyRootMotion: 0 + m_LinearVelocityBlending: 0 + m_StabilizeFeet: 0 + m_AnimatePhysics: 0 + m_WarningMessage: + m_HasTransformHierarchy: 1 + m_AllowConstantClipSamplingOptimization: 1 + m_KeepAnimatorStateOnDisable: 0 + m_WriteDefaultValuesOnDisable: 0 +--- !u!58 &837701545 +CircleCollider2D: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 837701542} + m_Enabled: 1 + serializedVersion: 3 + m_Density: 1 + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_ForceSendLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_ForceReceiveLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_ContactCaptureLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_CallbackLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_IsTrigger: 0 + m_UsedByEffector: 0 + m_CompositeOperation: 0 + m_CompositeOrder: 0 + m_Offset: {x: 0.48972973, y: -0.23} + m_Radius: 0.190564 +--- !u!58 &837701546 +CircleCollider2D: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 837701542} + m_Enabled: 1 + serializedVersion: 3 + m_Density: 1 + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_ForceSendLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_ForceReceiveLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_ContactCaptureLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_CallbackLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_IsTrigger: 0 + m_UsedByEffector: 0 + m_CompositeOperation: 0 + m_CompositeOrder: 0 + m_Offset: {x: -0.7, y: -0.23} + m_Radius: 0.19 +--- !u!61 &837701548 +BoxCollider2D: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 837701542} + m_Enabled: 1 + serializedVersion: 3 + m_Density: 1 + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_ForceSendLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_ForceReceiveLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_ContactCaptureLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_CallbackLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_IsTrigger: 0 + m_UsedByEffector: 0 + m_CompositeOperation: 0 + m_CompositeOrder: 0 + m_Offset: {x: 0, y: -0.047135115} + m_SpriteTilingProperty: + border: {x: 0, y: 0, z: 0, w: 0} + pivot: {x: 0.5, y: 0.5} + oldSize: {x: 2.06, y: 0.95} + newSize: {x: 1.77, y: 1.05} + adaptiveTilingThreshold: 0.5 + drawMode: 0 + adaptiveTiling: 0 + m_AutoTiling: 0 + m_Size: {x: 1.9612141, y: 0.46067786} + m_EdgeRadius: 0 +--- !u!50 &837701549 +Rigidbody2D: + serializedVersion: 5 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 837701542} + m_BodyType: 0 + m_Simulated: 1 + m_UseFullKinematicContacts: 0 + m_UseAutoMass: 0 + m_Mass: 1 + m_LinearDamping: 0 + m_AngularDamping: 0 + m_GravityScale: 1 + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_Interpolate: 0 + m_SleepingMode: 1 + m_CollisionDetection: 0 + m_Constraints: 0 +--- !u!212 &837701550 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 837701542} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_ForceMeshLod: -1 + m_MeshLodSelectionBias: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_GlobalIlluminationMeshLod: 0 + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 3 + m_Sprite: {fileID: 21300000, guid: 76615c2e503da4d71b6ef5ac52e6bfb5, type: 3} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FlipX: 0 + m_FlipY: 0 + m_DrawMode: 0 + m_Size: {x: 1.77, y: 1.05} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 +--- !u!4 &837701551 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 837701542} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0.008, y: -0.1045988, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 305869539} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &840107398 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 840107399} + - component: {fileID: 840107401} + - component: {fileID: 840107400} + m_Layer: 5 + m_Name: statusText + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!224 &840107399 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 840107398} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1023875365} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0.000030518, y: -93.108} + m_SizeDelta: {x: 358, y: 41.06337} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &840107400 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 840107398} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: 82730987d17d94dee82a4fc1f74af324, type: 3} + m_FontSize: 27 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 2 + m_MaxSize: 40 + m_Alignment: 0 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: USING +--- !u!222 &840107401 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 840107398} + m_CullTransparentMesh: 1 +--- !u!1 &851168845 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 851168846} + - component: {fileID: 851168848} + - component: {fileID: 851168847} + m_Layer: 5 + m_Name: itemText + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &851168846 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 851168845} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 658201524} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 101} + m_SizeDelta: {x: 174, y: 43.708984} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &851168847 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 851168845} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: 82730987d17d94dee82a4fc1f74af324, type: 3} + m_FontSize: 25 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 2 + m_MaxSize: 40 + m_Alignment: 1 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: 20 Coins +--- !u!222 &851168848 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 851168845} + m_CullTransparentMesh: 1 +--- !u!1 &854302112 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 854302113} + m_Layer: 0 + m_Name: Land + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &854302113 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 854302112} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -6.4401684, y: 3.7792091, z: -398.38745} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 160131318} + - {fileID: 1070825165} + - {fileID: 1925874520} + - {fileID: 448197875} + - {fileID: 911786507} + - {fileID: 887000876} + - {fileID: 1144492968} + - {fileID: 230607356} + - {fileID: 439531933} + - {fileID: 1195921019} + - {fileID: 1832127801} + - {fileID: 151449015} + - {fileID: 1570111921} + - {fileID: 562134169} + - {fileID: 987971805} + - {fileID: 1935055430} + - {fileID: 190220291} + - {fileID: 529302131} + - {fileID: 343920140} + - {fileID: 1295746230} + - {fileID: 565387856} + - {fileID: 301661701} + - {fileID: 2064941863} + - {fileID: 679549200} + - {fileID: 627871556} + - {fileID: 1400429683} + - {fileID: 876539948} + - {fileID: 1115093781} + - {fileID: 1601064025} + - {fileID: 1087640084} + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &866240589 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 866240590} + - component: {fileID: 866240592} + - component: {fileID: 866240591} + m_Layer: 5 + m_Name: price + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &866240590 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 866240589} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1847513115} + m_Father: {fileID: 355019296} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 69.1} + m_SizeDelta: {x: 174, y: 39.676895} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &866240591 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 866240589} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: 82730987d17d94dee82a4fc1f74af324, type: 3} + m_FontSize: 22 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 2 + m_MaxSize: 40 + m_Alignment: 1 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: '*' +--- !u!222 &866240592 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 866240589} + m_CullTransparentMesh: 1 +--- !u!1 &866837548 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 866837549} + - component: {fileID: 866837551} + - component: {fileID: 866837550} + m_Layer: 5 + m_Name: itemText + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &866837549 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 866837548} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 984682899} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0.04, y: 101} + m_SizeDelta: {x: 171, y: 43.708984} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &866837550 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 866837548} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: 82730987d17d94dee82a4fc1f74af324, type: 3} + m_FontSize: 25 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 2 + m_MaxSize: 40 + m_Alignment: 1 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Sedan +--- !u!222 &866837551 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 866837548} + m_CullTransparentMesh: 1 +--- !u!1 &867834568 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 867834569} + - component: {fileID: 867834571} + - component: {fileID: 867834570} + m_Layer: 5 + m_Name: DistanceLabel + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &867834569 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 867834568} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 707242308} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 1, y: 1} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: -170, y: -35} + m_SizeDelta: {x: 120, y: 32.35681} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &867834570 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 867834568} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.4392157, g: 0.4392157, b: 0.4392157, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: 82730987d17d94dee82a4fc1f74af324, type: 3} + m_FontSize: 20 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 2 + m_MaxSize: 40 + m_Alignment: 2 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Distance +--- !u!222 &867834571 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 867834568} + m_CullTransparentMesh: 1 +--- !u!1 &876539947 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 876539948} + - component: {fileID: 876539950} + - component: {fileID: 876539949} + m_Layer: 0 + m_Name: grass (25) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &876539948 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 876539947} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -16.32, y: -7.5, z: 398.38742} + m_LocalScale: {x: 2, y: 2, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 854302113} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!61 &876539949 +BoxCollider2D: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 876539947} + m_Enabled: 0 + serializedVersion: 3 + m_Density: 1 + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_ForceSendLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_ForceReceiveLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_ContactCaptureLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_CallbackLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_IsTrigger: 0 + m_UsedByEffector: 0 + m_CompositeOperation: 0 + m_CompositeOrder: 0 + m_Offset: {x: 0, y: 0} + m_SpriteTilingProperty: + border: {x: 0, y: 0, z: 0, w: 0} + pivot: {x: 0.5, y: 0.5} + oldSize: {x: 1.28, y: 1.28} + newSize: {x: 1.28, y: 1.28} + adaptiveTilingThreshold: 0.5 + drawMode: 0 + adaptiveTiling: 0 + m_AutoTiling: 0 + m_Size: {x: 1.28, y: 1.28} + m_EdgeRadius: 1 +--- !u!212 &876539950 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 876539947} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_ForceMeshLod: -1 + m_MeshLodSelectionBias: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_GlobalIlluminationMeshLod: 0 + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 1 + m_Sprite: {fileID: 21300000, guid: 2cb30301265d14c518963bfec692eb5c, type: 3} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FlipX: 0 + m_FlipY: 0 + m_DrawMode: 0 + m_Size: {x: 1.28, y: 1.28} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 +--- !u!1 &876607361 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 876607362} + - component: {fileID: 876607364} + - component: {fileID: 876607363} + m_Layer: 5 + m_Name: coin + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &876607362 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 876607361} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 1} + m_LocalScale: {x: 0.4, y: 0.4, z: 0.4} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1005024301} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 58.804005, y: -41.400005} + m_SizeDelta: {x: 100, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &876607363 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 876607361} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 18365d95662f54c559a543e98eb34d7a, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &876607364 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 876607361} + m_CullTransparentMesh: 1 +--- !u!1 &876883263 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 876883264} + - component: {fileID: 876883265} + m_Layer: 0 + m_Name: SignInTab + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &876883264 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 876883263} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -299.8, y: 0.5, z: 1} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1957284956} + - {fileID: 1064932449} + m_Father: {fileID: 228858408} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &876883265 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 876883263} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 0 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Highlighted + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 0} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 32773336} + m_TargetAssemblyTypeName: + m_MethodName: OnSwitchPageTabClicked + m_Mode: 3 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 +--- !u!1 &882154611 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 882154616} + - component: {fileID: 882154615} + - component: {fileID: 882154614} + - component: {fileID: 882154613} + - component: {fileID: 882154612} + m_Layer: 5 + m_Name: WaitCanvas + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!114 &882154612 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 882154611} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 380956d4bc6a443a1b6c15a6273cd9e2, type: 3} + m_Name: + m_EditorClassIdentifier: + waitText: {fileID: 66651291} +--- !u!114 &882154613 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 882154611} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: dc42784cf147c0c48a680349fa168899, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreReversedGraphics: 1 + m_BlockingObjects: 0 + m_BlockingMask: + serializedVersion: 2 + m_Bits: 4294967295 +--- !u!114 &882154614 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 882154611} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UiScaleMode: 1 + m_ReferencePixelsPerUnit: 100 + m_ScaleFactor: 1 + m_ReferenceResolution: {x: 800, y: 600} + m_ScreenMatchMode: 0 + m_MatchWidthOrHeight: 0 + m_PhysicalUnit: 3 + m_FallbackScreenDPI: 96 + m_DefaultSpriteDPI: 96 + m_DynamicPixelsPerUnit: 1 + m_PresetInfoIsWorld: 0 +--- !u!223 &882154615 +Canvas: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 882154611} + m_Enabled: 1 + serializedVersion: 3 + m_RenderMode: 0 + m_Camera: {fileID: 0} + m_PlaneDistance: 100 + m_PixelPerfect: 0 + m_ReceivesEvents: 1 + m_OverrideSorting: 0 + m_OverridePixelPerfect: 0 + m_SortingBucketNormalizedSize: 0 + m_VertexColorAlwaysGammaSpace: 0 + m_AdditionalShaderChannelsFlag: 0 + m_UpdateRectTransformForStandalone: 0 + m_SortingLayerID: 0 + m_SortingOrder: 2 + m_TargetDisplay: 0 +--- !u!224 &882154616 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 882154611} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0, y: 0, z: 0} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 95224770} + - {fileID: 1413782429} + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0, y: 0} +--- !u!1 &885267310 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 885267311} + - component: {fileID: 885267313} + - component: {fileID: 885267312} + m_Layer: 5 + m_Name: Pages + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &885267311 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 885267310} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 140605186} + - {fileID: 934722222} + - {fileID: 1106596712} + - {fileID: 1652414803} + m_Father: {fileID: 1247029532} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: -0.018835, y: -52.297} + m_SizeDelta: {x: 800.0377, y: 284.59473} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &885267312 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 885267310} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 2d2def352a2284c989616fa9eb46baa4, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &885267313 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 885267310} + m_CullTransparentMesh: 1 +--- !u!1 &887000875 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 887000876} + - component: {fileID: 887000878} + - component: {fileID: 887000877} + m_Layer: 0 + m_Name: grass (4) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &887000876 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 887000875} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 8.959999, y: -7.5, z: 398.38742} + m_LocalScale: {x: 2, y: 2, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 854302113} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!61 &887000877 +BoxCollider2D: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 887000875} + m_Enabled: 0 + serializedVersion: 3 + m_Density: 1 + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_ForceSendLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_ForceReceiveLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_ContactCaptureLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_CallbackLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_IsTrigger: 0 + m_UsedByEffector: 0 + m_CompositeOperation: 0 + m_CompositeOrder: 0 + m_Offset: {x: 0, y: 0} + m_SpriteTilingProperty: + border: {x: 0, y: 0, z: 0, w: 0} + pivot: {x: 0.5, y: 0.5} + oldSize: {x: 1.28, y: 1.28} + newSize: {x: 1.28, y: 1.28} + adaptiveTilingThreshold: 0.5 + drawMode: 0 + adaptiveTiling: 0 + m_AutoTiling: 0 + m_Size: {x: 1.28, y: 1.28} + m_EdgeRadius: 1 +--- !u!212 &887000878 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 887000875} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_ForceMeshLod: -1 + m_MeshLodSelectionBias: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_GlobalIlluminationMeshLod: 0 + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 1 + m_Sprite: {fileID: 21300000, guid: 2cb30301265d14c518963bfec692eb5c, type: 3} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FlipX: 0 + m_FlipY: 0 + m_DrawMode: 0 + m_Size: {x: 1.28, y: 1.28} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 +--- !u!1 &887435769 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 887435770} + - component: {fileID: 887435772} + - component: {fileID: 887435771} + m_Layer: 5 + m_Name: price + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &887435770 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 887435769} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 658201524} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 69.1} + m_SizeDelta: {x: 174, y: 39.676895} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &887435771 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 887435769} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: 82730987d17d94dee82a4fc1f74af324, type: 3} + m_FontSize: 22 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 2 + m_MaxSize: 40 + m_Alignment: 1 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: $twenty_coins +--- !u!222 &887435772 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 887435769} + m_CullTransparentMesh: 1 +--- !u!1 &895601393 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 895601394} + - component: {fileID: 895601396} + - component: {fileID: 895601395} + m_Layer: 5 + m_Name: coin (11) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &895601394 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 895601393} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0.4, y: 0.4, z: 0.4} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 196393728} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 38.400013, y: 6.9699984} + m_SizeDelta: {x: 100, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &895601395 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 895601393} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 18365d95662f54c559a543e98eb34d7a, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &895601396 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 895601393} + m_CullTransparentMesh: 1 +--- !u!1 &897459205 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 897459206} + - component: {fileID: 897459208} + - component: {fileID: 897459207} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &897459206 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 897459205} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1439994795} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &897459207 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 897459205} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: 82730987d17d94dee82a4fc1f74af324, type: 3} + m_FontSize: 16 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 1 + m_MaxSize: 40 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: No +--- !u!222 &897459208 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 897459205} + m_CullTransparentMesh: 1 +--- !u!1 &901699990 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 901699991} + - component: {fileID: 901699993} + - component: {fileID: 901699992} + m_Layer: 5 + m_Name: land + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &901699991 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 901699990} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 196393728} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: -56.9, y: -90.7} + m_SizeDelta: {x: 58, y: 58} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &901699992 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 901699990} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 2cb30301265d14c518963bfec692eb5c, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &901699993 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 901699990} + m_CullTransparentMesh: 1 +--- !u!1 &903627572 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 903627573} + - component: {fileID: 903627574} + m_Layer: 0 + m_Name: CarTab + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &903627573 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 903627572} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -95.3, y: 0.5, z: 1} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 241500985} + - {fileID: 1281542828} + m_Father: {fileID: 41664093} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &903627574 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 903627572} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 0 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Highlighted + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 0} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 181028047} + m_TargetAssemblyTypeName: + m_MethodName: OnSwitchPageTabClicked + m_Mode: 3 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 +--- !u!1 &906131436 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 906131437} + - component: {fileID: 906131439} + - component: {fileID: 906131438} + m_Layer: 5 + m_Name: Image + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &906131437 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 906131436} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 33244448} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 1.102, y: -0.17297} + m_SizeDelta: {x: 172.40402, y: 239.25403} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &906131438 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 906131436} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.69803923, g: 0.69803923, b: 0.69803923, a: 0.70980394} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &906131439 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 906131436} + m_CullTransparentMesh: 1 +--- !u!1 &907958059 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 907958060} + m_Layer: 0 + m_Name: Tabs + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &907958060 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 907958059} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 1} + m_LocalScale: {x: 0.30000004, y: 0.30000004, z: 0.30000004} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 126712316} + - {fileID: 1546640809} + - {fileID: 1099761081} + - {fileID: 344383113} + m_Father: {fileID: 1247029532} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: -221.3, y: 112.8} + m_SizeDelta: {x: 100, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &911786506 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 911786507} + - component: {fileID: 911786509} + - component: {fileID: 911786508} + m_Layer: 0 + m_Name: grass (3) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &911786507 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 911786506} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 1.360168, y: -7.5, z: 398.38742} + m_LocalScale: {x: 2, y: 2, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 854302113} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!61 &911786508 +BoxCollider2D: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 911786506} + m_Enabled: 0 + serializedVersion: 3 + m_Density: 1 + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_ForceSendLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_ForceReceiveLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_ContactCaptureLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_CallbackLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_IsTrigger: 0 + m_UsedByEffector: 0 + m_CompositeOperation: 0 + m_CompositeOrder: 0 + m_Offset: {x: 0, y: 0} + m_SpriteTilingProperty: + border: {x: 0, y: 0, z: 0, w: 0} + pivot: {x: 0.5, y: 0.5} + oldSize: {x: 1.28, y: 1.28} + newSize: {x: 1.28, y: 1.28} + adaptiveTilingThreshold: 0.5 + drawMode: 0 + adaptiveTiling: 0 + m_AutoTiling: 0 + m_Size: {x: 1.28, y: 1.28} + m_EdgeRadius: 1 +--- !u!212 &911786509 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 911786506} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_ForceMeshLod: -1 + m_MeshLodSelectionBias: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_GlobalIlluminationMeshLod: 0 + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 1 + m_Sprite: {fileID: 21300000, guid: 2cb30301265d14c518963bfec692eb5c, type: 3} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FlipX: 0 + m_FlipY: 0 + m_DrawMode: 0 + m_Size: {x: 1.28, y: 1.28} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 +--- !u!1 &917637541 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 917637542} + - component: {fileID: 917637544} + - component: {fileID: 917637543} + m_Layer: 5 + m_Name: SigninStatusText + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &917637542 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 917637541} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 2136726071} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: -100, y: 130} + m_SizeDelta: {x: 400, y: 40} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &917637543 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 917637541} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.21960786, g: 0.21960786, b: 0.21960786, a: 1} + m_RaycastTarget: 0 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: 82730987d17d94dee82a4fc1f74af324, type: 3} + m_FontSize: 25 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 2 + m_MaxSize: 40 + m_Alignment: 0 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: PGS Disabled +--- !u!222 &917637544 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 917637541} + m_CullTransparentMesh: 1 +--- !u!1 &920210614 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 920210615} + - component: {fileID: 920210617} + - component: {fileID: 920210616} + m_Layer: 5 + m_Name: Panel + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &920210615 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 920210614} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 987277606} + - {fileID: 387146818} + - {fileID: 1434656125} + - {fileID: 647634642} + m_Father: {fileID: 1628116807} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: -86.1} + m_SizeDelta: {x: 0, y: 94.84216} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &920210616 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 920210614} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &920210617 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 920210614} + m_CullTransparentMesh: 1 +--- !u!1 &934722221 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 934722222} + m_Layer: 5 + m_Name: CoinPage + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &934722222 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 934722221} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1353145234} + - {fileID: 1005024301} + - {fileID: 658201524} + - {fileID: 196393728} + - {fileID: 16853872} + - {fileID: 2000898528} + m_Father: {fileID: 885267311} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0.8, y: 64.7} + m_SizeDelta: {x: 100, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &936917344 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 936917345} + - component: {fileID: 936917347} + - component: {fileID: 936917346} + m_Layer: 5 + m_Name: land + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &936917345 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 936917344} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1005024301} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: -57.300007, y: -90.770004} + m_SizeDelta: {x: 58, y: 58} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &936917346 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 936917344} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 2cb30301265d14c518963bfec692eb5c, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &936917347 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 936917344} + m_CullTransparentMesh: 1 +--- !u!1 &952341936 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 952341937} + - component: {fileID: 952341939} + - component: {fileID: 952341938} + m_Layer: 0 + m_Name: UnSelected + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &952341937 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 952341936} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 2, y: 2, z: 2} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1739707650} + m_Father: {fileID: 1546640809} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 633, y: 15} + m_SizeDelta: {x: 100, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &952341938 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 952341936} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 9966e399068234a0fbfd114de320fa0b, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &952341939 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 952341936} + m_CullTransparentMesh: 1 +--- !u!1 &956036135 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 956036136} + - component: {fileID: 956036138} + - component: {fileID: 956036137} + m_Layer: 5 + m_Name: Selected + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!224 &956036136 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 956036135} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 2, y: 2, z: 2} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1835854567} + m_Father: {fileID: 1810270466} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 760, y: 15} + m_SizeDelta: {x: 100, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &956036137 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 956036135} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 1e0d88ad9a1b841f2b7cc7f47659dffb, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &956036138 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 956036135} + m_CullTransparentMesh: 1 +--- !u!1 &956482886 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 956482887} + - component: {fileID: 956482889} + - component: {fileID: 956482888} + m_Layer: 5 + m_Name: GasStatus + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &956482887 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 956482886} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 33365685} + - {fileID: 278941815} + - {fileID: 788522294} + - {fileID: 1737831630} + - {fileID: 1219991079} + m_Father: {fileID: 707242308} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 170.69922, y: -34} + m_SizeDelta: {x: 157.40588, y: 32.35446} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &956482888 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 956482886} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: a741ecb2c4a8345488ed5851d5c815ff, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &956482889 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 956482886} + m_CullTransparentMesh: 1 +--- !u!1 &963704568 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 963704569} + - component: {fileID: 963704571} + - component: {fileID: 963704570} + m_Layer: 5 + m_Name: AchievementText + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &963704569 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 963704568} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 41016428} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 50, y: -50} + m_SizeDelta: {x: 700, y: 400} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &963704570 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 963704568} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: 82730987d17d94dee82a4fc1f74af324, type: 3} + m_FontSize: 14 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 0 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: +--- !u!222 &963704571 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 963704568} + m_CullTransparentMesh: 1 +--- !u!1 &967949546 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 967949547} + - component: {fileID: 967949549} + - component: {fileID: 967949548} + m_Layer: 5 + m_Name: coin (10) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &967949547 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 967949546} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 1} + m_LocalScale: {x: 0.4, y: 0.4, z: 0.4} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 658201524} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 10.555104, y: 11.999995} + m_SizeDelta: {x: 100, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &967949548 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 967949546} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 18365d95662f54c559a543e98eb34d7a, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &967949549 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 967949546} + m_CullTransparentMesh: 1 +--- !u!1 &973702866 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 973702867} + m_Layer: 0 + m_Name: Road + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &973702867 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 973702866} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 1.6929932, y: 3.2514877, z: -398.44604} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 637458225} + - {fileID: 449190465} + - {fileID: 1988286313} + - {fileID: 1762995636} + - {fileID: 1298693399} + - {fileID: 1958721027} + - {fileID: 2082035252} + - {fileID: 1046957204} + - {fileID: 1300312273} + - {fileID: 566913383} + - {fileID: 485276826} + - {fileID: 1754076630} + - {fileID: 1470725904} + - {fileID: 1372348245} + - {fileID: 597130456} + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &976005230 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 976005231} + - component: {fileID: 976005233} + - component: {fileID: 976005232} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &976005231 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 976005230} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 8327711} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0.40002, y: -0} + m_SizeDelta: {x: 167.62558, y: 132.8706} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &976005232 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 976005230} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: 82730987d17d94dee82a4fc1f74af324, type: 3} + m_FontSize: 14 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 1 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Complete purchase on the Google Play Store. +--- !u!222 &976005233 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 976005230} + m_CullTransparentMesh: 1 +--- !u!1 &982968239 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 982968240} + - component: {fileID: 982968242} + - component: {fileID: 982968241} + m_Layer: 5 + m_Name: fillGas + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &982968240 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 982968239} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 334957934} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0.65, y: 96.1} + m_SizeDelta: {x: 181.51138, y: 43.708847} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &982968241 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 982968239} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: 82730987d17d94dee82a4fc1f74af324, type: 3} + m_FontSize: 25 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 2 + m_MaxSize: 40 + m_Alignment: 1 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Fill Gas +--- !u!222 &982968242 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 982968239} + m_CullTransparentMesh: 1 +--- !u!1 &984682898 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 984682899} + - component: {fileID: 984682902} + - component: {fileID: 984682900} + - component: {fileID: 984682901} + m_Layer: 5 + m_Name: Item (Sedan) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &984682899 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 984682898} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 866837549} + - {fileID: 1225208269} + m_Father: {fileID: 560796383} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0.5} + m_AnchorMax: {x: 0, y: 0.5} + m_AnchoredPosition: {x: -239.1, y: 95} + m_SizeDelta: {x: 195, y: 261} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &984682900 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 984682898} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: c0d577206ebc442f28eb6577a8fcd220, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!114 &984682901 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 984682898} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 0 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Highlighted + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 984682900} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 1198602001} + m_TargetAssemblyTypeName: + m_MethodName: OnCarGarageItemClicked + m_Mode: 3 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 +--- !u!222 &984682902 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 984682898} + m_CullTransparentMesh: 1 +--- !u!1 &987277603 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 987277606} + - component: {fileID: 987277605} + - component: {fileID: 987277604} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &987277604 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 987277603} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0, g: 0, b: 0, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: 82730987d17d94dee82a4fc1f74af324, type: 3} + m_FontSize: 16 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 1 + m_MaxSize: 40 + m_Alignment: 0 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Would you like to fill the gas tank with 4 coins +--- !u!222 &987277605 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 987277603} + m_CullTransparentMesh: 1 +--- !u!224 &987277606 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 987277603} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 920210615} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 4.6, y: -2.1} + m_SizeDelta: {x: 289.0151, y: 98.24942} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &987971804 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 987971805} + - component: {fileID: 987971807} + - component: {fileID: 987971806} + m_Layer: 0 + m_Name: grass (13) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &987971805 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 987971804} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -6.2, y: -7.5, z: 398.38742} + m_LocalScale: {x: 2, y: 2, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 854302113} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!61 &987971806 +BoxCollider2D: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 987971804} + m_Enabled: 0 + serializedVersion: 3 + m_Density: 1 + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_ForceSendLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_ForceReceiveLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_ContactCaptureLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_CallbackLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_IsTrigger: 0 + m_UsedByEffector: 0 + m_CompositeOperation: 0 + m_CompositeOrder: 0 + m_Offset: {x: 0, y: 0} + m_SpriteTilingProperty: + border: {x: 0, y: 0, z: 0, w: 0} + pivot: {x: 0.5, y: 0.5} + oldSize: {x: 1.28, y: 1.28} + newSize: {x: 1.28, y: 1.28} + adaptiveTilingThreshold: 0.5 + drawMode: 0 + adaptiveTiling: 0 + m_AutoTiling: 0 + m_Size: {x: 1.28, y: 1.28} + m_EdgeRadius: 1 +--- !u!212 &987971807 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 987971804} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_ForceMeshLod: -1 + m_MeshLodSelectionBias: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_GlobalIlluminationMeshLod: 0 + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 1 + m_Sprite: {fileID: 21300000, guid: 2cb30301265d14c518963bfec692eb5c, type: 3} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FlipX: 0 + m_FlipY: 0 + m_DrawMode: 0 + m_Size: {x: 1.28, y: 1.28} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 +--- !u!1 &993704462 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 993704465} + - component: {fileID: 993704464} + - component: {fileID: 993704463} + m_Layer: 0 + m_Name: rock + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!58 &993704463 +CircleCollider2D: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 993704462} + m_Enabled: 1 + serializedVersion: 3 + m_Density: 1 + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_ForceSendLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_ForceReceiveLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_ContactCaptureLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_CallbackLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_IsTrigger: 0 + m_UsedByEffector: 0 + m_CompositeOperation: 0 + m_CompositeOrder: 0 + m_Offset: {x: 0, y: -0.3380463} + m_Radius: 0.30195367 +--- !u!212 &993704464 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 993704462} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_ForceMeshLod: -1 + m_MeshLodSelectionBias: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_GlobalIlluminationMeshLod: 0 + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 3 + m_Sprite: {fileID: 21300000, guid: 0ac6560a4b3d3462a9a5c5ea9e0834fe, type: 3} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FlipX: 0 + m_FlipY: 0 + m_DrawMode: 0 + m_Size: {x: 1.28, y: 1.28} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 +--- !u!4 &993704465 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 993704462} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 15.31, y: -2.05, z: 0} + m_LocalScale: {x: 1, y: 0.91034174, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1000451082 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1000451083} + - component: {fileID: 1000451084} + m_Layer: 5 + m_Name: GamePlayCanvasController + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1000451083 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000451082} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 707242308} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 100, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1000451084 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000451082} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fd73cab0eb95541b59387de5b72be717, type: 3} + m_Name: + m_EditorClassIdentifier: + coinsCount: {fileID: 255060344} +--- !u!1 &1005024300 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1005024301} + - component: {fileID: 1005024304} + - component: {fileID: 1005024303} + - component: {fileID: 1005024302} + m_Layer: 5 + m_Name: Item (10 coins) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1005024301 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1005024300} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1682776465} + - {fileID: 1549972973} + - {fileID: 936917345} + - {fileID: 145958737} + - {fileID: 473762653} + - {fileID: 876607362} + - {fileID: 201945454} + - {fileID: 429684192} + - {fileID: 615413808} + - {fileID: 1016636291} + - {fileID: 337895780} + - {fileID: 809353101} + - {fileID: 2009784218} + - {fileID: 106613949} + - {fileID: 1772208397} + m_Father: {fileID: 934722222} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0.5} + m_AnchorMax: {x: 0, y: 0.5} + m_AnchoredPosition: {x: -46.99997, y: -63.699993} + m_SizeDelta: {x: 195, y: 261} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1005024302 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1005024300} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 0 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Highlighted + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 1353145236} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 2000898529} + m_TargetAssemblyTypeName: + m_MethodName: OnCoinStoreItemClicked + m_Mode: 3 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 1 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 +--- !u!114 &1005024303 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1005024300} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: f98c1e8e1f98a4d028d68c8ebc4aa032, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1005024304 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1005024300} + m_CullTransparentMesh: 1 +--- !u!1 &1016636290 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1016636291} + - component: {fileID: 1016636293} + - component: {fileID: 1016636292} + m_Layer: 5 + m_Name: coin (4) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1016636291 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1016636290} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 1} + m_LocalScale: {x: 0.4, y: 0.4, z: 0.4} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1005024301} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: -41.195995, y: -41.400005} + m_SizeDelta: {x: 100, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1016636292 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1016636290} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 18365d95662f54c559a543e98eb34d7a, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1016636293 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1016636290} + m_CullTransparentMesh: 1 +--- !u!1 &1023875364 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1023875365} + - component: {fileID: 1023875367} + - component: {fileID: 1023875368} + - component: {fileID: 1023875366} + m_Layer: 5 + m_Name: MushroomBackground + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!224 &1023875365 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1023875364} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1573797097} + - {fileID: 840107399} + m_Father: {fileID: 434610941} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 193.00006, y: 6.299802} + m_SizeDelta: {x: 386, y: 253} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1023875366 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1023875364} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 0 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Highlighted + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 1883743018} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 1673999205} + m_TargetAssemblyTypeName: + m_MethodName: OnBackgroundGarageItemClicked + m_Mode: 3 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 1 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 +--- !u!222 &1023875367 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1023875364} + m_CullTransparentMesh: 1 +--- !u!114 &1023875368 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1023875364} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: cbfa30be548dc4011a991880551901be, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!1 &1027846874 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1027846875} + m_Layer: 5 + m_Name: PGSPage + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1027846875 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1027846874} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1041642585} + - {fileID: 685973730} + - {fileID: 228858408} + m_Father: {fileID: 635933294} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 100, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &1033821258 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1033821260} + - component: {fileID: 1033821259} + m_Layer: 0 + m_Name: GameManager + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1033821259 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1033821258} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: b85dbc627942541e6a855dde0d7ce365, type: 3} + m_Name: + m_EditorClassIdentifier: + playPageCanvas: {fileID: 707242307} + storePageCanvas: {fileID: 1275616761} + garagePageCanvas: {fileID: 1284203580} + pgsPageCanvas: {fileID: 635933290} + waitCanvas: {fileID: 882154611} + gamePlayCanvasController: {fileID: 1000451082} + cloudLoadCanvas: {fileID: 1546055782} + cloudLoadTextGameObject: {fileID: 674287166} + storeItemFiveCoinGameObject: {fileID: 1353145233} + storeItemTenCoinGameObject: {fileID: 1005024300} + storeItemTwentyCoinGameObject: {fileID: 658201523} + storeItemFiftyCoinGameObject: {fileID: 196393727} + storeItemCarSedanGameObj: {fileID: 62320612} + storeItemCarTruckGameObj: {fileID: 355019295} + storeItemCarOffroadGameObj: {fileID: 682708799} + storeItemCarKartGameObj: {fileID: 1350373936} + garageItemCarSedanGameObj: {fileID: 984682898} + garageItemCarTruckGameObj: {fileID: 125787076} + garageItemCarOffroadGameObj: {fileID: 508832419} + garageItemCarKartGameObj: {fileID: 2022186445} + playCarSedanGameObj: {fileID: 272974522} + playCarOffroadGameObj: {fileID: 1916547075} + playCarTruckGameObj: {fileID: 2142797795} + playCarKartGameObj: {fileID: 837701542} + blueGrassBackgroundGarageItemGameObj: {fileID: 1883743016} + mushroomBackGroundGarageItemGameObj: {fileID: 1023875364} + silverVipSubscribeButtonGameObj: {fileID: 1570447886} + goldenVipSubscribeButtonGameObj: {fileID: 574510996} +--- !u!4 &1033821260 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1033821258} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -3.9610548, y: 1033.2432, z: -612.72925} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1036240312 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1036240313} + - component: {fileID: 1036240315} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1036240313 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1036240312} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1535592529} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &1036240315 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1036240312} + m_CullTransparentMesh: 1 +--- !u!1 &1041642584 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1041642585} + - component: {fileID: 1041642587} + - component: {fileID: 1041642586} + m_Layer: 5 + m_Name: MenuBar + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1041642585 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1041642584} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 566581816} + - {fileID: 1316706130} + m_Father: {fileID: 1027846875} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 1} + m_AnchorMax: {x: 0.5, y: 1} + m_AnchoredPosition: {x: 0, y: 144.5946} + m_SizeDelta: {x: 800, y: 45.204742} + m_Pivot: {x: 0.5, y: 1} +--- !u!114 &1041642586 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1041642584} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.38431373, g: 0.38431373, b: 0.38431373, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1041642587 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1041642584} + m_CullTransparentMesh: 1 +--- !u!1 &1044462644 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1044462645} + - component: {fileID: 1044462647} + - component: {fileID: 1044462646} + m_Layer: 5 + m_Name: CoinBar + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1044462645 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1044462644} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 255060346} + m_Father: {fileID: 707242308} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 79.65039, y: -82} + m_SizeDelta: {x: 101, y: 44} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1044462646 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1044462644} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 3272d975c083c4602a976ef787de3f9f, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1044462647 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1044462644} + m_CullTransparentMesh: 1 +--- !u!1 &1045735323 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1045735324} + - component: {fileID: 1045735326} + - component: {fileID: 1045735325} + m_Layer: 5 + m_Name: coin (3) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1045735324 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1045735323} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 1} + m_LocalScale: {x: 0.4, y: 0.4, z: 0.4} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 196393728} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: -16.50099, y: -41.33} + m_SizeDelta: {x: 100, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1045735325 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1045735323} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 18365d95662f54c559a543e98eb34d7a, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1045735326 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1045735323} + m_CullTransparentMesh: 1 +--- !u!1 &1046957203 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1046957204} + - component: {fileID: 1046957205} + m_Layer: 0 + m_Name: roadRampLong_SE (7) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1046957204 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1046957203} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: 0.37298784, w: 0.92783624} + m_LocalPosition: {x: -17.19, y: -4.76, z: 400} + m_LocalScale: {x: 2.5, y: 2.5, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 973702867} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 43.8} +--- !u!212 &1046957205 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1046957203} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_ForceMeshLod: -1 + m_MeshLodSelectionBias: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_GlobalIlluminationMeshLod: 0 + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 1 + m_Sprite: {fileID: 21300000, guid: f9cb1859eda6347cc971102e24992af9, type: 3} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FlipX: 0 + m_FlipY: 0 + m_DrawMode: 0 + m_Size: {x: 2.27, y: 1.97} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 +--- !u!1 &1050471771 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1050471772} + - component: {fileID: 1050471774} + - component: {fileID: 1050471773} + m_Layer: 0 + m_Name: UnSelectedBg + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1050471772 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1050471771} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 2, y: 2, z: 2} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1660624471} + m_Father: {fileID: 344383113} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 1048, y: 15} + m_SizeDelta: {x: 100, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1050471773 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1050471771} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 9966e399068234a0fbfd114de320fa0b, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1050471774 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1050471771} + m_CullTransparentMesh: 1 +--- !u!1 &1064932448 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1064932449} + - component: {fileID: 1064932451} + - component: {fileID: 1064932450} + m_Layer: 5 + m_Name: Selected + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1064932449 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1064932448} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 2, y: 2, z: 2} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1626259549} + m_Father: {fileID: 876883264} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 760, y: 15} + m_SizeDelta: {x: 100, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1064932450 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1064932448} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 1e0d88ad9a1b841f2b7cc7f47659dffb, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1064932451 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1064932448} + m_CullTransparentMesh: 1 +--- !u!1 &1070825164 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1070825165} + - component: {fileID: 1070825167} + - component: {fileID: 1070825166} + m_Layer: 0 + m_Name: grass + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1070825165 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1070825164} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -1.1898322, y: -7.5, z: 398.38742} + m_LocalScale: {x: 2, y: 2, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 854302113} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!61 &1070825166 +BoxCollider2D: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1070825164} + m_Enabled: 0 + serializedVersion: 3 + m_Density: 1 + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_ForceSendLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_ForceReceiveLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_ContactCaptureLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_CallbackLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_IsTrigger: 0 + m_UsedByEffector: 0 + m_CompositeOperation: 0 + m_CompositeOrder: 0 + m_Offset: {x: 0, y: 0} + m_SpriteTilingProperty: + border: {x: 0, y: 0, z: 0, w: 0} + pivot: {x: 0.5, y: 0.5} + oldSize: {x: 1.28, y: 1.28} + newSize: {x: 1.28, y: 1.28} + adaptiveTilingThreshold: 0.5 + drawMode: 0 + adaptiveTiling: 0 + m_AutoTiling: 0 + m_Size: {x: 1.28, y: 1.28} + m_EdgeRadius: 0 +--- !u!212 &1070825167 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1070825164} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_ForceMeshLod: -1 + m_MeshLodSelectionBias: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_GlobalIlluminationMeshLod: 0 + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 1 + m_Sprite: {fileID: 21300000, guid: 2cb30301265d14c518963bfec692eb5c, type: 3} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FlipX: 0 + m_FlipY: 0 + m_DrawMode: 0 + m_Size: {x: 1.28, y: 1.28} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 +--- !u!1 &1074692187 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1074692188} + - component: {fileID: 1074692190} + - component: {fileID: 1074692189} + m_Layer: 5 + m_Name: coin (6) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1074692188 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1074692187} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 1} + m_LocalScale: {x: 0.4, y: 0.4, z: 0.4} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 658201524} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 15.3460045, y: -16.600004} + m_SizeDelta: {x: 97.24751, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1074692189 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1074692187} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 18365d95662f54c559a543e98eb34d7a, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1074692190 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1074692187} + m_CullTransparentMesh: 1 +--- !u!1 &1079473133 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1079473134} + - component: {fileID: 1079473136} + - component: {fileID: 1079473135} + m_Layer: 5 + m_Name: itemText + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1079473134 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1079473133} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 196393728} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 101} + m_SizeDelta: {x: 174, y: 43.708984} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1079473135 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1079473133} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: 82730987d17d94dee82a4fc1f74af324, type: 3} + m_FontSize: 25 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 2 + m_MaxSize: 40 + m_Alignment: 1 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: 50 Coins +--- !u!222 &1079473136 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1079473133} + m_CullTransparentMesh: 1 +--- !u!1 &1080288859 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1080288860} + - component: {fileID: 1080288862} + - component: {fileID: 1080288861} + m_Layer: 0 + m_Name: 'carIcon ' + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1080288860 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1080288859} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: -0.5} + m_LocalScale: {x: 0.95, y: 0.65000004, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 517279191} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0.63555, y: -0.000025034} + m_SizeDelta: {x: 103.92522, y: 124.1073} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1080288861 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1080288859} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: c8f428910fa834c8dba079b8c89a7360, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1080288862 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1080288859} + m_CullTransparentMesh: 1 +--- !u!1 &1087640083 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1087640084} + - component: {fileID: 1087640086} + - component: {fileID: 1087640085} + m_Layer: 0 + m_Name: grass (28) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1087640084 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1087640083} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 49.56, y: -7.5, z: 398.38742} + m_LocalScale: {x: 2, y: 2, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 854302113} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!61 &1087640085 +BoxCollider2D: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1087640083} + m_Enabled: 0 + serializedVersion: 3 + m_Density: 1 + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_ForceSendLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_ForceReceiveLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_ContactCaptureLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_CallbackLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_IsTrigger: 0 + m_UsedByEffector: 0 + m_CompositeOperation: 0 + m_CompositeOrder: 0 + m_Offset: {x: 0, y: 0} + m_SpriteTilingProperty: + border: {x: 0, y: 0, z: 0, w: 0} + pivot: {x: 0.5, y: 0.5} + oldSize: {x: 1.28, y: 1.28} + newSize: {x: 1.28, y: 1.28} + adaptiveTilingThreshold: 0.5 + drawMode: 0 + adaptiveTiling: 0 + m_AutoTiling: 0 + m_Size: {x: 1.28, y: 1.28} + m_EdgeRadius: 1 +--- !u!212 &1087640086 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1087640083} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_ForceMeshLod: -1 + m_MeshLodSelectionBias: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_GlobalIlluminationMeshLod: 0 + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 1 + m_Sprite: {fileID: 21300000, guid: 2cb30301265d14c518963bfec692eb5c, type: 3} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FlipX: 0 + m_FlipY: 0 + m_DrawMode: 0 + m_Size: {x: 1.28, y: 1.28} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 +--- !u!1 &1088373756 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1088373757} + - component: {fileID: 1088373760} + - component: {fileID: 1088373758} + - component: {fileID: 1088373759} + m_Layer: 5 + m_Name: yesButton + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1088373757 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1088373756} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1998626615} + m_Father: {fileID: 1663024518} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: -82, y: -33} + m_SizeDelta: {x: 67.08414, y: 31.055847} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1088373758 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1088373756} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: da940c180b04d4fc090d53ae5e583e5c, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!114 &1088373759 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1088373756} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Highlighted + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 1088373758} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 272403479} + m_TargetAssemblyTypeName: + m_MethodName: OnConfirmSubscriptionPanelButtonClicked + m_Mode: 6 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 1 + m_CallState: 2 +--- !u!222 &1088373760 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1088373756} + m_CullTransparentMesh: 1 +--- !u!1 &1099761080 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1099761081} + - component: {fileID: 1099761082} + m_Layer: 0 + m_Name: CarTab + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1099761081 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1099761080} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 1} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 575866415} + - {fileID: 517279191} + m_Father: {fileID: 907958060} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1099761082 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1099761080} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 0 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Highlighted + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 0} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 1461505798} + m_TargetAssemblyTypeName: + m_MethodName: OnSwitchPageTabClicked + m_Mode: 3 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 2 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 +--- !u!1 &1106596711 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1106596712} + m_Layer: 5 + m_Name: CarPage + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!224 &1106596712 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1106596711} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 62320613} + - {fileID: 355019296} + - {fileID: 682708800} + - {fileID: 1350373937} + - {fileID: 1742730273} + - {fileID: 110421606} + - {fileID: 1210520475} + m_Father: {fileID: 885267311} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 100, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &1110015792 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1110015793} + - component: {fileID: 1110015795} + - component: {fileID: 1110015794} + m_Layer: 5 + m_Name: Image + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1110015793 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1110015792} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1772208397} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 1.102, y: -0.17297} + m_SizeDelta: {x: 172.40402, y: 239.25403} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1110015794 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1110015792} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.69803923, g: 0.69803923, b: 0.69803923, a: 0.70980394} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1110015795 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1110015792} + m_CullTransparentMesh: 1 +--- !u!1 &1115093780 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1115093781} + - component: {fileID: 1115093783} + - component: {fileID: 1115093782} + m_Layer: 0 + m_Name: grass (26) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1115093781 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1115093780} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -18.88, y: -7.5, z: 398.38742} + m_LocalScale: {x: 2, y: 2, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 854302113} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!61 &1115093782 +BoxCollider2D: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1115093780} + m_Enabled: 0 + serializedVersion: 3 + m_Density: 1 + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_ForceSendLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_ForceReceiveLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_ContactCaptureLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_CallbackLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_IsTrigger: 0 + m_UsedByEffector: 0 + m_CompositeOperation: 0 + m_CompositeOrder: 0 + m_Offset: {x: 0, y: 0} + m_SpriteTilingProperty: + border: {x: 0, y: 0, z: 0, w: 0} + pivot: {x: 0.5, y: 0.5} + oldSize: {x: 1.28, y: 1.28} + newSize: {x: 1.28, y: 1.28} + adaptiveTilingThreshold: 0.5 + drawMode: 0 + adaptiveTiling: 0 + m_AutoTiling: 0 + m_Size: {x: 1.28, y: 1.28} + m_EdgeRadius: 1 +--- !u!212 &1115093783 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1115093780} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_ForceMeshLod: -1 + m_MeshLodSelectionBias: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_GlobalIlluminationMeshLod: 0 + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 1 + m_Sprite: {fileID: 21300000, guid: 2cb30301265d14c518963bfec692eb5c, type: 3} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FlipX: 0 + m_FlipY: 0 + m_DrawMode: 0 + m_Size: {x: 1.28, y: 1.28} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 +--- !u!1 &1124256802 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1124256803} + - component: {fileID: 1124256805} + - component: {fileID: 1124256804} + m_Layer: 0 + m_Name: carIcon + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1124256803 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1124256802} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: -0.5} + m_LocalScale: {x: 0.95, y: 0.6500001, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 575866415} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0.00006502867, y: -5} + m_SizeDelta: {x: 100, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1124256804 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1124256802} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: c8f428910fa834c8dba079b8c89a7360, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1124256805 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1124256802} + m_CullTransparentMesh: 1 +--- !u!1 &1124647841 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1124647842} + - component: {fileID: 1124647844} + - component: {fileID: 1124647843} + m_Layer: 5 + m_Name: GasBar + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1124647842 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1124647841} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 438713674} + - {fileID: 734817210} + - {fileID: 607137450} + - {fileID: 1908892590} + - {fileID: 227353573} + m_Father: {fileID: 140605186} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 305.4, y: 105.4} + m_SizeDelta: {x: 157, y: 32} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1124647843 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1124647841} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: a741ecb2c4a8345488ed5851d5c815ff, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1124647844 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1124647841} + m_CullTransparentMesh: 1 +--- !u!1 &1132136873 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1132136874} + - component: {fileID: 1132136876} + - component: {fileID: 1132136875} + m_Layer: 5 + m_Name: Selected + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1132136874 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1132136873} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 2, y: 2, z: 2} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1983079679} + m_Father: {fileID: 126712316} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 426, y: 15} + m_SizeDelta: {x: 100, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1132136875 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1132136873} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 1e0d88ad9a1b841f2b7cc7f47659dffb, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1132136876 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1132136873} + m_CullTransparentMesh: 1 +--- !u!1 &1139376731 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1139376732} + - component: {fileID: 1139376734} + - component: {fileID: 1139376733} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1139376732 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1139376731} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1541489588} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1139376733 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1139376731} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: 82730987d17d94dee82a4fc1f74af324, type: 3} + m_FontSize: 16 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 1 + m_MaxSize: 40 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Yes +--- !u!222 &1139376734 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1139376731} + m_CullTransparentMesh: 1 +--- !u!1 &1144492967 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1144492968} + - component: {fileID: 1144492970} + - component: {fileID: 1144492969} + m_Layer: 0 + m_Name: grass (5) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1144492968 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1144492967} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 14.019832, y: -7.5, z: 398.38742} + m_LocalScale: {x: 2, y: 2, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 854302113} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!61 &1144492969 +BoxCollider2D: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1144492967} + m_Enabled: 0 + serializedVersion: 3 + m_Density: 1 + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_ForceSendLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_ForceReceiveLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_ContactCaptureLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_CallbackLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_IsTrigger: 0 + m_UsedByEffector: 0 + m_CompositeOperation: 0 + m_CompositeOrder: 0 + m_Offset: {x: 0, y: 0} + m_SpriteTilingProperty: + border: {x: 0, y: 0, z: 0, w: 0} + pivot: {x: 0.5, y: 0.5} + oldSize: {x: 1.28, y: 1.28} + newSize: {x: 1.28, y: 1.28} + adaptiveTilingThreshold: 0.5 + drawMode: 0 + adaptiveTiling: 0 + m_AutoTiling: 0 + m_Size: {x: 1.28, y: 1.28} + m_EdgeRadius: 1 +--- !u!212 &1144492970 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1144492967} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_ForceMeshLod: -1 + m_MeshLodSelectionBias: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_GlobalIlluminationMeshLod: 0 + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 1 + m_Sprite: {fileID: 21300000, guid: 2cb30301265d14c518963bfec692eb5c, type: 3} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FlipX: 0 + m_FlipY: 0 + m_DrawMode: 0 + m_Size: {x: 1.28, y: 1.28} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 +--- !u!1 &1171889514 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1171889515} + - component: {fileID: 1171889517} + - component: {fileID: 1171889516} + m_Layer: 5 + m_Name: coin (9) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1171889515 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1171889514} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 1} + m_LocalScale: {x: 0.4, y: 0.4, z: 0.4} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 196393728} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: -48.79998, y: -16.530005} + m_SizeDelta: {x: 100, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1171889516 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1171889514} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 18365d95662f54c559a543e98eb34d7a, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1171889517 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1171889514} + m_CullTransparentMesh: 1 +--- !u!1 &1182112699 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1182112700} + - component: {fileID: 1182112703} + - component: {fileID: 1182112702} + - component: {fileID: 1182112701} + m_Layer: 5 + m_Name: GarageButton + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1182112700 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1182112699} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 2009984646} + m_Father: {fileID: 707242308} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 125.4004, y: 38.620117} + m_SizeDelta: {x: 250.7965, y: 70.21835} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1182112701 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1182112699} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Highlighted + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 1182112702} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 1033821259} + m_TargetAssemblyTypeName: + m_MethodName: OnEnterGaragePageButtonClicked + m_Mode: 1 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 +--- !u!114 &1182112702 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1182112699} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 0} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1182112703 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1182112699} + m_CullTransparentMesh: 1 +--- !u!1 &1183118621 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1183118622} + - component: {fileID: 1183118624} + - component: {fileID: 1183118623} + m_Layer: 5 + m_Name: OdometerLabel + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1183118622 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1183118621} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 707242308} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 1, y: 1} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: -40, y: -35} + m_SizeDelta: {x: 120, y: 32.35681} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1183118623 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1183118621} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0, g: 0, b: 0, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: 82730987d17d94dee82a4fc1f74af324, type: 3} + m_FontSize: 20 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 2 + m_MaxSize: 40 + m_Alignment: 0 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: 100.0 +--- !u!222 &1183118624 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1183118621} + m_CullTransparentMesh: 1 +--- !u!1 &1187656864 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1187656865} + - component: {fileID: 1187656867} + - component: {fileID: 1187656866} + m_Layer: 0 + m_Name: leaderboardIcon + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1187656865 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1187656864} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: -0.5} + m_LocalScale: {x: 0.95, y: 0.6500001, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 2119543481} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 3} + m_SizeDelta: {x: 80, y: 90} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1187656866 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1187656864} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 40f5f197a62d443a79a689dcc210c3ad, type: 3} + m_Type: 0 + m_PreserveAspect: 1 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1187656867 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1187656864} + m_CullTransparentMesh: 1 +--- !u!1 &1191476944 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1191476945} + - component: {fileID: 1191476947} + - component: {fileID: 1191476946} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1191476945 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1191476944} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 785660341} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: -0.00019836, y: 0} + m_SizeDelta: {x: 307.2663, y: 37.30526} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1191476946 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1191476944} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: 82730987d17d94dee82a4fc1f74af324, type: 3} + m_FontSize: 24 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 2 + m_MaxSize: 40 + m_Alignment: 1 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Subscription +--- !u!222 &1191476947 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1191476944} + m_CullTransparentMesh: 1 +--- !u!1 &1193750090 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1193750091} + - component: {fileID: 1193750093} + - component: {fileID: 1193750092} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1193750091 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1193750090} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 351286573} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1193750092 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1193750090} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: 82730987d17d94dee82a4fc1f74af324, type: 3} + m_FontSize: 16 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 1 + m_MaxSize: 40 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Yes +--- !u!222 &1193750093 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1193750090} + m_CullTransparentMesh: 1 +--- !u!1 &1195921018 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1195921019} + - component: {fileID: 1195921021} + - component: {fileID: 1195921020} + m_Layer: 0 + m_Name: grass (8) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1195921019 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1195921018} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 19.080168, y: -7.5, z: 398.38742} + m_LocalScale: {x: 2, y: 2, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 854302113} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!61 &1195921020 +BoxCollider2D: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1195921018} + m_Enabled: 0 + serializedVersion: 3 + m_Density: 1 + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_ForceSendLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_ForceReceiveLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_ContactCaptureLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_CallbackLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_IsTrigger: 0 + m_UsedByEffector: 0 + m_CompositeOperation: 0 + m_CompositeOrder: 0 + m_Offset: {x: 0, y: 0} + m_SpriteTilingProperty: + border: {x: 0, y: 0, z: 0, w: 0} + pivot: {x: 0.5, y: 0.5} + oldSize: {x: 1.28, y: 1.28} + newSize: {x: 1.28, y: 1.28} + adaptiveTilingThreshold: 0.5 + drawMode: 0 + adaptiveTiling: 0 + m_AutoTiling: 0 + m_Size: {x: 1.28, y: 1.28} + m_EdgeRadius: 1 +--- !u!212 &1195921021 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1195921018} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_ForceMeshLod: -1 + m_MeshLodSelectionBias: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_GlobalIlluminationMeshLod: 0 + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 1 + m_Sprite: {fileID: 21300000, guid: 2cb30301265d14c518963bfec692eb5c, type: 3} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FlipX: 0 + m_FlipY: 0 + m_DrawMode: 0 + m_Size: {x: 1.28, y: 1.28} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 +--- !u!1 &1198601999 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1198602000} + - component: {fileID: 1198602001} + m_Layer: 5 + m_Name: CarGaragePageController + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1198602000 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1198601999} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 560796383} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 100, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1198602001 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1198601999} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 6807cab26286e4798838f94d48af3852, type: 3} + m_Name: + m_EditorClassIdentifier: + inputActionAsset: {fileID: -944628639613478452, guid: c44a0d3d8804e4fd887590aa86260552, type: 3} +--- !u!1 &1200048176 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1200048177} + - component: {fileID: 1200048179} + - component: {fileID: 1200048178} + m_Layer: 5 + m_Name: coin (12) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1200048177 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1200048176} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0.4, y: 0.4, z: 0.4} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 196393728} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 11.15911, y: 6.9699984} + m_SizeDelta: {x: 100, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1200048178 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1200048176} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 18365d95662f54c559a543e98eb34d7a, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1200048179 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1200048176} + m_CullTransparentMesh: 1 +--- !u!1 &1207584132 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1207584133} + - component: {fileID: 1207584135} + - component: {fileID: 1207584134} + m_Layer: 5 + m_Name: coin (4) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1207584133 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1207584132} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 1} + m_LocalScale: {x: 0.4, y: 0.4, z: 0.4} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 196393728} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: -40.495987, y: -41.33} + m_SizeDelta: {x: 100, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1207584134 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1207584132} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 18365d95662f54c559a543e98eb34d7a, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1207584135 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1207584132} + m_CullTransparentMesh: 1 +--- !u!1 &1210520474 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1210520475} + - component: {fileID: 1210520477} + - component: {fileID: 1210520476} + m_Layer: 5 + m_Name: CannotAffordWarningText + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!224 &1210520475 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1210520474} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1106596712} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 20} + m_SizeDelta: {x: 345.64737, y: 39.841553} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1210520476 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1210520474} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: 82730987d17d94dee82a4fc1f74af324, type: 3} + m_FontSize: 25 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 2 + m_MaxSize: 40 + m_Alignment: 0 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Insufficient coins! +--- !u!222 &1210520477 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1210520474} + m_CullTransparentMesh: 1 +--- !u!1 &1219991078 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1219991079} + - component: {fileID: 1219991081} + - component: {fileID: 1219991080} + m_Layer: 5 + m_Name: tick (3) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1219991079 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1219991078} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 956482887} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: -44.24, y: -6.2517} + m_SizeDelta: {x: 4.1217146, y: 12.496681} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1219991080 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1219991078} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.827451, g: 0.827451, b: 0.827451, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1219991081 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1219991078} + m_CullTransparentMesh: 1 +--- !u!1 &1225208268 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1225208269} + - component: {fileID: 1225208271} + - component: {fileID: 1225208270} + m_Layer: 5 + m_Name: statusText + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!224 &1225208269 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1225208268} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 984682899} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 2.4615, y: -106.05} + m_SizeDelta: {x: 175.843, y: 48.892014} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1225208270 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1225208268} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: 82730987d17d94dee82a4fc1f74af324, type: 3} + m_FontSize: 27 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 2 + m_MaxSize: 40 + m_Alignment: 1 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: USING +--- !u!222 &1225208271 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1225208268} + m_CullTransparentMesh: 1 +--- !u!1 &1230024275 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1230024276} + - component: {fileID: 1230024278} + - component: {fileID: 1230024277} + m_Layer: 5 + m_Name: coin (16) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1230024276 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1230024275} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0.4, y: 0.4, z: 0.4} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 196393728} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: -20.16699, y: 30.469997} + m_SizeDelta: {x: 100, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1230024277 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1230024275} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 18365d95662f54c559a543e98eb34d7a, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1230024278 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1230024275} + m_CullTransparentMesh: 1 +--- !u!1 &1236088370 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1236088371} + - component: {fileID: 1236088373} + - component: {fileID: 1236088372} + m_Layer: 5 + m_Name: Selected + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!224 &1236088371 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1236088370} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 2, y: 2, z: 2} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 380163893} + m_Father: {fileID: 1546640809} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 634.2, y: 15} + m_SizeDelta: {x: 100, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1236088372 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1236088370} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 1e0d88ad9a1b841f2b7cc7f47659dffb, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1236088373 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1236088370} + m_CullTransparentMesh: 1 +--- !u!1 &1240722775 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1240722776} + - component: {fileID: 1240722778} + - component: {fileID: 1240722777} + m_Layer: 5 + m_Name: itemText + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1240722776 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1240722775} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 355019296} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0.000067295, y: 101} + m_SizeDelta: {x: 171.69995, y: 43.708984} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1240722777 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1240722775} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: 82730987d17d94dee82a4fc1f74af324, type: 3} + m_FontSize: 25 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 2 + m_MaxSize: 40 + m_Alignment: 1 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Truck +--- !u!222 &1240722778 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1240722775} + m_CullTransparentMesh: 1 +--- !u!1 &1247029531 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1247029532} + - component: {fileID: 1247029534} + - component: {fileID: 1247029533} + m_Layer: 5 + m_Name: StorePage + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1247029532 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1247029531} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 2129103658} + - {fileID: 106810686} + - {fileID: 885267311} + - {fileID: 907958060} + - {fileID: 110356773} + m_Father: {fileID: 1275616765} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1247029533 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1247029531} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.5019608, g: 0.45490196, b: 0.45490196, a: 0.40392157} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1247029534 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1247029531} + m_CullTransparentMesh: 1 +--- !u!1 &1251440170 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1251440171} + - component: {fileID: 1251440173} + - component: {fileID: 1251440172} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1251440171 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1251440170} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 422066571} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1251440172 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1251440170} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: 82730987d17d94dee82a4fc1f74af324, type: 3} + m_FontSize: 16 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 1 + m_MaxSize: 40 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Yes +--- !u!222 &1251440173 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1251440170} + m_CullTransparentMesh: 1 +--- !u!1 &1253581747 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1253581748} + - component: {fileID: 1253581750} + - component: {fileID: 1253581749} + m_Layer: 5 + m_Name: coin (5) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1253581748 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1253581747} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0.4, y: 0.4, z: 0.4} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 196393728} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 46.50101, y: -16.53} + m_SizeDelta: {x: 100, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1253581749 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1253581747} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 18365d95662f54c559a543e98eb34d7a, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1253581750 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1253581747} + m_CullTransparentMesh: 1 +--- !u!1 &1262624713 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1262624714} + - component: {fileID: 1262624716} + - component: {fileID: 1262624715} + m_Layer: 5 + m_Name: PanelCloudLoad + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1262624714 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1262624713} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1944340017} + - {fileID: 1494577192} + m_Father: {fileID: 1546055787} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 307.2658, y: 40.048004} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1262624715 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1262624713} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.38431373, g: 0.38431373, b: 0.38431373, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1262624716 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1262624713} + m_CullTransparentMesh: 1 +--- !u!1 &1275616761 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1275616765} + - component: {fileID: 1275616764} + - component: {fileID: 1275616763} + - component: {fileID: 1275616762} + m_Layer: 5 + m_Name: StorePageCanvas + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!114 &1275616762 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1275616761} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: dc42784cf147c0c48a680349fa168899, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreReversedGraphics: 1 + m_BlockingObjects: 0 + m_BlockingMask: + serializedVersion: 2 + m_Bits: 4294967295 +--- !u!114 &1275616763 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1275616761} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UiScaleMode: 1 + m_ReferencePixelsPerUnit: 100 + m_ScaleFactor: 1 + m_ReferenceResolution: {x: 800, y: 600} + m_ScreenMatchMode: 0 + m_MatchWidthOrHeight: 0 + m_PhysicalUnit: 3 + m_FallbackScreenDPI: 96 + m_DefaultSpriteDPI: 96 + m_DynamicPixelsPerUnit: 1 + m_PresetInfoIsWorld: 0 +--- !u!223 &1275616764 +Canvas: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1275616761} + m_Enabled: 1 + serializedVersion: 3 + m_RenderMode: 0 + m_Camera: {fileID: 0} + m_PlaneDistance: 100 + m_PixelPerfect: 0 + m_ReceivesEvents: 1 + m_OverrideSorting: 0 + m_OverridePixelPerfect: 0 + m_SortingBucketNormalizedSize: 0 + m_VertexColorAlwaysGammaSpace: 0 + m_AdditionalShaderChannelsFlag: 0 + m_UpdateRectTransformForStandalone: 0 + m_SortingLayerID: 0 + m_SortingOrder: 1 + m_TargetDisplay: 0 +--- !u!224 &1275616765 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1275616761} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0, y: 0, z: 0} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1461505797} + - {fileID: 1247029532} + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0, y: 0} +--- !u!1 &1280181080 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1280181081} + - component: {fileID: 1280181083} + - component: {fileID: 1280181082} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1280181081 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1280181080} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1570447887} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 100, y: -17.5} + m_SizeDelta: {x: 190, y: 30} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1280181082 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1280181080} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: 82730987d17d94dee82a4fc1f74af324, type: 3} + m_FontSize: 16 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 1 + m_MaxSize: 40 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: subscribe now! +--- !u!222 &1280181083 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1280181080} + m_CullTransparentMesh: 1 +--- !u!1 &1281542827 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1281542828} + - component: {fileID: 1281542830} + - component: {fileID: 1281542829} + m_Layer: 5 + m_Name: Selected + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1281542828 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1281542827} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 2, y: 2, z: 2} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 66031380} + m_Father: {fileID: 903627573} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 760, y: 15} + m_SizeDelta: {x: 100, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1281542829 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1281542827} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 1e0d88ad9a1b841f2b7cc7f47659dffb, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1281542830 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1281542827} + m_CullTransparentMesh: 1 +--- !u!1 &1284203580 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1284203584} + - component: {fileID: 1284203583} + - component: {fileID: 1284203582} + - component: {fileID: 1284203581} + m_Layer: 5 + m_Name: GaragePageCanvas + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!114 &1284203581 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1284203580} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: dc42784cf147c0c48a680349fa168899, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreReversedGraphics: 1 + m_BlockingObjects: 0 + m_BlockingMask: + serializedVersion: 2 + m_Bits: 4294967295 +--- !u!114 &1284203582 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1284203580} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UiScaleMode: 1 + m_ReferencePixelsPerUnit: 100 + m_ScaleFactor: 1 + m_ReferenceResolution: {x: 800, y: 600} + m_ScreenMatchMode: 0 + m_MatchWidthOrHeight: 0 + m_PhysicalUnit: 3 + m_FallbackScreenDPI: 96 + m_DefaultSpriteDPI: 96 + m_DynamicPixelsPerUnit: 1 + m_PresetInfoIsWorld: 0 +--- !u!223 &1284203583 +Canvas: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1284203580} + m_Enabled: 1 + serializedVersion: 3 + m_RenderMode: 0 + m_Camera: {fileID: 0} + m_PlaneDistance: 100 + m_PixelPerfect: 0 + m_ReceivesEvents: 1 + m_OverrideSorting: 0 + m_OverridePixelPerfect: 0 + m_SortingBucketNormalizedSize: 0 + m_VertexColorAlwaysGammaSpace: 0 + m_AdditionalShaderChannelsFlag: 0 + m_UpdateRectTransformForStandalone: 0 + m_SortingLayerID: 0 + m_SortingOrder: 1 + m_TargetDisplay: 0 +--- !u!224 &1284203584 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1284203580} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0, y: 0, z: 0} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 181028046} + - {fileID: 1581781440} + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0, y: 0} +--- !u!1 &1295746229 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1295746230} + - component: {fileID: 1295746232} + - component: {fileID: 1295746231} + m_Layer: 0 + m_Name: grass (18) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1295746230 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1295746229} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 34.33, y: -7.5, z: 398.38742} + m_LocalScale: {x: 2, y: 2, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 854302113} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!61 &1295746231 +BoxCollider2D: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1295746229} + m_Enabled: 0 + serializedVersion: 3 + m_Density: 1 + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_ForceSendLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_ForceReceiveLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_ContactCaptureLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_CallbackLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_IsTrigger: 0 + m_UsedByEffector: 0 + m_CompositeOperation: 0 + m_CompositeOrder: 0 + m_Offset: {x: 0, y: 0} + m_SpriteTilingProperty: + border: {x: 0, y: 0, z: 0, w: 0} + pivot: {x: 0.5, y: 0.5} + oldSize: {x: 1.28, y: 1.28} + newSize: {x: 1.28, y: 1.28} + adaptiveTilingThreshold: 0.5 + drawMode: 0 + adaptiveTiling: 0 + m_AutoTiling: 0 + m_Size: {x: 1.28, y: 1.28} + m_EdgeRadius: 1 +--- !u!212 &1295746232 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1295746229} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_ForceMeshLod: -1 + m_MeshLodSelectionBias: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_GlobalIlluminationMeshLod: 0 + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 1 + m_Sprite: {fileID: 21300000, guid: 2cb30301265d14c518963bfec692eb5c, type: 3} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FlipX: 0 + m_FlipY: 0 + m_DrawMode: 0 + m_Size: {x: 1.28, y: 1.28} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 +--- !u!1 &1298693398 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1298693399} + - component: {fileID: 1298693400} + m_Layer: 0 + m_Name: roadRampLong_SE (4) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1298693399 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1298693398} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: 0.37298784, w: 0.92783624} + m_LocalPosition: {x: 12.44, y: -4.76, z: 400} + m_LocalScale: {x: 2.5, y: 2.5, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 973702867} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 43.8} +--- !u!212 &1298693400 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1298693398} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_ForceMeshLod: -1 + m_MeshLodSelectionBias: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_GlobalIlluminationMeshLod: 0 + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 1 + m_Sprite: {fileID: 21300000, guid: f9cb1859eda6347cc971102e24992af9, type: 3} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FlipX: 0 + m_FlipY: 0 + m_DrawMode: 0 + m_Size: {x: 2.27, y: 1.97} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 +--- !u!1 &1300312272 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1300312273} + - component: {fileID: 1300312274} + m_Layer: 0 + m_Name: roadRampLong_SE (8) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1300312273 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1300312272} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0.37298784, w: 0.92783624} + m_LocalPosition: {x: 22.71, y: -4.76, z: 400} + m_LocalScale: {x: 2.5, y: 2.5, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 973702867} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 43.8} +--- !u!212 &1300312274 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1300312272} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_ForceMeshLod: -1 + m_MeshLodSelectionBias: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_GlobalIlluminationMeshLod: 0 + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 1 + m_Sprite: {fileID: 21300000, guid: f9cb1859eda6347cc971102e24992af9, type: 3} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FlipX: 0 + m_FlipY: 0 + m_DrawMode: 0 + m_Size: {x: 2.27, y: 1.97} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 +--- !u!1 &1316706129 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1316706130} + - component: {fileID: 1316706133} + - component: {fileID: 1316706132} + - component: {fileID: 1316706131} + m_Layer: 5 + m_Name: backButton + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1316706130 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1316706129} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 476839440} + m_Father: {fileID: 1041642585} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: -377.5, y: 0.000015258789} + m_SizeDelta: {x: 23.700375, y: 28.674084} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1316706131 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1316706129} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 0 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Highlighted + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 1316706132} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 1033821259} + m_TargetAssemblyTypeName: + m_MethodName: OnEnterPlayPageButtonClicked + m_Mode: 1 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 +--- !u!114 &1316706132 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1316706129} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 564d384c5cd194778a0b84e645d70144, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1316706133 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1316706129} + m_CullTransparentMesh: 1 +--- !u!1 &1340913520 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1340913521} + - component: {fileID: 1340913524} + - component: {fileID: 1340913522} + m_Layer: 5 + m_Name: item (golden subscription) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1340913521 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1340913520} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1400342668} + - {fileID: 280857205} + - {fileID: 548695189} + - {fileID: 1483281442} + - {fileID: 574510997} + m_Father: {fileID: 1652414803} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0.5} + m_AnchorMax: {x: 0, y: 0.5} + m_AnchoredPosition: {x: 241.3, y: -57.4} + m_SizeDelta: {x: 386.73877, y: 253.20502} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1340913522 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1340913520} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 0fe4e8709dc02431e864a0af7ac669bb, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1340913524 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1340913520} + m_CullTransparentMesh: 1 +--- !u!1 &1350373936 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1350373937} + - component: {fileID: 1350373940} + - component: {fileID: 1350373939} + - component: {fileID: 1350373938} + m_Layer: 5 + m_Name: Item (Kart) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1350373937 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1350373936} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1936403043} + - {fileID: 314683308} + - {fileID: 1913994622} + m_Father: {fileID: 1106596712} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0.5} + m_AnchorMax: {x: 0, y: 0.5} + m_AnchoredPosition: {x: 340.4, y: 0.8000074} + m_SizeDelta: {x: 195, y: 261} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1350373938 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1350373936} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 0 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Highlighted + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 62320614} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 110421607} + m_TargetAssemblyTypeName: + m_MethodName: OnCarStoreItemClicked + m_Mode: 3 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 3 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 +--- !u!114 &1350373939 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1350373936} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 017f3051fa90c4f8eb3d1d6c6c11a9c6, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1350373940 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1350373936} + m_CullTransparentMesh: 1 +--- !u!1 &1353145233 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1353145234} + - component: {fileID: 1353145237} + - component: {fileID: 1353145236} + - component: {fileID: 1353145235} + m_Layer: 5 + m_Name: Item (5 coins) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1353145234 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1353145233} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 1} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 90396460} + - {fileID: 2077196467} + - {fileID: 45068015} + - {fileID: 14350198} + - {fileID: 712163294} + - {fileID: 1850843215} + - {fileID: 41048348} + - {fileID: 810362343} + - {fileID: 1521876332} + - {fileID: 1382452521} + - {fileID: 832686085} + m_Father: {fileID: 934722222} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0.5} + m_AnchorMax: {x: 0, y: 0.5} + m_AnchoredPosition: {x: -239.99997, y: -63.699993} + m_SizeDelta: {x: 195, y: 261} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1353145235 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1353145233} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 0 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Highlighted + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 1353145236} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 2000898529} + m_TargetAssemblyTypeName: + m_MethodName: OnCoinStoreItemClicked + m_Mode: 3 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 +--- !u!114 &1353145236 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1353145233} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: f98c1e8e1f98a4d028d68c8ebc4aa032, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1353145237 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1353145233} + m_CullTransparentMesh: 1 +--- !u!1 &1372348244 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1372348245} + - component: {fileID: 1372348246} + m_Layer: 0 + m_Name: roadRampLong_SE (13) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1372348245 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1372348244} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: 0.37298784, w: 0.92783624} + m_LocalPosition: {x: -27.47, y: -4.76, z: 400} + m_LocalScale: {x: 2.5, y: 2.5, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 973702867} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 43.8} +--- !u!212 &1372348246 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1372348244} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_ForceMeshLod: -1 + m_MeshLodSelectionBias: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_GlobalIlluminationMeshLod: 0 + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 1 + m_Sprite: {fileID: 21300000, guid: f9cb1859eda6347cc971102e24992af9, type: 3} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FlipX: 0 + m_FlipY: 0 + m_DrawMode: 0 + m_Size: {x: 2.27, y: 1.97} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 +--- !u!1 &1382452520 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1382452521} + - component: {fileID: 1382452523} + - component: {fileID: 1382452522} + m_Layer: 5 + m_Name: coin (4) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1382452521 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1382452520} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 1} + m_LocalScale: {x: 0.4, y: 0.4, z: 0.4} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1353145234} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: -41.696, y: -41.400005} + m_SizeDelta: {x: 100, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1382452522 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1382452520} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 18365d95662f54c559a543e98eb34d7a, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1382452523 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1382452520} + m_CullTransparentMesh: 1 +--- !u!1 &1400342667 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1400342668} + - component: {fileID: 1400342670} + - component: {fileID: 1400342669} + m_Layer: 5 + m_Name: itemText + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1400342668 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1400342667} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1340913521} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 2.2, y: 97.4} + m_SizeDelta: {x: 340, y: 38.105644} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1400342669 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1400342667} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.8901961, g: 0.8392157, b: 0.22352941, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: 82730987d17d94dee82a4fc1f74af324, type: 3} + m_FontSize: 24 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 2 + m_MaxSize: 40 + m_Alignment: 1 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Golden +--- !u!222 &1400342670 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1400342667} + m_CullTransparentMesh: 1 +--- !u!1 &1400429682 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1400429683} + - component: {fileID: 1400429685} + - component: {fileID: 1400429684} + m_Layer: 0 + m_Name: grass (24) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1400429683 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1400429682} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -13.79, y: -7.5, z: 398.38742} + m_LocalScale: {x: 2, y: 2, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 854302113} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!61 &1400429684 +BoxCollider2D: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1400429682} + m_Enabled: 0 + serializedVersion: 3 + m_Density: 1 + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_ForceSendLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_ForceReceiveLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_ContactCaptureLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_CallbackLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_IsTrigger: 0 + m_UsedByEffector: 0 + m_CompositeOperation: 0 + m_CompositeOrder: 0 + m_Offset: {x: 0, y: 0} + m_SpriteTilingProperty: + border: {x: 0, y: 0, z: 0, w: 0} + pivot: {x: 0.5, y: 0.5} + oldSize: {x: 1.28, y: 1.28} + newSize: {x: 1.28, y: 1.28} + adaptiveTilingThreshold: 0.5 + drawMode: 0 + adaptiveTiling: 0 + m_AutoTiling: 0 + m_Size: {x: 1.28, y: 1.28} + m_EdgeRadius: 1 +--- !u!212 &1400429685 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1400429682} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_ForceMeshLod: -1 + m_MeshLodSelectionBias: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_GlobalIlluminationMeshLod: 0 + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 1 + m_Sprite: {fileID: 21300000, guid: 2cb30301265d14c518963bfec692eb5c, type: 3} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FlipX: 0 + m_FlipY: 0 + m_DrawMode: 0 + m_Size: {x: 1.28, y: 1.28} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 +--- !u!1 &1401518707 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1401518708} + - component: {fileID: 1401518710} + - component: {fileID: 1401518709} + m_Layer: 5 + m_Name: coin (5) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1401518708 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1401518707} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0.4, y: 0.4, z: 0.4} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 658201524} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 45.897003, y: -16.600004} + m_SizeDelta: {x: 100, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1401518709 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1401518707} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 18365d95662f54c559a543e98eb34d7a, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1401518710 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1401518707} + m_CullTransparentMesh: 1 +--- !u!1 &1404411601 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1404411602} + - component: {fileID: 1404411604} + - component: {fileID: 1404411603} + m_Layer: 0 + m_Name: UnSelected + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1404411602 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1404411601} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 2, y: 2, z: 2} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 58263371} + m_Father: {fileID: 587764106} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 760, y: 15} + m_SizeDelta: {x: 100, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1404411603 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1404411601} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 9966e399068234a0fbfd114de320fa0b, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1404411604 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1404411601} + m_CullTransparentMesh: 1 +--- !u!1 &1412137735 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1412137736} + - component: {fileID: 1412137737} + m_Layer: 0 + m_Name: blue_grass (1) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1412137736 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1412137735} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 4.77, y: -1.1599998, z: 398.446} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 213225580} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!212 &1412137737 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1412137735} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_ForceMeshLod: -1 + m_MeshLodSelectionBias: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_GlobalIlluminationMeshLod: 0 + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_Sprite: {fileID: 21300000, guid: 5628e29fca1e94568a764c47bd2a4f9c, type: 3} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FlipX: 0 + m_FlipY: 0 + m_DrawMode: 0 + m_Size: {x: 10.24, y: 10.24} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 +--- !u!1 &1413782428 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1413782429} + - component: {fileID: 1413782431} + - component: {fileID: 1413782430} + m_Layer: 5 + m_Name: WaitBackground + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1413782429 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1413782428} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 66651293} + m_Father: {fileID: 882154616} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 400, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1413782430 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1413782428} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 2d2def352a2284c989616fa9eb46baa4, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1413782431 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1413782428} + m_CullTransparentMesh: 1 +--- !u!1 &1413877825 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1413877829} + - component: {fileID: 1413877828} + - component: {fileID: 1413877827} + - component: {fileID: 1413877826} + m_Layer: 5 + m_Name: SignInButton + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!114 &1413877826 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1413877825} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Highlighted + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 1413877827} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 112345032} + m_TargetAssemblyTypeName: + m_MethodName: RunManualSignin + m_Mode: 1 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 +--- !u!114 &1413877827 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1413877825} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 0} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1413877828 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1413877825} + m_CullTransparentMesh: 1 +--- !u!224 &1413877829 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1413877825} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 77866092} + m_Father: {fileID: 2136726071} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: -100, y: 72} + m_SizeDelta: {x: 400, y: 70.21835} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &1419644420 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1419644421} + - component: {fileID: 1419644423} + - component: {fileID: 1419644422} + m_Layer: 5 + m_Name: coin (15) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1419644421 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1419644420} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0.4, y: 0.4, z: 0.4} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 196393728} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: -61.599987, y: -41.33} + m_SizeDelta: {x: 100, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1419644422 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1419644420} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 18365d95662f54c559a543e98eb34d7a, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1419644423 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1419644420} + m_CullTransparentMesh: 1 +--- !u!1 &1434656124 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1434656125} + - component: {fileID: 1434656128} + - component: {fileID: 1434656127} + - component: {fileID: 1434656126} + m_Layer: 5 + m_Name: yesButton + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1434656125 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1434656124} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1539242528} + m_Father: {fileID: 920210615} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: -82, y: -33} + m_SizeDelta: {x: 67.08414, y: 31.055847} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1434656126 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1434656124} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Highlighted + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 1434656127} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 612560965} + m_TargetAssemblyTypeName: + m_MethodName: OnFillGasConfirmPanelButtonClicked + m_Mode: 6 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 1 + m_CallState: 2 +--- !u!114 &1434656127 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1434656124} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: da940c180b04d4fc090d53ae5e583e5c, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1434656128 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1434656124} + m_CullTransparentMesh: 1 +--- !u!1 &1439994794 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1439994795} + - component: {fileID: 1439994798} + - component: {fileID: 1439994797} + - component: {fileID: 1439994796} + m_Layer: 5 + m_Name: noButton + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1439994795 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1439994794} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 897459206} + m_Father: {fileID: 1663024518} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 68.3, y: -33} + m_SizeDelta: {x: 67.08414, y: 31.055847} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1439994796 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1439994794} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Highlighted + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 1088373758} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 272403479} + m_TargetAssemblyTypeName: + m_MethodName: OnConfirmSubscriptionPanelButtonClicked + m_Mode: 6 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 +--- !u!114 &1439994797 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1439994794} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: da940c180b04d4fc090d53ae5e583e5c, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1439994798 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1439994794} + m_CullTransparentMesh: 1 +--- !u!1 &1443469039 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1443469040} + - component: {fileID: 1443469041} + m_Layer: 0 + m_Name: FriendsTab + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1443469040 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1443469039} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 313.7, y: -0.4, z: 1} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1727925814} + - {fileID: 833469978} + m_Father: {fileID: 228858408} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1443469041 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1443469039} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 0 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Highlighted + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 0} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 32773336} + m_TargetAssemblyTypeName: + m_MethodName: OnSwitchPageTabClicked + m_Mode: 3 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 3 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 +--- !u!1 &1447954936 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1447954937} + - component: {fileID: 1447954939} + - component: {fileID: 1447954938} + m_Layer: 5 + m_Name: RestorePurchaseSuccessText + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!224 &1447954937 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1447954936} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1981601474} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 1} + m_AnchorMax: {x: 0.5, y: 1} + m_AnchoredPosition: {x: -0.0000038147, y: -212.56} + m_SizeDelta: {x: 405.22882, y: 36.03418} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1447954938 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1447954936} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: 82730987d17d94dee82a4fc1f74af324, type: 3} + m_FontSize: 20 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 2 + m_MaxSize: 40 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Purchases Restored. +--- !u!222 &1447954939 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1447954936} + m_CullTransparentMesh: 1 +--- !u!1 &1450197654 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1450197655} + - component: {fileID: 1450197657} + - component: {fileID: 1450197656} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1450197655 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1450197654} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1663024518} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0.0000095367, y: 5.6} + m_SizeDelta: {x: 239.90536, y: 98.24942} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1450197656 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1450197654} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0, g: 0, b: 0, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: 82730987d17d94dee82a4fc1f74af324, type: 3} + m_FontSize: 15 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 1 + m_MaxSize: 40 + m_Alignment: 0 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Placehold +--- !u!222 &1450197657 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1450197654} + m_CullTransparentMesh: 1 +--- !u!1 &1451680903 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1451680904} + - component: {fileID: 1451680906} + - component: {fileID: 1451680905} + m_Layer: 5 + m_Name: statusText + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!224 &1451680904 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1451680903} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 125787077} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 3.7715, y: -106.05} + m_SizeDelta: {x: 175.843, y: 48.892014} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1451680905 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1451680903} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: 82730987d17d94dee82a4fc1f74af324, type: 3} + m_FontSize: 27 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 2 + m_MaxSize: 40 + m_Alignment: 1 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: USING +--- !u!222 &1451680906 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1451680903} + m_CullTransparentMesh: 1 +--- !u!1 &1461505796 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1461505797} + - component: {fileID: 1461505798} + - component: {fileID: 1461505799} + m_Layer: 5 + m_Name: StoreController + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1461505797 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1461505796} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1275616765} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1461505798 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1461505796} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 55bbdf7c4c981411198c43cec9c91234, type: 3} + m_Name: + m_EditorClassIdentifier: + inputActionAsset: {fileID: -944628639613478452, guid: c44a0d3d8804e4fd887590aa86260552, type: 3} + tab: {fileID: 907958059} + gasPage: {fileID: 140605185} + coinPage: {fileID: 934722221} + carPage: {fileID: 1106596711} + subscriptionPage: {fileID: 1652414802} + coinsCount: {fileID: 1697412877} +--- !u!114 &1461505799 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1461505796} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 37751b0abb7424bfe8bd07741e79004e, type: 3} + m_Name: + m_EditorClassIdentifier: + verdictLabel: {fileID: 110356772} +--- !u!1 &1470725903 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1470725904} + - component: {fileID: 1470725905} + m_Layer: 0 + m_Name: roadRampLong_SE (12) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1470725904 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1470725903} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: 0.37298784, w: 0.92783624} + m_LocalPosition: {x: -22.28, y: -4.76, z: 400} + m_LocalScale: {x: 2.5, y: 2.5, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 973702867} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 43.8} +--- !u!212 &1470725905 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1470725903} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_ForceMeshLod: -1 + m_MeshLodSelectionBias: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_GlobalIlluminationMeshLod: 0 + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 1 + m_Sprite: {fileID: 21300000, guid: f9cb1859eda6347cc971102e24992af9, type: 3} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FlipX: 0 + m_FlipY: 0 + m_DrawMode: 0 + m_Size: {x: 2.27, y: 1.97} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 +--- !u!1 &1483281441 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1483281442} + m_Layer: 5 + m_Name: deferredPurchaseReminder + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!224 &1483281442 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1483281441} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 1} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1876972526} + - {fileID: 1644803283} + m_Father: {fileID: 1340913521} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 2.17, y: -0.61} + m_SizeDelta: {x: 295.53256, y: 88.22093} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &1484044225 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1484044226} + - component: {fileID: 1484044229} + - component: {fileID: 1484044228} + - component: {fileID: 1484044227} + m_Layer: 5 + m_Name: noButton + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1484044226 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1484044225} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 463445602} + m_Father: {fileID: 568397363} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 68.3, y: -33} + m_SizeDelta: {x: 67.08414, y: 31.055847} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1484044227 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1484044225} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Highlighted + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 422066572} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 110421607} + m_TargetAssemblyTypeName: + m_MethodName: OnConfirmPurchasePanelButtonClicked + m_Mode: 6 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 +--- !u!114 &1484044228 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1484044225} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: da940c180b04d4fc090d53ae5e583e5c, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1484044229 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1484044225} + m_CullTransparentMesh: 1 +--- !u!1 &1485754768 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1485754769} + - component: {fileID: 1485754771} + - component: {fileID: 1485754770} + m_Layer: 5 + m_Name: CoinBar + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1485754769 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1485754768} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 95428282} + m_Father: {fileID: 1581781440} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 1} + m_AnchorMax: {x: 0.5, y: 1} + m_AnchoredPosition: {x: -320.35, y: 62.594604} + m_SizeDelta: {x: 101, y: 44} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1485754770 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1485754768} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 3272d975c083c4602a976ef787de3f9f, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1485754771 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1485754768} + m_CullTransparentMesh: 1 +--- !u!1 &1494577191 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1494577192} + - component: {fileID: 1494577194} + - component: {fileID: 1494577193} + m_Layer: 5 + m_Name: Panel + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1494577192 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1494577191} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 674287167} + - {fileID: 1541489588} + - {fileID: 407561291} + m_Father: {fileID: 1262624714} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: -86.1} + m_SizeDelta: {x: 0, y: 94.84216} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1494577193 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1494577191} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1494577194 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1494577191} + m_CullTransparentMesh: 1 +--- !u!1 &1516618630 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1516618631} + - component: {fileID: 1516618633} + - component: {fileID: 1516618632} + m_Layer: 5 + m_Name: garageText + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1516618631 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1516618630} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 376339515} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0.0000066757, y: -2.0412} + m_SizeDelta: {x: 127.138336, y: 41.122337} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1516618632 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1516618630} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: 82730987d17d94dee82a4fc1f74af324, type: 3} + m_FontSize: 25 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 2 + m_MaxSize: 40 + m_Alignment: 1 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Garage +--- !u!222 &1516618633 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1516618630} + m_CullTransparentMesh: 1 +--- !u!1 &1519550916 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1519550917} + - component: {fileID: 1519550919} + - component: {fileID: 1519550918} + m_Layer: 5 + m_Name: Panel + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1519550917 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1519550916} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 2032112284} + - {fileID: 237784485} + - {fileID: 674963468} + m_Father: {fileID: 630752255} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: -0.000024438, y: -86.44} + m_SizeDelta: {x: 320, y: 129.354} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1519550918 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1519550916} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1519550919 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1519550916} + m_CullTransparentMesh: 1 +--- !u!1 &1520646619 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1520646620} + - component: {fileID: 1520646622} + - component: {fileID: 1520646621} + m_Layer: 5 + m_Name: gasIcon + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1520646620 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1520646619} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: -0.5} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 704934409} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: -0.70002586, y: 0} + m_SizeDelta: {x: 100, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1520646621 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1520646619} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 6f47a04a8fd3c4dd09b08cb7892d0673, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1520646622 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1520646619} + m_CullTransparentMesh: 1 +--- !u!1 &1521876331 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1521876332} + - component: {fileID: 1521876334} + - component: {fileID: 1521876333} + m_Layer: 5 + m_Name: coin (3) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1521876332 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1521876331} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 1} + m_LocalScale: {x: 0.4, y: 0.4, z: 0.4} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1353145234} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: -17.701, y: -41.400005} + m_SizeDelta: {x: 100, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1521876333 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1521876331} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 18365d95662f54c559a543e98eb34d7a, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1521876334 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1521876331} + m_CullTransparentMesh: 1 +--- !u!1 &1530108568 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1530108569} + - component: {fileID: 1530108571} + - component: {fileID: 1530108570} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1530108569 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1530108568} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 647634642} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1530108570 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1530108568} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: 82730987d17d94dee82a4fc1f74af324, type: 3} + m_FontSize: 16 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 1 + m_MaxSize: 40 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: No +--- !u!222 &1530108571 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1530108568} + m_CullTransparentMesh: 1 +--- !u!1 &1535592528 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1535592529} + - component: {fileID: 1535592532} + - component: {fileID: 1535592531} + - component: {fileID: 1535592530} + m_Layer: 5 + m_Name: backButton + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1535592529 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1535592528} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1036240313} + m_Father: {fileID: 376339515} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: -377.5, y: 0.000015258789} + m_SizeDelta: {x: 23.700375, y: 28.674084} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1535592530 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1535592528} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 0 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Highlighted + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 1535592531} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 1033821259} + m_TargetAssemblyTypeName: + m_MethodName: OnEnterPlayPageButtonClicked + m_Mode: 1 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 +--- !u!114 &1535592531 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1535592528} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 564d384c5cd194778a0b84e645d70144, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1535592532 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1535592528} + m_CullTransparentMesh: 1 +--- !u!1 &1539242527 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1539242528} + - component: {fileID: 1539242530} + - component: {fileID: 1539242529} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1539242528 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1539242527} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1434656125} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1539242529 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1539242527} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: 82730987d17d94dee82a4fc1f74af324, type: 3} + m_FontSize: 16 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 1 + m_MaxSize: 40 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Yes +--- !u!222 &1539242530 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1539242527} + m_CullTransparentMesh: 1 +--- !u!1 &1541489587 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1541489588} + - component: {fileID: 1541489591} + - component: {fileID: 1541489590} + - component: {fileID: 1541489589} + m_Layer: 5 + m_Name: yesButton + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1541489588 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1541489587} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1139376732} + m_Father: {fileID: 1494577192} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: -82, y: -33} + m_SizeDelta: {x: 67.08414, y: 31.055847} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1541489589 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1541489587} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Highlighted + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 1541489590} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 1033821259} + m_TargetAssemblyTypeName: GameManager, Assembly-CSharp + m_MethodName: OnConfirmCloudLoadButtonClicked + m_Mode: 1 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 1 + m_CallState: 2 +--- !u!114 &1541489590 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1541489587} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: da940c180b04d4fc090d53ae5e583e5c, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1541489591 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1541489587} + m_CullTransparentMesh: 1 +--- !u!1 &1546055782 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1546055787} + - component: {fileID: 1546055786} + - component: {fileID: 1546055785} + - component: {fileID: 1546055784} + - component: {fileID: 1546055783} + m_Layer: 5 + m_Name: CloudLoadCanvas + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!114 &1546055783 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1546055782} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 380956d4bc6a443a1b6c15a6273cd9e2, type: 3} + m_Name: + m_EditorClassIdentifier: + waitText: {fileID: 0} +--- !u!114 &1546055784 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1546055782} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: dc42784cf147c0c48a680349fa168899, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreReversedGraphics: 1 + m_BlockingObjects: 0 + m_BlockingMask: + serializedVersion: 2 + m_Bits: 4294967295 +--- !u!114 &1546055785 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1546055782} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UiScaleMode: 1 + m_ReferencePixelsPerUnit: 100 + m_ScaleFactor: 1 + m_ReferenceResolution: {x: 800, y: 600} + m_ScreenMatchMode: 0 + m_MatchWidthOrHeight: 0 + m_PhysicalUnit: 3 + m_FallbackScreenDPI: 96 + m_DefaultSpriteDPI: 96 + m_DynamicPixelsPerUnit: 1 + m_PresetInfoIsWorld: 0 +--- !u!223 &1546055786 +Canvas: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1546055782} + m_Enabled: 1 + serializedVersion: 3 + m_RenderMode: 0 + m_Camera: {fileID: 0} + m_PlaneDistance: 100 + m_PixelPerfect: 0 + m_ReceivesEvents: 1 + m_OverrideSorting: 0 + m_OverridePixelPerfect: 0 + m_SortingBucketNormalizedSize: 0 + m_VertexColorAlwaysGammaSpace: 0 + m_AdditionalShaderChannelsFlag: 0 + m_UpdateRectTransformForStandalone: 0 + m_SortingLayerID: 0 + m_SortingOrder: 2 + m_TargetDisplay: 0 +--- !u!224 &1546055787 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1546055782} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0, y: 0, z: 0} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 509454616} + - {fileID: 1262624714} + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0, y: 0} +--- !u!1 &1546640808 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1546640809} + - component: {fileID: 1546640810} + m_Layer: 0 + m_Name: CoinTab + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1546640809 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1546640808} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 1} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 952341937} + - {fileID: 1236088371} + m_Father: {fileID: 907958060} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1546640810 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1546640808} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 0 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Highlighted + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 0} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 1461505798} + m_TargetAssemblyTypeName: + m_MethodName: OnSwitchPageTabClicked + m_Mode: 3 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 1 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 +--- !u!1 &1549972972 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1549972973} + - component: {fileID: 1549972975} + - component: {fileID: 1549972974} + m_Layer: 5 + m_Name: price + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1549972973 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1549972972} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1005024301} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 69.1} + m_SizeDelta: {x: 173.99995, y: 39.676895} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1549972974 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1549972972} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: 82730987d17d94dee82a4fc1f74af324, type: 3} + m_FontSize: 22 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 2 + m_MaxSize: 40 + m_Alignment: 1 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: $ten_coins +--- !u!222 &1549972975 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1549972972} + m_CullTransparentMesh: 1 +--- !u!1 &1554752783 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1554752784} + - component: {fileID: 1554752786} + - component: {fileID: 1554752785} + m_Layer: 5 + m_Name: coin (9) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1554752784 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1554752783} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 1} + m_LocalScale: {x: 0.4, y: 0.4, z: 0.4} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 658201524} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 29.548004, y: 6.899995} + m_SizeDelta: {x: 100, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1554752785 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1554752783} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 18365d95662f54c559a543e98eb34d7a, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1554752786 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1554752783} + m_CullTransparentMesh: 1 +--- !u!1 &1570111920 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1570111921} + - component: {fileID: 1570111923} + - component: {fileID: 1570111922} + m_Layer: 0 + m_Name: grass (11) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1570111921 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1570111920} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 21.630169, y: -7.5, z: 398.38742} + m_LocalScale: {x: 2, y: 2, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 854302113} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!61 &1570111922 +BoxCollider2D: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1570111920} + m_Enabled: 0 + serializedVersion: 3 + m_Density: 1 + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_ForceSendLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_ForceReceiveLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_ContactCaptureLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_CallbackLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_IsTrigger: 0 + m_UsedByEffector: 0 + m_CompositeOperation: 0 + m_CompositeOrder: 0 + m_Offset: {x: 0, y: 0} + m_SpriteTilingProperty: + border: {x: 0, y: 0, z: 0, w: 0} + pivot: {x: 0.5, y: 0.5} + oldSize: {x: 1.28, y: 1.28} + newSize: {x: 1.28, y: 1.28} + adaptiveTilingThreshold: 0.5 + drawMode: 0 + adaptiveTiling: 0 + m_AutoTiling: 0 + m_Size: {x: 1.28, y: 1.28} + m_EdgeRadius: 1 +--- !u!212 &1570111923 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1570111920} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_ForceMeshLod: -1 + m_MeshLodSelectionBias: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_GlobalIlluminationMeshLod: 0 + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 1 + m_Sprite: {fileID: 21300000, guid: 2cb30301265d14c518963bfec692eb5c, type: 3} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FlipX: 0 + m_FlipY: 0 + m_DrawMode: 0 + m_Size: {x: 1.28, y: 1.28} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 +--- !u!1 &1570447886 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1570447887} + - component: {fileID: 1570447890} + - component: {fileID: 1570447888} + - component: {fileID: 1570447892} + - component: {fileID: 1570447891} + - component: {fileID: 1570447889} + m_Layer: 5 + m_Name: silverSubscriptionButton + m_TagString: silverSubscriptionButton + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1570447887 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1570447886} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1280181081} + m_Father: {fileID: 344778953} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: -116} + m_SizeDelta: {x: 200, y: 35} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1570447888 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1570447886} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: da1d02f4338834dd28524871d38142f7, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!114 &1570447889 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1570447886} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 30649d3a9faa99c48a7b1166b86bf2a0, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Padding: + m_Left: 0 + m_Right: 0 + m_Top: 0 + m_Bottom: 0 + m_ChildAlignment: 4 + m_Spacing: 0 + m_ChildForceExpandWidth: 1 + m_ChildForceExpandHeight: 0 + m_ChildControlWidth: 0 + m_ChildControlHeight: 0 + m_ChildScaleWidth: 0 + m_ChildScaleHeight: 0 + m_ReverseArrangement: 0 +--- !u!222 &1570447890 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1570447886} + m_CullTransparentMesh: 1 +--- !u!114 &1570447891 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1570447886} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 3245ec927659c4140ac4f8d17403cc18, type: 3} + m_Name: + m_EditorClassIdentifier: + m_HorizontalFit: 0 + m_VerticalFit: 0 +--- !u!114 &1570447892 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1570447886} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 0.8941177, g: 0.21960786, b: 0.10588236, a: 1} + m_HighlightedColor: {r: 0.8000001, g: 0.04705883, b: 0.011764707, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.8000001, g: 0.04705883, b: 0.011764707, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Highlighted + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 1570447888} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 272403479} + m_TargetAssemblyTypeName: + m_MethodName: OnSubscriptionStoreItemClicked + m_Mode: 3 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 1 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 +--- !u!1 &1573797096 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1573797097} + - component: {fileID: 1573797099} + - component: {fileID: 1573797098} + m_Layer: 5 + m_Name: itemImage + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1573797097 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1573797096} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1023875365} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0.36} + m_SizeDelta: {x: 358, y: 228} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1573797098 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1573797096} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: b685d6ff267814f6dbe4cda37a408bad, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1573797099 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1573797096} + m_CullTransparentMesh: 1 +--- !u!1 &1581781439 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1581781440} + m_Layer: 5 + m_Name: GaragePage + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1581781440 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1581781439} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 376339515} + - {fileID: 1485754769} + - {fileID: 530847220} + - {fileID: 41664093} + - {fileID: 1981601474} + m_Father: {fileID: 1284203584} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 100, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &1590864595 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1590864596} + - component: {fileID: 1590864599} + - component: {fileID: 1590864598} + - component: {fileID: 1590864597} + m_Layer: 5 + m_Name: StoreButton + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1590864596 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1590864595} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 1} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 715357006} + m_Father: {fileID: 707242308} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 1, y: 0} + m_AnchorMax: {x: 1, y: 0} + m_AnchoredPosition: {x: -100.40039, y: 38.620117} + m_SizeDelta: {x: 200.79651, y: 70.21835} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1590864597 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1590864595} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 0 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Highlighted + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 1590864598} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 1033821259} + m_TargetAssemblyTypeName: + m_MethodName: OnEnterStoreButtonClicked + m_Mode: 1 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 +--- !u!114 &1590864598 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1590864595} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 0} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1590864599 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1590864595} + m_CullTransparentMesh: 1 +--- !u!1 &1601064024 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1601064025} + - component: {fileID: 1601064027} + - component: {fileID: 1601064026} + m_Layer: 0 + m_Name: grass (27) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1601064025 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1601064024} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -21.41, y: -7.5, z: 398.38742} + m_LocalScale: {x: 2, y: 2, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 854302113} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!61 &1601064026 +BoxCollider2D: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1601064024} + m_Enabled: 0 + serializedVersion: 3 + m_Density: 1 + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_ForceSendLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_ForceReceiveLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_ContactCaptureLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_CallbackLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_IsTrigger: 0 + m_UsedByEffector: 0 + m_CompositeOperation: 0 + m_CompositeOrder: 0 + m_Offset: {x: 0, y: 0} + m_SpriteTilingProperty: + border: {x: 0, y: 0, z: 0, w: 0} + pivot: {x: 0.5, y: 0.5} + oldSize: {x: 1.28, y: 1.28} + newSize: {x: 1.28, y: 1.28} + adaptiveTilingThreshold: 0.5 + drawMode: 0 + adaptiveTiling: 0 + m_AutoTiling: 0 + m_Size: {x: 1.28, y: 1.28} + m_EdgeRadius: 1 +--- !u!212 &1601064027 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1601064024} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_ForceMeshLod: -1 + m_MeshLodSelectionBias: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_GlobalIlluminationMeshLod: 0 + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 1 + m_Sprite: {fileID: 21300000, guid: 2cb30301265d14c518963bfec692eb5c, type: 3} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FlipX: 0 + m_FlipY: 0 + m_DrawMode: 0 + m_Size: {x: 1.28, y: 1.28} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 +--- !u!1 &1602390003 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1602390004} + - component: {fileID: 1602390007} + - component: {fileID: 1602390006} + - component: {fileID: 1602390005} + m_Layer: 5 + m_Name: PGSButton + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1602390004 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1602390003} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 272670799} + m_Father: {fileID: 707242308} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0} + m_AnchorMax: {x: 0.5, y: 0} + m_AnchoredPosition: {x: 0, y: 38.620117} + m_SizeDelta: {x: 200.79651, y: 70.21835} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1602390005 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1602390003} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Highlighted + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 1602390006} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 1033821259} + m_TargetAssemblyTypeName: + m_MethodName: OnEnterPGSPageButtonClicked + m_Mode: 1 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 +--- !u!114 &1602390006 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1602390003} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 0} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1602390007 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1602390003} + m_CullTransparentMesh: 1 +--- !u!1 &1613978347 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1613978348} + - component: {fileID: 1613978350} + - component: {fileID: 1613978349} + m_Layer: 5 + m_Name: coin (8) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1613978348 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1613978347} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 1} + m_LocalScale: {x: 0.4, y: 0.4, z: 0.4} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 196393728} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: -27.49999, y: -18.730001} + m_SizeDelta: {x: 100, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1613978349 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1613978347} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 18365d95662f54c559a543e98eb34d7a, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1613978350 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1613978347} + m_CullTransparentMesh: 1 +--- !u!1 &1615795250 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1615795251} + - component: {fileID: 1615795253} + - component: {fileID: 1615795252} + m_Layer: 5 + m_Name: Image + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1615795251 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1615795250} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 8327711} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 1.102, y: -0.17297} + m_SizeDelta: {x: 172.40402, y: 239.25403} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1615795252 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1615795250} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.69803923, g: 0.69803923, b: 0.69803923, a: 0.70980394} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1615795253 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1615795250} + m_CullTransparentMesh: 1 +--- !u!1 &1626259548 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1626259549} + - component: {fileID: 1626259551} + - component: {fileID: 1626259550} + m_Layer: 0 + m_Name: userIcon + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1626259549 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1626259548} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: -0.5} + m_LocalScale: {x: 0.95, y: 0.65000004, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1064932449} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0.63555, y: -0.000025034} + m_SizeDelta: {x: 103.92522, y: 124.1073} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1626259550 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1626259548} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 409c2375b9f6f46c7b0fbc33449c331f, type: 3} + m_Type: 0 + m_PreserveAspect: 1 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1626259551 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1626259548} + m_CullTransparentMesh: 1 +--- !u!1 &1628116804 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1628116807} + - component: {fileID: 1628116806} + - component: {fileID: 1628116805} + m_Layer: 5 + m_Name: PanelFillGas + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!114 &1628116805 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1628116804} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.38431373, g: 0.38431373, b: 0.38431373, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1628116806 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1628116804} + m_CullTransparentMesh: 1 +--- !u!224 &1628116807 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1628116804} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 159322226} + - {fileID: 920210615} + m_Father: {fileID: 140605186} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: -1, y: 33.5} + m_SizeDelta: {x: 307.2658, y: 40.048004} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &1630688870 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1630688871} + - component: {fileID: 1630688873} + - component: {fileID: 1630688872} + m_Layer: 5 + m_Name: coin (7) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1630688871 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1630688870} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 1} + m_LocalScale: {x: 0.4, y: 0.4, z: 0.4} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 658201524} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: -5.1039953, y: -13.7000065} + m_SizeDelta: {x: 100, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1630688872 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1630688870} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 18365d95662f54c559a543e98eb34d7a, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1630688873 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1630688870} + m_CullTransparentMesh: 1 +--- !u!1 &1632190557 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1632190558} + - component: {fileID: 1632190560} + - component: {fileID: 1632190559} + m_Layer: 5 + m_Name: itemText + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1632190558 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1632190557} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 508832420} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 1.76, y: 101} + m_SizeDelta: {x: 171, y: 43.708984} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1632190559 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1632190557} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: 82730987d17d94dee82a4fc1f74af324, type: 3} + m_FontSize: 25 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 2 + m_MaxSize: 40 + m_Alignment: 1 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Offroad +--- !u!222 &1632190560 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1632190557} + m_CullTransparentMesh: 1 +--- !u!1 &1635216884 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1635216886} + - component: {fileID: 1635216885} + m_Layer: 0 + m_Name: UIPriceChangeController + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1635216885 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1635216884} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1a1c941b6644d414aa5787787440ddc7, type: 3} + m_Name: + m_EditorClassIdentifier: + TextItems: + - {fileID: 280857206} + - {fileID: 1688075158} + - {fileID: 314683309} + - {fileID: 394652844} + - {fileID: 2077196468} + - {fileID: 1549972974} + - {fileID: 887435771} + - {fileID: 1743297398} +--- !u!4 &1635216886 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1635216884} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1644803282 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1644803283} + - component: {fileID: 1644803285} + - component: {fileID: 1644803284} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1644803283 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1644803282} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1483281442} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0.40002, y: 11.159} + m_SizeDelta: {x: 361.65448, y: 110.538956} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1644803284 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1644803282} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: 82730987d17d94dee82a4fc1f74af324, type: 3} + m_FontSize: 14 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 1 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Complete purchase on the Google Play Store. +--- !u!222 &1644803285 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1644803282} + m_CullTransparentMesh: 1 +--- !u!1 &1652414802 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1652414803} + m_Layer: 5 + m_Name: SubscriptionPage + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!224 &1652414803 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1652414802} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 344778953} + - {fileID: 1340913521} + - {fileID: 785660341} + - {fileID: 272403478} + m_Father: {fileID: 885267311} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0.8, y: 64.7} + m_SizeDelta: {x: 100, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &1660624470 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1660624471} + - component: {fileID: 1660624473} + - component: {fileID: 1660624472} + m_Layer: 0 + m_Name: 'vipIcon ' + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1660624471 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1660624470} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: -0.5} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1050471772} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0.00006505212, y: 0} + m_SizeDelta: {x: 100, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1660624472 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1660624470} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 6de347b035e2d4e889a9cbc138671727, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1660624473 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1660624470} + m_CullTransparentMesh: 1 +--- !u!1 &1663024517 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1663024518} + - component: {fileID: 1663024520} + - component: {fileID: 1663024519} + m_Layer: 5 + m_Name: Panel + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1663024518 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1663024517} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1450197655} + - {fileID: 1088373757} + - {fileID: 1439994795} + m_Father: {fileID: 785660341} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: -86.1} + m_SizeDelta: {x: 0, y: 94.84216} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1663024519 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1663024517} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1663024520 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1663024517} + m_CullTransparentMesh: 1 +--- !u!1 &1666774818 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1666774820} + - component: {fileID: 1666774819} + m_Layer: 0 + m_Name: grass 1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!212 &1666774819 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1666774818} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_ForceMeshLod: -1 + m_MeshLodSelectionBias: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_GlobalIlluminationMeshLod: 0 + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 2 + m_Sprite: {fileID: 21300000, guid: a130d426e3ee54a6295e478326081593, type: 3} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FlipX: 0 + m_FlipY: 0 + m_DrawMode: 0 + m_Size: {x: 1.28, y: 1.28} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 +--- !u!4 &1666774820 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1666774818} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 3.7070062, y: -2.681487, z: 398.446} + m_LocalScale: {x: 1.5, y: 1.5, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 427481935} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1667269309 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1667269311} + - component: {fileID: 1667269310} + - component: {fileID: 1667269312} + m_Layer: 0 + m_Name: flagRed2 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!212 &1667269310 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1667269309} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_ForceMeshLod: -1 + m_MeshLodSelectionBias: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_GlobalIlluminationMeshLod: 0 + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 2 + m_Sprite: {fileID: 21300000, guid: 7e566ab49665447f5ad705b64ad47a72, type: 3} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FlipX: 0 + m_FlipY: 0 + m_DrawMode: 0 + m_Size: {x: 1.28, y: 1.28} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 +--- !u!4 &1667269311 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1667269309} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 17.18, y: -2.68, z: 398.446} + m_LocalScale: {x: 1.5, y: 1.5, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 427481935} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!95 &1667269312 +Animator: + serializedVersion: 7 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1667269309} + m_Enabled: 1 + m_Avatar: {fileID: 0} + m_Controller: {fileID: 9100000, guid: 3cab0987d4b9a4e9884a6dd5c544a154, type: 2} + m_CullingMode: 0 + m_UpdateMode: 0 + m_ApplyRootMotion: 0 + m_LinearVelocityBlending: 0 + m_StabilizeFeet: 0 + m_AnimatePhysics: 0 + m_WarningMessage: + m_HasTransformHierarchy: 1 + m_AllowConstantClipSamplingOptimization: 1 + m_KeepAnimatorStateOnDisable: 0 + m_WriteDefaultValuesOnDisable: 0 +--- !u!1 &1673574547 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1673574548} + - component: {fileID: 1673574550} + - component: {fileID: 1673574549} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1673574548 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1673574547} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 674963468} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1673574549 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1673574547} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: 82730987d17d94dee82a4fc1f74af324, type: 3} + m_FontSize: 16 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 1 + m_MaxSize: 40 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: No +--- !u!222 &1673574550 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1673574547} + m_CullTransparentMesh: 1 +--- !u!1 &1673999203 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1673999204} + - component: {fileID: 1673999205} + m_Layer: 5 + m_Name: BackgroundGaragePageController + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1673999204 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1673999203} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 434610941} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 100, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1673999205 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1673999203} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 14abf650fb25049739842d589cba6760, type: 3} + m_Name: + m_EditorClassIdentifier: + inputActionAsset: {fileID: -944628639613478452, guid: c44a0d3d8804e4fd887590aa86260552, type: 3} +--- !u!1 &1677004923 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1677004924} + - component: {fileID: 1677004926} + - component: {fileID: 1677004925} + m_Layer: 5 + m_Name: coin (2) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1677004924 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1677004923} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 1} + m_LocalScale: {x: 0.4, y: 0.4, z: 0.4} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 196393728} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 12.0000105, y: -41.33} + m_SizeDelta: {x: 101.68176, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1677004925 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1677004923} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 18365d95662f54c559a543e98eb34d7a, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1677004926 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1677004923} + m_CullTransparentMesh: 1 +--- !u!1 &1680173494 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1680173495} + - component: {fileID: 1680173497} + - component: {fileID: 1680173496} + m_Layer: 5 + m_Name: price + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1680173495 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1680173494} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 62320613} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 69.1} + m_SizeDelta: {x: 173.99995, y: 39.676895} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1680173496 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1680173494} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: 82730987d17d94dee82a4fc1f74af324, type: 3} + m_FontSize: 22 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 2 + m_MaxSize: 40 + m_Alignment: 1 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: $1.99 +--- !u!222 &1680173497 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1680173494} + m_CullTransparentMesh: 1 +--- !u!1 &1682776464 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1682776465} + - component: {fileID: 1682776467} + - component: {fileID: 1682776466} + m_Layer: 5 + m_Name: itemText + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1682776465 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1682776464} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1005024301} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 101} + m_SizeDelta: {x: 174, y: 43.708984} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1682776466 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1682776464} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: 82730987d17d94dee82a4fc1f74af324, type: 3} + m_FontSize: 25 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 2 + m_MaxSize: 40 + m_Alignment: 1 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: 10 Coins +--- !u!222 &1682776467 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1682776464} + m_CullTransparentMesh: 1 +--- !u!1 &1688075156 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1688075157} + - component: {fileID: 1688075159} + - component: {fileID: 1688075158} + m_Layer: 5 + m_Name: price + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1688075157 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1688075156} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 344778953} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 1.3927, y: 48.6} + m_SizeDelta: {x: 340.12808, y: 67.48826} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1688075158 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1688075156} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 0.015686275, b: 0.015686275, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: 82730987d17d94dee82a4fc1f74af324, type: 3} + m_FontSize: 22 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 2 + m_MaxSize: 40 + m_Alignment: 1 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: 'VIP SUBSCRIPTION + + $silver_subscription/month' +--- !u!222 &1688075159 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1688075156} + m_CullTransparentMesh: 1 +--- !u!1 &1688263105 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1688263106} + - component: {fileID: 1688263107} + m_Layer: 5 + m_Name: LeaderboardPage + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1688263106 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1688263105} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 5001086} + m_Father: {fileID: 685973730} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: -92} + m_SizeDelta: {x: 100, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1688263107 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1688263105} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 781767f7c9cec48da9911fdb4d6f3f97, type: 3} + m_Name: + m_EditorClassIdentifier: + leaderboardText: {fileID: 5001085} +--- !u!1 &1689975706 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1689975707} + - component: {fileID: 1689975709} + - component: {fileID: 1689975708} + m_Layer: 5 + m_Name: price + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1689975707 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1689975706} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 334957934} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 16.6, y: 61.6} + m_SizeDelta: {x: 78.57237, y: 39.676895} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1689975708 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1689975706} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: 82730987d17d94dee82a4fc1f74af324, type: 3} + m_FontSize: 22 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 2 + m_MaxSize: 40 + m_Alignment: 1 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: '* 10' +--- !u!222 &1689975709 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1689975706} + m_CullTransparentMesh: 1 +--- !u!1 &1697412875 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1697412876} + - component: {fileID: 1697412878} + - component: {fileID: 1697412877} + m_Layer: 5 + m_Name: CoinCount + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1697412876 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1697412875} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 106810686} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 10.432, y: 2} + m_SizeDelta: {x: 80.13605, y: 30} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1697412877 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1697412875} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: 82730987d17d94dee82a4fc1f74af324, type: 3} + m_FontSize: 20 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 2 + m_MaxSize: 40 + m_Alignment: 1 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: 20 +--- !u!222 &1697412878 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1697412875} + m_CullTransparentMesh: 1 +--- !u!1 &1699066725 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1699066726} + - component: {fileID: 1699066728} + - component: {fileID: 1699066727} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1699066726 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1699066725} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 237784485} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1699066727 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1699066725} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: 82730987d17d94dee82a4fc1f74af324, type: 3} + m_FontSize: 16 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 1 + m_MaxSize: 40 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Yes +--- !u!222 &1699066728 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1699066725} + m_CullTransparentMesh: 1 +--- !u!1 &1700502100 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1700502101} + - component: {fileID: 1700502104} + - component: {fileID: 1700502103} + - component: {fileID: 1700502102} + m_Layer: 5 + m_Name: BackButton + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1700502101 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1700502100} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 771102126} + m_Father: {fileID: 2129103658} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: -377.5, y: 0.000030517578} + m_SizeDelta: {x: 23.700375, y: 28.674084} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1700502102 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1700502100} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 0 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Highlighted + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 1700502103} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 1033821259} + m_TargetAssemblyTypeName: + m_MethodName: OnEnterPlayPageButtonClicked + m_Mode: 1 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 +--- !u!114 &1700502103 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1700502100} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 564d384c5cd194778a0b84e645d70144, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1700502104 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1700502100} + m_CullTransparentMesh: 1 +--- !u!1 &1708405513 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1708405514} + - component: {fileID: 1708405516} + - component: {fileID: 1708405515} + m_Layer: 5 + m_Name: coinImage + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1708405514 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1708405513} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0.3, y: 0.3, z: 0.3} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 355019296} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: -23.5, y: 72.5} + m_SizeDelta: {x: 100, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1708405515 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1708405513} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 18365d95662f54c559a543e98eb34d7a, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1708405516 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1708405513} + m_CullTransparentMesh: 1 +--- !u!1 &1710353589 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1710353590} + - component: {fileID: 1710353592} + - component: {fileID: 1710353591} + m_Layer: 5 + m_Name: land (1) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1710353590 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1710353589} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 658201524} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0.59603685, y: -90.77001} + m_SizeDelta: {x: 58, y: 58} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1710353591 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1710353589} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 2cb30301265d14c518963bfec692eb5c, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1710353592 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1710353589} + m_CullTransparentMesh: 1 +--- !u!1 &1723044189 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1723044190} + - component: {fileID: 1723044192} + - component: {fileID: 1723044191} + m_Layer: 5 + m_Name: coin (3) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1723044190 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1723044189} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 1} + m_LocalScale: {x: 0.4, y: 0.4, z: 0.4} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 658201524} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: -17.104996, y: -41.400005} + m_SizeDelta: {x: 100, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1723044191 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1723044189} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 18365d95662f54c559a543e98eb34d7a, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1723044192 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1723044189} + m_CullTransparentMesh: 1 +--- !u!1 &1725105004 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1725105005} + - component: {fileID: 1725105007} + - component: {fileID: 1725105006} + m_Layer: 5 + m_Name: coin (14) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1725105005 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1725105004} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0.4, y: 0.4, z: 0.4} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 196393728} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: -35.9, y: 6.9699984} + m_SizeDelta: {x: 100, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1725105006 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1725105004} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 18365d95662f54c559a543e98eb34d7a, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1725105007 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1725105004} + m_CullTransparentMesh: 1 +--- !u!1 &1727925813 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1727925814} + - component: {fileID: 1727925816} + - component: {fileID: 1727925815} + m_Layer: 0 + m_Name: UnSelected + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1727925814 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1727925813} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 2, y: 2, z: 2} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 318392375} + m_Father: {fileID: 1443469040} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 760, y: 15} + m_SizeDelta: {x: 100, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1727925815 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1727925813} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 9966e399068234a0fbfd114de320fa0b, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1727925816 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1727925813} + m_CullTransparentMesh: 1 +--- !u!1 &1737831629 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1737831630} + - component: {fileID: 1737831632} + - component: {fileID: 1737831631} + m_Layer: 5 + m_Name: tick (2) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1737831630 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1737831629} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 956482887} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: -13.5, y: -6.2517} + m_SizeDelta: {x: 4.1217146, y: 12.496681} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1737831631 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1737831629} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.827451, g: 0.827451, b: 0.827451, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1737831632 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1737831629} + m_CullTransparentMesh: 1 +--- !u!1 &1739707649 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1739707650} + - component: {fileID: 1739707652} + - component: {fileID: 1739707651} + m_Layer: 0 + m_Name: coinIcon + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1739707650 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1739707649} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: -0.5} + m_LocalScale: {x: 0.8000002, y: 0.8000002, z: 0.8000002} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 952341937} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0.00006514788, y: 0} + m_SizeDelta: {x: 100, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1739707651 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1739707649} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 18365d95662f54c559a543e98eb34d7a, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1739707652 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1739707649} + m_CullTransparentMesh: 1 +--- !u!1 &1742730270 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1742730273} + - component: {fileID: 1742730272} + - component: {fileID: 1742730271} + m_Layer: 5 + m_Name: PanelBuyCar + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!114 &1742730271 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1742730270} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.38431373, g: 0.38431373, b: 0.38431373, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1742730272 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1742730270} + m_CullTransparentMesh: 1 +--- !u!224 &1742730273 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1742730270} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 772879697} + - {fileID: 568397363} + m_Father: {fileID: 1106596712} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 1} + m_AnchorMax: {x: 0.5, y: 1} + m_AnchoredPosition: {x: 0.9, y: 50.7} + m_SizeDelta: {x: 307.2658, y: 40.048004} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &1743297396 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1743297397} + - component: {fileID: 1743297399} + - component: {fileID: 1743297398} + m_Layer: 5 + m_Name: price + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1743297397 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1743297396} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 196393728} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 69.1} + m_SizeDelta: {x: 174, y: 39.676895} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1743297398 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1743297396} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: 82730987d17d94dee82a4fc1f74af324, type: 3} + m_FontSize: 22 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 2 + m_MaxSize: 40 + m_Alignment: 1 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: $fifty_coins +--- !u!222 &1743297399 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1743297396} + m_CullTransparentMesh: 1 +--- !u!1 &1752026900 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1752026901} + - component: {fileID: 1752026903} + - component: {fileID: 1752026902} + m_Layer: 5 + m_Name: coin (17) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1752026901 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1752026900} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0.4, y: 0.4, z: 0.4} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 196393728} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0.6477604, y: 30.469997} + m_SizeDelta: {x: 100, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1752026902 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1752026900} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 18365d95662f54c559a543e98eb34d7a, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1752026903 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1752026900} + m_CullTransparentMesh: 1 +--- !u!1 &1754076629 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1754076630} + - component: {fileID: 1754076631} + m_Layer: 0 + m_Name: roadRampLong_SE (11) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1754076630 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1754076629} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0.37298784, w: 0.92783624} + m_LocalPosition: {x: 38.11, y: -4.76, z: 400} + m_LocalScale: {x: 2.5, y: 2.5, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 973702867} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 43.8} +--- !u!212 &1754076631 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1754076629} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_ForceMeshLod: -1 + m_MeshLodSelectionBias: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_GlobalIlluminationMeshLod: 0 + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 1 + m_Sprite: {fileID: 21300000, guid: 2fe74b416e33f437892516afd6b050ed, type: 3} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FlipX: 0 + m_FlipY: 0 + m_DrawMode: 0 + m_Size: {x: 2.27, y: 1.97} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 0 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 +--- !u!1 &1762995635 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1762995636} + - component: {fileID: 1762995637} + m_Layer: 0 + m_Name: roadRampLong_SE (3) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1762995636 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1762995635} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0.37298784, w: 0.92783624} + m_LocalPosition: {x: 7.23, y: -4.76, z: 400} + m_LocalScale: {x: 2.5, y: 2.5, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 973702867} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 43.8} +--- !u!212 &1762995637 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1762995635} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_ForceMeshLod: -1 + m_MeshLodSelectionBias: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_GlobalIlluminationMeshLod: 0 + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 1 + m_Sprite: {fileID: 21300000, guid: f9cb1859eda6347cc971102e24992af9, type: 3} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FlipX: 0 + m_FlipY: 0 + m_DrawMode: 0 + m_Size: {x: 2.27, y: 1.97} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 +--- !u!1 &1772208396 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1772208397} + m_Layer: 5 + m_Name: deferredPurchaseReminder + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!224 &1772208397 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1772208396} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 1} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1110015793} + - {fileID: 413232505} + m_Father: {fileID: 1005024301} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0.000030518, y: 0} + m_SizeDelta: {x: 100, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &1810270465 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1810270466} + - component: {fileID: 1810270467} + m_Layer: 0 + m_Name: AchivementsTab + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1810270466 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1810270465} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -95.3, y: -0.4, z: 1} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1847716834} + - {fileID: 956036136} + m_Father: {fileID: 228858408} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1810270467 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1810270465} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 0 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Highlighted + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 0} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 32773336} + m_TargetAssemblyTypeName: + m_MethodName: OnSwitchPageTabClicked + m_Mode: 3 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 1 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 +--- !u!1 &1832127800 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1832127801} + - component: {fileID: 1832127803} + - component: {fileID: 1832127802} + m_Layer: 0 + m_Name: grass (9) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1832127801 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1832127800} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 24.140001, y: -7.5, z: 398.38742} + m_LocalScale: {x: 2, y: 2, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 854302113} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!61 &1832127802 +BoxCollider2D: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1832127800} + m_Enabled: 0 + serializedVersion: 3 + m_Density: 1 + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_ForceSendLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_ForceReceiveLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_ContactCaptureLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_CallbackLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_IsTrigger: 0 + m_UsedByEffector: 0 + m_CompositeOperation: 0 + m_CompositeOrder: 0 + m_Offset: {x: 0, y: 0} + m_SpriteTilingProperty: + border: {x: 0, y: 0, z: 0, w: 0} + pivot: {x: 0.5, y: 0.5} + oldSize: {x: 1.28, y: 1.28} + newSize: {x: 1.28, y: 1.28} + adaptiveTilingThreshold: 0.5 + drawMode: 0 + adaptiveTiling: 0 + m_AutoTiling: 0 + m_Size: {x: 1.28, y: 1.28} + m_EdgeRadius: 1 +--- !u!212 &1832127803 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1832127800} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_ForceMeshLod: -1 + m_MeshLodSelectionBias: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_GlobalIlluminationMeshLod: 0 + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 1 + m_Sprite: {fileID: 21300000, guid: 2cb30301265d14c518963bfec692eb5c, type: 3} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FlipX: 0 + m_FlipY: 0 + m_DrawMode: 0 + m_Size: {x: 1.28, y: 1.28} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 +--- !u!1 &1835854566 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1835854567} + - component: {fileID: 1835854569} + - component: {fileID: 1835854568} + m_Layer: 0 + m_Name: achievementIcon + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1835854567 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1835854566} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: -0.5} + m_LocalScale: {x: 0.95, y: 0.65000004, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 956036136} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 3} + m_SizeDelta: {x: 80, y: 90} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1835854568 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1835854566} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 3a509e1289bc84d229647cc62db31385, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1835854569 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1835854566} + m_CullTransparentMesh: 1 +--- !u!1 &1847513114 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1847513115} + - component: {fileID: 1847513117} + - component: {fileID: 1847513116} + m_Layer: 5 + m_Name: priceValue + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1847513115 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1847513114} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 866240590} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 23.2, y: 0.000002861} + m_SizeDelta: {x: 127.59909, y: 39.676857} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1847513116 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1847513114} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: 82730987d17d94dee82a4fc1f74af324, type: 3} + m_FontSize: 22 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 2 + m_MaxSize: 40 + m_Alignment: 1 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: 20 +--- !u!222 &1847513117 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1847513114} + m_CullTransparentMesh: 1 +--- !u!1 &1847716833 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1847716834} + - component: {fileID: 1847716836} + - component: {fileID: 1847716835} + m_Layer: 0 + m_Name: UnSelected + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1847716834 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1847716833} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 2, y: 2, z: 2} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1879577264} + m_Father: {fileID: 1810270466} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 760, y: 15} + m_SizeDelta: {x: 100, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1847716835 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1847716833} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 9966e399068234a0fbfd114de320fa0b, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1847716836 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1847716833} + m_CullTransparentMesh: 1 +--- !u!1 &1850843214 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1850843215} + - component: {fileID: 1850843217} + - component: {fileID: 1850843216} + m_Layer: 5 + m_Name: coin + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1850843215 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1850843214} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 1} + m_LocalScale: {x: 0.4, y: 0.4, z: 0.4} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1353145234} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 58.304, y: -41.400005} + m_SizeDelta: {x: 100, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1850843216 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1850843214} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 18365d95662f54c559a543e98eb34d7a, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1850843217 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1850843214} + m_CullTransparentMesh: 1 +--- !u!1 &1861826578 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1861826581} + - component: {fileID: 1861826580} + - component: {fileID: 1861826579} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1861826579 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1861826578} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0, g: 0, b: 0, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: 82730987d17d94dee82a4fc1f74af324, type: 3} + m_FontSize: 16 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 1 + m_MaxSize: 40 + m_Alignment: 0 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Would you like to purchase Truck with $0.99? +--- !u!222 &1861826580 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1861826578} + m_CullTransparentMesh: 1 +--- !u!224 &1861826581 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1861826578} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 568397363} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0.31, y: -2.1} + m_SizeDelta: {x: 280.43582, y: 98.24942} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &1876972525 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1876972526} + - component: {fileID: 1876972528} + - component: {fileID: 1876972527} + m_Layer: 5 + m_Name: Image + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1876972526 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1876972525} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1483281442} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0.000015229, y: 0.0000026226} + m_SizeDelta: {x: 361.65445, y: 229.83081} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1876972527 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1876972525} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.69803923, g: 0.69803923, b: 0.69803923, a: 0.70980394} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1876972528 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1876972525} + m_CullTransparentMesh: 1 +--- !u!1 &1879577263 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1879577264} + - component: {fileID: 1879577266} + - component: {fileID: 1879577265} + m_Layer: 0 + m_Name: achievementIcon + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1879577264 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1879577263} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: -0.5} + m_LocalScale: {x: 0.95, y: 0.6500001, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1847716834} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 3} + m_SizeDelta: {x: 80, y: 90} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1879577265 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1879577263} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 3a509e1289bc84d229647cc62db31385, type: 3} + m_Type: 0 + m_PreserveAspect: 1 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1879577266 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1879577263} + m_CullTransparentMesh: 1 +--- !u!1 &1879601639 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1879601640} + - component: {fileID: 1879601642} + - component: {fileID: 1879601641} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1879601640 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1879601639} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 793877591} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1879601641 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1879601639} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: 82730987d17d94dee82a4fc1f74af324, type: 3} + m_FontSize: 16 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 1 + m_MaxSize: 40 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: No +--- !u!222 &1879601642 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1879601639} + m_CullTransparentMesh: 1 +--- !u!1 &1883743016 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1883743017} + - component: {fileID: 1883743019} + - component: {fileID: 1883743018} + - component: {fileID: 1883743020} + m_Layer: 5 + m_Name: BlueGrassBackground + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1883743017 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1883743016} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1991264248} + - {fileID: 1961164886} + m_Father: {fileID: 434610941} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: -193, y: 6.299802} + m_SizeDelta: {x: 386, y: 253} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1883743018 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1883743016} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: cbfa30be548dc4011a991880551901be, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1883743019 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1883743016} + m_CullTransparentMesh: 1 +--- !u!114 &1883743020 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1883743016} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 0 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Highlighted + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 1883743018} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 1673999205} + m_TargetAssemblyTypeName: + m_MethodName: OnBackgroundGarageItemClicked + m_Mode: 3 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 +--- !u!1 &1897283891 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1897283892} + - component: {fileID: 1897283894} + - component: {fileID: 1897283893} + m_Layer: 5 + m_Name: Image + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1897283892 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1897283891} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 2006688179} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 1.102, y: -0.17297} + m_SizeDelta: {x: 172.40402, y: 239.25403} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1897283893 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1897283891} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.69803923, g: 0.69803923, b: 0.69803923, a: 0.70980394} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1897283894 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1897283891} + m_CullTransparentMesh: 1 +--- !u!1 &1908887243 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1908887244} + - component: {fileID: 1908887245} + m_Layer: 0 + m_Name: LeaderboardTab + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1908887244 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1908887243} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 109.2, y: -0.4, z: 1} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 2119543481} + - {fileID: 433447119} + m_Father: {fileID: 228858408} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1908887245 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1908887243} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 0 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Highlighted + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 0} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 32773336} + m_TargetAssemblyTypeName: + m_MethodName: OnSwitchPageTabClicked + m_Mode: 3 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 2 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 +--- !u!1 &1908892589 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1908892590} + - component: {fileID: 1908892592} + - component: {fileID: 1908892591} + m_Layer: 5 + m_Name: tick (2) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1908892590 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1908892589} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0.69025016, y: 0.69025016, z: 0.69025016} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1124647842} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 17.44, y: -6.45} + m_SizeDelta: {x: 5.4154196, y: 17.671354} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1908892591 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1908892589} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.827451, g: 0.827451, b: 0.827451, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1908892592 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1908892589} + m_CullTransparentMesh: 1 +--- !u!1 &1910930077 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1910930078} + - component: {fileID: 1910930080} + - component: {fileID: 1910930079} + m_Layer: 5 + m_Name: Image + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1910930078 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1910930077} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 832686085} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 1.102, y: -0.17297} + m_SizeDelta: {x: 172.40402, y: 239.25403} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1910930079 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1910930077} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.69803923, g: 0.69803923, b: 0.69803923, a: 0.70980394} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1910930080 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1910930077} + m_CullTransparentMesh: 1 +--- !u!1 &1912990736 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1912990737} + - component: {fileID: 1912990740} + - component: {fileID: 1912990739} + - component: {fileID: 1912990738} + m_Layer: 5 + m_Name: RequestFriendsButton + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1912990737 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1912990736} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1984835134} + m_Father: {fileID: 721255556} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 0, y: 72} + m_SizeDelta: {x: 600, y: 70.21835} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1912990738 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1912990736} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Highlighted + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 1912990739} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 721255557} + m_TargetAssemblyTypeName: FriendsPageController, Assembly-CSharp + m_MethodName: RequestFriendsAccess + m_Mode: 1 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 +--- !u!114 &1912990739 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1912990736} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 0} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1912990740 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1912990736} + m_CullTransparentMesh: 1 +--- !u!1 &1913994621 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1913994622} + m_Layer: 5 + m_Name: deferredPurchaseReminder + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!224 &1913994622 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1913994621} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 1} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 61376232} + - {fileID: 463670699} + m_Father: {fileID: 1350373937} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 100, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &1916547075 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1916547084} + - component: {fileID: 1916547083} + - component: {fileID: 1916547081} + - component: {fileID: 1916547079} + - component: {fileID: 1916547078} + - component: {fileID: 1916547077} + - component: {fileID: 1916547076} + - component: {fileID: 1916547080} + m_Layer: 0 + m_Name: carOffroad + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!50 &1916547076 +Rigidbody2D: + serializedVersion: 5 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1916547075} + m_BodyType: 0 + m_Simulated: 1 + m_UseFullKinematicContacts: 0 + m_UseAutoMass: 0 + m_Mass: 1 + m_LinearDamping: 0 + m_AngularDamping: 0 + m_GravityScale: 1 + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_Interpolate: 0 + m_SleepingMode: 1 + m_CollisionDetection: 0 + m_Constraints: 0 +--- !u!95 &1916547077 +Animator: + serializedVersion: 7 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1916547075} + m_Enabled: 1 + m_Avatar: {fileID: 0} + m_Controller: {fileID: 9100000, guid: 9e975e073bbe84a5798d290c2be46e9e, type: 2} + m_CullingMode: 0 + m_UpdateMode: 0 + m_ApplyRootMotion: 0 + m_LinearVelocityBlending: 0 + m_StabilizeFeet: 0 + m_AnimatePhysics: 0 + m_WarningMessage: + m_HasTransformHierarchy: 1 + m_AllowConstantClipSamplingOptimization: 1 + m_KeepAnimatorStateOnDisable: 0 + m_WriteDefaultValuesOnDisable: 0 +--- !u!58 &1916547078 +CircleCollider2D: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1916547075} + m_Enabled: 1 + serializedVersion: 3 + m_Density: 1 + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_ForceSendLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_ForceReceiveLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_ContactCaptureLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_CallbackLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_IsTrigger: 0 + m_UsedByEffector: 0 + m_CompositeOperation: 0 + m_CompositeOrder: 0 + m_Offset: {x: 0.55, y: -0.4} + m_Radius: 0.16411933 +--- !u!58 &1916547079 +CircleCollider2D: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1916547075} + m_Enabled: 1 + serializedVersion: 3 + m_Density: 1 + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_ForceSendLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_ForceReceiveLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_ContactCaptureLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_CallbackLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_IsTrigger: 0 + m_UsedByEffector: 0 + m_CompositeOperation: 0 + m_CompositeOrder: 0 + m_Offset: {x: -0.39, y: -0.4} + m_Radius: 0.17176275 +--- !u!114 &1916547080 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1916547075} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: a3c455de4da794453acc720d32af20d3, type: 3} + m_Name: + m_EditorClassIdentifier: + inputActionAsset: {fileID: -944628639613478452, guid: c44a0d3d8804e4fd887590aa86260552, type: 3} + odometerLabel: {fileID: 1183118621} + tapToDriveText: {fileID: 96408348} + carName: 2 +--- !u!61 &1916547081 +BoxCollider2D: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1916547075} + m_Enabled: 1 + serializedVersion: 3 + m_Density: 1 + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_ForceSendLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_ForceReceiveLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_ContactCaptureLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_CallbackLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_IsTrigger: 0 + m_UsedByEffector: 0 + m_CompositeOperation: 0 + m_CompositeOrder: 0 + m_Offset: {x: 0.09359765, y: 0.03530264} + m_SpriteTilingProperty: + border: {x: 0, y: 0, z: 0, w: 0} + pivot: {x: 0.5, y: 0.5} + oldSize: {x: 2.06, y: 1.21} + newSize: {x: 1.77, y: 1.05} + adaptiveTilingThreshold: 0.5 + drawMode: 0 + adaptiveTiling: 0 + m_AutoTiling: 0 + m_Size: {x: 1.795527, y: 0.9028146} + m_EdgeRadius: 0 +--- !u!212 &1916547083 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1916547075} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_ForceMeshLod: -1 + m_MeshLodSelectionBias: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_GlobalIlluminationMeshLod: 0 + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 3 + m_Sprite: {fileID: 21300000, guid: f3d7bf835a19042de9209e11679b2f3b, type: 3} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FlipX: 0 + m_FlipY: 0 + m_DrawMode: 0 + m_Size: {x: 1.77, y: 1.05} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 +--- !u!4 &1916547084 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1916547075} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0.043, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 305869539} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1925874519 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1925874520} + - component: {fileID: 1925874522} + - component: {fileID: 1925874521} + m_Layer: 0 + m_Name: grass (1) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1925874520 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1925874519} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 3.87, y: -7.5, z: 398.38742} + m_LocalScale: {x: 2, y: 2, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 854302113} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!61 &1925874521 +BoxCollider2D: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1925874519} + m_Enabled: 0 + serializedVersion: 3 + m_Density: 1 + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_ForceSendLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_ForceReceiveLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_ContactCaptureLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_CallbackLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_IsTrigger: 0 + m_UsedByEffector: 0 + m_CompositeOperation: 0 + m_CompositeOrder: 0 + m_Offset: {x: 0, y: 0} + m_SpriteTilingProperty: + border: {x: 0, y: 0, z: 0, w: 0} + pivot: {x: 0.5, y: 0.5} + oldSize: {x: 1.28, y: 1.28} + newSize: {x: 1.28, y: 1.28} + adaptiveTilingThreshold: 0.5 + drawMode: 0 + adaptiveTiling: 0 + m_AutoTiling: 0 + m_Size: {x: 1.28, y: 1.28} + m_EdgeRadius: 1 +--- !u!212 &1925874522 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1925874519} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_ForceMeshLod: -1 + m_MeshLodSelectionBias: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_GlobalIlluminationMeshLod: 0 + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 1 + m_Sprite: {fileID: 21300000, guid: 2cb30301265d14c518963bfec692eb5c, type: 3} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FlipX: 0 + m_FlipY: 0 + m_DrawMode: 0 + m_Size: {x: 1.28, y: 1.28} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 +--- !u!1 &1935055429 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1935055430} + - component: {fileID: 1935055432} + - component: {fileID: 1935055431} + m_Layer: 0 + m_Name: grass (14) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1935055430 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1935055429} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -8.73, y: -7.5, z: 398.38742} + m_LocalScale: {x: 2, y: 2, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 854302113} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!61 &1935055431 +BoxCollider2D: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1935055429} + m_Enabled: 0 + serializedVersion: 3 + m_Density: 1 + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_ForceSendLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_ForceReceiveLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_ContactCaptureLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_CallbackLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_IsTrigger: 0 + m_UsedByEffector: 0 + m_CompositeOperation: 0 + m_CompositeOrder: 0 + m_Offset: {x: 0, y: 0} + m_SpriteTilingProperty: + border: {x: 0, y: 0, z: 0, w: 0} + pivot: {x: 0.5, y: 0.5} + oldSize: {x: 1.28, y: 1.28} + newSize: {x: 1.28, y: 1.28} + adaptiveTilingThreshold: 0.5 + drawMode: 0 + adaptiveTiling: 0 + m_AutoTiling: 0 + m_Size: {x: 1.28, y: 1.28} + m_EdgeRadius: 1 +--- !u!212 &1935055432 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1935055429} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_ForceMeshLod: -1 + m_MeshLodSelectionBias: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_GlobalIlluminationMeshLod: 0 + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 1 + m_Sprite: {fileID: 21300000, guid: 2cb30301265d14c518963bfec692eb5c, type: 3} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FlipX: 0 + m_FlipY: 0 + m_DrawMode: 0 + m_Size: {x: 1.28, y: 1.28} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 +--- !u!1 &1936403042 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1936403043} + - component: {fileID: 1936403045} + - component: {fileID: 1936403044} + m_Layer: 5 + m_Name: itemText + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1936403043 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1936403042} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1350373937} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 1.38, y: 101} + m_SizeDelta: {x: 170.12714, y: 43.708984} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1936403044 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1936403042} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: 82730987d17d94dee82a4fc1f74af324, type: 3} + m_FontSize: 25 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 2 + m_MaxSize: 40 + m_Alignment: 1 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Kart +--- !u!222 &1936403045 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1936403042} + m_CullTransparentMesh: 1 +--- !u!1 &1944340016 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1944340017} + - component: {fileID: 1944340019} + - component: {fileID: 1944340018} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1944340017 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1944340016} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1262624714} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 300, y: 37.30526} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1944340018 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1944340016} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: 82730987d17d94dee82a4fc1f74af324, type: 3} + m_FontSize: 24 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 2 + m_MaxSize: 40 + m_Alignment: 1 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: load cloud save +--- !u!222 &1944340019 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1944340016} + m_CullTransparentMesh: 1 +--- !u!1 &1944635351 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1944635352} + m_Layer: 5 + m_Name: NoGasText + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!224 &1944635352 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1944635351} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 641717533} + - {fileID: 628554575} + m_Father: {fileID: 707242308} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 16.000122, y: 48.148987} + m_SizeDelta: {x: 100, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &1957284955 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1957284956} + - component: {fileID: 1957284958} + - component: {fileID: 1957284957} + m_Layer: 0 + m_Name: UnSelected + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!224 &1957284956 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1957284955} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 2, y: 2, z: 2} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 571608660} + m_Father: {fileID: 876883264} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 760, y: 15} + m_SizeDelta: {x: 100, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1957284957 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1957284955} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 9966e399068234a0fbfd114de320fa0b, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1957284958 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1957284955} + m_CullTransparentMesh: 1 +--- !u!1 &1958721026 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1958721027} + - component: {fileID: 1958721028} + m_Layer: 0 + m_Name: roadRampLong_SE (5) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1958721027 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1958721026} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0.37298784, w: 0.92783624} + m_LocalPosition: {x: 17.529999, y: -4.76, z: 400} + m_LocalScale: {x: 2.5, y: 2.5, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 973702867} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 43.8} +--- !u!212 &1958721028 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1958721026} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_ForceMeshLod: -1 + m_MeshLodSelectionBias: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_GlobalIlluminationMeshLod: 0 + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 1 + m_Sprite: {fileID: 21300000, guid: f9cb1859eda6347cc971102e24992af9, type: 3} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FlipX: 0 + m_FlipY: 0 + m_DrawMode: 0 + m_Size: {x: 2.27, y: 1.97} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 +--- !u!1 &1961164885 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1961164886} + - component: {fileID: 1961164888} + - component: {fileID: 1961164887} + m_Layer: 5 + m_Name: statusText + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1961164886 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1961164885} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1883743017} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: -0.0000038146973, y: -93.11} + m_SizeDelta: {x: 358, y: 41.06337} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1961164887 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1961164885} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: 82730987d17d94dee82a4fc1f74af324, type: 3} + m_FontSize: 27 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 2 + m_MaxSize: 40 + m_Alignment: 0 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: USING +--- !u!222 &1961164888 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1961164885} + m_CullTransparentMesh: 1 +--- !u!1 &1961366755 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1961366756} + - component: {fileID: 1961366758} + - component: {fileID: 1961366757} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1961366756 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1961366755} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 16853872} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 122.871765, y: 37.30526} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1961366757 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1961366755} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: 82730987d17d94dee82a4fc1f74af324, type: 3} + m_FontSize: 24 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 2 + m_MaxSize: 40 + m_Alignment: 1 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Coins +--- !u!222 &1961366758 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1961366755} + m_CullTransparentMesh: 1 +--- !u!1 &1967730367 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1967730368} + - component: {fileID: 1967730369} + m_Layer: 0 + m_Name: blue_grass (3) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1967730368 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1967730367} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -15.63, y: -1.1599998, z: 398.446} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 213225580} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!212 &1967730369 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1967730367} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_ForceMeshLod: -1 + m_MeshLodSelectionBias: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_GlobalIlluminationMeshLod: 0 + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_Sprite: {fileID: 21300000, guid: 5628e29fca1e94568a764c47bd2a4f9c, type: 3} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FlipX: 0 + m_FlipY: 0 + m_DrawMode: 0 + m_Size: {x: 10.24, y: 10.24} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 +--- !u!1 &1981601473 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1981601474} + m_Layer: 5 + m_Name: RestorePurchase + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1981601474 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1981601473} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 155421930} + - {fileID: 1447954937} + - {fileID: 630752255} + m_Father: {fileID: 1581781440} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0.29733} + m_SizeDelta: {x: 800, y: 388.59454} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &1983079678 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1983079679} + - component: {fileID: 1983079681} + - component: {fileID: 1983079680} + m_Layer: 5 + m_Name: gasIcon + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1983079679 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1983079678} + m_LocalRotation: {x: 0, y: 0, z: 0.08715578, w: 0.9961947} + m_LocalPosition: {x: 0, y: 0, z: -0.5} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1132136874} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 10} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: -0.00003252606, y: 0} + m_SizeDelta: {x: 100, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1983079680 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1983079678} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 6f47a04a8fd3c4dd09b08cb7892d0673, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1983079681 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1983079678} + m_CullTransparentMesh: 1 +--- !u!1 &1984835133 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1984835134} + - component: {fileID: 1984835136} + - component: {fileID: 1984835135} + m_Layer: 5 + m_Name: RequestFriendsText + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1984835134 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1984835133} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1912990737} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: -0.0004272461, y: 0.0021514893} + m_SizeDelta: {x: 0.00090026855, y: 0.004306793} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1984835135 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1984835133} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.4392157, g: 0.4392157, b: 0.4392157, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: 82730987d17d94dee82a4fc1f74af324, type: 3} + m_FontSize: 35 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 3 + m_MaxSize: 40 + m_Alignment: 0 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Request Friends access +--- !u!222 &1984835136 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1984835133} + m_CullTransparentMesh: 1 +--- !u!1 &1988286312 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1988286313} + - component: {fileID: 1988286314} + m_Layer: 0 + m_Name: roadRampLong_SE (2) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1988286313 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1988286312} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: 0.37298784, w: 0.92783624} + m_LocalPosition: {x: 2.14, y: -4.76, z: 400} + m_LocalScale: {x: 2.5, y: 2.5, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 973702867} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 43.8} +--- !u!212 &1988286314 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1988286312} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_ForceMeshLod: -1 + m_MeshLodSelectionBias: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_GlobalIlluminationMeshLod: 0 + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 1 + m_Sprite: {fileID: 21300000, guid: f9cb1859eda6347cc971102e24992af9, type: 3} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FlipX: 0 + m_FlipY: 0 + m_DrawMode: 0 + m_Size: {x: 2.27, y: 1.97} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 +--- !u!1 &1991264247 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1991264248} + - component: {fileID: 1991264250} + - component: {fileID: 1991264249} + m_Layer: 5 + m_Name: itemImage + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1991264248 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1991264247} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1883743017} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0.36} + m_SizeDelta: {x: 358, y: 228} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1991264249 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1991264247} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 5628e29fca1e94568a764c47bd2a4f9c, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1991264250 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1991264247} + m_CullTransparentMesh: 1 +--- !u!850595691 &1995852035 +LightingSettings: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Settings.lighting + serializedVersion: 9 + m_EnableBakedLightmaps: 0 + m_EnableRealtimeLightmaps: 0 + m_RealtimeEnvironmentLighting: 1 + m_BounceScale: 1 + m_AlbedoBoost: 1 + m_IndirectOutputScale: 1 + m_UsingShadowmask: 1 + m_BakeBackend: 1 + m_LightmapMaxSize: 1024 + m_LightmapSizeFixed: 0 + m_UseMipmapLimits: 1 + m_BakeResolution: 40 + m_Padding: 2 + m_LightmapCompression: 2 + m_AO: 0 + m_AOMaxDistance: 1 + m_CompAOExponent: 1 + m_CompAOExponentDirect: 0 + m_ExtractAO: 0 + m_MixedBakeMode: 2 + m_LightmapsBakeMode: 1 + m_FilterMode: 1 + m_LightmapParameters: {fileID: 15204, guid: 0000000000000000f000000000000000, type: 0} + m_ExportTrainingData: 0 + m_EnableWorkerProcessBaking: 1 + m_TrainingDataDestination: TrainingData + m_RealtimeResolution: 2 + m_ForceWhiteAlbedo: 0 + m_ForceUpdates: 0 + m_PVRCulling: 1 + m_PVRSampling: 1 + m_PVRDirectSampleCount: 32 + m_PVRSampleCount: 512 + m_PVREnvironmentSampleCount: 512 + m_PVREnvironmentReferencePointCount: 2048 + m_LightProbeSampleCountMultiplier: 4 + m_PVRBounces: 2 + m_PVRMinBounces: 2 + m_PVREnvironmentImportanceSampling: 0 + m_PVRFilteringMode: 2 + m_PVRDenoiserTypeDirect: 0 + m_PVRDenoiserTypeIndirect: 0 + m_PVRDenoiserTypeAO: 0 + m_PVRFilterTypeDirect: 0 + m_PVRFilterTypeIndirect: 0 + m_PVRFilterTypeAO: 0 + m_PVRFilteringGaussRadiusDirect: 1 + m_PVRFilteringGaussRadiusIndirect: 5 + m_PVRFilteringGaussRadiusAO: 2 + m_PVRFilteringAtrousPositionSigmaDirect: 0.5 + m_PVRFilteringAtrousPositionSigmaIndirect: 2 + m_PVRFilteringAtrousPositionSigmaAO: 1 + m_RespectSceneVisibilityWhenBakingGI: 0 +--- !u!1 &1998626614 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1998626615} + - component: {fileID: 1998626617} + - component: {fileID: 1998626616} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1998626615 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1998626614} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1088373757} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1998626616 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1998626614} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: 82730987d17d94dee82a4fc1f74af324, type: 3} + m_FontSize: 16 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 1 + m_MaxSize: 40 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Yes +--- !u!222 &1998626617 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1998626614} + m_CullTransparentMesh: 1 +--- !u!1 &2000898527 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2000898528} + - component: {fileID: 2000898529} + m_Layer: 5 + m_Name: CoinStorePageController + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2000898528 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2000898527} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 934722222} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 100, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &2000898529 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2000898527} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: b6c24824589dc4caf859ba549dd0af16, type: 3} + m_Name: + m_EditorClassIdentifier: + confirmPanel: {fileID: 16853869} + confirmText: {fileID: 422719011} +--- !u!1 &2006688178 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2006688179} + m_Layer: 5 + m_Name: deferredPurchaseReminder + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!224 &2006688179 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2006688178} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 1} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1897283892} + - {fileID: 517605792} + m_Father: {fileID: 682708800} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 100, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &2009784217 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2009784218} + - component: {fileID: 2009784220} + - component: {fileID: 2009784219} + m_Layer: 5 + m_Name: coin (7) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2009784218 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2009784217} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 1} + m_LocalScale: {x: 0.4, y: 0.4, z: 0.4} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1005024301} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: -5.1999955, y: -13.700008} + m_SizeDelta: {x: 100, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &2009784219 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2009784217} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 18365d95662f54c559a543e98eb34d7a, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &2009784220 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2009784217} + m_CullTransparentMesh: 1 +--- !u!1 &2009984645 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2009984646} + - component: {fileID: 2009984648} + - component: {fileID: 2009984647} + m_Layer: 5 + m_Name: GarageText + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2009984646 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2009984645} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1182112700} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: -0.0004272461, y: 0.0021514893} + m_SizeDelta: {x: 0.00090026855, y: 0.004306793} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &2009984647 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2009984645} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.4392157, g: 0.4392157, b: 0.4392157, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: 82730987d17d94dee82a4fc1f74af324, type: 3} + m_FontSize: 35 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 3 + m_MaxSize: 40 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Garage +--- !u!222 &2009984648 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2009984645} + m_CullTransparentMesh: 1 +--- !u!1 &2022186445 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2022186446} + - component: {fileID: 2022186449} + - component: {fileID: 2022186448} + - component: {fileID: 2022186447} + m_Layer: 5 + m_Name: Item (Kart) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!224 &2022186446 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2022186445} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 803458930} + - {fileID: 388669357} + m_Father: {fileID: 560796383} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0.5} + m_AnchorMax: {x: 0, y: 0.5} + m_AnchoredPosition: {x: 339.7, y: 95.2} + m_SizeDelta: {x: 195, y: 261} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &2022186447 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2022186445} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 0 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Highlighted + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 984682900} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 1198602001} + m_TargetAssemblyTypeName: + m_MethodName: OnCarGarageItemClicked + m_Mode: 3 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 3 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 +--- !u!114 &2022186448 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2022186445} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 017f3051fa90c4f8eb3d1d6c6c11a9c6, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &2022186449 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2022186445} + m_CullTransparentMesh: 1 +--- !u!1 &2032112283 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2032112284} + - component: {fileID: 2032112286} + - component: {fileID: 2032112285} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2032112284 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2032112283} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1519550917} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0.000051498, y: 20.746} + m_SizeDelta: {x: 293.8706, y: 88.52338} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &2032112285 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2032112283} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: 82730987d17d94dee82a4fc1f74af324, type: 3} + m_FontSize: 16 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 1 + m_MaxSize: 40 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Would you like to restore purchases? +--- !u!222 &2032112286 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2032112283} + m_CullTransparentMesh: 1 +--- !u!1 &2064941862 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2064941863} + - component: {fileID: 2064941865} + - component: {fileID: 2064941864} + m_Layer: 0 + m_Name: grass (21) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2064941863 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2064941862} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 39.43, y: -7.5, z: 398.38742} + m_LocalScale: {x: 2, y: 2, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 854302113} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!61 &2064941864 +BoxCollider2D: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2064941862} + m_Enabled: 0 + serializedVersion: 3 + m_Density: 1 + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_ForceSendLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_ForceReceiveLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_ContactCaptureLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_CallbackLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_IsTrigger: 0 + m_UsedByEffector: 0 + m_CompositeOperation: 0 + m_CompositeOrder: 0 + m_Offset: {x: 0, y: 0} + m_SpriteTilingProperty: + border: {x: 0, y: 0, z: 0, w: 0} + pivot: {x: 0.5, y: 0.5} + oldSize: {x: 1.28, y: 1.28} + newSize: {x: 1.28, y: 1.28} + adaptiveTilingThreshold: 0.5 + drawMode: 0 + adaptiveTiling: 0 + m_AutoTiling: 0 + m_Size: {x: 1.28, y: 1.28} + m_EdgeRadius: 1 +--- !u!212 &2064941865 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2064941862} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_ForceMeshLod: -1 + m_MeshLodSelectionBias: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_GlobalIlluminationMeshLod: 0 + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 1 + m_Sprite: {fileID: 21300000, guid: 2cb30301265d14c518963bfec692eb5c, type: 3} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FlipX: 0 + m_FlipY: 0 + m_DrawMode: 0 + m_Size: {x: 1.28, y: 1.28} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 +--- !u!1 &2068190051 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2068190052} + - component: {fileID: 2068190054} + - component: {fileID: 2068190053} + m_Layer: 5 + m_Name: CannotAffordWarningText + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!224 &2068190052 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2068190051} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 140605186} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: -2.04, y: -18.45} + m_SizeDelta: {x: 345.64737, y: 39.841553} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &2068190053 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2068190051} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: 82730987d17d94dee82a4fc1f74af324, type: 3} + m_FontSize: 25 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 2 + m_MaxSize: 40 + m_Alignment: 0 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Insufficient coins! +--- !u!222 &2068190054 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2068190051} + m_CullTransparentMesh: 1 +--- !u!1 &2069640798 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2069640799} + - component: {fileID: 2069640801} + - component: {fileID: 2069640800} + m_Layer: 5 + m_Name: coin (13) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2069640799 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2069640798} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0.4, y: 0.4, z: 0.4} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 196393728} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: -16.50099, y: 6.9699984} + m_SizeDelta: {x: 100, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &2069640800 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2069640798} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 18365d95662f54c559a543e98eb34d7a, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &2069640801 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2069640798} + m_CullTransparentMesh: 1 +--- !u!1 &2077196466 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2077196467} + - component: {fileID: 2077196469} + - component: {fileID: 2077196468} + m_Layer: 5 + m_Name: price + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2077196467 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2077196466} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1353145234} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 69.1} + m_SizeDelta: {x: 174, y: 39.676895} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &2077196468 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2077196466} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: 82730987d17d94dee82a4fc1f74af324, type: 3} + m_FontSize: 22 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 2 + m_MaxSize: 40 + m_Alignment: 1 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: $five_coins +--- !u!222 &2077196469 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2077196466} + m_CullTransparentMesh: 1 +--- !u!1 &2082035251 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2082035252} + - component: {fileID: 2082035253} + m_Layer: 0 + m_Name: roadRampLong_SE (6) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2082035252 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2082035251} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: 0.37298784, w: 0.92783624} + m_LocalPosition: {x: -12, y: -4.76, z: 400} + m_LocalScale: {x: 2.5, y: 2.5, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 973702867} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 43.8} +--- !u!212 &2082035253 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2082035251} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_ForceMeshLod: -1 + m_MeshLodSelectionBias: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_GlobalIlluminationMeshLod: 0 + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 1 + m_Sprite: {fileID: 21300000, guid: f9cb1859eda6347cc971102e24992af9, type: 3} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FlipX: 0 + m_FlipY: 0 + m_DrawMode: 0 + m_Size: {x: 2.27, y: 1.97} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 +--- !u!1 &2087359306 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2087359307} + - component: {fileID: 2087359309} + - component: {fileID: 2087359308} + m_Layer: 5 + m_Name: SelectedBg + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!224 &2087359307 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2087359306} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 2, y: 2, z: 2} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 72222044} + m_Father: {fileID: 344383113} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 1048, y: 15} + m_SizeDelta: {x: 100, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &2087359308 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2087359306} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 1e0d88ad9a1b841f2b7cc7f47659dffb, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &2087359309 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2087359306} + m_CullTransparentMesh: 1 +--- !u!1 &2117998005 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2117998006} + - component: {fileID: 2117998007} + m_Layer: 0 + m_Name: blue_grass (6) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2117998006 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2117998005} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -25.83, y: -1.1399999, z: 398.446} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 213225580} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!212 &2117998007 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2117998005} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_ForceMeshLod: -1 + m_MeshLodSelectionBias: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_GlobalIlluminationMeshLod: 0 + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_Sprite: {fileID: 21300000, guid: 5628e29fca1e94568a764c47bd2a4f9c, type: 3} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FlipX: 0 + m_FlipY: 0 + m_DrawMode: 0 + m_Size: {x: 10.24, y: 10.24} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 +--- !u!1 &2119543480 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2119543481} + - component: {fileID: 2119543483} + - component: {fileID: 2119543482} + m_Layer: 0 + m_Name: UnSelected + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2119543481 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2119543480} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 2, y: 2, z: 2} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1187656865} + m_Father: {fileID: 1908887244} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 760, y: 15} + m_SizeDelta: {x: 100, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &2119543482 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2119543480} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 9966e399068234a0fbfd114de320fa0b, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &2119543483 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2119543480} + m_CullTransparentMesh: 1 +--- !u!1 &2121457121 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2121457123} + - component: {fileID: 2121457122} + m_Layer: 0 + m_Name: PurchaseController + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &2121457122 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2121457121} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: c9497ec7682447e4bb6035aea89677d9, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!4 &2121457123 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2121457121} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 1498.4839, y: 634.7431, z: -240.2686} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &2129103657 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2129103658} + - component: {fileID: 2129103660} + - component: {fileID: 2129103659} + m_Layer: 5 + m_Name: MenuBar + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2129103658 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2129103657} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 768087315} + - {fileID: 1700502101} + m_Father: {fileID: 1247029532} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 1} + m_AnchorMax: {x: 0.5, y: 1} + m_AnchoredPosition: {x: -0.000013351, y: 0} + m_SizeDelta: {x: 800, y: 45.204742} + m_Pivot: {x: 0.5, y: 1} +--- !u!114 &2129103659 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2129103657} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.38431373, g: 0.38431373, b: 0.38431373, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &2129103660 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2129103657} + m_CullTransparentMesh: 1 +--- !u!1 &2130538488 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2130538489} + - component: {fileID: 2130538491} + - component: {fileID: 2130538490} + m_Layer: 5 + m_Name: coin (10) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2130538489 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2130538488} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 1} + m_LocalScale: {x: 0.4, y: 0.4, z: 0.4} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 196393728} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: -27.49999, y: -18.730001} + m_SizeDelta: {x: 100, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &2130538490 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2130538488} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 18365d95662f54c559a543e98eb34d7a, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &2130538491 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2130538488} + m_CullTransparentMesh: 1 +--- !u!1 &2136726070 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2136726071} + - component: {fileID: 2136726072} + m_Layer: 5 + m_Name: SigninPage + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!224 &2136726071 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2136726070} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 917637542} + - {fileID: 1413877829} + m_Father: {fileID: 685973730} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: -92} + m_SizeDelta: {x: 100, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &2136726072 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2136726070} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 8ffcfac11310749e496029a0f0770275, type: 3} + m_Name: + m_EditorClassIdentifier: + signInText: {fileID: 917637543} + signInButton: {fileID: 1413877825} +--- !u!1 &2138181992 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2138181993} + - component: {fileID: 2138181995} + - component: {fileID: 2138181994} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2138181993 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2138181992} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 33244448} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0.40002, y: -0} + m_SizeDelta: {x: 167.62558, y: 132.8706} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &2138181994 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2138181992} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: 82730987d17d94dee82a4fc1f74af324, type: 3} + m_FontSize: 14 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 1 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Complete purchase on the Google Play Store. +--- !u!222 &2138181995 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2138181992} + m_CullTransparentMesh: 1 +--- !u!1 &2142797795 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2142797804} + - component: {fileID: 2142797803} + - component: {fileID: 2142797802} + - component: {fileID: 2142797801} + - component: {fileID: 2142797799} + - component: {fileID: 2142797798} + - component: {fileID: 2142797796} + - component: {fileID: 2142797797} + m_Layer: 0 + m_Name: carTruck + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!95 &2142797796 +Animator: + serializedVersion: 7 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2142797795} + m_Enabled: 1 + m_Avatar: {fileID: 0} + m_Controller: {fileID: 9100000, guid: 059395413326547ee8bfc8124ef73114, type: 2} + m_CullingMode: 0 + m_UpdateMode: 0 + m_ApplyRootMotion: 0 + m_LinearVelocityBlending: 0 + m_StabilizeFeet: 0 + m_AnimatePhysics: 0 + m_WarningMessage: + m_HasTransformHierarchy: 1 + m_AllowConstantClipSamplingOptimization: 1 + m_KeepAnimatorStateOnDisable: 0 + m_WriteDefaultValuesOnDisable: 0 +--- !u!114 &2142797797 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2142797795} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: a3c455de4da794453acc720d32af20d3, type: 3} + m_Name: + m_EditorClassIdentifier: + inputActionAsset: {fileID: -944628639613478452, guid: c44a0d3d8804e4fd887590aa86260552, type: 3} + odometerLabel: {fileID: 1183118621} + tapToDriveText: {fileID: 96408348} + carName: 1 +--- !u!58 &2142797798 +CircleCollider2D: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2142797795} + m_Enabled: 1 + serializedVersion: 3 + m_Density: 1 + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_ForceSendLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_ForceReceiveLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_ContactCaptureLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_CallbackLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_IsTrigger: 0 + m_UsedByEffector: 0 + m_CompositeOperation: 0 + m_CompositeOrder: 0 + m_Offset: {x: 0.58889914, y: -0.33373433} + m_Radius: 0.19011107 +--- !u!58 &2142797799 +CircleCollider2D: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2142797795} + m_Enabled: 1 + serializedVersion: 3 + m_Density: 1 + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_ForceSendLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_ForceReceiveLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_ContactCaptureLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_CallbackLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_IsTrigger: 0 + m_UsedByEffector: 0 + m_CompositeOperation: 0 + m_CompositeOrder: 0 + m_Offset: {x: -0.5270487, y: -0.33558455} + m_Radius: 0.19562693 +--- !u!61 &2142797801 +BoxCollider2D: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2142797795} + m_Enabled: 1 + serializedVersion: 3 + m_Density: 1 + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_ForceSendLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_ForceReceiveLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_ContactCaptureLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_CallbackLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_IsTrigger: 0 + m_UsedByEffector: 0 + m_CompositeOperation: 0 + m_CompositeOrder: 0 + m_Offset: {x: 0, y: -0.026959658} + m_SpriteTilingProperty: + border: {x: 0, y: 0, z: 0, w: 0} + pivot: {x: 0.5, y: 0.5} + oldSize: {x: 2.06, y: 1.21} + newSize: {x: 2.06, y: 1.21} + adaptiveTilingThreshold: 0.5 + drawMode: 0 + adaptiveTiling: 0 + m_AutoTiling: 0 + m_Size: {x: 1.9772186, y: 0.77829003} + m_EdgeRadius: 0 +--- !u!50 &2142797802 +Rigidbody2D: + serializedVersion: 5 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2142797795} + m_BodyType: 0 + m_Simulated: 1 + m_UseFullKinematicContacts: 0 + m_UseAutoMass: 0 + m_Mass: 1 + m_LinearDamping: 0 + m_AngularDamping: 0 + m_GravityScale: 1 + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_Interpolate: 0 + m_SleepingMode: 1 + m_CollisionDetection: 0 + m_Constraints: 0 +--- !u!212 &2142797803 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2142797795} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_ForceMeshLod: -1 + m_MeshLodSelectionBias: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_GlobalIlluminationMeshLod: 0 + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 3 + m_Sprite: {fileID: 21300000, guid: 4134cebaefa1249b7bc998da5c0c494b, type: 3} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FlipX: 0 + m_FlipY: 0 + m_DrawMode: 0 + m_Size: {x: 2.06, y: 1.21} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 0 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 +--- !u!4 &2142797804 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2142797795} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 305869539} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1660057539 &9223372036854775807 +SceneRoots: + m_ObjectHideFlags: 0 + m_Roots: + - {fileID: 172629687} + - {fileID: 707242308} + - {fileID: 1275616765} + - {fileID: 1284203584} + - {fileID: 854302113} + - {fileID: 594724466} + - {fileID: 973702867} + - {fileID: 1033821260} + - {fileID: 993704465} + - {fileID: 305869539} + - {fileID: 2121457123} + - {fileID: 1635216886} + - {fileID: 882154616} + - {fileID: 732906226} + - {fileID: 112345033} + - {fileID: 635933294} + - {fileID: 1546055787} diff --git a/trivialkart/trivialkart-unity/Assets/Scenes/TrivialKartScene_RecallAPI.unity.meta b/trivialkart/trivialkart-unity/Assets/Scenes/TrivialKartScene_RecallAPI.unity.meta new file mode 100644 index 00000000..ee838043 --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/Scenes/TrivialKartScene_RecallAPI.unity.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 49950609d256442488fa11a9b773e7ed +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/trivialkart/trivialkart-unity/Assets/Scripts/Controller/PGS/PGSController.cs b/trivialkart/trivialkart-unity/Assets/Scripts/Controller/PGS/PGSController.cs index 53031a5e..d21f0b07 100644 --- a/trivialkart/trivialkart-unity/Assets/Scripts/Controller/PGS/PGSController.cs +++ b/trivialkart/trivialkart-unity/Assets/Scripts/Controller/PGS/PGSController.cs @@ -52,10 +52,14 @@ public enum PgsSigninStatus public PGSAchievementManager AchievementManager { get; private set; } public PGSCloudSaveManager CloudSaveManager { get; private set; } + + #if RECALL_API + private PGSRecallManager RecallManager { get; set; } + #endif #endif // Start is called before the first frame update - void Start() + private void Start() { #if PLAY_GAMES_SERVICES _friendsPageController = friendsPage.GetComponent(); @@ -63,6 +67,9 @@ void Start() _signinPageController = signinPage.GetComponent(); AchievementManager = GetComponent(); CloudSaveManager = GetComponent(); +#if RECALL_API + RecallManager = GetComponent(); +#endif CurrentSignInStatus = PgsSigninStatus.PgsSigninNotLoggedIn; PgsEnabled = true; #else @@ -92,7 +99,11 @@ void Update() { _leaderboardPageController.EnableLeaderboardReporting(); AchievementManager.LoadAchievements(); +#if RECALL_API + RecallManager.TryRestorePlayerSession(); +#else CloudSaveManager.RetrieveCloudMetadata(); +#endif _initializedServices = true; } } diff --git a/trivialkart/trivialkart-unity/Assets/Scripts/Controller/PGS/PGSRecallManager.cs b/trivialkart/trivialkart-unity/Assets/Scripts/Controller/PGS/PGSRecallManager.cs new file mode 100644 index 00000000..4d67c5bc --- /dev/null +++ b/trivialkart/trivialkart-unity/Assets/Scripts/Controller/PGS/PGSRecallManager.cs @@ -0,0 +1,270 @@ +#if PLAY_GAMES_SERVICES +using GooglePlayGames; +#endif +using System; +using System.Collections; +using UnityEngine; +using UnityEngine.Networking; +using UnityEngine.UI; + +public class PGSRecallManager : MonoBehaviour +{ +#if RECALL_API + // --- Server Configuration --- + private const string SERVER_BASE_URL = "http://192.168.0.101:3000"; // Update with your IP + private const string RECALL_SESSION_ENDPOINT = SERVER_BASE_URL + "/recall-session"; + private const string CREATE_ACCOUNT_ENDPOINT = SERVER_BASE_URL + "/create-account"; + private const string UPDATE_PROGRESS_ENDPOINT = SERVER_BASE_URL + "/update-progress"; + + private string _currentRecallSessionId; + private string _playerRecallToken; + private Coroutine _distanceUpdateCoroutine; + private float _lastDistanceSentToServer = -1f; + private const float UPDATE_INTERVAL_SECONDS = 5.0f; + + private Transform _dummyLoginPanel; + private InputField _usernameInputField; + private Button _loginButton; + private Text _usernameText; + + [Serializable] + public class ServerResponse + { + public string status; + public PlayerData playerData; + public string playerRecallToken; + } + + [Serializable] + public class PlayerData + { + public string username; + public int coinsOwned; + public float distanceTraveled; + } + + [Serializable] + private class RecallSessionPayload { public string token; } + + [Serializable] + private class CreateAccountPayload + { + public string recallSessionId; + public string username; + public int coinsOwned; + public float distanceTraveled; + } + + [Serializable] + private class UpdateProgressPayload + { + public string playerRecallToken; + public float distanceTraveled; + } + + private void Start() + { + var playboardCanvas = GameObject.Find("PlayBoardCanvas"); + _dummyLoginPanel = playboardCanvas.transform.Find("DummyLoginPanel"); + _usernameText = playboardCanvas.transform.Find("UsernameLabel").GetComponent(); + _usernameInputField = _dummyLoginPanel.transform.Find("Username").GetComponent(); + _loginButton = _dummyLoginPanel.transform.Find("Login").GetComponent
+ /// An interface for interacting with events. + /// + /// See online + /// documentation for Events for more information. + /// + /// All callbacks in this interface must be invoked on the game thread. + ///