From 5d09c432419c55fab110b9f1842c5024e588e3eb Mon Sep 17 00:00:00 2001 From: zhangaotian <8474238@qq.com> Date: Fri, 28 Jun 2024 18:47:48 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=90=E5=B9=BF=E5=91=8A=E3=80=91=E5=AF=BC?= =?UTF-8?q?=E5=85=A5AudienceNetwork?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Forest/Assets/AudienceNetwork.meta | 10 + Forest/Assets/AudienceNetwork/Editor.meta | 8 + .../Editor/AudienceNetworkDependencies.xml | 10 + .../AudienceNetworkDependencies.xml.meta | 7 + Forest/Assets/AudienceNetwork/Library.meta | 10 + .../AudienceNetwork/Library/AdHandler.cs | 50 + .../AudienceNetwork/Library/AdHandler.cs.meta | 13 + .../AudienceNetwork/Library/AdSettings.cs | 303 +++ .../Library/AdSettings.cs.meta | 13 + .../AudienceNetwork/Library/AdUtility.cs | 211 ++ .../AudienceNetwork/Library/AdUtility.cs.meta | 13 + .../Assets/AudienceNetwork/Library/AdView.cs | 1010 ++++++++++ .../AudienceNetwork/Library/AdView.cs.meta | 13 + .../Library/AudienceNetworkAds.cs | 42 + .../Library/AudienceNetworkAds.cs.meta | 11 + .../AudienceNetwork/Library/ExtraHints.cs | 118 ++ .../Library/ExtraHints.cs.meta | 11 + .../AudienceNetwork/Library/InterstitialAd.cs | 950 +++++++++ .../Library/InterstitialAd.cs.meta | 13 + .../Library/RewardedVideoAd.cs | 1181 +++++++++++ .../Library/RewardedVideoAd.cs.meta | 13 + .../AudienceNetwork/Library/SdkVersion.cs | 33 + .../Library/SdkVersion.cs.meta | 13 + Forest/Assets/AudienceNetwork/Scenes.meta | 8 + .../Assets/AudienceNetwork/Scenes/Banner.meta | 10 + .../Scenes/Banner/AdViewScene.cs | 149 ++ .../Scenes/Banner/AdViewScene.cs.meta | 13 + .../Scenes/Banner/AdViewScene.unity | 1578 +++++++++++++++ .../Scenes/Banner/AdViewScene.unity.meta | 9 + .../AudienceNetwork/Scenes/BaseScene.cs | 23 + .../AudienceNetwork/Scenes/BaseScene.cs.meta | 11 + .../AudienceNetwork/Scenes/Interstitial.meta | 10 + .../Interstitial/InterstitialAdScene.cs | 117 ++ .../Interstitial/InterstitialAdScene.cs.meta | 13 + .../Interstitial/InterstitialAdScene.unity | 1374 +++++++++++++ .../InterstitialAdScene.unity.meta | 9 + .../AudienceNetwork/Scenes/RewardedVideo.meta | 10 + .../RewardedVideo/RewardedVideoAdScene.cs | 148 ++ .../RewardedVideoAdScene.cs.meta | 13 + .../RewardedVideo/RewardedVideoAdScene.unity | 1360 +++++++++++++ .../RewardedVideoAdScene.unity.meta | 9 + .../AudienceNetwork/Scenes/Settings.meta | 8 + .../Scenes/Settings/SettingsScene.cs | 54 + .../Scenes/Settings/SettingsScene.cs.meta | 11 + .../Scenes/Settings/SettingsScene.unity | 1759 +++++++++++++++++ .../Scenes/Settings/SettingsScene.unity.meta | 7 + Forest/ProjectSettings/GvhProjectSettings.xml | 18 - 47 files changed, 10759 insertions(+), 18 deletions(-) create mode 100644 Forest/Assets/AudienceNetwork.meta create mode 100644 Forest/Assets/AudienceNetwork/Editor.meta create mode 100644 Forest/Assets/AudienceNetwork/Editor/AudienceNetworkDependencies.xml create mode 100644 Forest/Assets/AudienceNetwork/Editor/AudienceNetworkDependencies.xml.meta create mode 100644 Forest/Assets/AudienceNetwork/Library.meta create mode 100644 Forest/Assets/AudienceNetwork/Library/AdHandler.cs create mode 100644 Forest/Assets/AudienceNetwork/Library/AdHandler.cs.meta create mode 100644 Forest/Assets/AudienceNetwork/Library/AdSettings.cs create mode 100644 Forest/Assets/AudienceNetwork/Library/AdSettings.cs.meta create mode 100644 Forest/Assets/AudienceNetwork/Library/AdUtility.cs create mode 100644 Forest/Assets/AudienceNetwork/Library/AdUtility.cs.meta create mode 100644 Forest/Assets/AudienceNetwork/Library/AdView.cs create mode 100644 Forest/Assets/AudienceNetwork/Library/AdView.cs.meta create mode 100644 Forest/Assets/AudienceNetwork/Library/AudienceNetworkAds.cs create mode 100644 Forest/Assets/AudienceNetwork/Library/AudienceNetworkAds.cs.meta create mode 100644 Forest/Assets/AudienceNetwork/Library/ExtraHints.cs create mode 100644 Forest/Assets/AudienceNetwork/Library/ExtraHints.cs.meta create mode 100644 Forest/Assets/AudienceNetwork/Library/InterstitialAd.cs create mode 100644 Forest/Assets/AudienceNetwork/Library/InterstitialAd.cs.meta create mode 100644 Forest/Assets/AudienceNetwork/Library/RewardedVideoAd.cs create mode 100644 Forest/Assets/AudienceNetwork/Library/RewardedVideoAd.cs.meta create mode 100644 Forest/Assets/AudienceNetwork/Library/SdkVersion.cs create mode 100644 Forest/Assets/AudienceNetwork/Library/SdkVersion.cs.meta create mode 100644 Forest/Assets/AudienceNetwork/Scenes.meta create mode 100644 Forest/Assets/AudienceNetwork/Scenes/Banner.meta create mode 100644 Forest/Assets/AudienceNetwork/Scenes/Banner/AdViewScene.cs create mode 100644 Forest/Assets/AudienceNetwork/Scenes/Banner/AdViewScene.cs.meta create mode 100644 Forest/Assets/AudienceNetwork/Scenes/Banner/AdViewScene.unity create mode 100644 Forest/Assets/AudienceNetwork/Scenes/Banner/AdViewScene.unity.meta create mode 100644 Forest/Assets/AudienceNetwork/Scenes/BaseScene.cs create mode 100644 Forest/Assets/AudienceNetwork/Scenes/BaseScene.cs.meta create mode 100644 Forest/Assets/AudienceNetwork/Scenes/Interstitial.meta create mode 100644 Forest/Assets/AudienceNetwork/Scenes/Interstitial/InterstitialAdScene.cs create mode 100644 Forest/Assets/AudienceNetwork/Scenes/Interstitial/InterstitialAdScene.cs.meta create mode 100644 Forest/Assets/AudienceNetwork/Scenes/Interstitial/InterstitialAdScene.unity create mode 100644 Forest/Assets/AudienceNetwork/Scenes/Interstitial/InterstitialAdScene.unity.meta create mode 100644 Forest/Assets/AudienceNetwork/Scenes/RewardedVideo.meta create mode 100644 Forest/Assets/AudienceNetwork/Scenes/RewardedVideo/RewardedVideoAdScene.cs create mode 100644 Forest/Assets/AudienceNetwork/Scenes/RewardedVideo/RewardedVideoAdScene.cs.meta create mode 100644 Forest/Assets/AudienceNetwork/Scenes/RewardedVideo/RewardedVideoAdScene.unity create mode 100644 Forest/Assets/AudienceNetwork/Scenes/RewardedVideo/RewardedVideoAdScene.unity.meta create mode 100644 Forest/Assets/AudienceNetwork/Scenes/Settings.meta create mode 100644 Forest/Assets/AudienceNetwork/Scenes/Settings/SettingsScene.cs create mode 100644 Forest/Assets/AudienceNetwork/Scenes/Settings/SettingsScene.cs.meta create mode 100644 Forest/Assets/AudienceNetwork/Scenes/Settings/SettingsScene.unity create mode 100644 Forest/Assets/AudienceNetwork/Scenes/Settings/SettingsScene.unity.meta diff --git a/Forest/Assets/AudienceNetwork.meta b/Forest/Assets/AudienceNetwork.meta new file mode 100644 index 0000000..1471fad --- /dev/null +++ b/Forest/Assets/AudienceNetwork.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: bbaa99a7e4be14aee98635ce9f81dab0 +folderAsset: yes +timeCreated: 1531986660 +licenseType: Pro +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Forest/Assets/AudienceNetwork/Editor.meta b/Forest/Assets/AudienceNetwork/Editor.meta new file mode 100644 index 0000000..eea0741 --- /dev/null +++ b/Forest/Assets/AudienceNetwork/Editor.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 07842ad4a92814a3b80d63d5bda584fc +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Forest/Assets/AudienceNetwork/Editor/AudienceNetworkDependencies.xml b/Forest/Assets/AudienceNetwork/Editor/AudienceNetworkDependencies.xml new file mode 100644 index 0000000..32d4ee1 --- /dev/null +++ b/Forest/Assets/AudienceNetwork/Editor/AudienceNetworkDependencies.xml @@ -0,0 +1,10 @@ + + + + + + + + + + \ No newline at end of file diff --git a/Forest/Assets/AudienceNetwork/Editor/AudienceNetworkDependencies.xml.meta b/Forest/Assets/AudienceNetwork/Editor/AudienceNetworkDependencies.xml.meta new file mode 100644 index 0000000..e6efdab --- /dev/null +++ b/Forest/Assets/AudienceNetwork/Editor/AudienceNetworkDependencies.xml.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 53e2520257ee14884b66cb776c6a5600 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Forest/Assets/AudienceNetwork/Library.meta b/Forest/Assets/AudienceNetwork/Library.meta new file mode 100644 index 0000000..a5fa651 --- /dev/null +++ b/Forest/Assets/AudienceNetwork/Library.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: a033615a8b9d9480392002260025f399 +folderAsset: yes +timeCreated: 1531986660 +licenseType: Pro +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Forest/Assets/AudienceNetwork/Library/AdHandler.cs b/Forest/Assets/AudienceNetwork/Library/AdHandler.cs new file mode 100644 index 0000000..84d27f3 --- /dev/null +++ b/Forest/Assets/AudienceNetwork/Library/AdHandler.cs @@ -0,0 +1,50 @@ +using UnityEngine; +using System; +using System.Collections.Generic; + +namespace AudienceNetwork +{ + public class AdHandler : MonoBehaviour + { + private static readonly Queue executeOnMainThreadQueue = new Queue(); + + public void ExecuteOnMainThread(Action action) + { + lock (executeOnMainThreadQueue) + { + executeOnMainThreadQueue.Enqueue(action); + } + } + + void Update() + { + // dispatch stuff on main thread + while (executeOnMainThreadQueue.Count > 0) + { + Action dequeuedAction = null; + lock (executeOnMainThreadQueue) + { + try + { + dequeuedAction = executeOnMainThreadQueue.Dequeue(); + } + catch (Exception e) + { + Debug.LogException(e); + } + } + if (dequeuedAction != null) + { + dequeuedAction.Invoke(); + } + } + } + + public void RemoveFromParent() + { +#if !UNITY_EDITOR + UnityEngine.Object.Destroy(this); +#endif + } + } +} diff --git a/Forest/Assets/AudienceNetwork/Library/AdHandler.cs.meta b/Forest/Assets/AudienceNetwork/Library/AdHandler.cs.meta new file mode 100644 index 0000000..b05bb61 --- /dev/null +++ b/Forest/Assets/AudienceNetwork/Library/AdHandler.cs.meta @@ -0,0 +1,13 @@ +fileFormatVersion: 2 +guid: d47bb3b71586b48dd954f5cdb11b8d19 +timeCreated: 1531986666 +licenseType: Pro +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Forest/Assets/AudienceNetwork/Library/AdSettings.cs b/Forest/Assets/AudienceNetwork/Library/AdSettings.cs new file mode 100644 index 0000000..b8f023b --- /dev/null +++ b/Forest/Assets/AudienceNetwork/Library/AdSettings.cs @@ -0,0 +1,303 @@ +using UnityEngine; +using System.Runtime.InteropServices; + +namespace AudienceNetwork +{ + public static class AdSettings + { + public static void AddTestDevice(string deviceID) + { + AdSettingsBridge.Instance.AddTestDevice(deviceID); + } + + public static void SetUrlPrefix(string urlPrefix) + { + AdSettingsBridge.Instance.SetUrlPrefix(urlPrefix); + } + + public static void SetMixedAudience(bool mixedAudience) + { + AdSettingsBridge.Instance.SetMixedAudience(mixedAudience); + } + + public static void SetDataProcessingOptions(string[] dataProcessingOptions) + { + AdSettingsBridge.Instance.SetDataProcessingOptions(dataProcessingOptions); + } + + public static void SetDataProcessingOptions(string[] dataProcessingOptions, int country, int state) + { + AdSettingsBridge.Instance.SetDataProcessingOptions(dataProcessingOptions, country, state); + } + + public static string GetBidderToken() + { + return AdSettingsBridge.Instance.GetBidderToken(); + } +#if UNITY_IOS + public static void SetAdvertiserTrackingEnabled(bool advertiserTrackingEnabled) + { + AdSettingsBridge.Instance.SetAdvertiserTrackingEnabled(advertiserTrackingEnabled); + } +#endif + } + + internal static class AdLogger + { + + private enum AdLogLevel + { + None, + Notification, + Error, + Warning, + Log, + Debug, + Verbose + } + + private static AdLogLevel logLevel = AdLogLevel.Log; + private static readonly string logPrefix = "Audience Network Unity "; + + internal static void Log(string message) + { + AdLogLevel level = AdLogLevel.Log; + if (logLevel >= level) + { + Debug.Log(logPrefix + LevelAsString(level) + message); + } + } + + internal static void LogWarning(string message) + { + AdLogLevel level = AdLogLevel.Warning; + if (logLevel >= level) + { + Debug.LogWarning(logPrefix + LevelAsString(level) + message); + } + } + + internal static void LogError(string message) + { + AdLogLevel level = AdLogLevel.Error; + if (logLevel >= level) + { + Debug.LogError(logPrefix + LevelAsString(level) + message); + } + } + + private static string LevelAsString(AdLogLevel logLevel) + { + switch (logLevel) + { + case AdLogLevel.Error: + { + return ": "; + } + case AdLogLevel.Warning: + { + return ": "; + } + case AdLogLevel.Log: + { + return ": "; + } + case AdLogLevel.Debug: + { + return ": "; + } + case AdLogLevel.Verbose: + { + return ": "; + } + default: + { + return ""; + } + } + } + } + + internal interface IAdSettingsBridge + { + void AddTestDevice(string deviceID); + void SetUrlPrefix(string urlPrefix); + void SetMixedAudience(bool mixedAudience); + void SetDataProcessingOptions(string[] dataProcessingOptions); + void SetDataProcessingOptions(string[] dataProcessingOptions, int country, int state); + string GetBidderToken(); +#if UNITY_IOS + void SetAdvertiserTrackingEnabled(bool advertiserTrackingEnabled); +#endif + } + + internal class AdSettingsBridge : IAdSettingsBridge + { + + public static readonly IAdSettingsBridge Instance; + + internal AdSettingsBridge() + { + } + + static AdSettingsBridge() + { + Instance = CreateInstance(); + } + + private static IAdSettingsBridge CreateInstance() + { + if (Application.platform != RuntimePlatform.OSXEditor) + { +#if UNITY_IOS + return new AdSettingsBridgeIOS(); +#elif UNITY_ANDROID + return new AdSettingsBridgeAndroid(); +#endif + } + return new AdSettingsBridge(); + } + + public virtual void AddTestDevice(string deviceID) + { + } + + public virtual void SetUrlPrefix(string urlPrefix) + { + } + + public virtual void SetMixedAudience(bool mixedAudience) + { + } + + public virtual void SetDataProcessingOptions(string[] dataProcessingOptions) + { + } + + public virtual void SetDataProcessingOptions(string[] dataProcessingOptions, int country, int state) + { + } + + public virtual string GetBidderToken() + { + return string.Empty; + } +#if UNITY_IOS + public virtual void SetAdvertiserTrackingEnabled(bool advertiserTrackingEnabled) + { + } +#endif + } + +#if UNITY_ANDROID + internal class AdSettingsBridgeAndroid : AdSettingsBridge + { + + public override void AddTestDevice(string deviceID) + { + AndroidJavaClass adSettings = GetAdSettingsObject(); + adSettings.CallStatic("addTestDevice", deviceID); + } + + public override void SetUrlPrefix(string urlPrefix) + { + AndroidJavaClass adSettings = GetAdSettingsObject(); + adSettings.CallStatic("setUrlPrefix", urlPrefix); + } + + public override void SetMixedAudience(bool mixedAudience) + { + AndroidJavaClass adSettings = GetAdSettingsObject(); + adSettings.CallStatic("setMixedAudience", mixedAudience); + } + + public override void SetDataProcessingOptions(string[] dataProcessingOptions) + { + AndroidJavaClass adSettings = GetAdSettingsObject(); + adSettings.CallStatic("setDataProcessingOptions", (object) dataProcessingOptions); + } + + public override void SetDataProcessingOptions(string[] dataProcessingOptions, int country, int state) + { + AndroidJavaClass adSettings = GetAdSettingsObject(); + adSettings.CallStatic("setDataProcessingOptions", (object) dataProcessingOptions, country, state); + } + + public override string GetBidderToken() + { + AndroidJavaClass unityPlayer = new AndroidJavaClass("com.unity3d.player.UnityPlayer"); + AndroidJavaObject activity = unityPlayer.GetStatic("currentActivity"); + AndroidJavaObject context = activity.Call("getApplicationContext"); + AndroidJavaClass bidderTokenProvider = new AndroidJavaClass("com.facebook.ads.BidderTokenProvider"); + return bidderTokenProvider.CallStatic("getBidderToken", context); + } + + private AndroidJavaClass GetAdSettingsObject() + { + return new AndroidJavaClass("com.facebook.ads.AdSettings"); + } + + } +#endif + +#if UNITY_IOS + internal class AdSettingsBridgeIOS : AdSettingsBridge + { + [DllImport("__Internal")] + private static extern void FBAdSettingsBridgeAddTestDevice(string deviceID); + + [DllImport("__Internal")] + private static extern void FBAdSettingsBridgeSetURLPrefix(string urlPrefix); + + [DllImport("__Internal")] + private static extern void FBAdSettingsBridgeSetMixedAudience(bool mixedAudience); + + [DllImport("__Internal")] + private static extern void FBAdSettingsBridgeSetDataProcessingOptions(string[] dataProcessingOptions, int length); + + [DllImport("__Internal")] + private static extern void FBAdSettingsBridgeSetDetailedDataProcessingOptions(string[] dataProcessingOptions, int length, int country, int state); + + [DllImport("__Internal")] + private static extern string FBAdSettingsBridgeGetBidderToken(); + + [DllImport("__Internal")] + private static extern void FBAdSettingsBridgeSetAdvertiserTrackingEnabled(bool advertiserTrackingEnabled); + + public override void AddTestDevice(string deviceID) + { + FBAdSettingsBridgeAddTestDevice(deviceID); + } + + public override void SetUrlPrefix(string urlPrefix) + { + FBAdSettingsBridgeSetURLPrefix(urlPrefix); + } + + public override void SetMixedAudience(bool mixedAudience) + { + FBAdSettingsBridgeSetMixedAudience(mixedAudience); + } + + public override void SetDataProcessingOptions(string[] dataProcessingOptions) + { + FBAdSettingsBridgeSetDataProcessingOptions(dataProcessingOptions, dataProcessingOptions.Length); + } + + public override void SetDataProcessingOptions(string[] dataProcessingOptions, int country, int state) + { + FBAdSettingsBridgeSetDetailedDataProcessingOptions(dataProcessingOptions, dataProcessingOptions.Length, country, state); + } + + public override string GetBidderToken() + { + return FBAdSettingsBridgeGetBidderToken(); + } + + public override void SetAdvertiserTrackingEnabled(bool advertiserTrackingEnabled) + { + FBAdSettingsBridgeSetAdvertiserTrackingEnabled(advertiserTrackingEnabled); + } + } +#endif +} diff --git a/Forest/Assets/AudienceNetwork/Library/AdSettings.cs.meta b/Forest/Assets/AudienceNetwork/Library/AdSettings.cs.meta new file mode 100644 index 0000000..8047113 --- /dev/null +++ b/Forest/Assets/AudienceNetwork/Library/AdSettings.cs.meta @@ -0,0 +1,13 @@ +fileFormatVersion: 2 +guid: 2c6dc3140db0d40609e64d86ea8038bc +timeCreated: 1531986666 +licenseType: Pro +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Forest/Assets/AudienceNetwork/Library/AdUtility.cs b/Forest/Assets/AudienceNetwork/Library/AdUtility.cs new file mode 100644 index 0000000..15e20e0 --- /dev/null +++ b/Forest/Assets/AudienceNetwork/Library/AdUtility.cs @@ -0,0 +1,211 @@ +using UnityEngine; +using System.Runtime.InteropServices; +using System; + +namespace AudienceNetwork.Utility +{ + public static class AdUtility + { + internal static double Width() + { + return AdUtilityBridge.Instance.Width(); + } + + internal static double Height() + { + return AdUtilityBridge.Instance.Height(); + } + + internal static double Convert(double deviceSize) + { + return AdUtilityBridge.Instance.Convert(deviceSize); + } + + internal static void Prepare() + { + AdUtilityBridge.Instance.Prepare(); + } + + internal static bool IsLandscape() + { + return Screen.orientation == ScreenOrientation.LandscapeLeft || Screen.orientation == ScreenOrientation.LandscapeLeft || Screen.orientation == ScreenOrientation.LandscapeRight; + } + } + + internal interface IAdUtilityBridge + { + double DeviceWidth(); + double DeviceHeight(); + double Width(); + double Height(); + double Convert(double deviceSize); + void Prepare(); + } + + internal class AdUtilityBridge : IAdUtilityBridge + { + public static readonly IAdUtilityBridge Instance; + + internal AdUtilityBridge() + { + } + + static AdUtilityBridge() + { + Instance = CreateInstance(); + } + + private static IAdUtilityBridge CreateInstance() + { + if (Application.platform != RuntimePlatform.OSXEditor) + { +#if UNITY_IOS + return new AdUtilityBridgeIOS(); +#elif UNITY_ANDROID + return new AdUtilityBridgeAndroid(); +#endif + } + return new AdUtilityBridge(); + } + + public virtual double DeviceWidth() + { + return 2208; + } + + public virtual double DeviceHeight() + { + return 1242; + } + + public virtual double Width() + { + return 1104; + } + + public virtual double Height() + { + return 621; + } + + public virtual double Convert(double deviceSize) + { + return 2; + } + + public virtual void Prepare() + { + } + } + +#if UNITY_ANDROID + internal class AdUtilityBridgeAndroid : AdUtilityBridge + { + + private T GetPropertyOfDisplayMetrics(string property) + { + AndroidJavaClass unityPlayer = new AndroidJavaClass("com.unity3d.player.UnityPlayer"); + AndroidJavaObject activity = unityPlayer.GetStatic("currentActivity"); + AndroidJavaObject context = activity.Call("getApplicationContext"); + AndroidJavaObject resources = context.Call("getResources"); + AndroidJavaObject displayMetrics = resources.Call("getDisplayMetrics"); + return displayMetrics.Get(property); + } + + private double Density() + { + return GetPropertyOfDisplayMetrics("density"); + } + + public override double DeviceWidth() + { + return GetPropertyOfDisplayMetrics("widthPixels"); + } + + public override double DeviceHeight() + { + return GetPropertyOfDisplayMetrics("heightPixels"); + } + + public override double Width() + { + // Leaving the original code commented out for now - for reference. Will remove it eventually. + // return this.convert(this.deviceWidth()); + return Convert(Screen.width); + } + + public override double Height() + { + // Leaving the original code commented out for now - for reference. Will remove it eventually. + //return this.convert(this.deviceHeight()); + return Convert(Screen.height); + } + + public override double Convert(double deviceSize) + { + return deviceSize / Density(); + } + + public override void Prepare() + { +#if UNITY_ANDROID + + try + { + AndroidJavaClass looperClass = new AndroidJavaClass("android.os.Looper"); + looperClass.CallStatic("prepare"); + } + catch (Exception) + { + + } +#endif + } + } +#endif + +#if UNITY_IOS + internal class AdUtilityBridgeIOS : AdUtilityBridge + { + [DllImport("__Internal")] + private static extern double FBAdUtilityBridgeGetDeviceWidth(); + + [DllImport("__Internal")] + private static extern double FBAdUtilityBridgeGetDeviceHeight(); + + [DllImport("__Internal")] + private static extern double FBAdUtilityBridgeGetWidth(); + + [DllImport("__Internal")] + private static extern double FBAdUtilityBridgeGetHeight(); + + [DllImport("__Internal")] + private static extern double FBAdUtilityBridgeConvertFromDeviceSize(double deviceSize); + + public override double DeviceWidth() + { + return FBAdUtilityBridgeGetDeviceWidth(); + } + + public override double DeviceHeight() + { + return FBAdUtilityBridgeGetDeviceHeight(); + } + + public override double Width() + { + return FBAdUtilityBridgeGetWidth(); + } + + public override double Height() + { + return FBAdUtilityBridgeGetHeight(); + } + + public override double Convert(double deviceSize) + { + return FBAdUtilityBridgeConvertFromDeviceSize(deviceSize); + } + } +#endif +} diff --git a/Forest/Assets/AudienceNetwork/Library/AdUtility.cs.meta b/Forest/Assets/AudienceNetwork/Library/AdUtility.cs.meta new file mode 100644 index 0000000..12b5895 --- /dev/null +++ b/Forest/Assets/AudienceNetwork/Library/AdUtility.cs.meta @@ -0,0 +1,13 @@ +fileFormatVersion: 2 +guid: 50f6966ab7c694899a9a6ec5bfe13ce7 +timeCreated: 1531986666 +licenseType: Pro +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Forest/Assets/AudienceNetwork/Library/AdView.cs b/Forest/Assets/AudienceNetwork/Library/AdView.cs new file mode 100644 index 0000000..e5cf0e9 --- /dev/null +++ b/Forest/Assets/AudienceNetwork/Library/AdView.cs @@ -0,0 +1,1010 @@ +using UnityEngine; +using System; +using System.Collections.Generic; +using AudienceNetwork.Utility; +using System.Runtime.InteropServices; +using AOT; + +namespace AudienceNetwork +{ + public delegate void FBAdViewBridgeCallback(); + public delegate void FBAdViewBridgeErrorCallback(string error); + internal delegate void FBAdViewBridgeExternalCallback(int uniqueId); + internal delegate void FBAdViewBridgeErrorExternalCallback(int uniqueId, string error); + + public enum AdSize + { + BANNER_HEIGHT_50, + BANNER_HEIGHT_90, + RECTANGLE_HEIGHT_250 + } + ; + + public enum AdPosition + { + CUSTOM, + TOP, + BOTTOM + }; + + public sealed class AdView : IDisposable + { + + private readonly int uniqueId; + private bool isLoaded; + private readonly AdSize size; + private AdHandler handler; + + public string PlacementId { get; private set; } + + public FBAdViewBridgeCallback AdViewDidLoad + { + internal get + { + return adViewDidLoad; + } + set + { + adViewDidLoad = value; + AdViewBridge.Instance.OnLoad(uniqueId, adViewDidLoad); + } + } + + public FBAdViewBridgeCallback AdViewWillLogImpression + { + internal get + { + return adViewWillLogImpression; + } + set + { + adViewWillLogImpression = value; + AdViewBridge.Instance.OnImpression(uniqueId, adViewWillLogImpression); + } + } + + public FBAdViewBridgeErrorCallback AdViewDidFailWithError + { + internal get + { + return adViewDidFailWithError; + } + set + { + adViewDidFailWithError = value; + AdViewBridge.Instance.OnError(uniqueId, adViewDidFailWithError); + } + } + + public FBAdViewBridgeCallback AdViewDidClick + { + internal get + { + return adViewDidClick; + } + set + { + adViewDidClick = value; + AdViewBridge.Instance.OnClick(uniqueId, adViewDidClick); + } + } + + public FBAdViewBridgeCallback AdViewDidFinishClick + { + internal get + { + return adViewDidFinishClick; + } + set + { + adViewDidFinishClick = value; + AdViewBridge.Instance.OnFinishedClick(uniqueId, adViewDidFinishClick); + } + } + + public FBAdViewBridgeCallback adViewDidLoad; + public FBAdViewBridgeCallback adViewWillLogImpression; + public FBAdViewBridgeErrorCallback adViewDidFailWithError; + public FBAdViewBridgeCallback adViewDidClick; + public FBAdViewBridgeCallback adViewDidFinishClick; + + public AdView(string placementId, + AdSize size) + { + AudienceNetworkAds.Initialize(); + + PlacementId = placementId; + this.size = size; + + if (Application.platform != RuntimePlatform.OSXEditor) + { + uniqueId = AdViewBridge.Instance.Create(placementId, this, size); + + AdViewBridge.Instance.OnLoad(uniqueId, AdViewDidLoad); + AdViewBridge.Instance.OnImpression(uniqueId, AdViewWillLogImpression); + AdViewBridge.Instance.OnClick(uniqueId, AdViewDidClick); + AdViewBridge.Instance.OnError(uniqueId, AdViewDidFailWithError); + AdViewBridge.Instance.OnFinishedClick(uniqueId, AdViewDidFinishClick); + } + } + + ~AdView() + { + Dispose(false); + } + + public void Dispose() + { + Dispose(true); + GC.SuppressFinalize(this); + } + + private void Dispose(Boolean iAmBeingCalledFromDisposeAndNotFinalize) + { + Debug.Log("Banner Ad Disposed."); + AdViewBridge.Instance.Release(uniqueId); + } + + public override string ToString() + { + return string.Format( + "[AdView: " + + "PlacementId={0}, " + + "AdViewDidLoad={1}, " + + "AdViewWillLogImpression={2}, " + + "AdViewDidFailWithError={3}, " + + "AdViewDidClick={4}, " + + "adViewDidFinishClick={5}]", + PlacementId, + AdViewDidLoad, + AdViewWillLogImpression, + AdViewDidFailWithError, + AdViewDidClick, + adViewDidFinishClick); + } + + public void Register(GameObject gameObject) + { + handler = gameObject.AddComponent(); + } + + public void LoadAd() + { + if (Application.platform != RuntimePlatform.OSXEditor) + { + AdViewBridge.Instance.Load(uniqueId); + } + else + { + AdViewDidLoad(); + } + } + + public void LoadAd(String bidPayload) + { + if (Application.platform != RuntimePlatform.OSXEditor) + { + AdViewBridge.Instance.Load(uniqueId, bidPayload); + } + else + { + AdViewDidLoad(); + } + } + + public bool IsValid() + { + if (Application.platform != RuntimePlatform.OSXEditor) + { + return (isLoaded && AdViewBridge.Instance.IsValid(uniqueId)); + } + else + { + return true; + } + } + + internal void LoadAdFromData() + { + isLoaded = true; + + if (AdViewDidLoad != null) + { + handler.ExecuteOnMainThread(() => + { + AdViewDidLoad(); + }); + } + } + + private static double HeightFromType(AdView instance, AdSize size) + { + switch (size) + { + case AdSize.BANNER_HEIGHT_50: + { + return 50; + } + case AdSize.BANNER_HEIGHT_90: + { + return 90; + } + case AdSize.RECTANGLE_HEIGHT_250: + { + return 250; + } + } + return 0; + } + + public bool Show(AdPosition position) + { + double y = 0; // default y-asix to 0 + switch (position) + { + case AdPosition.TOP: + { + break; + } + case AdPosition.BOTTOM: + { + y = AdUtility.Height() - AdView.HeightFromType(this, size); + break; + } + case AdPosition.CUSTOM: + { + Debug.LogWarning("Use Show(double y) instead"); + break; + } + } + return Show(y); + } + + public bool Show(double y) + { + return Show(0, y); + } + + public bool Show(double x, + double y) + { + return Show(x, y, AdUtility.Width(), AdView.HeightFromType(this, size)); + } + + private bool Show(double x, + double y, + double width, + double height) + { + return AdViewBridge.Instance.Show(uniqueId, x, y, width, height); + } + + public void SetExtraHints(ExtraHints extraHints) + { + AdViewBridge.Instance.SetExtraHints(uniqueId, extraHints); + } + + internal void ExecuteOnMainThread(Action action) + { + if (handler) + { + handler.ExecuteOnMainThread(action); + } + } + + public static implicit operator bool(AdView obj) + { + return !(object.ReferenceEquals(obj, null)); + } + } + + internal interface IAdViewBridge + { + int Create(string placementId, + AdView adView, + AdSize size); + + int Load(int uniqueId); + + int Load(int uniqueId, String bidPayload); + + bool IsValid(int uniqueId); + + bool Show(int uniqueId, + double x, + double y, + double width, + double height); + + void SetExtraHints(int uniqueId, ExtraHints extraHints); + + void Release(int uniqueId); + + void OnLoad(int uniqueId, + FBAdViewBridgeCallback callback); + + void OnImpression(int uniqueId, + FBAdViewBridgeCallback callback); + + void OnClick(int uniqueId, + FBAdViewBridgeCallback callback); + + void OnError(int uniqueId, + FBAdViewBridgeErrorCallback callback); + + void OnFinishedClick(int uniqueId, + FBAdViewBridgeCallback callback); + } + + internal class AdViewBridge : IAdViewBridge + { + + /* Interface to Interstitial implementation */ + + public static readonly IAdViewBridge Instance; + + internal AdViewBridge() + { + } + + static AdViewBridge() + { + Instance = AdViewBridge.CreateInstance(); + } + + private static IAdViewBridge CreateInstance() + { + if (Application.platform != RuntimePlatform.OSXEditor) + { +#if UNITY_IOS + return new AdViewBridgeIOS(); +#elif UNITY_ANDROID + return new AdViewBridgeAndroid(); +#endif + } + return new AdViewBridge(); + + } + + public virtual int Create(string placementId, + AdView AdView, + AdSize size) + { + return 123; + } + + public virtual int Load(int uniqueId) + { + return 123; + } + + public virtual int Load(int uniqueId, String bidPayload) + { + return 123; + } + + public virtual bool IsValid(int uniqueId) + { + return true; + } + + public virtual bool Show(int uniqueId, + double x, + double y, + double width, + double height) + { + return true; + } + + public virtual void SetExtraHints(int uniqueId, ExtraHints extraHints) + { + } + + public virtual void Release(int uniqueId) + { + } + + public virtual void OnLoad(int uniqueId, + FBAdViewBridgeCallback callback) + { + } + + public virtual void OnImpression(int uniqueId, + FBAdViewBridgeCallback callback) + { + } + + public virtual void OnClick(int uniqueId, + FBAdViewBridgeCallback callback) + { + } + + public virtual void OnError(int uniqueId, + FBAdViewBridgeErrorCallback callback) + { + } + + public virtual void OnFinishedClick(int uniqueId, + FBAdViewBridgeCallback callback) + { + } + + } + +#if UNITY_ANDROID + internal class AdViewBridgeAndroid : AdViewBridge + { + + private static Dictionary adViews = new Dictionary(); + private static int lastKey; + + private AndroidJavaObject AdViewForAdViewId(int uniqueId) + { + AdViewContainer adViewContainer = null; + bool success = AdViewBridgeAndroid.adViews.TryGetValue(uniqueId, out adViewContainer); + if (success) { + return adViewContainer.bridgedAdView; + } else { + return null; + } + } + + private AdViewContainer AdViewContainerForAdViewId(int uniqueId) + { + AdViewContainer adViewContainer = null; + bool success = AdViewBridgeAndroid.adViews.TryGetValue(uniqueId, out adViewContainer); + if (success) + { + return adViewContainer; + } + else + { + return null; + } + } + + private string GetStringForAdViewId(int uniqueId, + string method) + { + AndroidJavaObject adView = AdViewForAdViewId(uniqueId); + if (adView != null) { + return adView.Call (method); + } else { + return null; + } + } + + private string GetImageURLForAdViewId(int uniqueId, + string method) + { + AndroidJavaObject adView = AdViewForAdViewId(uniqueId); + if (adView != null) { + AndroidJavaObject image = adView.Call (method); + if (image != null) { + return image.Call ("getUrl"); + } + } + return null; + } + + private AndroidJavaObject JavaAdSizeFromAdSize(AdSize size) + { + AndroidJavaObject retValue = null; + AndroidJavaClass sizeEnum = new AndroidJavaClass("com.facebook.ads.AdSize"); + switch (size) { + case AdSize.BANNER_HEIGHT_50: + retValue = sizeEnum.GetStatic("BANNER_HEIGHT_50"); + break; + case AdSize.BANNER_HEIGHT_90: + retValue = sizeEnum.GetStatic("BANNER_HEIGHT_90"); + break; + case AdSize.RECTANGLE_HEIGHT_250: + retValue = sizeEnum.GetStatic("RECTANGLE_HEIGHT_250"); + break; + } + return retValue; + } + + public override int Create(string placementId, + AdView adView, + AdSize size) + { + AdUtility.Prepare(); + AndroidJavaClass unityPlayer = new AndroidJavaClass("com.unity3d.player.UnityPlayer"); + AndroidJavaObject currentActivity = unityPlayer.GetStatic("currentActivity"); + AndroidJavaObject context = currentActivity.Call("getApplicationContext"); + + AndroidJavaObject bridgedAdView = new AndroidJavaObject("com.facebook.ads.AdView", + context, + placementId, + JavaAdSizeFromAdSize(size)); + + AdViewBridgeListenerProxy proxy = new AdViewBridgeListenerProxy(adView, bridgedAdView); + + AdViewContainer adViewContainer = new AdViewContainer(adView) + { + bridgedAdView = bridgedAdView, + listenerProxy = proxy + }; + + int key = AdViewBridgeAndroid.lastKey; + AdViewBridgeAndroid.adViews.Add(key, adViewContainer); + AdViewBridgeAndroid.lastKey++; + return key; + } + + public override int Load(int uniqueId) + { + AdUtility.Prepare(); + AdViewContainer adViewContainer = AdViewContainerForAdViewId(uniqueId); + if (adViewContainer != null) { + adViewContainer.Load(); + } + return uniqueId; + } + + public override int Load(int uniqueId, String bidPayload) + { + AdUtility.Prepare(); + AdViewContainer adViewContainer = AdViewContainerForAdViewId(uniqueId); + if (adViewContainer != null) + { + adViewContainer.Load(bidPayload); + } + return uniqueId; + } + + public override bool IsValid(int uniqueId) + { + AndroidJavaObject adView = AdViewForAdViewId(uniqueId); + if (adView != null) + { + return !adView.Call("isAdInvalidated"); + } + else + { + return false; + } + } + + public override bool Show(int uniqueId, + double x, + double y, + double width, + double height) + { + AndroidJavaObject adView = AdViewForAdViewId(uniqueId); + if (adView == null) { + return false; + } + AndroidJavaClass unityPlayer = new AndroidJavaClass("com.unity3d.player.UnityPlayer"); + AndroidJavaObject activity = unityPlayer.GetStatic("currentActivity"); + activity.Call("runOnUiThread", new AndroidJavaRunnable(() => { + AndroidJavaObject context = activity.Call("getApplicationContext"); + AndroidJavaObject resources = context.Call ("getResources"); + AndroidJavaObject displayMetrics = + resources.Call ("getDisplayMetrics"); + float density = displayMetrics.Get ("density"); + + AndroidJavaObject layoutParams = new AndroidJavaObject("android.widget.LinearLayout$LayoutParams", + (int)(width * density), + (int)(height * density)); + AndroidJavaObject linearLayout = new AndroidJavaObject("android.widget.LinearLayout", activity); + AndroidJavaClass R = new AndroidJavaClass("android.R$id"); + AndroidJavaObject view = activity.Call ("findViewById", R.GetStatic ("content")); + + AndroidJavaObject parent = adView.Call("getParent"); + if (parent != null) { + IntPtr ptr = AndroidJNI.GetMethodID(parent.GetRawClass(), "removeView", "(Landroid/view/View;)V"); + if (ptr != IntPtr.Zero) { + parent.Call("removeView", adView); + } else { + AndroidJNI.ExceptionClear(); + } + } + + layoutParams.Call("setMargins", (int)(x * density), (int)(y * density), 0, 0); + linearLayout.Call("addView", adView, layoutParams); + view.Call("addView", linearLayout); + })); + return true; + } + + public override void SetExtraHints(int uniqueId, ExtraHints extraHints) + { + AndroidJavaObject adView = AdViewForAdViewId(uniqueId); + + if (adView != null) + { + adView.Call("setExtraHints", extraHints.GetAndroidObject()); + } + } + + public override void Release(int uniqueId) + { + AndroidJavaObject activity = + new AndroidJavaClass("com.unity3d.player.UnityPlayer") + .GetStatic("currentActivity"); + AndroidJavaObject adView = AdViewForAdViewId(uniqueId); + AdViewBridgeAndroid.adViews.Remove(uniqueId); + if (adView != null) { + activity.Call("runOnUiThread", new AndroidJavaRunnable(() => { + adView.Call("destroy"); + AndroidJavaObject parent = adView.Call ("getParent"); + parent.Call("removeView", adView); + })); + } + } + + public override void OnLoad(int uniqueId, + FBAdViewBridgeCallback callback) {} + public override void OnImpression(int uniqueId, + FBAdViewBridgeCallback callback) {} + public override void OnClick(int uniqueId, + FBAdViewBridgeCallback callback) {} + public override void OnError(int uniqueId, + FBAdViewBridgeErrorCallback callback) {} + public override void OnFinishedClick(int uniqueId, + FBAdViewBridgeCallback callback) {} + + } + +#endif + +#if UNITY_IOS + internal class AdViewBridgeIOS : AdViewBridge + { + + private static Dictionary adViews = new Dictionary(); + + private static AdViewContainer adViewContainerForAdViewId(int uniqueId) + { + AdViewContainer adView = null; + bool success = AdViewBridgeIOS.adViews.TryGetValue(uniqueId, out adView); + if (success) + { + return adView; + } + else + { + return null; + } + } + + [DllImport("__Internal")] + private static extern int FBAdViewBridgeCreate(string placementId, + int size); + + [DllImport("__Internal")] + private static extern int FBAdViewBridgeLoad(int uniqueId); + + [DllImport("__Internal")] + private static extern int FBAdViewBridgeLoadWithBidPayload(int uniqueId, string bidPayload); + + [DllImport("__Internal")] + private static extern bool FBAdViewBridgeIsValid(int uniqueId); + + [DllImport("__Internal")] + private static extern bool FBAdViewBridgeShow(int uniqueId, + double x, + double y, + double width, + double height); + + [DllImport("__Internal")] + private static extern void FBAdViewBridgeSetExtraHints(int uniqueId, string extraHints); + + [DllImport("__Internal")] + private static extern void FBAdViewBridgeRelease(int uniqueId); + + [DllImport("__Internal")] + private static extern void FBAdViewBridgeOnLoad(int uniqueId, + FBAdViewBridgeExternalCallback callback); + + [DllImport("__Internal")] + private static extern void FBAdViewBridgeOnImpression(int uniqueId, + FBAdViewBridgeExternalCallback callback); + + [DllImport("__Internal")] + private static extern void FBAdViewBridgeOnClick(int uniqueId, + FBAdViewBridgeExternalCallback callback); + + [DllImport("__Internal")] + private static extern void FBAdViewBridgeOnError(int uniqueId, + FBAdViewBridgeErrorExternalCallback callback); + + [DllImport("__Internal")] + private static extern void FBAdViewBridgeOnFinishedClick(int uniqueId, + FBAdViewBridgeExternalCallback callback); + + [DllImport("__Internal")] + private static extern int FBAdViewBridgeSizeHeight50Banner(); + [DllImport("__Internal")] + private static extern int FBAdViewBridgeSizeHeight90Banner(); + [DllImport("__Internal")] + private static extern int FBAdViewBridgeSizeInterstital(); + [DllImport("__Internal")] + private static extern int FBAdViewBridgeSizeHeight250Rectangle(); + + int intFromAdSize(AdSize size) + { + int retValue = -1; + switch (size) + { + case AdSize.BANNER_HEIGHT_50: + retValue = AdViewBridgeIOS.FBAdViewBridgeSizeHeight50Banner(); + break; + case AdSize.BANNER_HEIGHT_90: + retValue = AdViewBridgeIOS.FBAdViewBridgeSizeHeight90Banner(); + break; + case AdSize.RECTANGLE_HEIGHT_250: + retValue = AdViewBridgeIOS.FBAdViewBridgeSizeHeight250Rectangle(); + break; + } + return retValue; + } + + public override int Create(string placementId, + AdView adView, + AdSize size) + { + int uniqueId = AdViewBridgeIOS.FBAdViewBridgeCreate(placementId, intFromAdSize(size)); + AdViewBridgeIOS.adViews.Add(uniqueId, new AdViewContainer(adView)); + AdViewBridgeIOS.FBAdViewBridgeOnLoad(uniqueId, adViewDidLoadBridgeCallback); + AdViewBridgeIOS.FBAdViewBridgeOnImpression(uniqueId, adViewWillLogImpressionBridgeCallback); + AdViewBridgeIOS.FBAdViewBridgeOnClick(uniqueId, adViewDidClickBridgeCallback); + AdViewBridgeIOS.FBAdViewBridgeOnError(uniqueId, adViewDidFailWithErrorBridgeCallback); + AdViewBridgeIOS.FBAdViewBridgeOnFinishedClick(uniqueId, adViewDidFinishClickBridgeCallback); + + return uniqueId; + } + + public override int Load(int uniqueId) + { + return AdViewBridgeIOS.FBAdViewBridgeLoad(uniqueId); + } + + public override int Load(int uniqueId, string bidPayload) + { + return AdViewBridgeIOS.FBAdViewBridgeLoadWithBidPayload(uniqueId, bidPayload); + } + + public override bool IsValid(int uniqueId) + { + return AdViewBridgeIOS.FBAdViewBridgeIsValid(uniqueId); + } + + public override bool Show(int uniqueId, + double x, + double y, + double width, + double height) + { + return AdViewBridgeIOS.FBAdViewBridgeShow(uniqueId, x, y, width, height); + } + + public override void SetExtraHints(int uniqueId, ExtraHints extraHints) + { + AdViewBridgeIOS.FBAdViewBridgeSetExtraHints(uniqueId, JsonUtility.ToJson(extraHints)); + } + + public override void Release(int uniqueId) + { + AdViewBridgeIOS.adViews.Remove(uniqueId); + AdViewBridgeIOS.FBAdViewBridgeRelease(uniqueId); + } + + // Sets up internal managed callbacks + + public override void OnLoad(int uniqueId, + FBAdViewBridgeCallback callback) + { + AdViewContainer container = AdViewBridgeIOS.adViewContainerForAdViewId(uniqueId); + if (container) + { + container.onLoad = (container.adView.LoadAdFromData); + } + } + + public override void OnImpression(int uniqueId, + FBAdViewBridgeCallback callback) + { + AdViewContainer container = AdViewBridgeIOS.adViewContainerForAdViewId(uniqueId); + if (container) + { + container.onImpression = callback; + } + } + + public override void OnClick(int uniqueId, + FBAdViewBridgeCallback callback) + { + AdViewContainer container = AdViewBridgeIOS.adViewContainerForAdViewId(uniqueId); + if (container) + { + container.onClick = callback; + } + } + + public override void OnError(int uniqueId, + FBAdViewBridgeErrorCallback callback) + { + AdViewContainer container = AdViewBridgeIOS.adViewContainerForAdViewId(uniqueId); + if (container) + { + container.onError = callback; + } + } + + public override void OnFinishedClick(int uniqueId, + FBAdViewBridgeCallback callback) + { + AdViewContainer container = AdViewBridgeIOS.adViewContainerForAdViewId(uniqueId); + if (container) + { + container.onFinishedClick = callback; + } + } + + // External unmanaged callbacks (must be static) + + [MonoPInvokeCallback(typeof(FBAdViewBridgeExternalCallback))] + private static void adViewDidLoadBridgeCallback(int uniqueId) + { + AdViewContainer container = AdViewBridgeIOS.adViewContainerForAdViewId(uniqueId); + if (container && container.onLoad != null) + { + container.onLoad(); + } + } + + [MonoPInvokeCallback(typeof(FBAdViewBridgeExternalCallback))] + private static void adViewWillLogImpressionBridgeCallback(int uniqueId) + { + AdViewContainer container = AdViewBridgeIOS.adViewContainerForAdViewId(uniqueId); + if (container && container.onImpression != null) + { + container.onImpression(); + } + } + + [MonoPInvokeCallback(typeof(FBAdViewBridgeErrorExternalCallback))] + private static void adViewDidFailWithErrorBridgeCallback(int uniqueId, string error) + { + AdViewContainer container = AdViewBridgeIOS.adViewContainerForAdViewId(uniqueId); + if (container && container.onError != null) + { + container.onError(error); + } + } + + [MonoPInvokeCallback(typeof(FBAdViewBridgeExternalCallback))] + private static void adViewDidClickBridgeCallback(int uniqueId) + { + AdViewContainer container = AdViewBridgeIOS.adViewContainerForAdViewId(uniqueId); + if (container && container.onClick != null) + { + container.onClick(); + } + } + + [MonoPInvokeCallback(typeof(FBAdViewBridgeExternalCallback))] + private static void adViewDidFinishClickBridgeCallback(int uniqueId) + { + AdViewContainer container = AdViewBridgeIOS.adViewContainerForAdViewId(uniqueId); + if (container && container.onFinishedClick != null) + { + container.onFinishedClick(); + } + } + + } +#endif + + internal class AdViewContainer + { + internal AdView adView { get; set; } + + // iOS + internal FBAdViewBridgeCallback onLoad { get; set; } + internal FBAdViewBridgeCallback onImpression { get; set; } + internal FBAdViewBridgeCallback onClick { get; set; } + internal FBAdViewBridgeErrorCallback onError { get; set; } + internal FBAdViewBridgeCallback onFinishedClick { get; set; } + + // Android +#if UNITY_ANDROID + internal AndroidJavaProxy listenerProxy; + internal AndroidJavaObject bridgedAdView; +#endif + + internal AdViewContainer(AdView adView) + { + this.adView = adView; + } + + public override string ToString() + { + return string.Format("[AdViewContainer: adView={0}, onLoad={1}]", adView, onLoad); + } + + public static implicit operator bool(AdViewContainer obj) + { + return !(object.ReferenceEquals(obj, null)); + } +#if UNITY_ANDROID + internal AndroidJavaObject LoadAdConfig(String bidPayload) + { + AndroidJavaObject configBuilder = bridgedAdView.Call("buildLoadAdConfig"); + configBuilder.Call("withAdListener", listenerProxy); + if (bidPayload != null) + { + configBuilder.Call("withBid", bidPayload); + } + return configBuilder.Call("build"); + } + public void Load() + { + Load(null); + } + public void Load(String bidPayload) + { + AndroidJavaObject loadConfig = LoadAdConfig(bidPayload); + bridgedAdView.Call("loadAd", loadConfig); + + } +#endif + } + +#if UNITY_ANDROID + internal class AdViewBridgeListenerProxy : AndroidJavaProxy + { +#pragma warning disable 0414 + private AdView adView; + private readonly AndroidJavaObject bridgedAdView; +#pragma warning restore 0414 + + public AdViewBridgeListenerProxy(AdView adView, AndroidJavaObject bridgedAdView) + : base("com.facebook.ads.AdListener") + { + this.adView = adView; + this.bridgedAdView = bridgedAdView; + } + + void onError(AndroidJavaObject ad, + AndroidJavaObject error) + { + string errorMessage = error.Call ("getErrorMessage"); + if (adView.AdViewDidFailWithError != null) { + adView.ExecuteOnMainThread(() => { + adView.AdViewDidFailWithError(errorMessage); + }); + } + } + + void onAdLoaded(AndroidJavaObject ad) + { + adView.LoadAdFromData(); + } + + void onAdClicked(AndroidJavaObject ad) + { + if (adView.AdViewDidClick != null) { + adView.ExecuteOnMainThread(() => { + adView.AdViewDidClick(); + }); + } + } + + void onLoggingImpression(AndroidJavaObject ad) + { + if (adView.AdViewWillLogImpression != null) { + adView.ExecuteOnMainThread(() => { + adView.AdViewWillLogImpression(); + }); + } + } + } +#endif +} diff --git a/Forest/Assets/AudienceNetwork/Library/AdView.cs.meta b/Forest/Assets/AudienceNetwork/Library/AdView.cs.meta new file mode 100644 index 0000000..ee20515 --- /dev/null +++ b/Forest/Assets/AudienceNetwork/Library/AdView.cs.meta @@ -0,0 +1,13 @@ +fileFormatVersion: 2 +guid: ea40c685492bb4a8c8ecc98f34c52ed2 +timeCreated: 1531986666 +licenseType: Pro +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Forest/Assets/AudienceNetwork/Library/AudienceNetworkAds.cs b/Forest/Assets/AudienceNetwork/Library/AudienceNetworkAds.cs new file mode 100644 index 0000000..f54ea0f --- /dev/null +++ b/Forest/Assets/AudienceNetwork/Library/AudienceNetworkAds.cs @@ -0,0 +1,42 @@ +using UnityEngine; +using System.Runtime.InteropServices; +using System; + +namespace AudienceNetwork +{ + public static class AudienceNetworkAds + { +#pragma warning disable 0414 + private static bool isInitialized; +#pragma warning restore 0414 + + internal static void Initialize() + { + if (IsInitialized()) { return; } + + PlayerPrefs.SetString("an_isUnitySDK", SdkVersion.Build); + +#if UNITY_ANDROID + AndroidJavaClass unityPlayer = new AndroidJavaClass("com.unity3d.player.UnityPlayer"); + AndroidJavaObject currentActivity = unityPlayer.GetStatic("currentActivity"); + AndroidJavaObject context = currentActivity.Call("getApplicationContext"); + AndroidJavaClass audienceNetworkAds = new AndroidJavaClass("com.facebook.ads.AudienceNetworkAds"); + audienceNetworkAds.CallStatic("initialize", context); +#endif + isInitialized = true; + } + + internal static bool IsInitialized() + { +#if UNITY_ANDROID + AndroidJavaClass unityPlayer = new AndroidJavaClass("com.unity3d.player.UnityPlayer"); + AndroidJavaObject currentActivity = unityPlayer.GetStatic("currentActivity"); + AndroidJavaObject context = currentActivity.Call("getApplicationContext"); + AndroidJavaClass audienceNetworkAds = new AndroidJavaClass("com.facebook.ads.AudienceNetworkAds"); + return audienceNetworkAds.CallStatic("isInitialized", context); +#else + return isInitialized; +#endif + } + } +} diff --git a/Forest/Assets/AudienceNetwork/Library/AudienceNetworkAds.cs.meta b/Forest/Assets/AudienceNetwork/Library/AudienceNetworkAds.cs.meta new file mode 100644 index 0000000..42e4514 --- /dev/null +++ b/Forest/Assets/AudienceNetwork/Library/AudienceNetworkAds.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 4f7b3f57160c342918af28e4b32686e8 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Forest/Assets/AudienceNetwork/Library/ExtraHints.cs b/Forest/Assets/AudienceNetwork/Library/ExtraHints.cs new file mode 100644 index 0000000..a598c99 --- /dev/null +++ b/Forest/Assets/AudienceNetwork/Library/ExtraHints.cs @@ -0,0 +1,118 @@ +using UnityEngine; +using System; +using System.Collections.Generic; + +namespace AudienceNetwork +{ + [Serializable] + public class ExtraHints + { + public struct Keyword + { + public const string ACCESSORIES = "accessories"; + public const string ART_HISTORY = "art_history"; + public const string AUTOMOTIVE = "automotive"; + public const string BEAUTY = "beauty"; + public const string BIOLOGY = "biology"; + public const string BOARD_GAMES = "board_games"; + public const string BUSINESS_SOFTWARE = "business_software"; + public const string BUYING_SELLING_HOMES = "buying_selling_homes"; + public const string CATS = "cats"; + public const string CELEBRITIES = "celebrities"; + public const string CLOTHING = "clothing"; + public const string COMIC_BOOKS = "comic_books"; + public const string DESKTOP_VIDEO = "desktop_video"; + public const string DOGS = "dogs"; + public const string EDUCATION = "education"; + public const string EMAIL = "email"; + public const string ENTERTAINMENT = "entertainment"; + public const string FAMILY_PARENTING = "family_parenting"; + public const string FASHION = "fashion"; + public const string FINE_ART = "fine_art"; + public const string FOOD_DRINK = "food_drink"; + public const string FRENCH_CUISINE = "french_cuisine"; + public const string GOVERNMENT = "government"; + public const string HEALTH_FITNESS = "health_fitness"; + public const string HOBBIES = "hobbies"; + public const string HOME_GARDEN = "home_garden"; + public const string HUMOR = "humor"; + public const string INTERNET_TECHNOLOGY = "internet_technology"; + public const string LARGE_ANIMALS = "large_animals"; + public const string LAW = "law"; + public const string LEGAL_ISSUES = "legal_issues"; + public const string LITERATURE = "literature"; + public const string MARKETING = "marketing"; + public const string MOVIES = "movies"; + public const string MUSIC = "music"; + public const string NEWS = "news"; + public const string PERSONAL_FINANCE = "personal_finance"; + public const string PETS = "pets"; + public const string PHOTOGRAPHY = "photography"; + public const string POLITICS = "politics"; + public const string REAL_ESTATE = "real_estate"; + public const string ROLEPLAYING_GAMES = "roleplaying_games"; + public const string SCIENCE = "science"; + public const string SHOPPING = "shopping"; + public const string SOCIETY = "society"; + public const string SPORTS = "sports"; + public const string TECHNOLOGY = "technology"; + public const string TELEVISION = "television"; + public const string TRAVEL = "travel"; + public const string VIDEO_COMPUTER_GAMES = "video_computer_games"; + } + + private const int KEYWORDS_MAX_COUNT = 5; + + public List keywords; + public string extraData; + public string contentURL; + + internal AndroidJavaObject GetAndroidObject() + { + AndroidJavaObject builderExtraHintsAndroid = new AndroidJavaObject("com.facebook.ads.ExtraHints$Builder"); + if (builderExtraHintsAndroid != null) + { + if (keywords != null) + { + AndroidJavaClass androidKeywordEnum = new AndroidJavaClass("com.facebook.ads.ExtraHints$Keyword"); + AndroidJavaObject[] androidKeywordArray = androidKeywordEnum.CallStatic("values"); + AndroidJavaObject list = new AndroidJavaObject("java.util.ArrayList"); + int currentCount = 0; + foreach (string keyword in keywords) + { + if (currentCount == KEYWORDS_MAX_COUNT) + { + break; + } + + foreach (AndroidJavaObject obj in androidKeywordArray) + { + if (obj.Call("toString").ToLower() == keyword) + { + list.Call("add", obj); + currentCount++; + break; + } + } + } + + builderExtraHintsAndroid = builderExtraHintsAndroid + .Call("keywords", list); + + } + if (extraData != null) + { + builderExtraHintsAndroid = builderExtraHintsAndroid + .Call("extraData", extraData); + } + if (contentURL != null) + { + builderExtraHintsAndroid = builderExtraHintsAndroid + .Call("contentUrl", contentURL); + } + } + + return builderExtraHintsAndroid.Call("build"); + } + } +} diff --git a/Forest/Assets/AudienceNetwork/Library/ExtraHints.cs.meta b/Forest/Assets/AudienceNetwork/Library/ExtraHints.cs.meta new file mode 100644 index 0000000..185b5f7 --- /dev/null +++ b/Forest/Assets/AudienceNetwork/Library/ExtraHints.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 327a6820e37284d458d23d5528ef137c +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Forest/Assets/AudienceNetwork/Library/InterstitialAd.cs b/Forest/Assets/AudienceNetwork/Library/InterstitialAd.cs new file mode 100644 index 0000000..8a25f89 --- /dev/null +++ b/Forest/Assets/AudienceNetwork/Library/InterstitialAd.cs @@ -0,0 +1,950 @@ +using UnityEngine; +using System; +using System.Collections.Generic; +using System.Runtime.InteropServices; +using AOT; +using AudienceNetwork.Utility; + +namespace AudienceNetwork +{ + public delegate void FBInterstitialAdBridgeCallback(); + public delegate void FBInterstitialAdBridgeErrorCallback(string error); + internal delegate void FBInterstitialAdBridgeExternalCallback(int uniqueId); + internal delegate void FBInterstitialAdBridgeErrorExternalCallback(int uniqueId, string error); + + public sealed class InterstitialAd : IDisposable + { + private readonly int uniqueId; + private bool isLoaded; + private AdHandler handler; + + public string PlacementId { get; private set; } + + public FBInterstitialAdBridgeCallback InterstitialAdDidLoad + { + internal get + { + return interstitialAdDidLoad; + } + set + { + interstitialAdDidLoad = value; + InterstitialAdBridge.Instance.OnLoad(uniqueId, interstitialAdDidLoad); + } + } + + public FBInterstitialAdBridgeCallback InterstitialAdWillLogImpression + { + internal get + { + return interstitialAdWillLogImpression; + } + set + { + interstitialAdWillLogImpression = value; + InterstitialAdBridge.Instance.OnImpression(uniqueId, interstitialAdWillLogImpression); + } + } + + public FBInterstitialAdBridgeErrorCallback InterstitialAdDidFailWithError + { + internal get + { + return interstitialAdDidFailWithError; + } + set + { + interstitialAdDidFailWithError = value; + InterstitialAdBridge.Instance.OnError(uniqueId, interstitialAdDidFailWithError); + } + } + + public FBInterstitialAdBridgeCallback InterstitialAdDidClick + { + internal get + { + return interstitialAdDidClick; + } + set + { + interstitialAdDidClick = value; + InterstitialAdBridge.Instance.OnClick(uniqueId, interstitialAdDidClick); + } + } + + public FBInterstitialAdBridgeCallback InterstitialAdWillClose + { + internal get + { + return interstitialAdWillClose; + } + set + { + interstitialAdWillClose = value; + InterstitialAdBridge.Instance.OnWillClose(uniqueId, interstitialAdWillClose); + } + } + + public FBInterstitialAdBridgeCallback InterstitialAdDidClose + { + internal get + { + return interstitialAdDidClose; + } + set + { + interstitialAdDidClose = value; + InterstitialAdBridge.Instance.OnDidClose(uniqueId, interstitialAdDidClose); + } + } + + public FBInterstitialAdBridgeCallback InterstitialAdActivityDestroyed + { + internal get + { + return interstitialAdActivityDestroyed; + } + set + { + interstitialAdActivityDestroyed = value; + InterstitialAdBridge.Instance.OnActivityDestroyed(uniqueId, interstitialAdActivityDestroyed); + } + } + + public FBInterstitialAdBridgeCallback interstitialAdDidLoad; + public FBInterstitialAdBridgeCallback interstitialAdWillLogImpression; + public FBInterstitialAdBridgeErrorCallback interstitialAdDidFailWithError; + public FBInterstitialAdBridgeCallback interstitialAdDidClick; + public FBInterstitialAdBridgeCallback interstitialAdWillClose; + public FBInterstitialAdBridgeCallback interstitialAdDidClose; + public FBInterstitialAdBridgeCallback interstitialAdActivityDestroyed; + + public InterstitialAd(string placementId) + { + AudienceNetworkAds.Initialize(); + + PlacementId = placementId; + + if (Application.platform != RuntimePlatform.OSXEditor) + { + uniqueId = InterstitialAdBridge.Instance.Create(placementId, this); + + InterstitialAdBridge.Instance.OnLoad(uniqueId, InterstitialAdDidLoad); + InterstitialAdBridge.Instance.OnImpression(uniqueId, InterstitialAdWillLogImpression); + InterstitialAdBridge.Instance.OnClick(uniqueId, InterstitialAdDidClick); + InterstitialAdBridge.Instance.OnError(uniqueId, InterstitialAdDidFailWithError); + InterstitialAdBridge.Instance.OnWillClose(uniqueId, InterstitialAdWillClose); + InterstitialAdBridge.Instance.OnDidClose(uniqueId, InterstitialAdDidClose); + InterstitialAdBridge.Instance.OnActivityDestroyed(uniqueId, InterstitialAdActivityDestroyed); + } + } + + ~InterstitialAd() + { + Dispose(false); + } + + public void Dispose() + { + Dispose(true); + GC.SuppressFinalize(this); + } + + private void Dispose(Boolean iAmBeingCalledFromDisposeAndNotFinalize) + { + Debug.Log("Interstitial Ad Disposed."); + InterstitialAdBridge.Instance.Release(uniqueId); + } + + public override string ToString() + { + return string.Format( + "[InterstitialAd: " + + "PlacementId={0}, " + + "InterstitialAdDidLoad={1}, " + + "InterstitialAdWillLogImpression={2}, " + + "InterstitialAdDidFailWithError={3}, " + + "InterstitialAdDidClick={4}, " + + "InterstitialAdWillClose={5}, " + + "InterstitialAdDidClose={6}], " + + "InterstitialAdActivityDestroyed={7}]", + PlacementId, + InterstitialAdDidLoad, + InterstitialAdWillLogImpression, + InterstitialAdDidFailWithError, + InterstitialAdDidClick, + InterstitialAdWillClose, + InterstitialAdDidClose, + InterstitialAdActivityDestroyed); + } + + public void Register(GameObject gameObject) + { + handler = gameObject.AddComponent(); + } + + public void LoadAd() + { + if (Application.platform != RuntimePlatform.OSXEditor) + { + InterstitialAdBridge.Instance.Load(uniqueId); + } + else + { + InterstitialAdDidLoad(); + } + } + + public void LoadAd(String bidPayload) + { + if (Application.platform != RuntimePlatform.OSXEditor) + { + InterstitialAdBridge.Instance.Load(uniqueId, bidPayload); + } + else + { + InterstitialAdDidLoad(); + } + } + + public bool IsValid() + { + if (Application.platform != RuntimePlatform.OSXEditor) + { + return (isLoaded && InterstitialAdBridge.Instance.IsValid(uniqueId)); + } + else + { + return true; + } + } + + internal void LoadAdFromData() + { + isLoaded = true; + + if (InterstitialAdDidLoad != null) + { + handler.ExecuteOnMainThread(() => + { + InterstitialAdDidLoad(); + }); + } + } + + public bool Show() + { + return InterstitialAdBridge.Instance.Show(uniqueId); + } + + public void SetExtraHints(ExtraHints extraHints) + { + InterstitialAdBridge.Instance.SetExtraHints(uniqueId, extraHints); + } + + internal void ExecuteOnMainThread(Action action) + { + if (handler) + { + handler.ExecuteOnMainThread(action); + } + } + + public static implicit operator bool(InterstitialAd obj) + { + return !(object.ReferenceEquals(obj, null)); + } + } + + internal interface IInterstitialAdBridge + { + int Create(string placementId, + InterstitialAd interstitialAd); + + int Load(int uniqueId); + + int Load(int uniqueId, String bidPayload); + + bool IsValid(int uniqueId); + + bool Show(int uniqueId); + + void SetExtraHints(int uniqueId, ExtraHints extraHints); + + void Release(int uniqueId); + + void OnLoad(int uniqueId, + FBInterstitialAdBridgeCallback callback); + + void OnImpression(int uniqueId, + FBInterstitialAdBridgeCallback callback); + + void OnClick(int uniqueId, + FBInterstitialAdBridgeCallback callback); + + void OnError(int uniqueId, + FBInterstitialAdBridgeErrorCallback callback); + + void OnWillClose(int uniqueId, + FBInterstitialAdBridgeCallback callback); + + void OnDidClose(int uniqueId, + FBInterstitialAdBridgeCallback callback); + + void OnActivityDestroyed(int uniqueId, + FBInterstitialAdBridgeCallback callback); + } + + internal class InterstitialAdBridge : IInterstitialAdBridge + { + + /* Interface to Interstitial implementation */ + + public static readonly IInterstitialAdBridge Instance; + + internal InterstitialAdBridge() + { + } + + static InterstitialAdBridge() + { + Instance = InterstitialAdBridge.CreateInstance(); + } + + private static IInterstitialAdBridge CreateInstance() + { + if (Application.platform != RuntimePlatform.OSXEditor) + { +#if UNITY_IOS + return new InterstitialAdBridgeIOS(); +#elif UNITY_ANDROID + return new InterstitialAdBridgeAndroid(); +#endif + } + return new InterstitialAdBridge(); + + } + + public virtual int Create(string placementId, + InterstitialAd InterstitialAd) + { + return 123; + } + + public virtual int Load(int uniqueId) + { + return 123; + } + + public virtual int Load(int uniqueId, String bidPayload) + { + return 123; + } + + public virtual bool IsValid(int uniqueId) + { + return true; + } + + public virtual bool Show(int uniqueId) + { + return true; + } + + public virtual void SetExtraHints(int uniqueId, ExtraHints extraHints) + { + } + + public virtual void Release(int uniqueId) + { + } + + public virtual void OnLoad(int uniqueId, + FBInterstitialAdBridgeCallback callback) + { + } + + public virtual void OnImpression(int uniqueId, + FBInterstitialAdBridgeCallback callback) + { + } + + public virtual void OnClick(int uniqueId, + FBInterstitialAdBridgeCallback callback) + { + } + + public virtual void OnError(int uniqueId, + FBInterstitialAdBridgeErrorCallback callback) + { + } + + public virtual void OnWillClose(int uniqueId, + FBInterstitialAdBridgeCallback callback) + { + } + + public virtual void OnDidClose(int uniqueId, + FBInterstitialAdBridgeCallback callback) + { + } + + public virtual void OnActivityDestroyed(int uniqueId, + FBInterstitialAdBridgeCallback callback) + { + } + } + +#if UNITY_ANDROID + internal class InterstitialAdBridgeAndroid : InterstitialAdBridge + { + + private static Dictionary interstitialAds = new Dictionary(); + private static int lastKey; + + private AndroidJavaObject InterstitialAdForuniqueId(int uniqueId) + { + InterstitialAdContainer interstitialAdContainer = null; + bool success = InterstitialAdBridgeAndroid.interstitialAds.TryGetValue(uniqueId, out interstitialAdContainer); + if (success) + { + return interstitialAdContainer.bridgedInterstitialAd; + } + else + { + return null; + } + } + + private InterstitialAdContainer InterstitialAdContainerForuniqueId(int uniqueId) + { + InterstitialAdContainer interstitialAdContainer = null; + bool success = InterstitialAdBridgeAndroid.interstitialAds.TryGetValue(uniqueId, out interstitialAdContainer); + if (success) + { + return interstitialAdContainer; + } + else + { + return null; + } + } + + private string GetStringForuniqueId(int uniqueId, + string method) + { + AndroidJavaObject interstitialAd = InterstitialAdForuniqueId(uniqueId); + if (interstitialAd != null) + { + return interstitialAd.Call(method); + } + else + { + return null; + } + } + + private string GetImageURLForuniqueId(int uniqueId, + string method) + { + AndroidJavaObject interstitialAd = InterstitialAdForuniqueId(uniqueId); + if (interstitialAd != null) + { + AndroidJavaObject image = interstitialAd.Call(method); + if (image != null) + { + return image.Call("getUrl"); + } + } + return null; + } + + public override int Create(string placementId, + InterstitialAd interstitialAd) + { + AdUtility.Prepare(); + AndroidJavaClass unityPlayer = new AndroidJavaClass("com.unity3d.player.UnityPlayer"); + AndroidJavaObject currentActivity = unityPlayer.GetStatic("currentActivity"); + AndroidJavaObject context = currentActivity.Call("getApplicationContext"); + AndroidJavaObject bridgedInterstitialAd = new AndroidJavaObject("com.facebook.ads.InterstitialAd", context, placementId); + + InterstitialAdBridgeListenerProxy proxy = new InterstitialAdBridgeListenerProxy(interstitialAd, bridgedInterstitialAd); + + InterstitialAdContainer interstitialAdContainer = new InterstitialAdContainer(interstitialAd) + { + bridgedInterstitialAd = bridgedInterstitialAd, + listenerProxy = proxy + }; + + int key = InterstitialAdBridgeAndroid.lastKey; + InterstitialAdBridgeAndroid.interstitialAds.Add(key, interstitialAdContainer); + InterstitialAdBridgeAndroid.lastKey++; + return key; + } + + public override int Load(int uniqueId) + { + AdUtility.Prepare(); + InterstitialAdContainer interstitialAdContainer = InterstitialAdContainerForuniqueId(uniqueId); + if (interstitialAdContainer != null) + { + interstitialAdContainer.Load(); + } + return uniqueId; + } + + public override int Load(int uniqueId, String bidPayload) + { + AdUtility.Prepare(); + InterstitialAdContainer interstitialAdContainer = InterstitialAdContainerForuniqueId(uniqueId); + if (interstitialAdContainer != null) + { + interstitialAdContainer.Load(bidPayload); + } + return uniqueId; + } + + public override bool IsValid(int uniqueId) + { + AndroidJavaObject interstitialAd = InterstitialAdForuniqueId(uniqueId); + if (interstitialAd != null) + { + return !interstitialAd.Call("isAdInvalidated"); + } + else + { + return false; + } + } + + public override bool Show(int uniqueId) + { + AndroidJavaObject interstitialAd = InterstitialAdForuniqueId(uniqueId); + if (interstitialAd != null) + { + return interstitialAd.Call("show"); + } + else + { + return false; + } + } + + public override void Release(int uniqueId) + { + AndroidJavaObject interstitialAd = InterstitialAdForuniqueId(uniqueId); + if (interstitialAd != null) + { + interstitialAd.Call("destroy"); + } + InterstitialAdBridgeAndroid.interstitialAds.Remove(uniqueId); + } + + public override void SetExtraHints(int uniqueId, ExtraHints extraHints) + { + AdUtility.Prepare(); + AndroidJavaObject interstitialAd = InterstitialAdForuniqueId(uniqueId); + + if (interstitialAd != null) + { + interstitialAd.Call("setExtraHints", extraHints.GetAndroidObject()); + } + } + + public override void OnLoad(int uniqueId, FBInterstitialAdBridgeCallback callback) { } + public override void OnImpression(int uniqueId, FBInterstitialAdBridgeCallback callback) { } + public override void OnClick(int uniqueId, FBInterstitialAdBridgeCallback callback) { } + public override void OnError(int uniqueId, FBInterstitialAdBridgeErrorCallback callback) { } + public override void OnWillClose(int uniqueId, FBInterstitialAdBridgeCallback callback) { } + public override void OnDidClose(int uniqueId, FBInterstitialAdBridgeCallback callback) { } + public override void OnActivityDestroyed(int uniqueId, FBInterstitialAdBridgeCallback callback) { } + + } + +#endif + +#if UNITY_IOS + internal class InterstitialAdBridgeIOS : InterstitialAdBridge + { + + private static Dictionary interstitialAds = new Dictionary(); + + private static InterstitialAdContainer interstitialAdContainerForuniqueId(int uniqueId) + { + InterstitialAdContainer interstitialAd = null; + bool success = InterstitialAdBridgeIOS.interstitialAds.TryGetValue(uniqueId, out interstitialAd); + if (success) + { + return interstitialAd; + } + else + { + return null; + } + } + + [DllImport("__Internal")] + private static extern int FBInterstitialAdBridgeCreate(string placementId); + + [DllImport("__Internal")] + private static extern int FBInterstitialAdBridgeLoad(int uniqueId); + + [DllImport("__Internal")] + private static extern int FBInterstitialAdBridgeLoadWithBidPayload(int uniqueId, string bidPayload); + + [DllImport("__Internal")] + private static extern bool FBInterstitialAdBridgeIsValid(int uniqueId); + + [DllImport("__Internal")] + private static extern bool FBInterstitialAdBridgeShow(int uniqueId); + + [DllImport("__Internal")] + private static extern void FBInterstitialAdBridgeSetExtraHints(int uniqueId, string extraHints); + + [DllImport("__Internal")] + private static extern void FBInterstitialAdBridgeRelease(int uniqueId); + + [DllImport("__Internal")] + private static extern void FBInterstitialAdBridgeOnLoad(int uniqueId, + FBInterstitialAdBridgeExternalCallback callback); + + [DllImport("__Internal")] + private static extern void FBInterstitialAdBridgeOnImpression(int uniqueId, + FBInterstitialAdBridgeExternalCallback callback); + + [DllImport("__Internal")] + private static extern void FBInterstitialAdBridgeOnClick(int uniqueId, + FBInterstitialAdBridgeExternalCallback callback); + + [DllImport("__Internal")] + private static extern void FBInterstitialAdBridgeOnError(int uniqueId, + FBInterstitialAdBridgeErrorExternalCallback callback); + + [DllImport("__Internal")] + private static extern void FBInterstitialAdBridgeOnDidClose(int uniqueId, + FBInterstitialAdBridgeExternalCallback callback); + + [DllImport("__Internal")] + private static extern void FBInterstitialAdBridgeOnWillClose(int uniqueId, + FBInterstitialAdBridgeExternalCallback callback); + + public override int Create(string placementId, + InterstitialAd interstitialAd) + { + int uniqueId = InterstitialAdBridgeIOS.FBInterstitialAdBridgeCreate(placementId); + InterstitialAdBridgeIOS.interstitialAds.Add(uniqueId, new InterstitialAdContainer(interstitialAd)); + InterstitialAdBridgeIOS.FBInterstitialAdBridgeOnLoad(uniqueId, interstitialAdDidLoadBridgeCallback); + InterstitialAdBridgeIOS.FBInterstitialAdBridgeOnImpression(uniqueId, interstitialAdWillLogImpressionBridgeCallback); + InterstitialAdBridgeIOS.FBInterstitialAdBridgeOnClick(uniqueId, interstitialAdDidClickBridgeCallback); + InterstitialAdBridgeIOS.FBInterstitialAdBridgeOnError(uniqueId, interstitialAdDidFailWithErrorBridgeCallback); + InterstitialAdBridgeIOS.FBInterstitialAdBridgeOnDidClose(uniqueId, interstitialAdDidCloseBridgeCallback); + InterstitialAdBridgeIOS.FBInterstitialAdBridgeOnWillClose(uniqueId, interstitialAdWillCloseBridgeCallback); + + return uniqueId; + } + + public override int Load(int uniqueId) + { + return InterstitialAdBridgeIOS.FBInterstitialAdBridgeLoad(uniqueId); + } + + public override int Load(int uniqueId, string bidPayload) + { + return InterstitialAdBridgeIOS.FBInterstitialAdBridgeLoadWithBidPayload(uniqueId, bidPayload); + } + + public override bool IsValid(int uniqueId) + { + return InterstitialAdBridgeIOS.FBInterstitialAdBridgeIsValid(uniqueId); + } + + public override bool Show(int uniqueId) + { + return InterstitialAdBridgeIOS.FBInterstitialAdBridgeShow(uniqueId); + } + + public override void SetExtraHints(int uniqueId, ExtraHints extraHints) + { + InterstitialAdBridgeIOS.FBInterstitialAdBridgeSetExtraHints(uniqueId, JsonUtility.ToJson(extraHints)); + } + + public override void Release(int uniqueId) + { + InterstitialAdBridgeIOS.interstitialAds.Remove(uniqueId); + InterstitialAdBridgeIOS.FBInterstitialAdBridgeRelease(uniqueId); + } + + // Sets up internal managed callbacks + + public override void OnLoad(int uniqueId, + FBInterstitialAdBridgeCallback callback) + { + InterstitialAdContainer container = InterstitialAdBridgeIOS.interstitialAdContainerForuniqueId(uniqueId); + if (container) + { + container.onLoad = container.interstitialAd.LoadAdFromData; + } + } + + public override void OnImpression(int uniqueId, + FBInterstitialAdBridgeCallback callback) + { + InterstitialAdContainer container = InterstitialAdBridgeIOS.interstitialAdContainerForuniqueId(uniqueId); + if (container) + { + container.onImpression = callback; + } + } + + public override void OnClick(int uniqueId, + FBInterstitialAdBridgeCallback callback) + { + InterstitialAdContainer container = InterstitialAdBridgeIOS.interstitialAdContainerForuniqueId(uniqueId); + if (container) + { + container.onClick = callback; + } + } + + public override void OnError(int uniqueId, + FBInterstitialAdBridgeErrorCallback callback) + { + InterstitialAdContainer container = InterstitialAdBridgeIOS.interstitialAdContainerForuniqueId(uniqueId); + if (container) + { + container.onError = callback; + } + } + + public override void OnDidClose(int uniqueId, + FBInterstitialAdBridgeCallback callback) + { + InterstitialAdContainer container = InterstitialAdBridgeIOS.interstitialAdContainerForuniqueId(uniqueId); + if (container) + { + container.onDidClose = callback; + } + } + + public override void OnWillClose(int uniqueId, + FBInterstitialAdBridgeCallback callback) + { + InterstitialAdContainer container = InterstitialAdBridgeIOS.interstitialAdContainerForuniqueId(uniqueId); + if (container) + { + container.onWillClose = callback; + } + } + + // External unmanaged callbacks (must be static) + + [MonoPInvokeCallback(typeof(FBInterstitialAdBridgeExternalCallback))] + private static void interstitialAdDidLoadBridgeCallback(int uniqueId) + { + InterstitialAdContainer container = InterstitialAdBridgeIOS.interstitialAdContainerForuniqueId(uniqueId); + if (container && container.onLoad != null) + { + container.onLoad(); + } + } + + [MonoPInvokeCallback(typeof(FBInterstitialAdBridgeExternalCallback))] + private static void interstitialAdWillLogImpressionBridgeCallback(int uniqueId) + { + InterstitialAdContainer container = InterstitialAdBridgeIOS.interstitialAdContainerForuniqueId(uniqueId); + if (container && container.onImpression != null) + { + container.onImpression(); + } + } + + [MonoPInvokeCallback(typeof(FBInterstitialAdBridgeErrorExternalCallback))] + private static void interstitialAdDidFailWithErrorBridgeCallback(int uniqueId, string error) + { + InterstitialAdContainer container = InterstitialAdBridgeIOS.interstitialAdContainerForuniqueId(uniqueId); + if (container && container.onError != null) + { + container.onError(error); + } + } + + [MonoPInvokeCallback(typeof(FBInterstitialAdBridgeExternalCallback))] + private static void interstitialAdDidClickBridgeCallback(int uniqueId) + { + InterstitialAdContainer container = InterstitialAdBridgeIOS.interstitialAdContainerForuniqueId(uniqueId); + if (container && container.onClick != null) + { + container.onClick(); + } + } + + [MonoPInvokeCallback(typeof(FBInterstitialAdBridgeExternalCallback))] + private static void interstitialAdDidCloseBridgeCallback(int uniqueId) + { + InterstitialAdContainer container = InterstitialAdBridgeIOS.interstitialAdContainerForuniqueId(uniqueId); + if (container && container.onDidClose != null) + { + container.onDidClose(); + } + } + + [MonoPInvokeCallback(typeof(FBInterstitialAdBridgeExternalCallback))] + private static void interstitialAdWillCloseBridgeCallback(int uniqueId) + { + InterstitialAdContainer container = InterstitialAdBridgeIOS.interstitialAdContainerForuniqueId(uniqueId); + if (container && container.onWillClose != null) + { + container.onWillClose(); + } + } + + } +#endif + + internal class InterstitialAdContainer + { + internal InterstitialAd interstitialAd { get; set; } + + // iOS + internal FBInterstitialAdBridgeCallback onLoad { get; set; } + internal FBInterstitialAdBridgeCallback onImpression { get; set; } + internal FBInterstitialAdBridgeCallback onClick { get; set; } + internal FBInterstitialAdBridgeErrorCallback onError { get; set; } + internal FBInterstitialAdBridgeCallback onDidClose { get; set; } + internal FBInterstitialAdBridgeCallback onWillClose { get; set; } + internal FBInterstitialAdBridgeCallback onActivityDestroyed { get; set; } + + // Android +#if UNITY_ANDROID + internal AndroidJavaProxy listenerProxy; + internal AndroidJavaObject bridgedInterstitialAd; +#endif + + internal InterstitialAdContainer(InterstitialAd interstitialAd) + { + this.interstitialAd = interstitialAd; + } + + public override string ToString() + { + return string.Format("[InterstitialAdContainer: interstitialAd={0}, onLoad={1}]", interstitialAd, onLoad); + } + + public static implicit operator bool(InterstitialAdContainer obj) + { + return !(object.ReferenceEquals(obj, null)); + } + +#if UNITY_ANDROID + internal AndroidJavaObject LoadAdConfig(String bidPayload) + { + AndroidJavaObject configBuilder = bridgedInterstitialAd.Call("buildLoadAdConfig"); + configBuilder.Call("withAdListener", listenerProxy); + if (bidPayload != null) + { + configBuilder.Call("withBid", bidPayload); + } + return configBuilder.Call("build"); + } + + public void Load() + { + Load(null); + } + public void Load(String bidPayload) + { + AndroidJavaObject loadConfig = LoadAdConfig(bidPayload); + bridgedInterstitialAd.Call("loadAd", loadConfig); + } +#endif + } + +#if UNITY_ANDROID + internal class InterstitialAdBridgeListenerProxy : AndroidJavaProxy + { + private InterstitialAd interstitialAd; +#pragma warning disable 0414 + private readonly AndroidJavaObject bridgedInterstitialAd; +#pragma warning restore 0414 + + public InterstitialAdBridgeListenerProxy(InterstitialAd interstitialAd, + AndroidJavaObject bridgedInterstitialAd) + : base("com.facebook.ads.InterstitialAdExtendedListener") + { + this.interstitialAd = interstitialAd; + this.bridgedInterstitialAd = bridgedInterstitialAd; + } + + void onError(AndroidJavaObject ad, + AndroidJavaObject error) + { + string errorMessage = error.Call("getErrorMessage"); + if (interstitialAd.InterstitialAdDidFailWithError != null) + { + interstitialAd.ExecuteOnMainThread(() => + { + interstitialAd.InterstitialAdDidFailWithError(errorMessage); + }); + } + } + + void onAdLoaded(AndroidJavaObject ad) + { + interstitialAd.LoadAdFromData(); + } + + // Not executing on the main thread - otherwise InterstitialAdDidClick + // will only be called after the Interstitial activity be destroyed + void onAdClicked(AndroidJavaObject ad) + { + if (interstitialAd.InterstitialAdDidClick != null) + { + interstitialAd.ExecuteOnMainThread(() => + { + interstitialAd.InterstitialAdDidClick(); + }); + } + } + + void onInterstitialDisplayed(AndroidJavaObject ad) + { + // Not reporting anything so it won't double with InterstitialAdWillLogImpression + } + + void onInterstitialDismissed(AndroidJavaObject ad) + { + if (interstitialAd.InterstitialAdDidClose != null) + { + interstitialAd.ExecuteOnMainThread(() => + { + interstitialAd.InterstitialAdDidClose(); + }); + } + } + + // Not executing on the main thread - otherwise InterstitialAdWillLogImpression + // will only be called after the Interstitial activity be destroyed + void onLoggingImpression(AndroidJavaObject ad) + { + if (interstitialAd.InterstitialAdWillLogImpression != null) + { + interstitialAd.ExecuteOnMainThread(() => + { + interstitialAd.InterstitialAdWillLogImpression(); + }); + } + } + + void onInterstitialActivityDestroyed() + { + if (interstitialAd.InterstitialAdActivityDestroyed != null) + { + interstitialAd.ExecuteOnMainThread(() => + { + interstitialAd.InterstitialAdActivityDestroyed(); + }); + } + } + } +#endif +} diff --git a/Forest/Assets/AudienceNetwork/Library/InterstitialAd.cs.meta b/Forest/Assets/AudienceNetwork/Library/InterstitialAd.cs.meta new file mode 100644 index 0000000..c557ea5 --- /dev/null +++ b/Forest/Assets/AudienceNetwork/Library/InterstitialAd.cs.meta @@ -0,0 +1,13 @@ +fileFormatVersion: 2 +guid: aed5d3283123b47e9a5780a385f4e6ed +timeCreated: 1531986666 +licenseType: Pro +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Forest/Assets/AudienceNetwork/Library/RewardedVideoAd.cs b/Forest/Assets/AudienceNetwork/Library/RewardedVideoAd.cs new file mode 100644 index 0000000..a1101e5 --- /dev/null +++ b/Forest/Assets/AudienceNetwork/Library/RewardedVideoAd.cs @@ -0,0 +1,1181 @@ +using UnityEngine; +using System; +using System.Collections.Generic; +using AudienceNetwork.Utility; +using System.Runtime.InteropServices; +using AOT; + +namespace AudienceNetwork +{ + public delegate void FBRewardedVideoAdBridgeCallback(); + public delegate void FBRewardedVideoAdBridgeErrorCallback(string error); + internal delegate void FBRewardedVideoAdBridgeExternalCallback(int uniqueId); + internal delegate void FBRewardedVideoAdBridgeErrorExternalCallback(int uniqueId, string error); + + public sealed class RewardData + { + public string UserId + { + internal get; + set; + } + + public string Currency + { + internal get; + set; + } + } + + public sealed class RewardedVideoAd : IDisposable + { + private readonly int uniqueId; + private bool isLoaded; + private AdHandler handler; + + public string PlacementId { get; private set; } + public RewardData RewardData { get; private set; } + + public FBRewardedVideoAdBridgeCallback RewardedVideoAdDidLoad + { + internal get + { + return rewardedVideoAdDidLoad; + } + set + { + rewardedVideoAdDidLoad = value; + RewardedVideoAdBridge.Instance.OnLoad(uniqueId, rewardedVideoAdDidLoad); + } + } + + public FBRewardedVideoAdBridgeCallback RewardedVideoAdWillLogImpression + { + internal get + { + return rewardedVideoAdWillLogImpression; + } + set + { + rewardedVideoAdWillLogImpression = value; + RewardedVideoAdBridge.Instance.OnImpression(uniqueId, rewardedVideoAdWillLogImpression); + } + } + + public FBRewardedVideoAdBridgeErrorCallback RewardedVideoAdDidFailWithError + { + internal get + { + return rewardedVideoAdDidFailWithError; + } + set + { + rewardedVideoAdDidFailWithError = value; + RewardedVideoAdBridge.Instance.OnError(uniqueId, rewardedVideoAdDidFailWithError); + } + } + + public FBRewardedVideoAdBridgeCallback RewardedVideoAdDidClick + { + internal get + { + return rewardedVideoAdDidClick; + } + set + { + rewardedVideoAdDidClick = value; + RewardedVideoAdBridge.Instance.OnClick(uniqueId, rewardedVideoAdDidClick); + } + } + + public FBRewardedVideoAdBridgeCallback RewardedVideoAdWillClose + { + internal get + { + return rewardedVideoAdWillClose; + } + set + { + rewardedVideoAdWillClose = value; + RewardedVideoAdBridge.Instance.OnWillClose(uniqueId, rewardedVideoAdWillClose); + } + } + + public FBRewardedVideoAdBridgeCallback RewardedVideoAdDidClose + { + internal get + { + return rewardedVideoAdDidClose; + } + set + { + rewardedVideoAdDidClose = value; + RewardedVideoAdBridge.Instance.OnDidClose(uniqueId, rewardedVideoAdDidClose); + } + } + + public FBRewardedVideoAdBridgeCallback RewardedVideoAdComplete + { + internal get + { + return rewardedVideoAdComplete; + } + set + { + rewardedVideoAdComplete = value; + RewardedVideoAdBridge.Instance.OnComplete(uniqueId, rewardedVideoAdComplete); + } + } + + public FBRewardedVideoAdBridgeCallback RewardedVideoAdDidSucceed + { + internal get + { + return rewardedVideoAdDidSucceed; + } + set + { + rewardedVideoAdDidSucceed = value; + RewardedVideoAdBridge.Instance.OnDidSucceed(uniqueId, rewardedVideoAdDidSucceed); + } + } + + public FBRewardedVideoAdBridgeCallback RewardedVideoAdDidFail + { + internal get + { + return rewardedVideoAdDidFail; + } + set + { + rewardedVideoAdDidFail = value; + RewardedVideoAdBridge.Instance.OnDidFail(uniqueId, rewardedVideoAdDidFail); + } + } + + public FBRewardedVideoAdBridgeCallback RewardedVideoAdActivityDestroyed + { + internal get + { + return rewardedVideoAdActivityDestroyed; + } + set + { + rewardedVideoAdActivityDestroyed = value; + RewardedVideoAdBridge.Instance.OnActivityDestroyed(uniqueId, rewardedVideoAdActivityDestroyed); + } + } + + public FBRewardedVideoAdBridgeCallback rewardedVideoAdDidLoad; + public FBRewardedVideoAdBridgeCallback rewardedVideoAdWillLogImpression; + public FBRewardedVideoAdBridgeErrorCallback rewardedVideoAdDidFailWithError; + public FBRewardedVideoAdBridgeCallback rewardedVideoAdDidClick; + public FBRewardedVideoAdBridgeCallback rewardedVideoAdWillClose; + public FBRewardedVideoAdBridgeCallback rewardedVideoAdDidClose; + public FBRewardedVideoAdBridgeCallback rewardedVideoAdComplete; + public FBRewardedVideoAdBridgeCallback rewardedVideoAdDidSucceed; + public FBRewardedVideoAdBridgeCallback rewardedVideoAdDidFail; + public FBRewardedVideoAdBridgeCallback rewardedVideoAdActivityDestroyed; + + public RewardedVideoAd(string placementId) : this(placementId, null) + { + + } + + public RewardedVideoAd(string placementId, RewardData rewardData) + { + AudienceNetworkAds.Initialize(); + + PlacementId = placementId; + RewardData = rewardData; + + if (Application.platform != RuntimePlatform.OSXEditor) + { + uniqueId = RewardedVideoAdBridge.Instance.Create(placementId, RewardData, this); + + RewardedVideoAdBridge.Instance.OnLoad(uniqueId, RewardedVideoAdDidLoad); + RewardedVideoAdBridge.Instance.OnImpression(uniqueId, RewardedVideoAdWillLogImpression); + RewardedVideoAdBridge.Instance.OnClick(uniqueId, RewardedVideoAdDidClick); + RewardedVideoAdBridge.Instance.OnError(uniqueId, RewardedVideoAdDidFailWithError); + RewardedVideoAdBridge.Instance.OnWillClose(uniqueId, RewardedVideoAdWillClose); + RewardedVideoAdBridge.Instance.OnDidClose(uniqueId, RewardedVideoAdDidClose); + RewardedVideoAdBridge.Instance.OnComplete(uniqueId, RewardedVideoAdComplete); + RewardedVideoAdBridge.Instance.OnDidSucceed(uniqueId, RewardedVideoAdDidSucceed); + RewardedVideoAdBridge.Instance.OnDidFail(uniqueId, RewardedVideoAdDidFail); + RewardedVideoAdBridge.Instance.OnActivityDestroyed(uniqueId, RewardedVideoAdActivityDestroyed); + } + } + + ~RewardedVideoAd() + { + Dispose(false); + } + + public void Dispose() + { + Dispose(true); + GC.SuppressFinalize(this); + } + + private void Dispose(Boolean iAmBeingCalledFromDisposeAndNotFinalize) + { + if (handler) + { + handler.RemoveFromParent(); + } + Debug.Log("RewardedVideo Ad Disposed."); + RewardedVideoAdBridge.Instance.Release(uniqueId); + } + + public override string ToString() + { + return string.Format( + "[RewardedVideoAd: " + + "PlacementId={0}, " + + "RewardedVideoAdDidLoad={1}, " + + "RewardedVideoAdWillLogImpression={2}, " + + "RewardedVideoAdDidFailWithError={3}, " + + "RewardedVideoAdDidClick={4}, " + + "RewardedVideoAdWillClose={5}, " + + "RewardedVideoAdDidClose={6}, " + + "RewardedVideoAdComplete={7}, " + + "RewardedVideoAdDidSucceed={8}, " + + "RewardedVideoAdDidFail={9}," + + "RewardedVideoAdActivityDestroyed={10}]", + PlacementId, + RewardedVideoAdDidLoad, + RewardedVideoAdWillLogImpression, + RewardedVideoAdDidFailWithError, + RewardedVideoAdDidClick, + RewardedVideoAdWillClose, + RewardedVideoAdDidClose, + RewardedVideoAdComplete, + RewardedVideoAdDidSucceed, + RewardedVideoAdDidFail, + RewardedVideoAdActivityDestroyed); + } + + public void Register(GameObject gameObject) + { + handler = gameObject.AddComponent(); + } + + public void LoadAd() + { + if (Application.platform != RuntimePlatform.OSXEditor) + { + RewardedVideoAdBridge.Instance.Load(uniqueId); + } + else + { + RewardedVideoAdDidLoad(); + } + } + + public void LoadAd(String bidPayload) + { + if (Application.platform != RuntimePlatform.OSXEditor) + { + RewardedVideoAdBridge.Instance.Load(uniqueId, bidPayload); + } + else + { + RewardedVideoAdDidLoad(); + } + } + + public bool IsValid() + { + if (Application.platform != RuntimePlatform.OSXEditor) + { + return (isLoaded && RewardedVideoAdBridge.Instance.IsValid(uniqueId)); + } + else + { + return true; + } + } + + internal void LoadAdFromData() + { + isLoaded = true; + + if (RewardedVideoAdDidLoad != null) + { + handler.ExecuteOnMainThread(() => + { + RewardedVideoAdDidLoad(); + }); + } + } + + public bool Show() + { + return RewardedVideoAdBridge.Instance.Show(uniqueId); + } + + public void SetExtraHints(ExtraHints extraHints) + { + RewardedVideoAdBridge.Instance.SetExtraHints(uniqueId, extraHints); + } + + internal void ExecuteOnMainThread(Action action) + { + if (handler) + { + handler.ExecuteOnMainThread(action); + } + } + + public static implicit operator bool(RewardedVideoAd obj) + { + return !(object.ReferenceEquals(obj, null)); + } + } + + internal interface IRewardedVideoAdBridge + { + int Create(string placementId, RewardData rewardData, + RewardedVideoAd rewardedVideoAd); + + int Load(int uniqueId); + + int Load(int uniqueId, String bidPayload); + + bool IsValid(int uniqueId); + + bool Show(int uniqueId); + + void SetExtraHints(int uniqueId, ExtraHints extraHints); + + void Release(int uniqueId); + + void OnLoad(int uniqueId, + FBRewardedVideoAdBridgeCallback callback); + + void OnImpression(int uniqueId, + FBRewardedVideoAdBridgeCallback callback); + + void OnClick(int uniqueId, + FBRewardedVideoAdBridgeCallback callback); + + void OnError(int uniqueId, + FBRewardedVideoAdBridgeErrorCallback callback); + + void OnWillClose(int uniqueId, + FBRewardedVideoAdBridgeCallback callback); + + void OnDidClose(int uniqueId, + FBRewardedVideoAdBridgeCallback callback); + + void OnComplete(int uniqueId, + FBRewardedVideoAdBridgeCallback callback); + + void OnDidSucceed(int uniqueId, + FBRewardedVideoAdBridgeCallback callback); + + void OnDidFail(int uniqueId, + FBRewardedVideoAdBridgeCallback callback); + + void OnActivityDestroyed(int uniqueId, + FBRewardedVideoAdBridgeCallback callback); + } + + internal class RewardedVideoAdBridge : IRewardedVideoAdBridge + { + + /* Interface to RewardedVideo implementation */ + + public static readonly IRewardedVideoAdBridge Instance; + + internal RewardedVideoAdBridge() + { + } + + static RewardedVideoAdBridge() + { + Instance = RewardedVideoAdBridge.CreateInstance(); + } + + private static IRewardedVideoAdBridge CreateInstance() + { + if (Application.platform != RuntimePlatform.OSXEditor) + { +#if UNITY_IOS + return new RewardedVideoAdBridgeIOS(); +#elif UNITY_ANDROID + return new RewardedVideoAdBridgeAndroid(); +#endif + } + return new RewardedVideoAdBridge(); + + } + + public virtual int Create(string placementId, RewardData rewardData, + RewardedVideoAd RewardedVideoAd) + { + return 123; + } + + public virtual int Load(int uniqueId) + { + return 123; + } + + public virtual int Load(int uniqueId, String bidPayload) + { + return 123; + } + + public virtual bool IsValid(int uniqueId) + { + return true; + } + + public virtual bool Show(int uniqueId) + { + return true; + } + + public virtual void SetExtraHints(int uniqueId, ExtraHints extraHints) + { + } + + public virtual void Release(int uniqueId) + { + } + + public virtual void OnLoad(int uniqueId, + FBRewardedVideoAdBridgeCallback callback) + { + } + + public virtual void OnImpression(int uniqueId, + FBRewardedVideoAdBridgeCallback callback) + { + } + + public virtual void OnClick(int uniqueId, + FBRewardedVideoAdBridgeCallback callback) + { + } + + public virtual void OnError(int uniqueId, + FBRewardedVideoAdBridgeErrorCallback callback) + { + } + + public virtual void OnWillClose(int uniqueId, + FBRewardedVideoAdBridgeCallback callback) + { + } + + public virtual void OnDidClose(int uniqueId, + FBRewardedVideoAdBridgeCallback callback) + { + } + + public virtual void OnComplete(int uniqueId, + FBRewardedVideoAdBridgeCallback callback) + { + } + + public virtual void OnDidSucceed(int uniqueId, + FBRewardedVideoAdBridgeCallback callback) + { + } + + public virtual void OnDidFail(int uniqueId, + FBRewardedVideoAdBridgeCallback callback) + { + } + + public virtual void OnActivityDestroyed(int uniqueId, + FBRewardedVideoAdBridgeCallback callback) + { + } + + } + +#if UNITY_ANDROID + internal class RewardedVideoAdBridgeAndroid : RewardedVideoAdBridge + { + + private static Dictionary rewardedVideoAds = new Dictionary(); + private static int lastKey; + + private AndroidJavaObject RewardedVideoAdForUniqueId(int uniqueId) + { + RewardedVideoAdContainer rewardedVideoAdContainer = null; + bool success = RewardedVideoAdBridgeAndroid.rewardedVideoAds.TryGetValue(uniqueId, out rewardedVideoAdContainer); + if (success) { + return rewardedVideoAdContainer.bridgedRewardedVideoAd; + } else { + return null; + } + } + + private RewardedVideoAdContainer RewardedVideoAdContainerForUniqueId(int uniqueId) + { + RewardedVideoAdContainer rewardedVideoAdContainer = null; + bool success = RewardedVideoAdBridgeAndroid.rewardedVideoAds.TryGetValue(uniqueId, out rewardedVideoAdContainer); + if (success) { + return rewardedVideoAdContainer; + } else { + return null; + } + } + + private string GetStringForuniqueId(int uniqueId, + string method) + { + AndroidJavaObject rewardedVideoAd = RewardedVideoAdForUniqueId(uniqueId); + if (rewardedVideoAd != null) { + return rewardedVideoAd.Call (method); + } else { + return null; + } + } + + private string GetImageURLForuniqueId(int uniqueId, + string method) + { + AndroidJavaObject rewardedVideoAd = RewardedVideoAdForUniqueId(uniqueId); + if (rewardedVideoAd != null) { + AndroidJavaObject image = rewardedVideoAd.Call (method); + if (image != null) { + return image.Call ("getUrl"); + } + } + return null; + } + + public override int Create(string placementId, RewardData rewardData, + RewardedVideoAd rewardedVideoAd) + { + + AdUtility.Prepare(); + AndroidJavaClass unityPlayer = new AndroidJavaClass("com.unity3d.player.UnityPlayer"); + AndroidJavaObject currentActivity = unityPlayer.GetStatic("currentActivity"); + AndroidJavaObject context = currentActivity.Call("getApplicationContext"); + + AndroidJavaObject bridgedRewardedVideoAd = new AndroidJavaObject("com.facebook.ads.RewardedVideoAd", context, placementId); + + RewardedVideoAdBridgeListenerProxy proxy = new RewardedVideoAdBridgeListenerProxy(rewardedVideoAd, bridgedRewardedVideoAd); + + AndroidJavaObject rewardDataObj = null; + if (rewardData != null) { + rewardDataObj = new AndroidJavaObject("com.facebook.ads.RewardData", rewardData.UserId, rewardData.Currency); + } + + RewardedVideoAdContainer rewardedVideoAdContainer = new RewardedVideoAdContainer(rewardedVideoAd) + { + bridgedRewardedVideoAd = bridgedRewardedVideoAd, + listenerProxy = proxy, + rewardData = rewardDataObj + }; + + int key = RewardedVideoAdBridgeAndroid.lastKey; + RewardedVideoAdBridgeAndroid.rewardedVideoAds.Add(key, rewardedVideoAdContainer); + RewardedVideoAdBridgeAndroid.lastKey++; + return key; + } + + public override int Load(int uniqueId) + { + AdUtility.Prepare(); + RewardedVideoAdContainer rewardedVideoAdContainer = RewardedVideoAdContainerForUniqueId(uniqueId); + if (rewardedVideoAdContainer != null) + { + rewardedVideoAdContainer.Load(); + } + return uniqueId; + } + + public override int Load(int uniqueId, String bidPayload) + { + AdUtility.Prepare(); + RewardedVideoAdContainer rewardedVideoAdContainer = RewardedVideoAdContainerForUniqueId(uniqueId); + if (rewardedVideoAdContainer != null) + { + rewardedVideoAdContainer.Load(bidPayload); + } + return uniqueId; + } + + public override bool IsValid(int uniqueId) + { + AndroidJavaObject rewardedVideoAd = RewardedVideoAdForUniqueId(uniqueId); + if (rewardedVideoAd != null) { + return !rewardedVideoAd.Call ("isAdInvalidated"); + } else { + return false; + } + } + + public override bool Show(int uniqueId) + { + RewardedVideoAdContainer container = RewardedVideoAdContainerForUniqueId(uniqueId); + AndroidJavaObject rewardedVideoAd = RewardedVideoAdForUniqueId(uniqueId); + container.rewardedVideoAd.ExecuteOnMainThread(() => { + if (rewardedVideoAd != null) { + rewardedVideoAd.Call ("show"); + } + }); + return true; + } + + public override void SetExtraHints(int uniqueId, ExtraHints extraHints) + { + AdUtility.Prepare(); + AndroidJavaObject rewardedVideoAd = RewardedVideoAdForUniqueId(uniqueId); + + if (rewardedVideoAd != null) + { + rewardedVideoAd.Call("setExtraHints", extraHints.GetAndroidObject()); + } + } + + public override void Release(int uniqueId) + { + AndroidJavaObject rewardedVideoAd = RewardedVideoAdForUniqueId(uniqueId); + if (rewardedVideoAd != null) { + rewardedVideoAd.Call("destroy"); + } + RewardedVideoAdBridgeAndroid.rewardedVideoAds.Remove(uniqueId); + } + + public override void OnLoad(int uniqueId, FBRewardedVideoAdBridgeCallback callback) {} + public override void OnImpression(int uniqueId, FBRewardedVideoAdBridgeCallback callback) {} + public override void OnClick(int uniqueId, FBRewardedVideoAdBridgeCallback callback) {} + public override void OnError(int uniqueId, FBRewardedVideoAdBridgeErrorCallback callback) {} + public override void OnWillClose(int uniqueId, FBRewardedVideoAdBridgeCallback callback) {} + public override void OnDidClose(int uniqueId, FBRewardedVideoAdBridgeCallback callback) {} + public override void OnActivityDestroyed(int uniqueId, FBRewardedVideoAdBridgeCallback callback) { } + + } + +#endif + +#if UNITY_IOS + internal class RewardedVideoAdBridgeIOS : RewardedVideoAdBridge + { + + private static Dictionary rewardedVideoAds = new Dictionary(); + + private static RewardedVideoAdContainer rewardedVideoAdContainerForuniqueId(int uniqueId) + { + RewardedVideoAdContainer rewardedVideoAd = null; + bool success = RewardedVideoAdBridgeIOS.rewardedVideoAds.TryGetValue(uniqueId, out rewardedVideoAd); + if (success) + { + return rewardedVideoAd; + } + else + { + return null; + } + } + + [DllImport("__Internal")] + private static extern int FBRewardedVideoAdBridgeCreate(string placementId); + + [DllImport("__Internal")] + private static extern int FBRewardedVideoAdBridgeCreateWithReward(string placementId, string userID, string currency); + + [DllImport("__Internal")] + private static extern int FBRewardedVideoAdBridgeLoad(int uniqueId); + + [DllImport("__Internal")] + private static extern int FBRewardedVideoAdBridgeLoadWithBidPayload(int uniqueId, string bidPayload); + + [DllImport("__Internal")] + private static extern bool FBRewardedVideoAdBridgeIsValid(int uniqueId); + + [DllImport("__Internal")] + private static extern void FBRewardedVideoAdBridgeSetExtraHints(int uniqueId, string extraHints); + + [DllImport("__Internal")] + private static extern bool FBRewardedVideoAdBridgeShow(int uniqueId); + + [DllImport("__Internal")] + private static extern void FBRewardedVideoAdBridgeRelease(int uniqueId); + + [DllImport("__Internal")] + private static extern void FBRewardedVideoAdBridgeOnLoad(int uniqueId, + FBRewardedVideoAdBridgeExternalCallback callback); + + [DllImport("__Internal")] + private static extern void FBRewardedVideoAdBridgeOnImpression(int uniqueId, + FBRewardedVideoAdBridgeExternalCallback callback); + + [DllImport("__Internal")] + private static extern void FBRewardedVideoAdBridgeOnClick(int uniqueId, + FBRewardedVideoAdBridgeExternalCallback callback); + + [DllImport("__Internal")] + private static extern void FBRewardedVideoAdBridgeOnError(int uniqueId, + FBRewardedVideoAdBridgeErrorExternalCallback callback); + + [DllImport("__Internal")] + private static extern void FBRewardedVideoAdBridgeOnDidClose(int uniqueId, + FBRewardedVideoAdBridgeExternalCallback callback); + + [DllImport("__Internal")] + private static extern void FBRewardedVideoAdBridgeOnWillClose(int uniqueId, + FBRewardedVideoAdBridgeExternalCallback callback); + + [DllImport("__Internal")] + private static extern void FBRewardedVideoAdBridgeOnVideoComplete(int uniqueId, + FBRewardedVideoAdBridgeExternalCallback callback); + + [DllImport("__Internal")] + private static extern void FBRewardedVideoAdBridgeOnServerRewardSuccess(int uniqueId, + FBRewardedVideoAdBridgeExternalCallback callback); + + [DllImport("__Internal")] + private static extern void FBRewardedVideoAdBridgeOnServerRewardFailure(int uniqueId, + FBRewardedVideoAdBridgeExternalCallback callback); + + public override int Create(string placementId, RewardData rewardData, + RewardedVideoAd rewardedVideoAd) + { + int uniqueId = 0; + if (rewardData != null) + { + uniqueId = RewardedVideoAdBridgeIOS.FBRewardedVideoAdBridgeCreateWithReward(placementId, rewardData.UserId, rewardData.Currency); + } + else + { + uniqueId = RewardedVideoAdBridgeIOS.FBRewardedVideoAdBridgeCreate(placementId); + } + + RewardedVideoAdBridgeIOS.rewardedVideoAds.Add(uniqueId, new RewardedVideoAdContainer(rewardedVideoAd)); + RewardedVideoAdBridgeIOS.FBRewardedVideoAdBridgeOnLoad(uniqueId, rewardedVideoAdDidLoadBridgeCallback); + RewardedVideoAdBridgeIOS.FBRewardedVideoAdBridgeOnImpression(uniqueId, rewardedVideoAdWillLogImpressionBridgeCallback); + RewardedVideoAdBridgeIOS.FBRewardedVideoAdBridgeOnClick(uniqueId, rewardedVideoAdDidClickBridgeCallback); + RewardedVideoAdBridgeIOS.FBRewardedVideoAdBridgeOnError(uniqueId, rewardedVideoAdDidFailWithErrorBridgeCallback); + RewardedVideoAdBridgeIOS.FBRewardedVideoAdBridgeOnDidClose(uniqueId, rewardedVideoAdDidCloseBridgeCallback); + RewardedVideoAdBridgeIOS.FBRewardedVideoAdBridgeOnWillClose(uniqueId, rewardedVideoAdWillCloseBridgeCallback); + RewardedVideoAdBridgeIOS.FBRewardedVideoAdBridgeOnVideoComplete(uniqueId, rewardedVideoAdCompleteBridgeCallback); + RewardedVideoAdBridgeIOS.FBRewardedVideoAdBridgeOnServerRewardSuccess(uniqueId, rewardedVideoAdDidSucceedBridgeCallback); + RewardedVideoAdBridgeIOS.FBRewardedVideoAdBridgeOnServerRewardFailure(uniqueId, rewardedVideoAdDidFailBridgeCallback); + + return uniqueId; + } + + public override int Load(int uniqueId) + { + return RewardedVideoAdBridgeIOS.FBRewardedVideoAdBridgeLoad(uniqueId); + } + + public override int Load(int uniqueId, string bidPayload) + { + return RewardedVideoAdBridgeIOS.FBRewardedVideoAdBridgeLoadWithBidPayload(uniqueId, bidPayload); + } + + public override bool IsValid(int uniqueId) + { + return RewardedVideoAdBridgeIOS.FBRewardedVideoAdBridgeIsValid(uniqueId); + } + + public override void SetExtraHints(int uniqueId, ExtraHints extraHints) + { + RewardedVideoAdBridgeIOS.FBRewardedVideoAdBridgeSetExtraHints(uniqueId, JsonUtility.ToJson(extraHints)); + } + + public override bool Show(int uniqueId) + { + return RewardedVideoAdBridgeIOS.FBRewardedVideoAdBridgeShow(uniqueId); + } + + public override void Release(int uniqueId) + { + RewardedVideoAdBridgeIOS.rewardedVideoAds.Remove(uniqueId); + RewardedVideoAdBridgeIOS.FBRewardedVideoAdBridgeRelease(uniqueId); + } + + // Sets up internal managed callbacks + + public override void OnLoad(int uniqueId, + FBRewardedVideoAdBridgeCallback callback) + { + RewardedVideoAdContainer container = RewardedVideoAdBridgeIOS.rewardedVideoAdContainerForuniqueId(uniqueId); + if (container) + { + container.onLoad = (container.rewardedVideoAd.LoadAdFromData); + } + } + + public override void OnImpression(int uniqueId, + FBRewardedVideoAdBridgeCallback callback) + { + RewardedVideoAdContainer container = RewardedVideoAdBridgeIOS.rewardedVideoAdContainerForuniqueId(uniqueId); + if (container) + { + container.onImpression = callback; + } + } + + public override void OnClick(int uniqueId, + FBRewardedVideoAdBridgeCallback callback) + { + RewardedVideoAdContainer container = RewardedVideoAdBridgeIOS.rewardedVideoAdContainerForuniqueId(uniqueId); + if (container) + { + container.onClick = callback; + } + } + + public override void OnError(int uniqueId, + FBRewardedVideoAdBridgeErrorCallback callback) + { + RewardedVideoAdContainer container = RewardedVideoAdBridgeIOS.rewardedVideoAdContainerForuniqueId(uniqueId); + if (container) + { + container.onError = callback; + } + } + + public override void OnDidClose(int uniqueId, + FBRewardedVideoAdBridgeCallback callback) + { + RewardedVideoAdContainer container = RewardedVideoAdBridgeIOS.rewardedVideoAdContainerForuniqueId(uniqueId); + if (container) + { + container.onDidClose = callback; + } + } + + public override void OnWillClose(int uniqueId, + FBRewardedVideoAdBridgeCallback callback) + { + RewardedVideoAdContainer container = RewardedVideoAdBridgeIOS.rewardedVideoAdContainerForuniqueId(uniqueId); + if (container) + { + container.onWillClose = callback; + } + } + + public override void OnComplete(int uniqueId, + FBRewardedVideoAdBridgeCallback callback) + { + RewardedVideoAdContainer container = RewardedVideoAdBridgeIOS.rewardedVideoAdContainerForuniqueId(uniqueId); + if (container) + { + container.onComplete = callback; + } + } + + public override void OnDidSucceed(int uniqueId, + FBRewardedVideoAdBridgeCallback callback) + { + RewardedVideoAdContainer container = RewardedVideoAdBridgeIOS.rewardedVideoAdContainerForuniqueId(uniqueId); + if (container) + { + container.onDidSucceed = callback; + } + } + + public override void OnDidFail(int uniqueId, + FBRewardedVideoAdBridgeCallback callback) + { + RewardedVideoAdContainer container = RewardedVideoAdBridgeIOS.rewardedVideoAdContainerForuniqueId(uniqueId); + if (container) + { + container.onDidFail = callback; + } + } + + // External unmanaged callbacks (must be static) + + [MonoPInvokeCallback(typeof(FBRewardedVideoAdBridgeExternalCallback))] + private static void rewardedVideoAdDidLoadBridgeCallback(int uniqueId) + { + RewardedVideoAdContainer container = RewardedVideoAdBridgeIOS.rewardedVideoAdContainerForuniqueId(uniqueId); + if (container && container.onLoad != null) + { + container.onLoad(); + } + } + + [MonoPInvokeCallback(typeof(FBRewardedVideoAdBridgeExternalCallback))] + private static void rewardedVideoAdWillLogImpressionBridgeCallback(int uniqueId) + { + RewardedVideoAdContainer container = RewardedVideoAdBridgeIOS.rewardedVideoAdContainerForuniqueId(uniqueId); + if (container && container.onImpression != null) + { + container.onImpression(); + } + } + + [MonoPInvokeCallback(typeof(FBRewardedVideoAdBridgeErrorExternalCallback))] + private static void rewardedVideoAdDidFailWithErrorBridgeCallback(int uniqueId, string error) + { + RewardedVideoAdContainer container = RewardedVideoAdBridgeIOS.rewardedVideoAdContainerForuniqueId(uniqueId); + if (container && container.onError != null) + { + container.onError(error); + } + } + + [MonoPInvokeCallback(typeof(FBRewardedVideoAdBridgeExternalCallback))] + private static void rewardedVideoAdDidClickBridgeCallback(int uniqueId) + { + RewardedVideoAdContainer container = RewardedVideoAdBridgeIOS.rewardedVideoAdContainerForuniqueId(uniqueId); + if (container && container.onClick != null) + { + container.onClick(); + } + } + + [MonoPInvokeCallback(typeof(FBRewardedVideoAdBridgeExternalCallback))] + private static void rewardedVideoAdDidCloseBridgeCallback(int uniqueId) + { + RewardedVideoAdContainer container = RewardedVideoAdBridgeIOS.rewardedVideoAdContainerForuniqueId(uniqueId); + if (container && container.onDidClose != null) + { + container.onDidClose(); + } + } + + [MonoPInvokeCallback(typeof(FBRewardedVideoAdBridgeExternalCallback))] + private static void rewardedVideoAdWillCloseBridgeCallback(int uniqueId) + { + RewardedVideoAdContainer container = RewardedVideoAdBridgeIOS.rewardedVideoAdContainerForuniqueId(uniqueId); + if (container && container.onWillClose != null) + { + container.onWillClose(); + } + } + + [MonoPInvokeCallback(typeof(FBRewardedVideoAdBridgeExternalCallback))] + private static void rewardedVideoAdCompleteBridgeCallback(int uniqueId) + { + RewardedVideoAdContainer container = RewardedVideoAdBridgeIOS.rewardedVideoAdContainerForuniqueId(uniqueId); + if (container && container.onComplete != null) + { + container.onComplete(); + } + } + + [MonoPInvokeCallback(typeof(FBRewardedVideoAdBridgeExternalCallback))] + private static void rewardedVideoAdDidSucceedBridgeCallback(int uniqueId) + { + RewardedVideoAdContainer container = RewardedVideoAdBridgeIOS.rewardedVideoAdContainerForuniqueId(uniqueId); + if (container && container.onDidSucceed != null) + { + container.onDidSucceed(); + } + } + + [MonoPInvokeCallback(typeof(FBRewardedVideoAdBridgeExternalCallback))] + private static void rewardedVideoAdDidFailBridgeCallback(int uniqueId) + { + RewardedVideoAdContainer container = RewardedVideoAdBridgeIOS.rewardedVideoAdContainerForuniqueId(uniqueId); + if (container && container.onDidFail != null) + { + container.onDidFail(); + } + } + + } +#endif + + internal class RewardedVideoAdContainer + { + internal RewardedVideoAd rewardedVideoAd { get; set; } + + // iOS + internal FBRewardedVideoAdBridgeCallback onLoad { get; set; } + + internal FBRewardedVideoAdBridgeCallback onImpression { get; set; } + + internal FBRewardedVideoAdBridgeCallback onClick { get; set; } + + internal FBRewardedVideoAdBridgeErrorCallback onError { get; set; } + + internal FBRewardedVideoAdBridgeCallback onDidClose { get; set; } + + internal FBRewardedVideoAdBridgeCallback onWillClose { get; set; } + + internal FBRewardedVideoAdBridgeCallback onComplete { get; set; } + + internal FBRewardedVideoAdBridgeCallback onDidSucceed { get; set; } + + internal FBRewardedVideoAdBridgeCallback onDidFail { get; set; } + + // Android +#if UNITY_ANDROID + internal AndroidJavaProxy listenerProxy; + internal AndroidJavaObject bridgedRewardedVideoAd; + internal AndroidJavaObject rewardData; +#endif + + internal RewardedVideoAdContainer(RewardedVideoAd rewardedVideoAd) + { + this.rewardedVideoAd = rewardedVideoAd; + } + + public override string ToString() + { + return string.Format("[RewardedVideoAdContainer: rewardedVideoAd={0}, onLoad={1}]", rewardedVideoAd, onLoad); + } + + public static implicit operator bool(RewardedVideoAdContainer obj) + { + return !(object.ReferenceEquals(obj, null)); + } +#if UNITY_ANDROID + internal AndroidJavaObject LoadAdConfig(String bidPayload) + { + AndroidJavaObject configBuilder = bridgedRewardedVideoAd.Call("buildLoadAdConfig"); + configBuilder.Call("withAdListener", listenerProxy); + if (rewardData != null) + { + configBuilder.Call("withRewardData", rewardData); + } + if (bidPayload != null) + { + configBuilder.Call("withBid", bidPayload); + } + return configBuilder.Call("build"); + } + + public void Load() + { + Load(null); + } + public void Load(String bidPayload) + { + AndroidJavaObject loadConfig = LoadAdConfig(bidPayload); + bridgedRewardedVideoAd.Call("loadAd", loadConfig); + } +#endif + } + +#if UNITY_ANDROID + internal class RewardedVideoAdBridgeListenerProxy : AndroidJavaProxy + { + private RewardedVideoAd rewardedVideoAd; +#pragma warning disable 0414 + private readonly AndroidJavaObject bridgedRewardedVideoAd; +#pragma warning restore 0414 + + public RewardedVideoAdBridgeListenerProxy(RewardedVideoAd rewardedVideoAd, + AndroidJavaObject bridgedRewardedVideoAd) + : base("com.facebook.ads.S2SRewardedVideoAdExtendedListener") + { + this.rewardedVideoAd = rewardedVideoAd; + this.bridgedRewardedVideoAd = bridgedRewardedVideoAd; + } + + void onError(AndroidJavaObject ad, + AndroidJavaObject error) + { + string errorMessage = error.Call ("getErrorMessage"); + if (rewardedVideoAd.RewardedVideoAdDidFailWithError != null) + { + rewardedVideoAd.ExecuteOnMainThread(() => + { + rewardedVideoAd.RewardedVideoAdDidFailWithError(errorMessage); + }); + } + } + + void onAdLoaded(AndroidJavaObject ad) + { + rewardedVideoAd.LoadAdFromData(); + } + + void onAdClicked(AndroidJavaObject ad) + { + if (rewardedVideoAd.RewardedVideoAdDidClick != null) + { + rewardedVideoAd.ExecuteOnMainThread(() => + { + rewardedVideoAd.RewardedVideoAdDidClick(); + }); + } + } + + void onRewardedVideoDisplayed(AndroidJavaObject ad) + { + if (rewardedVideoAd.RewardedVideoAdWillLogImpression != null) + { + rewardedVideoAd.ExecuteOnMainThread(() => + { + rewardedVideoAd.RewardedVideoAdWillLogImpression(); + }); + } + } + + void onRewardedVideoClosed() + { + if (rewardedVideoAd.RewardedVideoAdDidClose != null) + { + rewardedVideoAd.ExecuteOnMainThread(() => + { + rewardedVideoAd.RewardedVideoAdDidClose(); + }); + } + } + + void onRewardedVideoCompleted() + { + if (rewardedVideoAd.RewardedVideoAdComplete != null) + { + rewardedVideoAd.ExecuteOnMainThread(() => + { + rewardedVideoAd.RewardedVideoAdComplete(); + }); + } + } + + void onRewardServerSuccess() + { + if (rewardedVideoAd.RewardedVideoAdDidSucceed != null) + { + rewardedVideoAd.ExecuteOnMainThread(() => + { + rewardedVideoAd.RewardedVideoAdDidSucceed(); + }); + } + } + + void onRewardServerFailed() + { + if (rewardedVideoAd.RewardedVideoAdDidFail != null) + { + rewardedVideoAd.ExecuteOnMainThread(() => + { + rewardedVideoAd.RewardedVideoAdDidFail(); + }); + } + } + + void onLoggingImpression(AndroidJavaObject ad) + { + if (rewardedVideoAd.RewardedVideoAdWillLogImpression != null) + { + rewardedVideoAd.ExecuteOnMainThread(() => + { + rewardedVideoAd.RewardedVideoAdWillLogImpression(); + }); + } + } + + void onRewardedVideoActivityDestroyed() + { + if (rewardedVideoAd.RewardedVideoAdActivityDestroyed != null) + { + rewardedVideoAd.ExecuteOnMainThread(() => + { + rewardedVideoAd.RewardedVideoAdActivityDestroyed(); + }); + } + } + } +#endif + +} diff --git a/Forest/Assets/AudienceNetwork/Library/RewardedVideoAd.cs.meta b/Forest/Assets/AudienceNetwork/Library/RewardedVideoAd.cs.meta new file mode 100644 index 0000000..126e8a9 --- /dev/null +++ b/Forest/Assets/AudienceNetwork/Library/RewardedVideoAd.cs.meta @@ -0,0 +1,13 @@ +fileFormatVersion: 2 +guid: 111ff137d27be424584e4e2160d44e80 +timeCreated: 1531986666 +licenseType: Pro +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Forest/Assets/AudienceNetwork/Library/SdkVersion.cs b/Forest/Assets/AudienceNetwork/Library/SdkVersion.cs new file mode 100644 index 0000000..1b97ea6 --- /dev/null +++ b/Forest/Assets/AudienceNetwork/Library/SdkVersion.cs @@ -0,0 +1,33 @@ +/** + * Copyright (c) 2014-present, Facebook, Inc. All rights reserved. + * + * You are hereby granted a non-exclusive, worldwide, royalty-free license to use, + * copy, modify, and distribute this software in source code or binary form for use + * in connection with the web services and APIs provided by Facebook. + * + * As with any software that integrates with the Facebook platform, your use of + * this software is subject to the Facebook Developer Principles and Policies + * [http://developers.facebook.com/policy/]. This copyright 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. + */ + +namespace AudienceNetwork +{ + public static class SdkVersion + { + public static string Build + { + get + { + return "6.4.0"; + } + } + } +} diff --git a/Forest/Assets/AudienceNetwork/Library/SdkVersion.cs.meta b/Forest/Assets/AudienceNetwork/Library/SdkVersion.cs.meta new file mode 100644 index 0000000..e230388 --- /dev/null +++ b/Forest/Assets/AudienceNetwork/Library/SdkVersion.cs.meta @@ -0,0 +1,13 @@ +fileFormatVersion: 2 +guid: 766cc4756a404418f86a9625e15090fc +timeCreated: 1531986666 +licenseType: Pro +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Forest/Assets/AudienceNetwork/Scenes.meta b/Forest/Assets/AudienceNetwork/Scenes.meta new file mode 100644 index 0000000..e7b3caf --- /dev/null +++ b/Forest/Assets/AudienceNetwork/Scenes.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: e9232d61943e74d6daf42157201fcaa0 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Forest/Assets/AudienceNetwork/Scenes/Banner.meta b/Forest/Assets/AudienceNetwork/Scenes/Banner.meta new file mode 100644 index 0000000..8c62434 --- /dev/null +++ b/Forest/Assets/AudienceNetwork/Scenes/Banner.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: add9d2dab81c344fe97da6591d3665fb +folderAsset: yes +timeCreated: 1531986660 +licenseType: Pro +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Forest/Assets/AudienceNetwork/Scenes/Banner/AdViewScene.cs b/Forest/Assets/AudienceNetwork/Scenes/Banner/AdViewScene.cs new file mode 100644 index 0000000..358f4a8 --- /dev/null +++ b/Forest/Assets/AudienceNetwork/Scenes/Banner/AdViewScene.cs @@ -0,0 +1,149 @@ +using UnityEngine; +using AudienceNetwork; +using UnityEngine.SceneManagement; +using UnityEngine.UI; +using AudienceNetwork.Utility; +using System; + +public class AdViewScene : BaseScene +{ + private AdView adView; + private AdPosition currentAdViewPosition; + private ScreenOrientation currentScreenOrientation; + public Text statusLabel; + private AdSize[] adSizeArray = (AdSize[])Enum.GetValues(typeof(AdSize)); + private int currentAdSize; + public Button loadAdButton; + + void OnDestroy() + { + // Dispose of banner ad when the scene is destroyed + if (adView) + { + adView.Dispose(); + } + Debug.Log("AdViewTest was destroyed!"); + } + + private void Awake() + { + AudienceNetworkAds.Initialize(); + SetLoadAddButtonText(); + SettingsScene.InitializeSettings(); + } + + private void SetLoadAddButtonText() + { + loadAdButton.GetComponentInChildren().text = + "Load Banner (" + adSizeArray[currentAdSize].ToString() + ")"; + } + + public void LoadBanner() + { + if (adView) + { + adView.Dispose(); + } + + statusLabel.text = "Loading Banner..."; + + // Create a banner's ad view with a unique placement ID + // (generate your own on the Facebook app settings). + // Use different ID for each ad placement in your app. + adView = new AdView("YOUR_PLACEMENT_ID", adSizeArray[currentAdSize]); + + + adView.Register(gameObject); + currentAdViewPosition = AdPosition.CUSTOM; + + // Set delegates to get notified on changes or when the user interacts + // with the ad. + adView.AdViewDidLoad = delegate () + { + currentScreenOrientation = Screen.orientation; + adView.Show(100); + string isAdValid = adView.IsValid() ? "valid" : "invalid"; + statusLabel.text = "Banner loaded and is " + isAdValid + "."; + Debug.Log("Banner loaded"); + }; + adView.AdViewDidFailWithError = delegate (string error) + { + statusLabel.text = "Banner failed to load with error: " + error; + Debug.Log("Banner failed to load with error: " + error); + }; + adView.AdViewWillLogImpression = delegate () + { + statusLabel.text = "Banner logged impression."; + Debug.Log("Banner logged impression."); + }; + adView.AdViewDidClick = delegate () + { + statusLabel.text = "Banner clicked."; + Debug.Log("Banner clicked."); + }; + + // Initiate a request to load an ad. + adView.LoadAd(); + } + + public void ChangeBannerSize() + { + currentAdSize += 1; + currentAdSize %= adSizeArray.Length; + SetLoadAddButtonText(); + } + + public void NextScene() + { + SceneManager.LoadScene("RewardedVideoAdScene"); + } + + // Change button + // Change the position of the ad view when button is clicked + // ad view is at top: move it to bottom + // ad view is at bottom: move it to 100 pixels along y-axis + // ad view is at custom position: move it to the top + public void ChangePosition() + { + switch (currentAdViewPosition) + { + case AdPosition.TOP: + SetAdViewPosition(AdPosition.BOTTOM); + break; + case AdPosition.BOTTOM: + SetAdViewPosition(AdPosition.CUSTOM); + break; + case AdPosition.CUSTOM: + SetAdViewPosition(AdPosition.TOP); + break; + } + } + + private void OnRectTransformDimensionsChange() + { + if (adView && Screen.orientation != currentScreenOrientation) + { + SetAdViewPosition(currentAdViewPosition); + currentScreenOrientation = Screen.orientation; + } + } + + private void SetAdViewPosition(AdPosition adPosition) + { + switch (adPosition) + { + case AdPosition.TOP: + adView.Show(AdPosition.TOP); + currentAdViewPosition = AdPosition.TOP; + break; + case AdPosition.BOTTOM: + adView.Show(AdPosition.BOTTOM); + currentAdViewPosition = AdPosition.BOTTOM; + break; + case AdPosition.CUSTOM: + adView.Show(100); + currentAdViewPosition = AdPosition.CUSTOM; + break; + } + } +} diff --git a/Forest/Assets/AudienceNetwork/Scenes/Banner/AdViewScene.cs.meta b/Forest/Assets/AudienceNetwork/Scenes/Banner/AdViewScene.cs.meta new file mode 100644 index 0000000..9a2b7a4 --- /dev/null +++ b/Forest/Assets/AudienceNetwork/Scenes/Banner/AdViewScene.cs.meta @@ -0,0 +1,13 @@ +fileFormatVersion: 2 +guid: 905b751bb63e44191a5363d3ed3d31d0 +timeCreated: 1531986666 +licenseType: Pro +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Forest/Assets/AudienceNetwork/Scenes/Banner/AdViewScene.unity b/Forest/Assets/AudienceNetwork/Scenes/Banner/AdViewScene.unity new file mode 100644 index 0000000..3f5a2e6 --- /dev/null +++ b/Forest/Assets/AudienceNetwork/Scenes/Banner/AdViewScene.unity @@ -0,0 +1,1578 @@ +%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: 9 + 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_IndirectSpecularColor: {r: 0, g: 0, b: 0, a: 1} + m_UseRadianceAmbientProbe: 0 +--- !u!157 &4 +LightmapSettings: + m_ObjectHideFlags: 0 + serializedVersion: 11 + m_GIWorkflowMode: 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: 10 + m_Resolution: 2 + m_BakeResolution: 40 + m_AtlasSize: 1024 + m_AO: 0 + m_AOMaxDistance: 1 + m_CompAOExponent: 0 + m_CompAOExponentDirect: 0 + m_Padding: 2 + m_LightmapParameters: {fileID: 0} + m_LightmapsBakeMode: 1 + m_TextureCompression: 1 + m_FinalGather: 0 + m_FinalGatherFiltering: 1 + m_FinalGatherRayCount: 1024 + m_ReflectionCompression: 2 + m_MixedBakeMode: 1 + m_BakeBackend: 0 + m_PVRSampling: 1 + m_PVRDirectSampleCount: 32 + m_PVRSampleCount: 500 + m_PVRBounces: 2 + m_PVRFilterTypeDirect: 0 + m_PVRFilterTypeIndirect: 0 + m_PVRFilterTypeAO: 0 + m_PVRFilteringMode: 0 + m_PVRCulling: 1 + m_PVRFilteringGaussRadiusDirect: 1 + m_PVRFilteringGaussRadiusIndirect: 5 + m_PVRFilteringGaussRadiusAO: 2 + m_PVRFilteringAtrousPositionSigmaDirect: 0.5 + m_PVRFilteringAtrousPositionSigmaIndirect: 2 + m_PVRFilteringAtrousPositionSigmaAO: 1 + m_ShowResolutionOverlay: 1 + m_LightingDataAsset: {fileID: 0} + m_UseShadowmask: 0 +--- !u!196 &5 +NavMeshSettings: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_BuildSettings: + serializedVersion: 2 + 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 + accuratePlacement: 0 + debug: + m_Flags: 0 + m_NavMeshData: {fileID: 0} +--- !u!1 &96394698 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 96394699} + - component: {fileID: 96394701} + - component: {fileID: 96394700} + m_Layer: 5 + m_Name: Status text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &96394699 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 96394698} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 560876176} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 1} + m_AnchorMax: {x: 0.5, y: 1} + m_AnchoredPosition: {x: 0, y: -150} + m_SizeDelta: {x: 700, y: 50} + m_Pivot: {x: 0.5, y: 1} +--- !u!114 &96394700 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 96394698} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 25 + 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: +--- !u!222 &96394701 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 96394698} + m_CullTransparentMesh: 0 +--- !u!1 &267155475 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 267155479} + - component: {fileID: 267155478} + - component: {fileID: 267155477} + - component: {fileID: 267155476} + m_Layer: 0 + m_Name: EventSystem + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &267155476 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 267155475} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1997211142, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ForceModuleActive: 0 +--- !u!114 &267155477 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 267155475} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1077351063, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_HorizontalAxis: Horizontal + m_VerticalAxis: Vertical + m_SubmitButton: Submit + m_CancelButton: Cancel + m_InputActionsPerSecond: 10 + m_RepeatDelay: 0.5 + m_ForceModuleActive: 0 +--- !u!114 &267155478 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 267155475} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -619905303, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_FirstSelected: {fileID: 0} + m_sendNavigationEvents: 1 + m_DragThreshold: 5 +--- !u!4 &267155479 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 267155475} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &378611027 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 378611032} + - component: {fileID: 378611031} + - component: {fileID: 378611030} + - component: {fileID: 378611029} + - component: {fileID: 378611028} + 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 &378611028 +AudioListener: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 378611027} + m_Enabled: 1 +--- !u!124 &378611029 +Behaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 378611027} + m_Enabled: 1 +--- !u!92 &378611030 +Behaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 378611027} + m_Enabled: 1 +--- !u!20 &378611031 +Camera: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 378611027} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 1 + m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0.019607844} + m_projectionMatrixMode: 1 + m_SensorSize: {x: 36, y: 24} + m_LensShift: {x: 0, y: 0} + m_GateFitMode: 2 + m_FocalLength: 50 + 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: 0 + m_AllowMSAA: 1 + m_AllowDynamicResolution: 0 + m_ForceIntoRT: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: 0.022 +--- !u!4 &378611032 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 378611027} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: -10} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &543807023 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 543807027} + - component: {fileID: 543807026} + - component: {fileID: 543807025} + - component: {fileID: 543807024} + m_Layer: 5 + m_Name: Next Scene Button + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &543807024 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 543807023} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1392445389, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_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_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 543807025} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 560876177} + m_MethodName: NextScene + 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: 1 +--- !u!114 &543807025 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 543807023} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 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 +--- !u!222 &543807026 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 543807023} + m_CullTransparentMesh: 0 +--- !u!224 &543807027 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 543807023} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1149595489} + m_Father: {fileID: 560876176} + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 225, y: 0} + m_SizeDelta: {x: 185, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &560876172 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 560876176} + - component: {fileID: 560876175} + - component: {fileID: 560876174} + - component: {fileID: 560876173} + - component: {fileID: 560876177} + m_Layer: 5 + m_Name: Canvas + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &560876173 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 560876172} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1301386320, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreReversedGraphics: 1 + m_BlockingObjects: 0 + m_BlockingMask: + serializedVersion: 2 + m_Bits: 4294967295 +--- !u!114 &560876174 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 560876172} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1980459831, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UiScaleMode: 0 + 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 +--- !u!223 &560876175 +Canvas: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 560876172} + 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_AdditionalShaderChannelsFlag: 25 + m_SortingLayerID: 0 + m_SortingOrder: 0 + m_TargetDisplay: 0 +--- !u!224 &560876176 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 560876172} + 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_Children: + - {fileID: 765981403} + - {fileID: 96394699} + - {fileID: 845596625} + - {fileID: 1204067292} + - {fileID: 1021114145} + - {fileID: 543807027} + - {fileID: 737988977} + m_Father: {fileID: 0} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0, y: 0} +--- !u!114 &560876177 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 560876172} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 905b751bb63e44191a5363d3ed3d31d0, type: 3} + m_Name: + m_EditorClassIdentifier: + statusLabel: {fileID: 96394700} + loadAdButton: {fileID: 845596626} +--- !u!1 &598798907 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 598798908} + - component: {fileID: 598798910} + - component: {fileID: 598798909} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &598798908 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 598798907} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 845596625} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &598798909 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 598798907} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, 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_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 20 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Load Banner +--- !u!222 &598798910 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 598798907} + m_CullTransparentMesh: 0 +--- !u!1 &737988976 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 737988977} + - component: {fileID: 737988980} + - component: {fileID: 737988979} + - component: {fileID: 737988978} + m_Layer: 5 + m_Name: Settings Button + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &737988977 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 737988976} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1491267819} + m_Father: {fileID: 560876176} + m_RootOrder: 6 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: -300} + m_SizeDelta: {x: 175, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &737988978 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 737988976} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1392445389, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_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_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 737988979} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 560876177} + m_MethodName: LoadSettingsScene + 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 &737988979 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 737988976} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 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 +--- !u!222 &737988980 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 737988976} + m_CullTransparentMesh: 0 +--- !u!1 &765981402 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 765981403} + - component: {fileID: 765981405} + - component: {fileID: 765981404} + m_Layer: 5 + m_Name: Audience Network Unity Test + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &765981403 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 765981402} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 560876176} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 1} + m_AnchorMax: {x: 0.5, y: 1} + m_AnchoredPosition: {x: 0, y: -100} + m_SizeDelta: {x: 700, y: 50} + m_Pivot: {x: 0.5, y: 1} +--- !u!114 &765981404 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 765981402} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 30 + m_FontStyle: 1 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Audience Network - Unity Banner Test +--- !u!222 &765981405 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 765981402} + m_CullTransparentMesh: 0 +--- !u!1 &845596624 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 845596625} + - component: {fileID: 845596628} + - component: {fileID: 845596627} + - component: {fileID: 845596626} + m_Layer: 5 + m_Name: Load Banner + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &845596625 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 845596624} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 598798908} + m_Father: {fileID: 560876176} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: -285, y: 0} + m_SizeDelta: {x: 300, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &845596626 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 845596624} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1392445389, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_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_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 845596627} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 560876177} + m_MethodName: LoadBanner + 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: 1 +--- !u!114 &845596627 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 845596624} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 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 +--- !u!222 &845596628 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 845596624} + m_CullTransparentMesh: 0 +--- !u!1 &853306691 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 853306692} + - component: {fileID: 853306694} + - component: {fileID: 853306693} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &853306692 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 853306691} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1204067292} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &853306693 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 853306691} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, 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_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 20 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Change Banner Position +--- !u!222 &853306694 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 853306691} + m_CullTransparentMesh: 0 +--- !u!1 &1021114144 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1021114145} + - component: {fileID: 1021114148} + - component: {fileID: 1021114147} + - component: {fileID: 1021114146} + m_Layer: 5 + m_Name: Change Banner Size Button + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1021114145 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1021114144} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1936022258} + m_Father: {fileID: 560876176} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 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: -150} + m_SizeDelta: {x: 175, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1021114146 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1021114144} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1392445389, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_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_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 1021114147} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 560876177} + m_MethodName: ChangeBannerSize + 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: 1 +--- !u!114 &1021114147 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1021114144} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 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 +--- !u!222 &1021114148 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1021114144} + m_CullTransparentMesh: 0 +--- !u!1 &1149595488 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1149595489} + - component: {fileID: 1149595491} + - component: {fileID: 1149595490} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1149595489 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1149595488} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 543807027} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1149595490 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1149595488} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, 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_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 20 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Next Scene +--- !u!222 &1149595491 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1149595488} + m_CullTransparentMesh: 0 +--- !u!1 &1204067291 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1204067292} + - component: {fileID: 1204067295} + - component: {fileID: 1204067294} + - component: {fileID: 1204067293} + m_Layer: 5 + m_Name: Change Banner Position Button + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1204067292 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1204067291} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 853306692} + m_Father: {fileID: 560876176} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 185, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1204067293 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1204067291} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1392445389, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_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_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 1204067294} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 560876177} + m_MethodName: ChangePosition + 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: 1 +--- !u!114 &1204067294 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1204067291} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 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 +--- !u!222 &1204067295 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1204067291} + m_CullTransparentMesh: 0 +--- !u!1 &1491267818 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1491267819} + - component: {fileID: 1491267821} + - component: {fileID: 1491267820} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1491267819 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1491267818} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 737988977} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1491267820 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1491267818} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f70555f144d8491a825f0804e09c671c, 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_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + 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: Settings +--- !u!222 &1491267821 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1491267818} + m_CullTransparentMesh: 0 +--- !u!1 &1936022257 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1936022258} + - component: {fileID: 1936022260} + - component: {fileID: 1936022259} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1936022258 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1936022257} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1021114145} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1936022259 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1936022257} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, 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_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 20 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Change Banner Size +--- !u!222 &1936022260 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1936022257} + m_CullTransparentMesh: 0 diff --git a/Forest/Assets/AudienceNetwork/Scenes/Banner/AdViewScene.unity.meta b/Forest/Assets/AudienceNetwork/Scenes/Banner/AdViewScene.unity.meta new file mode 100644 index 0000000..8cdd89d --- /dev/null +++ b/Forest/Assets/AudienceNetwork/Scenes/Banner/AdViewScene.unity.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: cb29e86fb3daa461f8da1a6d755fe9ce +timeCreated: 1531986660 +licenseType: Pro +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Forest/Assets/AudienceNetwork/Scenes/BaseScene.cs b/Forest/Assets/AudienceNetwork/Scenes/BaseScene.cs new file mode 100644 index 0000000..15a2234 --- /dev/null +++ b/Forest/Assets/AudienceNetwork/Scenes/BaseScene.cs @@ -0,0 +1,23 @@ +using UnityEngine; +using UnityEngine.SceneManagement; + +public class BaseScene : MonoBehaviour +{ + // Update is called once per frame + void Update() + { + if (Application.platform == RuntimePlatform.Android) + { + if (Input.GetKey(KeyCode.Escape)) + { + Application.Quit(); + return; + } + } + } + + public void LoadSettingsScene() + { + SceneManager.LoadScene("SettingsScene"); + } +} diff --git a/Forest/Assets/AudienceNetwork/Scenes/BaseScene.cs.meta b/Forest/Assets/AudienceNetwork/Scenes/BaseScene.cs.meta new file mode 100644 index 0000000..db91491 --- /dev/null +++ b/Forest/Assets/AudienceNetwork/Scenes/BaseScene.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: f8b448fe9f60a4883aa9907cc3236629 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Forest/Assets/AudienceNetwork/Scenes/Interstitial.meta b/Forest/Assets/AudienceNetwork/Scenes/Interstitial.meta new file mode 100644 index 0000000..06b9251 --- /dev/null +++ b/Forest/Assets/AudienceNetwork/Scenes/Interstitial.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 8c9f390ad7e3c4ac0a32a1479c44f14b +folderAsset: yes +timeCreated: 1531986660 +licenseType: Pro +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Forest/Assets/AudienceNetwork/Scenes/Interstitial/InterstitialAdScene.cs b/Forest/Assets/AudienceNetwork/Scenes/Interstitial/InterstitialAdScene.cs new file mode 100644 index 0000000..567a5fd --- /dev/null +++ b/Forest/Assets/AudienceNetwork/Scenes/Interstitial/InterstitialAdScene.cs @@ -0,0 +1,117 @@ +using UnityEngine; +using UnityEngine.UI; +using AudienceNetwork; +using UnityEngine.SceneManagement; +using AudienceNetwork.Utility; + +public class InterstitialAdScene : BaseScene +{ + + private InterstitialAd interstitialAd; + private bool isLoaded; +#pragma warning disable 0414 + private bool didClose; +#pragma warning restore 0414 + // UI elements in scene + public Text statusLabel; + + private void Awake() + { + AudienceNetworkAds.Initialize(); + SettingsScene.InitializeSettings(); + } + + // Load button + public void LoadInterstitial() + { + statusLabel.text = "Loading interstitial ad..."; + + // Create the interstitial unit with a placement ID (generate your own on the Facebook app settings). + // Use different ID for each ad placement in your app. + interstitialAd = new InterstitialAd("YOUR_PLACEMENT_ID"); + + interstitialAd.Register(gameObject); + + // Set delegates to get notified on changes or when the user interacts with the ad. + interstitialAd.InterstitialAdDidLoad = delegate () + { + Debug.Log("Interstitial ad loaded."); + isLoaded = true; + didClose = false; + string isAdValid = interstitialAd.IsValid() ? "valid" : "invalid"; + statusLabel.text = "Ad loaded and is " + isAdValid + ". Click show to present!"; + }; + interstitialAd.InterstitialAdDidFailWithError = delegate (string error) + { + Debug.Log("Interstitial ad failed to load with error: " + error); + statusLabel.text = "Interstitial ad failed to load. Check console for details."; + }; + interstitialAd.InterstitialAdWillLogImpression = delegate () + { + Debug.Log("Interstitial ad logged impression."); + }; + interstitialAd.InterstitialAdDidClick = delegate () + { + Debug.Log("Interstitial ad clicked."); + }; + interstitialAd.InterstitialAdDidClose = delegate () + { + Debug.Log("Interstitial ad did close."); + didClose = true; + if (interstitialAd != null) + { + interstitialAd.Dispose(); + } + }; + +#if UNITY_ANDROID + /* + * Only relevant to Android. + * This callback will only be triggered if the Interstitial activity has + * been destroyed without being properly closed. This can happen if an + * app with launchMode:singleTask (such as a Unity game) goes to + * background and is then relaunched by tapping the icon. + */ + interstitialAd.interstitialAdActivityDestroyed = delegate() { + if (!didClose) { + Debug.Log("Interstitial activity destroyed without being closed first."); + Debug.Log("Game should resume."); + } + }; +#endif + + // Initiate the request to load the ad. + interstitialAd.LoadAd(); + } + + // Show button + public void ShowInterstitial() + { + if (isLoaded) + { + interstitialAd.Show(); + isLoaded = false; + statusLabel.text = ""; + } + else + { + statusLabel.text = "Ad not loaded. Click load to request an ad."; + } + } + + void OnDestroy() + { + // Dispose of interstitial ad when the scene is destroyed + if (interstitialAd != null) + { + interstitialAd.Dispose(); + } + Debug.Log("InterstitialAdTest was destroyed!"); + } + + // Next button + public void NextScene() + { + SceneManager.LoadScene("AdViewScene"); + } +} diff --git a/Forest/Assets/AudienceNetwork/Scenes/Interstitial/InterstitialAdScene.cs.meta b/Forest/Assets/AudienceNetwork/Scenes/Interstitial/InterstitialAdScene.cs.meta new file mode 100644 index 0000000..8714fe0 --- /dev/null +++ b/Forest/Assets/AudienceNetwork/Scenes/Interstitial/InterstitialAdScene.cs.meta @@ -0,0 +1,13 @@ +fileFormatVersion: 2 +guid: 00d288c1305fc494882c5c1d674f6779 +timeCreated: 1531986666 +licenseType: Pro +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Forest/Assets/AudienceNetwork/Scenes/Interstitial/InterstitialAdScene.unity b/Forest/Assets/AudienceNetwork/Scenes/Interstitial/InterstitialAdScene.unity new file mode 100644 index 0000000..fc0803b --- /dev/null +++ b/Forest/Assets/AudienceNetwork/Scenes/Interstitial/InterstitialAdScene.unity @@ -0,0 +1,1374 @@ +%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: 9 + 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_IndirectSpecularColor: {r: 0, g: 0, b: 0, a: 1} + m_UseRadianceAmbientProbe: 0 +--- !u!157 &4 +LightmapSettings: + m_ObjectHideFlags: 0 + serializedVersion: 11 + m_GIWorkflowMode: 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: 10 + m_Resolution: 2 + m_BakeResolution: 40 + m_AtlasSize: 1024 + m_AO: 0 + m_AOMaxDistance: 1 + m_CompAOExponent: 0 + m_CompAOExponentDirect: 0 + m_Padding: 2 + m_LightmapParameters: {fileID: 0} + m_LightmapsBakeMode: 1 + m_TextureCompression: 1 + m_FinalGather: 0 + m_FinalGatherFiltering: 1 + m_FinalGatherRayCount: 1024 + m_ReflectionCompression: 2 + m_MixedBakeMode: 1 + m_BakeBackend: 0 + m_PVRSampling: 1 + m_PVRDirectSampleCount: 32 + m_PVRSampleCount: 500 + m_PVRBounces: 2 + m_PVRFilterTypeDirect: 0 + m_PVRFilterTypeIndirect: 0 + m_PVRFilterTypeAO: 0 + m_PVRFilteringMode: 0 + m_PVRCulling: 1 + m_PVRFilteringGaussRadiusDirect: 1 + m_PVRFilteringGaussRadiusIndirect: 5 + m_PVRFilteringGaussRadiusAO: 2 + m_PVRFilteringAtrousPositionSigmaDirect: 0.5 + m_PVRFilteringAtrousPositionSigmaIndirect: 2 + m_PVRFilteringAtrousPositionSigmaAO: 1 + m_ShowResolutionOverlay: 1 + m_LightingDataAsset: {fileID: 0} + m_UseShadowmask: 0 +--- !u!196 &5 +NavMeshSettings: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_BuildSettings: + serializedVersion: 2 + 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 + accuratePlacement: 0 + debug: + m_Flags: 0 + m_NavMeshData: {fileID: 0} +--- !u!1 &114642326 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 114642327} + - component: {fileID: 114642329} + - component: {fileID: 114642328} + m_Layer: 5 + m_Name: Audience Network Unity Test + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &114642327 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 114642326} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1339143504} + m_RootOrder: 1 + 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: -100} + m_SizeDelta: {x: 700, y: 50} + m_Pivot: {x: 0.5, y: 1} +--- !u!114 &114642328 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 114642326} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 30 + m_FontStyle: 1 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Audience Network - Unity Interstitial Test +--- !u!222 &114642329 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 114642326} + m_CullTransparentMesh: 0 +--- !u!1 &353650812 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 353650815} + - component: {fileID: 353650814} + - component: {fileID: 353650813} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &353650813 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 353650812} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, 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_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 20 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Next Scene +--- !u!222 &353650814 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 353650812} + m_CullTransparentMesh: 0 +--- !u!224 &353650815 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 353650812} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1752613758} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &513429168 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 513429172} + - component: {fileID: 513429171} + - component: {fileID: 513429170} + - component: {fileID: 513429169} + m_Layer: 0 + m_Name: EventSystem + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &513429169 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 513429168} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1997211142, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ForceModuleActive: 0 +--- !u!114 &513429170 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 513429168} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1077351063, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_HorizontalAxis: Horizontal + m_VerticalAxis: Vertical + m_SubmitButton: Submit + m_CancelButton: Cancel + m_InputActionsPerSecond: 10 + m_RepeatDelay: 0.5 + m_ForceModuleActive: 0 +--- !u!114 &513429171 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 513429168} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -619905303, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_FirstSelected: {fileID: 1234786357} + m_sendNavigationEvents: 1 + m_DragThreshold: 5 +--- !u!4 &513429172 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 513429168} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &535949356 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 535949357} + - component: {fileID: 535949360} + - component: {fileID: 535949359} + - component: {fileID: 535949358} + m_Layer: 5 + m_Name: Show Button + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &535949357 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 535949356} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 682767911} + m_Father: {fileID: 1339143504} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 185, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &535949358 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 535949356} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1392445389, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_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_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 535949359} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 1339143505} + m_MethodName: ShowInterstitial + 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: 1 +--- !u!114 &535949359 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 535949356} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 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 +--- !u!222 &535949360 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 535949356} + m_CullTransparentMesh: 0 +--- !u!1 &682767910 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 682767911} + - component: {fileID: 682767913} + - component: {fileID: 682767912} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &682767911 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 682767910} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 535949357} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &682767912 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 682767910} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, 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_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 20 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Show Interstitial +--- !u!222 &682767913 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 682767910} + m_CullTransparentMesh: 0 +--- !u!1 &925087624 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 925087626} + - component: {fileID: 925087627} + - component: {fileID: 925087625} + m_Layer: 5 + m_Name: Interstitial Status Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &925087625 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 925087624} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 24 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: +--- !u!224 &925087626 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 925087624} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1339143504} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 1} + m_AnchorMax: {x: 0.5, y: 1} + m_AnchoredPosition: {x: 0, y: -150} + m_SizeDelta: {x: 700, y: 50} + m_Pivot: {x: 0.5, y: 1} +--- !u!222 &925087627 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 925087624} + m_CullTransparentMesh: 0 +--- !u!1 &1234786357 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1234786358} + - component: {fileID: 1234786361} + - component: {fileID: 1234786360} + - component: {fileID: 1234786359} + m_Layer: 5 + m_Name: Load Button + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1234786358 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1234786357} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1279914892} + m_Father: {fileID: 1339143504} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: -225, y: 0} + m_SizeDelta: {x: 185, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1234786359 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1234786357} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1392445389, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_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_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 1234786360} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 1339143505} + m_MethodName: LoadInterstitial + 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: 1 +--- !u!114 &1234786360 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1234786357} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 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 +--- !u!222 &1234786361 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1234786357} + m_CullTransparentMesh: 0 +--- !u!1 &1279914891 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1279914892} + - component: {fileID: 1279914894} + - component: {fileID: 1279914893} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1279914892 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1279914891} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1234786358} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1279914893 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1279914891} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, 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_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 20 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Load Interstitial +--- !u!222 &1279914894 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1279914891} + m_CullTransparentMesh: 0 +--- !u!1 &1288556595 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1288556600} + - component: {fileID: 1288556599} + - component: {fileID: 1288556598} + - component: {fileID: 1288556597} + - component: {fileID: 1288556596} + 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 &1288556596 +AudioListener: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1288556595} + m_Enabled: 1 +--- !u!124 &1288556597 +Behaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1288556595} + m_Enabled: 1 +--- !u!92 &1288556598 +Behaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1288556595} + m_Enabled: 1 +--- !u!20 &1288556599 +Camera: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1288556595} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 1 + m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0.019607844} + m_projectionMatrixMode: 1 + m_SensorSize: {x: 36, y: 24} + m_LensShift: {x: 0, y: 0} + m_GateFitMode: 2 + m_FocalLength: 50 + 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: 0 + m_AllowMSAA: 1 + m_AllowDynamicResolution: 0 + m_ForceIntoRT: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: 0.022 +--- !u!4 &1288556600 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1288556595} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: -10} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1339143500 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1339143504} + - component: {fileID: 1339143503} + - component: {fileID: 1339143502} + - component: {fileID: 1339143501} + - component: {fileID: 1339143505} + m_Layer: 5 + m_Name: Canvas + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1339143501 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1339143500} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1301386320, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreReversedGraphics: 1 + m_BlockingObjects: 0 + m_BlockingMask: + serializedVersion: 2 + m_Bits: 4294967295 +--- !u!114 &1339143502 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1339143500} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1980459831, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UiScaleMode: 0 + 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 +--- !u!223 &1339143503 +Canvas: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1339143500} + 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_AdditionalShaderChannelsFlag: 25 + m_SortingLayerID: 0 + m_SortingOrder: 0 + m_TargetDisplay: 0 +--- !u!224 &1339143504 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1339143500} + 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_Children: + - {fileID: 1752613758} + - {fileID: 114642327} + - {fileID: 1234786358} + - {fileID: 535949357} + - {fileID: 925087626} + - {fileID: 1780631321} + m_Father: {fileID: 0} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0, y: 0} +--- !u!114 &1339143505 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1339143500} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 00d288c1305fc494882c5c1d674f6779, type: 3} + m_Name: + m_EditorClassIdentifier: + statusLabel: {fileID: 925087625} +--- !u!1 &1752613757 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1752613758} + - component: {fileID: 1752613761} + - component: {fileID: 1752613760} + - component: {fileID: 1752613759} + m_Layer: 5 + m_Name: Next Scene Button + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1752613758 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1752613757} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 353650815} + m_Father: {fileID: 1339143504} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 225, y: 0} + m_SizeDelta: {x: 185, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1752613759 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1752613757} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1392445389, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_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_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 1752613760} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 1339143505} + m_MethodName: NextScene + 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: 1 +--- !u!114 &1752613760 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1752613757} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 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 +--- !u!222 &1752613761 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1752613757} + m_CullTransparentMesh: 0 +--- !u!1 &1780631320 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1780631321} + - component: {fileID: 1780631324} + - component: {fileID: 1780631323} + - component: {fileID: 1780631322} + m_Layer: 5 + m_Name: Settings Button + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1780631321 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1780631320} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 2043770803} + m_Father: {fileID: 1339143504} + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: -150} + m_SizeDelta: {x: 185, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1780631322 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1780631320} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1392445389, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_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_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 1780631323} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 1339143505} + m_MethodName: LoadSettingsScene + 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 &1780631323 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1780631320} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 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 +--- !u!222 &1780631324 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1780631320} + m_CullTransparentMesh: 0 +--- !u!1 &2043770802 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2043770803} + - component: {fileID: 2043770805} + - component: {fileID: 2043770804} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2043770803 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2043770802} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1780631321} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &2043770804 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2043770802} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f70555f144d8491a825f0804e09c671c, 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_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + 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: Settings +--- !u!222 &2043770805 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2043770802} + m_CullTransparentMesh: 0 diff --git a/Forest/Assets/AudienceNetwork/Scenes/Interstitial/InterstitialAdScene.unity.meta b/Forest/Assets/AudienceNetwork/Scenes/Interstitial/InterstitialAdScene.unity.meta new file mode 100644 index 0000000..a7f3639 --- /dev/null +++ b/Forest/Assets/AudienceNetwork/Scenes/Interstitial/InterstitialAdScene.unity.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: f72b5a1d5965144f795ee32584534444 +timeCreated: 1531986660 +licenseType: Pro +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Forest/Assets/AudienceNetwork/Scenes/RewardedVideo.meta b/Forest/Assets/AudienceNetwork/Scenes/RewardedVideo.meta new file mode 100644 index 0000000..d1e1dd6 --- /dev/null +++ b/Forest/Assets/AudienceNetwork/Scenes/RewardedVideo.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: c8a0e5fbf02754ed683a9a2e34059b8c +folderAsset: yes +timeCreated: 1531986660 +licenseType: Pro +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Forest/Assets/AudienceNetwork/Scenes/RewardedVideo/RewardedVideoAdScene.cs b/Forest/Assets/AudienceNetwork/Scenes/RewardedVideo/RewardedVideoAdScene.cs new file mode 100644 index 0000000..a7b63ba --- /dev/null +++ b/Forest/Assets/AudienceNetwork/Scenes/RewardedVideo/RewardedVideoAdScene.cs @@ -0,0 +1,148 @@ +using UnityEngine; +using UnityEngine.UI; +using AudienceNetwork; +using UnityEngine.SceneManagement; +using AudienceNetwork.Utility; + +public class RewardedVideoAdScene : BaseScene +{ + + private RewardedVideoAd rewardedVideoAd; + private bool isLoaded; +#pragma warning disable 0414 + private bool didClose; +#pragma warning restore 0414 + + // UI elements in scene + public Text statusLabel; + + private void Awake() + { + AudienceNetworkAds.Initialize(); + SettingsScene.InitializeSettings(); + } + + // Load button + public void LoadRewardedVideo() + { + statusLabel.text = "Loading rewardedVideo ad..."; + + // Create the rewarded video unit with a placement ID (generate your own on the Facebook app settings). + // Use different ID for each ad placement in your app. + rewardedVideoAd = new RewardedVideoAd("YOUR_PLACEMENT_ID"); + + // For S2S validation you can create the rewarded video ad with the reward data + // Refer to documentation here: + // https://developers.facebook.com/docs/audience-network/android/rewarded-video#server-side-reward-validation + // https://developers.facebook.com/docs/audience-network/ios/rewarded-video#server-side-reward-validation + RewardData rewardData = new RewardData + { + UserId = "USER_ID", + Currency = "REWARD_ID" + }; +#pragma warning disable 0219 + RewardedVideoAd s2sRewardedVideoAd = new RewardedVideoAd("YOUR_PLACEMENT_ID", rewardData); +#pragma warning restore 0219 + + rewardedVideoAd.Register(gameObject); + + // Set delegates to get notified on changes or when the user interacts with the ad. + rewardedVideoAd.RewardedVideoAdDidLoad = delegate () + { + Debug.Log("RewardedVideo ad loaded."); + isLoaded = true; + didClose = false; + string isAdValid = rewardedVideoAd.IsValid() ? "valid" : "invalid"; + statusLabel.text = "Ad loaded and is " + isAdValid + ". Click show to present!"; + }; + rewardedVideoAd.RewardedVideoAdDidFailWithError = delegate (string error) + { + Debug.Log("RewardedVideo ad failed to load with error: " + error); + statusLabel.text = "RewardedVideo ad failed to load. Check console for details."; + }; + rewardedVideoAd.RewardedVideoAdWillLogImpression = delegate () + { + Debug.Log("RewardedVideo ad logged impression."); + }; + rewardedVideoAd.RewardedVideoAdDidClick = delegate () + { + Debug.Log("RewardedVideo ad clicked."); + }; + + // For S2S validation you need to register the following two callback + // Refer to documentation here: + // https://developers.facebook.com/docs/audience-network/android/rewarded-video#server-side-reward-validation + // https://developers.facebook.com/docs/audience-network/ios/rewarded-video#server-side-reward-validation + rewardedVideoAd.RewardedVideoAdDidSucceed = delegate () + { + Debug.Log("Rewarded video ad validated by server"); + }; + + rewardedVideoAd.RewardedVideoAdDidFail = delegate () + { + Debug.Log("Rewarded video ad not validated, or no response from server"); + }; + + rewardedVideoAd.RewardedVideoAdDidClose = delegate () + { + Debug.Log("Rewarded video ad did close."); + didClose = true; + if (rewardedVideoAd != null) + { + rewardedVideoAd.Dispose(); + } + }; + +#if UNITY_ANDROID + /* + * Only relevant to Android. + * This callback will only be triggered if the Rewarded Video activity + * has been destroyed without being properly closed. This can happen if + * an app with launchMode:singleTask (such as a Unity game) goes to + * background and is then relaunched by tapping the icon. + */ + rewardedVideoAd.RewardedVideoAdActivityDestroyed = delegate () + { + if (!didClose) + { + Debug.Log("Rewarded video activity destroyed without being closed first."); + Debug.Log("Game should resume. User should not get a reward."); + } + }; +#endif + + // Initiate the request to load the ad. + rewardedVideoAd.LoadAd(); + } + + // Show button + public void ShowRewardedVideo() + { + if (isLoaded) + { + rewardedVideoAd.Show(); + isLoaded = false; + statusLabel.text = ""; + } + else + { + statusLabel.text = "Ad not loaded. Click load to request an ad."; + } + } + + void OnDestroy() + { + // Dispose of rewardedVideo ad when the scene is destroyed + if (rewardedVideoAd != null) + { + rewardedVideoAd.Dispose(); + } + Debug.Log("RewardedVideoAdTest was destroyed!"); + } + + // Next button + public void NextScene() + { + SceneManager.LoadScene("InterstitialAdScene"); + } +} diff --git a/Forest/Assets/AudienceNetwork/Scenes/RewardedVideo/RewardedVideoAdScene.cs.meta b/Forest/Assets/AudienceNetwork/Scenes/RewardedVideo/RewardedVideoAdScene.cs.meta new file mode 100644 index 0000000..10fc98c --- /dev/null +++ b/Forest/Assets/AudienceNetwork/Scenes/RewardedVideo/RewardedVideoAdScene.cs.meta @@ -0,0 +1,13 @@ +fileFormatVersion: 2 +guid: 84bf87db85e7a4d18bf8422eb54ac837 +timeCreated: 1531986666 +licenseType: Pro +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Forest/Assets/AudienceNetwork/Scenes/RewardedVideo/RewardedVideoAdScene.unity b/Forest/Assets/AudienceNetwork/Scenes/RewardedVideo/RewardedVideoAdScene.unity new file mode 100644 index 0000000..4d44ba9 --- /dev/null +++ b/Forest/Assets/AudienceNetwork/Scenes/RewardedVideo/RewardedVideoAdScene.unity @@ -0,0 +1,1360 @@ +%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: 9 + 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_IndirectSpecularColor: {r: 0, g: 0, b: 0, a: 1} + m_UseRadianceAmbientProbe: 0 +--- !u!157 &3 +LightmapSettings: + m_ObjectHideFlags: 0 + serializedVersion: 11 + m_GIWorkflowMode: 1 + 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: 10 + m_Resolution: 2 + m_BakeResolution: 40 + m_AtlasSize: 1024 + m_AO: 0 + m_AOMaxDistance: 1 + m_CompAOExponent: 1 + m_CompAOExponentDirect: 0 + m_Padding: 2 + m_LightmapParameters: {fileID: 0} + m_LightmapsBakeMode: 1 + m_TextureCompression: 1 + m_FinalGather: 0 + m_FinalGatherFiltering: 1 + m_FinalGatherRayCount: 256 + m_ReflectionCompression: 2 + m_MixedBakeMode: 1 + m_BakeBackend: 0 + m_PVRSampling: 1 + m_PVRDirectSampleCount: 32 + m_PVRSampleCount: 500 + m_PVRBounces: 2 + m_PVRFilterTypeDirect: 0 + m_PVRFilterTypeIndirect: 0 + m_PVRFilterTypeAO: 0 + m_PVRFilteringMode: 0 + m_PVRCulling: 1 + m_PVRFilteringGaussRadiusDirect: 1 + m_PVRFilteringGaussRadiusIndirect: 5 + m_PVRFilteringGaussRadiusAO: 2 + m_PVRFilteringAtrousPositionSigmaDirect: 0.5 + m_PVRFilteringAtrousPositionSigmaIndirect: 2 + m_PVRFilteringAtrousPositionSigmaAO: 1 + m_ShowResolutionOverlay: 1 + m_LightingDataAsset: {fileID: 0} + m_UseShadowmask: 0 +--- !u!196 &4 +NavMeshSettings: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_BuildSettings: + serializedVersion: 2 + 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 + accuratePlacement: 0 + debug: + m_Flags: 0 + m_NavMeshData: {fileID: 0} +--- !u!1 &121321146 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 121321147} + - component: {fileID: 121321149} + - component: {fileID: 121321148} + m_Layer: 5 + m_Name: Audience Network Unity Test + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &121321147 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 121321146} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 2130842001} + m_RootOrder: 1 + 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: -100} + m_SizeDelta: {x: 700, y: 50} + m_Pivot: {x: 0.5, y: 1} +--- !u!114 &121321148 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 121321146} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 30 + m_FontStyle: 1 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Audience Network - Unity Rewarded Video Test +--- !u!222 &121321149 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 121321146} + m_CullTransparentMesh: 0 +--- !u!1 &253984072 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 253984073} + - component: {fileID: 253984075} + - component: {fileID: 253984074} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &253984073 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 253984072} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1740406830} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &253984074 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 253984072} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, 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_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 20 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Next Scene +--- !u!222 &253984075 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 253984072} + m_CullTransparentMesh: 0 +--- !u!1 &380623626 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 380623627} + - component: {fileID: 380623629} + - component: {fileID: 380623628} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &380623627 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 380623626} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1469363461} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &380623628 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 380623626} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, 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_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 20 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Load Rewarded Video +--- !u!222 &380623629 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 380623626} + m_CullTransparentMesh: 0 +--- !u!1 &406056991 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 406056992} + - component: {fileID: 406056995} + - component: {fileID: 406056994} + - component: {fileID: 406056993} + m_Layer: 5 + m_Name: Settings Button + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &406056992 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 406056991} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1575793284} + m_Father: {fileID: 2130842001} + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: -150} + m_SizeDelta: {x: 185, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &406056993 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 406056991} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1392445389, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_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_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 406056994} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 2130841997} + m_MethodName: LoadSettingsScene + 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 &406056994 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 406056991} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 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 +--- !u!222 &406056995 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 406056991} + m_CullTransparentMesh: 0 +--- !u!1 &558773802 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 558773803} + - component: {fileID: 558773805} + - component: {fileID: 558773804} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &558773803 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 558773802} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 2035170271} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &558773804 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 558773802} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, 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_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 20 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Show Rewarded Video +--- !u!222 &558773805 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 558773802} + m_CullTransparentMesh: 0 +--- !u!1 &638381789 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 638381790} + - component: {fileID: 638381792} + - component: {fileID: 638381791} + m_Layer: 5 + m_Name: Rewarded Video Status Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &638381790 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 638381789} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 2130842001} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 1} + m_AnchorMax: {x: 0.5, y: 1} + m_AnchoredPosition: {x: 0, y: -150} + m_SizeDelta: {x: 700, y: 50} + m_Pivot: {x: 0.5, y: 1} +--- !u!114 &638381791 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 638381789} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 24 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: +--- !u!222 &638381792 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 638381789} + m_CullTransparentMesh: 0 +--- !u!1 &1332075187 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1332075190} + - component: {fileID: 1332075189} + - component: {fileID: 1332075188} + m_Layer: 0 + m_Name: EventSystem + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1332075188 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1332075187} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1077351063, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_HorizontalAxis: Horizontal + m_VerticalAxis: Vertical + m_SubmitButton: Submit + m_CancelButton: Cancel + m_InputActionsPerSecond: 10 + m_RepeatDelay: 0.5 + m_ForceModuleActive: 0 +--- !u!114 &1332075189 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1332075187} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -619905303, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_FirstSelected: {fileID: 0} + m_sendNavigationEvents: 1 + m_DragThreshold: 5 +--- !u!4 &1332075190 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1332075187} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1469363460 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1469363461} + - component: {fileID: 1469363464} + - component: {fileID: 1469363463} + - component: {fileID: 1469363462} + m_Layer: 5 + m_Name: Load Button + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1469363461 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1469363460} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 380623627} + m_Father: {fileID: 2130842001} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: -225, y: 0} + m_SizeDelta: {x: 185, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1469363462 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1469363460} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1392445389, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_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_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 1469363463} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 2130841997} + m_MethodName: LoadRewardedVideo + 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: 1 +--- !u!114 &1469363463 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1469363460} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 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 +--- !u!222 &1469363464 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1469363460} + m_CullTransparentMesh: 0 +--- !u!1 &1575793283 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1575793284} + - component: {fileID: 1575793286} + - component: {fileID: 1575793285} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1575793284 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1575793283} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 406056992} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1575793285 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1575793283} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f70555f144d8491a825f0804e09c671c, 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_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + 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: Settings +--- !u!222 &1575793286 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1575793283} + m_CullTransparentMesh: 0 +--- !u!1 &1740406829 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1740406830} + - component: {fileID: 1740406833} + - component: {fileID: 1740406832} + - component: {fileID: 1740406831} + m_Layer: 5 + m_Name: Next Scene Button + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1740406830 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1740406829} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 253984073} + m_Father: {fileID: 2130842001} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 225, y: 0} + m_SizeDelta: {x: 185, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1740406831 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1740406829} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1392445389, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_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_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 1740406832} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 2130841997} + m_MethodName: NextScene + 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: 1 +--- !u!114 &1740406832 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1740406829} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 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 +--- !u!222 &1740406833 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1740406829} + m_CullTransparentMesh: 0 +--- !u!1 &1912655476 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1912655481} + - component: {fileID: 1912655480} + - component: {fileID: 1912655479} + - component: {fileID: 1912655478} + - component: {fileID: 1912655477} + 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 &1912655477 +AudioListener: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1912655476} + m_Enabled: 1 +--- !u!124 &1912655478 +Behaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1912655476} + m_Enabled: 1 +--- !u!92 &1912655479 +Behaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1912655476} + m_Enabled: 1 +--- !u!20 &1912655480 +Camera: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1912655476} + 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_SensorSize: {x: 36, y: 24} + m_LensShift: {x: 0, y: 0} + m_GateFitMode: 2 + m_FocalLength: 50 + 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: 0 + m_AllowMSAA: 1 + m_AllowDynamicResolution: 0 + m_ForceIntoRT: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: 0.022 +--- !u!4 &1912655481 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1912655476} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: -10} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &2035170270 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2035170271} + - component: {fileID: 2035170274} + - component: {fileID: 2035170273} + - component: {fileID: 2035170272} + m_Layer: 5 + m_Name: Show Button + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2035170271 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2035170270} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 558773803} + m_Father: {fileID: 2130842001} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 185, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &2035170272 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2035170270} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1392445389, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_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_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 2035170273} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 2130841997} + m_MethodName: ShowRewardedVideo + 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: 1 +--- !u!114 &2035170273 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2035170270} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 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 +--- !u!222 &2035170274 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2035170270} + m_CullTransparentMesh: 0 +--- !u!1 &2130841996 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2130842001} + - component: {fileID: 2130842000} + - component: {fileID: 2130841999} + - component: {fileID: 2130841998} + - component: {fileID: 2130841997} + m_Layer: 5 + m_Name: Canvas + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &2130841997 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2130841996} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 84bf87db85e7a4d18bf8422eb54ac837, type: 3} + m_Name: + m_EditorClassIdentifier: + statusLabel: {fileID: 638381791} +--- !u!114 &2130841998 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2130841996} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1301386320, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreReversedGraphics: 1 + m_BlockingObjects: 0 + m_BlockingMask: + serializedVersion: 2 + m_Bits: 4294967295 +--- !u!114 &2130841999 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2130841996} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1980459831, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UiScaleMode: 0 + 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 +--- !u!223 &2130842000 +Canvas: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2130841996} + 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_AdditionalShaderChannelsFlag: 25 + m_SortingLayerID: 0 + m_SortingOrder: 0 + m_TargetDisplay: 0 +--- !u!224 &2130842001 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2130841996} + 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_Children: + - {fileID: 1740406830} + - {fileID: 121321147} + - {fileID: 1469363461} + - {fileID: 2035170271} + - {fileID: 638381790} + - {fileID: 406056992} + m_Father: {fileID: 0} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0, y: 0} diff --git a/Forest/Assets/AudienceNetwork/Scenes/RewardedVideo/RewardedVideoAdScene.unity.meta b/Forest/Assets/AudienceNetwork/Scenes/RewardedVideo/RewardedVideoAdScene.unity.meta new file mode 100644 index 0000000..8f56407 --- /dev/null +++ b/Forest/Assets/AudienceNetwork/Scenes/RewardedVideo/RewardedVideoAdScene.unity.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 0079f98ce8e504ce0b9d7c937e331b03 +timeCreated: 1531986660 +licenseType: Pro +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Forest/Assets/AudienceNetwork/Scenes/Settings.meta b/Forest/Assets/AudienceNetwork/Scenes/Settings.meta new file mode 100644 index 0000000..971ab47 --- /dev/null +++ b/Forest/Assets/AudienceNetwork/Scenes/Settings.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: fe8cf484a03ff40ffa517b7d74fb82e9 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Forest/Assets/AudienceNetwork/Scenes/Settings/SettingsScene.cs b/Forest/Assets/AudienceNetwork/Scenes/Settings/SettingsScene.cs new file mode 100644 index 0000000..08819a6 --- /dev/null +++ b/Forest/Assets/AudienceNetwork/Scenes/Settings/SettingsScene.cs @@ -0,0 +1,54 @@ +using UnityEngine; +using UnityEngine.SceneManagement; +using UnityEngine.UI; + +public class SettingsScene : MonoBehaviour +{ + private static string URL_PREFIX_KEY = "URL_PREFIX"; + + public InputField urlPrefixInput; + public Text sdkVersionText; + + private string urlPrefix; + + // Loads settings from previous play session + public static void InitializeSettings() + { + string prefix = PlayerPrefs.GetString(URL_PREFIX_KEY, ""); + AudienceNetwork.AdSettings.SetUrlPrefix(prefix); + } + + void Start() + { + urlPrefix = PlayerPrefs.GetString(URL_PREFIX_KEY, ""); + urlPrefixInput.text = urlPrefix; + sdkVersionText.text = AudienceNetwork.SdkVersion.Build; + } + + public void OnEditEnd(string prefix) + { + urlPrefix = prefix; + SaveSettings(); + } + + public void SaveSettings() + { + PlayerPrefs.SetString(URL_PREFIX_KEY, urlPrefix); + AudienceNetwork.AdSettings.SetUrlPrefix(urlPrefix); + } + + public void AdViewScene() + { + SceneManager.LoadScene("AdViewScene"); + } + + public void InterstitialAdScene() + { + SceneManager.LoadScene("InterstitialAdScene"); + } + + public void RewardedVideoAdScene() + { + SceneManager.LoadScene("RewardedVideoAdScene"); + } +} diff --git a/Forest/Assets/AudienceNetwork/Scenes/Settings/SettingsScene.cs.meta b/Forest/Assets/AudienceNetwork/Scenes/Settings/SettingsScene.cs.meta new file mode 100644 index 0000000..a91e737 --- /dev/null +++ b/Forest/Assets/AudienceNetwork/Scenes/Settings/SettingsScene.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 12a33cb7aa8f042ef8bc6a44c91eed4d +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Forest/Assets/AudienceNetwork/Scenes/Settings/SettingsScene.unity b/Forest/Assets/AudienceNetwork/Scenes/Settings/SettingsScene.unity new file mode 100644 index 0000000..f2c63e2 --- /dev/null +++ b/Forest/Assets/AudienceNetwork/Scenes/Settings/SettingsScene.unity @@ -0,0 +1,1759 @@ +%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: 9 + 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: 0 + m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} + m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 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_IndirectSpecularColor: {r: 0.3731193, g: 0.38073996, b: 0.35872698, a: 1} + m_UseRadianceAmbientProbe: 0 +--- !u!157 &3 +LightmapSettings: + m_ObjectHideFlags: 0 + serializedVersion: 11 + m_GIWorkflowMode: 0 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 1 + m_LightmapEditorSettings: + serializedVersion: 10 + m_Resolution: 2 + m_BakeResolution: 40 + m_AtlasSize: 1024 + m_AO: 0 + m_AOMaxDistance: 1 + m_CompAOExponent: 1 + m_CompAOExponentDirect: 0 + m_Padding: 2 + m_LightmapParameters: {fileID: 0} + m_LightmapsBakeMode: 1 + m_TextureCompression: 1 + m_FinalGather: 0 + m_FinalGatherFiltering: 1 + m_FinalGatherRayCount: 256 + m_ReflectionCompression: 2 + m_MixedBakeMode: 2 + m_BakeBackend: 1 + m_PVRSampling: 1 + m_PVRDirectSampleCount: 32 + m_PVRSampleCount: 500 + m_PVRBounces: 2 + m_PVRFilterTypeDirect: 0 + m_PVRFilterTypeIndirect: 0 + m_PVRFilterTypeAO: 0 + m_PVRFilteringMode: 1 + m_PVRCulling: 1 + m_PVRFilteringGaussRadiusDirect: 1 + m_PVRFilteringGaussRadiusIndirect: 5 + m_PVRFilteringGaussRadiusAO: 2 + m_PVRFilteringAtrousPositionSigmaDirect: 0.5 + m_PVRFilteringAtrousPositionSigmaIndirect: 2 + m_PVRFilteringAtrousPositionSigmaAO: 1 + m_ShowResolutionOverlay: 1 + m_LightingDataAsset: {fileID: 0} + m_UseShadowmask: 1 +--- !u!196 &4 +NavMeshSettings: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_BuildSettings: + serializedVersion: 2 + 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 + accuratePlacement: 0 + debug: + m_Flags: 0 + m_NavMeshData: {fileID: 0} +--- !u!1 &170827298 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 170827299} + - component: {fileID: 170827301} + - component: {fileID: 170827300} + m_Layer: 0 + m_Name: Padding + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &170827299 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 170827298} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 861782207} + m_RootOrder: 4 + 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: 160, y: 30} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &170827300 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 170827298} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f70555f144d8491a825f0804e09c671c, 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_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 14 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 0 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: +--- !u!222 &170827301 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 170827298} + m_CullTransparentMesh: 0 +--- !u!1 &364833956 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 364833957} + - component: {fileID: 364833959} + - component: {fileID: 364833958} + m_Layer: 0 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &364833957 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 364833956} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1379954410} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &364833958 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 364833956} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f70555f144d8491a825f0804e09c671c, 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_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + 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: Test Banners +--- !u!222 &364833959 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 364833956} + m_CullTransparentMesh: 0 +--- !u!1 &451605880 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 451605883} + - component: {fileID: 451605882} + - component: {fileID: 451605881} + 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 &451605881 +AudioListener: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 451605880} + m_Enabled: 1 +--- !u!20 &451605882 +Camera: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 451605880} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 2 + m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0} + m_projectionMatrixMode: 1 + m_SensorSize: {x: 36, y: 24} + m_LensShift: {x: 0, y: 0} + m_GateFitMode: 2 + m_FocalLength: 50 + 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: 0 + 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 &451605883 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 451605880} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 1, z: -10} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &460914875 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 460914876} + - component: {fileID: 460914878} + - component: {fileID: 460914877} + m_Layer: 0 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &460914876 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 460914875} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1310391971} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &460914877 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 460914875} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f70555f144d8491a825f0804e09c671c, 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_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + 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: Test Rewarded Videos +--- !u!222 &460914878 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 460914875} + m_CullTransparentMesh: 0 +--- !u!1 &738686355 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 738686356} + - component: {fileID: 738686358} + - component: {fileID: 738686357} + m_Layer: 0 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &738686356 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 738686355} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1696471893} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &738686357 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 738686355} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f70555f144d8491a825f0804e09c671c, 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_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + 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: Test Interstitials +--- !u!222 &738686358 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 738686355} + m_CullTransparentMesh: 0 +--- !u!1 &861782202 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 861782207} + - component: {fileID: 861782206} + - component: {fileID: 861782205} + - component: {fileID: 861782204} + - component: {fileID: 861782203} + - component: {fileID: 861782208} + m_Layer: 5 + m_Name: AdSettings + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &861782203 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 861782202} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 12a33cb7aa8f042ef8bc6a44c91eed4d, type: 3} + m_Name: + m_EditorClassIdentifier: + urlPrefixInput: {fileID: 921926402} + sdkVersionText: {fileID: 1926159513} +--- !u!114 &861782204 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 861782202} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1301386320, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreReversedGraphics: 1 + m_BlockingObjects: 0 + m_BlockingMask: + serializedVersion: 2 + m_Bits: 4294967295 +--- !u!114 &861782205 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 861782202} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1980459831, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UiScaleMode: 0 + 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 +--- !u!223 &861782206 +Canvas: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 861782202} + 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_AdditionalShaderChannelsFlag: 0 + m_SortingLayerID: 0 + m_SortingOrder: 1 + m_TargetDisplay: 0 +--- !u!224 &861782207 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 861782202} + 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_Children: + - {fileID: 1199565905} + - {fileID: 1742651766} + - {fileID: 1926159512} + - {fileID: 1755348518} + - {fileID: 170827299} + - {fileID: 1379954410} + - {fileID: 1696471893} + - {fileID: 1310391971} + m_Father: {fileID: 0} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0, y: 0} +--- !u!114 &861782208 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 861782202} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1297475563, guid: f70555f144d8491a825f0804e09c671c, 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: 20 + m_ChildForceExpandWidth: 0 + m_ChildForceExpandHeight: 0 + m_ChildControlWidth: 0 + m_ChildControlHeight: 0 +--- !u!1 &921926400 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 921926401} + - component: {fileID: 921926404} + - component: {fileID: 921926403} + - component: {fileID: 921926402} + m_Layer: 0 + m_Name: URLPrefixInput + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &921926401 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 921926400} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1473656527} + - {fileID: 2098629747} + m_Father: {fileID: 1755348518} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 160, y: 40} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &921926402 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 921926400} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 575553740, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_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_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 921926403} + m_TextComponent: {fileID: 2098629748} + m_Placeholder: {fileID: 1473656528} + m_ContentType: 0 + m_InputType: 0 + m_AsteriskChar: 42 + m_KeyboardType: 0 + m_LineType: 0 + m_HideMobileInput: 0 + m_CharacterValidation: 0 + m_CharacterLimit: 0 + m_OnEndEdit: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 861782203} + m_MethodName: OnEditEnd + m_Mode: 0 + 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 + m_OnValueChanged: + m_PersistentCalls: + m_Calls: [] + m_CaretColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_CustomCaretColor: 0 + m_SelectionColor: {r: 0.65882355, g: 0.80784315, b: 1, a: 0.7529412} + m_Text: + m_CaretBlinkRate: 0.85 + m_CaretWidth: 1 + m_ReadOnly: 0 +--- !u!114 &921926403 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 921926400} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10911, 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 +--- !u!222 &921926404 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 921926400} + m_CullTransparentMesh: 0 +--- !u!1 &1107470344 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1107470345} + - component: {fileID: 1107470347} + - component: {fileID: 1107470346} + m_Layer: 0 + m_Name: URLPrefixLabel + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1107470345 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1107470344} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1755348518} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 160, y: 40} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1107470346 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1107470344} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + 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: URL Prefix +--- !u!222 &1107470347 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1107470344} + m_CullTransparentMesh: 0 +--- !u!1 &1199565904 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1199565905} + - component: {fileID: 1199565907} + - component: {fileID: 1199565906} + m_Layer: 0 + m_Name: Title + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1199565905 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1199565904} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 861782207} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 800, y: 40} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1199565906 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1199565904} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 30 + m_FontStyle: 1 + 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: Audience Network Unity Sample Settings +--- !u!222 &1199565907 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1199565904} + m_CullTransparentMesh: 0 +--- !u!1 &1310391970 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1310391971} + - component: {fileID: 1310391974} + - component: {fileID: 1310391973} + - component: {fileID: 1310391972} + m_Layer: 0 + m_Name: Rewarded Video Button + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1310391971 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1310391970} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 460914876} + m_Father: {fileID: 861782207} + m_RootOrder: 7 + 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: 220, y: 60} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1310391972 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1310391970} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1392445389, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_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_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 1310391973} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 861782203} + m_MethodName: RewardedVideoAdScene + 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 &1310391973 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1310391970} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 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 +--- !u!222 &1310391974 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1310391970} + m_CullTransparentMesh: 0 +--- !u!1 &1379954409 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1379954410} + - component: {fileID: 1379954413} + - component: {fileID: 1379954412} + - component: {fileID: 1379954411} + m_Layer: 0 + m_Name: Banner Button + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1379954410 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1379954409} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 364833957} + m_Father: {fileID: 861782207} + m_RootOrder: 5 + 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: 220, y: 60} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1379954411 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1379954409} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1392445389, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_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_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 1379954412} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 861782203} + m_MethodName: AdViewScene + 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 &1379954412 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1379954409} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 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 +--- !u!222 &1379954413 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1379954409} + m_CullTransparentMesh: 0 +--- !u!1 &1473656526 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1473656527} + - component: {fileID: 1473656529} + - component: {fileID: 1473656528} + m_Layer: 0 + m_Name: Placeholder + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1473656527 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1473656526} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 921926401} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: -0.5} + m_SizeDelta: {x: -20, y: -13} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1473656528 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1473656526} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 0.5} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 14 + m_FontStyle: 2 + 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: Enter text... +--- !u!222 &1473656529 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1473656526} + m_CullTransparentMesh: 0 +--- !u!1 &1601330494 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1601330497} + - component: {fileID: 1601330496} + - component: {fileID: 1601330495} + m_Layer: 0 + m_Name: EventSystem + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1601330495 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1601330494} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1077351063, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_HorizontalAxis: Horizontal + m_VerticalAxis: Vertical + m_SubmitButton: Submit + m_CancelButton: Cancel + m_InputActionsPerSecond: 10 + m_RepeatDelay: 0.5 + m_ForceModuleActive: 0 +--- !u!114 &1601330496 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1601330494} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -619905303, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_FirstSelected: {fileID: 0} + m_sendNavigationEvents: 1 + m_DragThreshold: 10 +--- !u!4 &1601330497 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1601330494} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1696471892 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1696471893} + - component: {fileID: 1696471896} + - component: {fileID: 1696471895} + - component: {fileID: 1696471894} + m_Layer: 0 + m_Name: Interstitial Button + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1696471893 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1696471892} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 738686356} + m_Father: {fileID: 861782207} + m_RootOrder: 6 + 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: 220, y: 60} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1696471894 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1696471892} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1392445389, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_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_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 1696471895} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 861782203} + m_MethodName: InterstitialAdScene + 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 &1696471895 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1696471892} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 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 +--- !u!222 &1696471896 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1696471892} + m_CullTransparentMesh: 0 +--- !u!1 &1742651765 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1742651766} + - component: {fileID: 1742651768} + - component: {fileID: 1742651767} + m_Layer: 0 + m_Name: SDKVersionLabel + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1742651766 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1742651765} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 861782207} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 400, y: 40} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1742651767 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1742651765} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 30 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 3 + m_MaxSize: 40 + m_Alignment: 1 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Unity SDK Version +--- !u!222 &1742651768 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1742651765} + m_CullTransparentMesh: 0 +--- !u!1 &1755348517 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1755348518} + - component: {fileID: 1755348519} + m_Layer: 0 + m_Name: URLPrefix + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1755348518 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1755348517} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1107470345} + - {fileID: 921926401} + m_Father: {fileID: 861782207} + m_RootOrder: 3 + 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: 320, y: 40} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1755348519 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1755348517} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -405508275, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Padding: + m_Left: 0 + m_Right: 0 + m_Top: 0 + m_Bottom: 0 + m_ChildAlignment: 0 + m_Spacing: 0 + m_ChildForceExpandWidth: 1 + m_ChildForceExpandHeight: 1 + m_ChildControlWidth: 0 + m_ChildControlHeight: 0 +--- !u!1 &1926159511 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1926159512} + - component: {fileID: 1926159514} + - component: {fileID: 1926159513} + m_Layer: 0 + m_Name: SDKVersion + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1926159512 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1926159511} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 861782207} + m_RootOrder: 2 + 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: 200, y: 40} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1926159513 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1926159511} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 30 + m_FontStyle: 1 + m_BestFit: 0 + m_MinSize: 3 + m_MaxSize: 40 + m_Alignment: 1 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Unknown +--- !u!222 &1926159514 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1926159511} + m_CullTransparentMesh: 0 +--- !u!1 &2098629746 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2098629747} + - component: {fileID: 2098629749} + - component: {fileID: 2098629748} + m_Layer: 0 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2098629747 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2098629746} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 921926401} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: -0.5} + m_SizeDelta: {x: -20, y: -13} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &2098629748 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2098629746} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f70555f144d8491a825f0804e09c671c, 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_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 14 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 0 + m_AlignByGeometry: 0 + m_RichText: 0 + m_HorizontalOverflow: 1 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: +--- !u!222 &2098629749 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2098629746} + m_CullTransparentMesh: 0 diff --git a/Forest/Assets/AudienceNetwork/Scenes/Settings/SettingsScene.unity.meta b/Forest/Assets/AudienceNetwork/Scenes/Settings/SettingsScene.unity.meta new file mode 100644 index 0000000..39d930a --- /dev/null +++ b/Forest/Assets/AudienceNetwork/Scenes/Settings/SettingsScene.unity.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: d88663653ebb24580ac0c753bb4f140c +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Forest/ProjectSettings/GvhProjectSettings.xml b/Forest/ProjectSettings/GvhProjectSettings.xml index 8777098..d13f312 100644 --- a/Forest/ProjectSettings/GvhProjectSettings.xml +++ b/Forest/ProjectSettings/GvhProjectSettings.xml @@ -1,22 +1,4 @@ - - - - - - - - - - - - - - - - - - \ No newline at end of file