From b3091fbf49151c9bb3c6f7dc49156c775066a35b Mon Sep 17 00:00:00 2001 From: xiekaidong Date: Wed, 23 Aug 2023 20:21:05 +0800 Subject: [PATCH 1/7] =?UTF-8?q?=E6=9B=B4=E6=96=B0ironsource?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Assets/Plugins/Android/android-bridge.jar | Bin 33192 -> 0 bytes Assets/Plugins/Android/mainTemplate.gradle | 59 +- .../Common/SDK/BFIronSourceSDKManager.cs | 3 + .../Editor/ISAdColonyAdapterDependencies.xml | 4 +- .../Editor/ISAdMobAdapterDependencies.xml | 8 +- .../Editor/ISAppLovinAdapterDependencies.xml | 8 +- .../ISChartboostAdapterDependencies.xml | 10 +- .../Editor/ISFacebookAdapterDependencies.xml | 8 +- .../Editor/ISFyberAdapterDependencies.xml | 8 +- .../Editor/ISMintegralAdapterDependencies.xml | 14 +- .../Editor/ISPangleAdapterDependencies.xml | 8 +- .../Editor/ISTapJoyAdapterDependencies.xml | 8 +- .../Editor/ISUnityAdsAdapterDependencies.xml | 8 +- .../Editor/ISVungleAdapterDependencies.xml | 6 +- .../Editor/IronSourceDependenciesManager.cs | 2 +- .../Editor/IronSourceManifestProcessor.cs | 2 +- .../Editor/IronSourceSDKDependencies.xml | 6 +- .../IronSource/Plugins/Android.meta | 8 + .../Android/IronSource.androidlib.meta | 28 + .../IronSource.androidlib/AndroidManifest.xml | 12 + .../AndroidManifest.xml.meta | 7 + .../Android/IronSource.androidlib/libs.meta | 8 + .../libs/IronSource-bridge.jar | Bin 0 -> 86692 bytes .../libs/IronSource-bridge.jar.meta} | 2 +- .../IronSource.androidlib/project.properties | 2 + .../project.properties.meta | 7 + .../ThirdParty/IronSource/Scripts/AdFormat.cs | 22 + .../IronSource/Scripts/AdFormat.cs.meta | 11 + .../IronSource/Scripts/AndroidAgent.cs | 57 +- .../IronSource/Scripts/IronSource.cs | 22 +- .../IronSource/Scripts/IronSourceEvents.cs | 12 + .../IronSource/Scripts/IronSourceIAgent.cs | 7 + .../Scripts/UnsupportedPlatformAgent.cs | 9 + .../Scripts/WaterfallConfiguration.cs | 92 + .../Scripts/WaterfallConfiguration.cs.meta | 11 + .../ThirdParty/IronSource/Scripts/iOSAgent.cs | 881 +++++----- Assets/XLua/Gen/AndroidAgentWrap.cs | 1536 +++++++++++++++++ Assets/XLua/Gen/DelegatesGensBridge.cs | 192 ++- Assets/XLua/Gen/EnumWrap.cs | 64 + .../Gen/ISAdQualityAndroidInitHandlerWrap.cs | 212 +++ .../XLua/Gen/IronSourceBannerAndroidWrap.cs | 294 ++++ Assets/XLua/Gen/IronSourceBannerEventsWrap.cs | 140 +- .../IronSourceBannerLevelPlayAndroidWrap.cs | 294 ++++ Assets/XLua/Gen/IronSourceEventsWrap.cs | 196 +-- Assets/XLua/Gen/IronSourceIAgentWrap.cs | 32 +- .../IronSourceImpressionDataAndroidWrap.cs | 212 +++ .../IronSourceInitializationAndroidWrap.cs | 119 ++ .../Gen/IronSourceInterstitialAndroidWrap.cs | 574 ++++++ ...nSourceInterstitialLevelPlayAndroidWrap.cs | 329 ++++ .../Gen/IronSourceOfferwallAndroidWrap.cs | 466 +++++ .../Gen/IronSourceRewardedVideoAndroidWrap.cs | 609 +++++++ ...SourceRewardedVideoLevelPlayAndroidWrap.cs | 329 ++++ ...RewardedVideoLevelPlayManualAndroidWrap.cs | 154 ++ ...ronSourceRewardedVideoManualAndroidWrap.cs | 154 ++ Assets/XLua/Gen/IronSourceWrap.cs | 131 +- .../XLua/Gen/UnsupportedPlatformAgentWrap.cs | 32 +- Assets/XLua/Gen/WaterfallConfigurationWrap.cs | 151 ++ ...ation_WaterfallConfigurationBuilderWrap.cs | 156 ++ Assets/XLua/Gen/WrapPusher.cs | 97 ++ Assets/XLua/Gen/XLuaGenAutoRegister.cs | 98 +- .../Gen/com_adjust_sdk_AdjustUtilsWrap.cs | 31 +- Assets/XLua/Gen/link.xml | 16 + .../android/dz_google_apk/gradle.properties | 2 +- .../IronSource.androidlib/AndroidManifest.xml | 12 + .../IronSource.androidlib/build.gradle | 28 + .../libs/IronSource-bridge.jar | Bin 0 -> 86692 bytes .../IronSource.androidlib/project.properties | 2 + .../dz_google_apk/unityLibrary/build.gradle | 73 +- .../google_common/launcher/build.gradle | 4 +- .../AndroidResolverDependencies.xml | 51 +- 70 files changed, 7114 insertions(+), 1036 deletions(-) delete mode 100644 Assets/Plugins/Android/android-bridge.jar create mode 100644 Assets/ThirdParty/IronSource/Plugins/Android.meta create mode 100644 Assets/ThirdParty/IronSource/Plugins/Android/IronSource.androidlib.meta create mode 100644 Assets/ThirdParty/IronSource/Plugins/Android/IronSource.androidlib/AndroidManifest.xml create mode 100644 Assets/ThirdParty/IronSource/Plugins/Android/IronSource.androidlib/AndroidManifest.xml.meta create mode 100644 Assets/ThirdParty/IronSource/Plugins/Android/IronSource.androidlib/libs.meta create mode 100644 Assets/ThirdParty/IronSource/Plugins/Android/IronSource.androidlib/libs/IronSource-bridge.jar rename Assets/{Plugins/Android/android-bridge.jar.meta => ThirdParty/IronSource/Plugins/Android/IronSource.androidlib/libs/IronSource-bridge.jar.meta} (93%) create mode 100644 Assets/ThirdParty/IronSource/Plugins/Android/IronSource.androidlib/project.properties create mode 100644 Assets/ThirdParty/IronSource/Plugins/Android/IronSource.androidlib/project.properties.meta create mode 100644 Assets/ThirdParty/IronSource/Scripts/AdFormat.cs create mode 100644 Assets/ThirdParty/IronSource/Scripts/AdFormat.cs.meta create mode 100644 Assets/ThirdParty/IronSource/Scripts/WaterfallConfiguration.cs create mode 100644 Assets/ThirdParty/IronSource/Scripts/WaterfallConfiguration.cs.meta create mode 100644 Assets/XLua/Gen/AndroidAgentWrap.cs create mode 100644 Assets/XLua/Gen/ISAdQualityAndroidInitHandlerWrap.cs create mode 100644 Assets/XLua/Gen/IronSourceBannerAndroidWrap.cs create mode 100644 Assets/XLua/Gen/IronSourceBannerLevelPlayAndroidWrap.cs create mode 100644 Assets/XLua/Gen/IronSourceImpressionDataAndroidWrap.cs create mode 100644 Assets/XLua/Gen/IronSourceInitializationAndroidWrap.cs create mode 100644 Assets/XLua/Gen/IronSourceInterstitialAndroidWrap.cs create mode 100644 Assets/XLua/Gen/IronSourceInterstitialLevelPlayAndroidWrap.cs create mode 100644 Assets/XLua/Gen/IronSourceOfferwallAndroidWrap.cs create mode 100644 Assets/XLua/Gen/IronSourceRewardedVideoAndroidWrap.cs create mode 100644 Assets/XLua/Gen/IronSourceRewardedVideoLevelPlayAndroidWrap.cs create mode 100644 Assets/XLua/Gen/IronSourceRewardedVideoLevelPlayManualAndroidWrap.cs create mode 100644 Assets/XLua/Gen/IronSourceRewardedVideoManualAndroidWrap.cs create mode 100644 Assets/XLua/Gen/WaterfallConfigurationWrap.cs create mode 100644 Assets/XLua/Gen/WaterfallConfiguration_WaterfallConfigurationBuilderWrap.cs create mode 100644 BFVersions/android/dz_google_apk/unityLibrary/IronSource.androidlib/AndroidManifest.xml create mode 100644 BFVersions/android/dz_google_apk/unityLibrary/IronSource.androidlib/build.gradle create mode 100644 BFVersions/android/dz_google_apk/unityLibrary/IronSource.androidlib/libs/IronSource-bridge.jar create mode 100644 BFVersions/android/dz_google_apk/unityLibrary/IronSource.androidlib/project.properties diff --git a/Assets/Plugins/Android/android-bridge.jar b/Assets/Plugins/Android/android-bridge.jar deleted file mode 100644 index d1578398963691202eef4e27c1b31bc5cbe3083a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 33192 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

F3TICp6 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 - 4.3.19.0 + 4.3.19.1 @@ -17,7 +17,7 @@ + + + + + + \ No newline at end of file diff --git a/Assets/ThirdParty/IronSource/Plugins/Android/IronSource.androidlib/AndroidManifest.xml.meta b/Assets/ThirdParty/IronSource/Plugins/Android/IronSource.androidlib/AndroidManifest.xml.meta new file mode 100644 index 000000000..6fefa34f8 --- /dev/null +++ b/Assets/ThirdParty/IronSource/Plugins/Android/IronSource.androidlib/AndroidManifest.xml.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: e46e3d39a8bec48d9ae81d0008842ad4 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/ThirdParty/IronSource/Plugins/Android/IronSource.androidlib/libs.meta b/Assets/ThirdParty/IronSource/Plugins/Android/IronSource.androidlib/libs.meta new file mode 100644 index 000000000..87878ec88 --- /dev/null +++ b/Assets/ThirdParty/IronSource/Plugins/Android/IronSource.androidlib/libs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: a5936d92d17be4fde864e068dd13d202 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/ThirdParty/IronSource/Plugins/Android/IronSource.androidlib/libs/IronSource-bridge.jar b/Assets/ThirdParty/IronSource/Plugins/Android/IronSource.androidlib/libs/IronSource-bridge.jar new file mode 100644 index 0000000000000000000000000000000000000000..44dcadb64492dda1e3be8e0ff252f35c1b13d908 GIT binary patch literal 86692 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 +/// Represents the available formats for displaying advertisements. +/// +public enum AdFormat +{ + ///

+ /// Represents a rewarded video ad format. + /// + RewardedVideo, + + /// + /// Represents an interstitial ad format. + /// + Interstitial, + + /// + /// Represents a banner ad format. + /// + Banner +} diff --git a/Assets/ThirdParty/IronSource/Scripts/AdFormat.cs.meta b/Assets/ThirdParty/IronSource/Scripts/AdFormat.cs.meta new file mode 100644 index 000000000..f7c929c45 --- /dev/null +++ b/Assets/ThirdParty/IronSource/Scripts/AdFormat.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 8124546645b9349f7858c4510ea7de78 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/ThirdParty/IronSource/Scripts/AndroidAgent.cs b/Assets/ThirdParty/IronSource/Scripts/AndroidAgent.cs index 35cddf6cb..02822cbeb 100644 --- a/Assets/ThirdParty/IronSource/Scripts/AndroidAgent.cs +++ b/Assets/ThirdParty/IronSource/Scripts/AndroidAgent.cs @@ -2,15 +2,20 @@ using UnityEngine; using System.Collections; using System.Collections.Generic; +using System.Globalization; using System; public class AndroidAgent : IronSourceIAgent { - private static AndroidJavaObject _androidBridge; - private readonly static string AndroidBridge = "com.ironsource.unity.androidbridge.AndroidBridge"; - private const string REWARD_AMOUNT = "reward_amount"; - private const string REWARD_NAME = "reward_name"; - private const string PLACEMENT_NAME = "placement_name"; + static AndroidJavaObject _androidBridge; + readonly static string AndroidBridge = "com.ironsource.unity.androidbridge.AndroidBridge"; + const string REWARD_AMOUNT = "reward_amount"; + const string REWARD_NAME = "reward_name"; + const string PLACEMENT_NAME = "placement_name"; + + const string WATERFALL_CONFIG_FLOOR = "floor"; + const string WATERFALL_CONFIG_CEILING = "ceiling"; + const string WATERFALL_CONFIG_API = "setWaterfallConfiguration"; public AndroidAgent () { @@ -34,6 +39,48 @@ public class AndroidAgent : IronSourceIAgent //******************* Base API *******************// + /// + /// Allows publishers to set configurations for a waterfall of a given ad type. + /// + /// The configuration for the given ad types waterfall. + /// The AdFormat for which to configure the waterfall. + public void SetWaterfallConfiguration(WaterfallConfiguration waterfallConfiguration, AdFormat adFormat) + { + var ceiling = waterfallConfiguration.Ceiling; + var floor = waterfallConfiguration.Floor; + var dict = new Dictionary(); + + if (ceiling.HasValue) + { + dict.Add(WATERFALL_CONFIG_CEILING, ceiling.Value.ToString(CultureInfo.InvariantCulture)); + } + + if (floor.HasValue) + { + dict.Add(WATERFALL_CONFIG_FLOOR, floor.Value.ToString(CultureInfo.InvariantCulture)); + } + + var json = IronSourceJSON.Json.Serialize(dict); + string stringAdFormat; + + switch (adFormat) + { + case AdFormat.RewardedVideo: + stringAdFormat = "REWARDED_VIDEO"; + break; + case AdFormat.Interstitial: + stringAdFormat = "INTERSTITIAL"; + break; + case AdFormat.Banner: + stringAdFormat = "BANNER"; + break; + default: + return; + } + + getBridge().Call(WATERFALL_CONFIG_API, json, stringAdFormat); + } + public void onApplicationPause (bool pause) { if (pause) diff --git a/Assets/ThirdParty/IronSource/Scripts/IronSource.cs b/Assets/ThirdParty/IronSource/Scripts/IronSource.cs index 687c79d34..fb24165d0 100644 --- a/Assets/ThirdParty/IronSource/Scripts/IronSource.cs +++ b/Assets/ThirdParty/IronSource/Scripts/IronSource.cs @@ -7,7 +7,7 @@ public class IronSource : IronSourceIAgent { private IronSourceIAgent _platformAgent; private static IronSource _instance; - public static string UNITY_PLUGIN_VERSION = "7.3.0.1-r"; + public static string UNITY_PLUGIN_VERSION = "7.3.1.1-r"; private static bool isUnsupportedPlatform; private IronSource() @@ -67,6 +67,16 @@ public class IronSource : IronSourceIAgent //******************* Base API *******************// + /// + /// Allows publishers to set configurations for a waterfall of a given ad type. + /// + /// The configuration for the given ad types waterfall. + /// The AdFormat for which to configure the waterfall. + public void SetWaterfallConfiguration(WaterfallConfiguration waterfallConfiguration, AdFormat adFormat) + { + _platformAgent.SetWaterfallConfiguration(waterfallConfiguration, adFormat); + } + public void onApplicationPause(bool pause) { _platformAgent.onApplicationPause(pause); @@ -256,22 +266,26 @@ public class IronSource : IronSourceIAgent //******************* Offerwall API *******************// + [Obsolete("This API call is for the ironSource Offerwall, which will soon be deprecated. Please migrate to the Tapjoy Offerwall using the 'Offerwall migration checklist'.", false)] public void showOfferwall() { _platformAgent.showOfferwall(); } - public void showOfferwall(string placementName) + [Obsolete("This API call is for the ironSource Offerwall, which will soon be deprecated. Please migrate to the Tapjoy Offerwall using the 'Offerwall migration checklist'.", false)] + public void showOfferwall(string placementName) { _platformAgent.showOfferwall(placementName); } - public void getOfferwallCredits() + [Obsolete("This API call is for the ironSource Offerwall, which will soon be deprecated. Please migrate to the Tapjoy Offerwall using the 'Offerwall migration checklist'.", false)] + public void getOfferwallCredits() { _platformAgent.getOfferwallCredits(); } - public bool isOfferwallAvailable() + [Obsolete("This API call is for the ironSource Offerwall, which will soon be deprecated. Please migrate to the Tapjoy Offerwall using the 'Offerwall migration checklist'.", false)] + public bool isOfferwallAvailable() { return _platformAgent.isOfferwallAvailable(); } diff --git a/Assets/ThirdParty/IronSource/Scripts/IronSourceEvents.cs b/Assets/ThirdParty/IronSource/Scripts/IronSourceEvents.cs index d779fc801..d1af2bc7d 100644 --- a/Assets/ThirdParty/IronSource/Scripts/IronSourceEvents.cs +++ b/Assets/ThirdParty/IronSource/Scripts/IronSourceEvents.cs @@ -83,11 +83,17 @@ public class IronSourceEvents : MonoBehaviour [Obsolete("This API has been deprecated as of SDK 7.3.0.1", false)] public static event Action onInterstitialAdShowFailedDemandOnlyEvent; + [Obsolete("This API call is for the ironSource Offerwall, which will soon be deprecated. Please migrate to the Tapjoy Offerwall using the 'Offerwall migration checklist'.", false)] public static event Action onOfferwallAvailableEvent; + [Obsolete("This API call is for the ironSource Offerwall, which will soon be deprecated. Please migrate to the Tapjoy Offerwall using the 'Offerwall migration checklist'.", false)] public static event Action onOfferwallOpenedEvent; + [Obsolete("This API call is for the ironSource Offerwall, which will soon be deprecated. Please migrate to the Tapjoy Offerwall using the 'Offerwall migration checklist'.", false)] public static event Action> onOfferwallAdCreditedEvent; + [Obsolete("This API call is for the ironSource Offerwall, which will soon be deprecated. Please migrate to the Tapjoy Offerwall using the 'Offerwall migration checklist'.", false)] public static event Action onGetOfferwallCreditsFailedEvent; + [Obsolete("This API call is for the ironSource Offerwall, which will soon be deprecated. Please migrate to the Tapjoy Offerwall using the 'Offerwall migration checklist'.", false)] public static event Action onOfferwallClosedEvent; + [Obsolete("This API call is for the ironSource Offerwall, which will soon be deprecated. Please migrate to the Tapjoy Offerwall using the 'Offerwall migration checklist'.", false)] public static event Action onOfferwallShowFailedEvent; [Obsolete("This API has been deprecated as of SDK 7.3.0. Please use the alternate API in IronSourceBannerEvents listener instead.", false)] @@ -1643,6 +1649,7 @@ public class IronSourceEvents : MonoBehaviour private static event Action _onOfferwallOpenedEvent; + [Obsolete("This API call is for the ironSource Offerwall, which will soon be deprecated. Please migrate to the Tapjoy Offerwall using the 'Offerwall migration checklist'.", false)] public static event Action onOfferwallOpenedEvent { add @@ -1672,6 +1679,7 @@ public class IronSourceEvents : MonoBehaviour private static event Action _onOfferwallShowFailedEvent; + [Obsolete("This API call is for the ironSource Offerwall, which will soon be deprecated. Please migrate to the Tapjoy Offerwall using the 'Offerwall migration checklist'.", false)] public static event Action onOfferwallShowFailedEvent { add @@ -1702,6 +1710,7 @@ public class IronSourceEvents : MonoBehaviour private static event Action _onOfferwallClosedEvent; + [Obsolete("This API call is for the ironSource Offerwall, which will soon be deprecated. Please migrate to the Tapjoy Offerwall using the 'Offerwall migration checklist'.", false)] public static event Action onOfferwallClosedEvent { add @@ -1731,6 +1740,7 @@ public class IronSourceEvents : MonoBehaviour private static event Action _onGetOfferwallCreditsFailedEvent; + [Obsolete("This API call is for the ironSource Offerwall, which will soon be deprecated. Please migrate to the Tapjoy Offerwall using the 'Offerwall migration checklist'.", false)] public static event Action onGetOfferwallCreditsFailedEvent { add @@ -1762,6 +1772,7 @@ public class IronSourceEvents : MonoBehaviour private static event Action> _onOfferwallAdCreditedEvent; + [Obsolete("This API call is for the ironSource Offerwall, which will soon be deprecated. Please migrate to the Tapjoy Offerwall using the 'Offerwall migration checklist'.", false)] public static event Action> onOfferwallAdCreditedEvent { add @@ -1789,6 +1800,7 @@ public class IronSourceEvents : MonoBehaviour private static event Action _onOfferwallAvailableEvent; + [Obsolete("This API call is for the ironSource Offerwall, which will soon be deprecated. Please migrate to the Tapjoy Offerwall using the 'Offerwall migration checklist'.", false)] public static event Action onOfferwallAvailableEvent { add diff --git a/Assets/ThirdParty/IronSource/Scripts/IronSourceIAgent.cs b/Assets/ThirdParty/IronSource/Scripts/IronSourceIAgent.cs index 606899da1..cf04746d4 100644 --- a/Assets/ThirdParty/IronSource/Scripts/IronSourceIAgent.cs +++ b/Assets/ThirdParty/IronSource/Scripts/IronSourceIAgent.cs @@ -4,6 +4,13 @@ public interface IronSourceIAgent { //******************* Base API *******************// + /// + /// Allows publishers to set configurations for a waterfall of a given ad type. + /// + /// The configuration for the given ad types waterfall. + /// The AdFormat for which to configure the waterfall. + void SetWaterfallConfiguration(WaterfallConfiguration waterfallConfiguration, AdFormat adFormat); + void onApplicationPause(bool pause); string getAdvertiserId(); diff --git a/Assets/ThirdParty/IronSource/Scripts/UnsupportedPlatformAgent.cs b/Assets/ThirdParty/IronSource/Scripts/UnsupportedPlatformAgent.cs index 9ded181d7..49498facc 100644 --- a/Assets/ThirdParty/IronSource/Scripts/UnsupportedPlatformAgent.cs +++ b/Assets/ThirdParty/IronSource/Scripts/UnsupportedPlatformAgent.cs @@ -10,6 +10,15 @@ public class UnsupportedPlatformAgent : IronSourceIAgent } #region IronSourceAgent implementation + + /// + /// This function is not supported on the current platform and does nothing. + /// + /// The configuration for the given ad types waterfall. + /// The AdFormat for which to configure the waterfall. + public void SetWaterfallConfiguration(WaterfallConfiguration waterfallConfiguration, AdFormat adFormat) + { + } public void start() { diff --git a/Assets/ThirdParty/IronSource/Scripts/WaterfallConfiguration.cs b/Assets/ThirdParty/IronSource/Scripts/WaterfallConfiguration.cs new file mode 100644 index 000000000..a3da4edc5 --- /dev/null +++ b/Assets/ThirdParty/IronSource/Scripts/WaterfallConfiguration.cs @@ -0,0 +1,92 @@ +using System.Collections.Generic; +using System; + +/// +/// Configuration class which allows users to customize or filter a Waterfall. +/// +public class WaterfallConfiguration +{ + readonly double? ceiling; + readonly double? floor; + + /// + /// Gets the ceiling value. + /// + public double? Ceiling { get { return ceiling; } } + + /// + /// Gets the floor value. + /// + public double? Floor { get { return floor; } } + + /// + /// Initializes a new instance of the WaterfallConfiguration class. + /// + /// The ceiling value. + /// The floor value. + private WaterfallConfiguration(double? ceiling, double? floor) + { + this.ceiling = ceiling; + this.floor = floor; + } + + /// + /// Gets a builder for creating instances of WaterfallConfiguration. + /// + /// The WaterfallConfigurationBuilder. + public static WaterfallConfigurationBuilder Builder() + { + return new WaterfallConfigurationBuilder(); + } + + /// + /// Creates an empty instance of WaterfallConfiguration. + /// + /// The empty WaterfallConfiguration. + public static WaterfallConfiguration Empty() + { + return new WaterfallConfiguration(double.NaN, double.NaN); + } + + /// + /// Builder class which to create a WaterfallConfiguration. + /// + public class WaterfallConfigurationBuilder + { + double? ceiling; + double? floor; + + internal WaterfallConfigurationBuilder() {} + + /// + /// Sets the ceiling value. + /// + /// The ceiling value. + /// The WaterfallConfigurationBuilder. + public WaterfallConfigurationBuilder SetCeiling(double ceiling) + { + this.ceiling = ceiling; + return this; + } + + /// + /// Sets the floor value. + /// + /// The floor value. + /// The WaterfallConfigurationBuilder. + public WaterfallConfigurationBuilder SetFloor(double floor) + { + this.floor = floor; + return this; + } + + /// + /// Builds an instance of WaterfallConfiguration based on the configured values. + /// + /// The created WaterfallConfiguration. + public WaterfallConfiguration Build() + { + return new WaterfallConfiguration(ceiling, floor); + } + } +} diff --git a/Assets/ThirdParty/IronSource/Scripts/WaterfallConfiguration.cs.meta b/Assets/ThirdParty/IronSource/Scripts/WaterfallConfiguration.cs.meta new file mode 100644 index 000000000..0874d8447 --- /dev/null +++ b/Assets/ThirdParty/IronSource/Scripts/WaterfallConfiguration.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 354652886a99945cba942b569effe7bb +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/ThirdParty/IronSource/Scripts/iOSAgent.cs b/Assets/ThirdParty/IronSource/Scripts/iOSAgent.cs index 4c02b6bf2..ab8bde2d6 100644 --- a/Assets/ThirdParty/IronSource/Scripts/iOSAgent.cs +++ b/Assets/ThirdParty/IronSource/Scripts/iOSAgent.cs @@ -1,508 +1,533 @@ #if UNITY_IPHONE || UNITY_IOS using UnityEngine; -using System.Collections; using System.Collections.Generic; using System.Runtime.InteropServices; -using System.Linq; using System; using System.Globalization; + // public class iOSAgent : IronSourceIAgent // { - // [DllImport("__Internal")] - // private static extern void CFSetPluginData(string pluginType, string pluginVersion, string pluginFrameworkVersion); + +// struct IOSWaterfallConfiguration +// { +// public double Floor; +// public double Ceiling; +// } + +// [DllImport("__Internal")] +// private static extern void LPPSetWaterfallConfiguration(IOSWaterfallConfiguration configurationParams, AdFormat adFormat); + +// [DllImport("__Internal")] +// private static extern void CFSetPluginData(string pluginType, string pluginVersion, string pluginFrameworkVersion); - // [DllImport("__Internal")] - // private static extern string CFGetAdvertiserId(); +// [DllImport("__Internal")] +// private static extern string CFGetAdvertiserId(); - // [DllImport("__Internal")] - // private static extern void CFValidateIntegration(); +// [DllImport("__Internal")] +// private static extern void CFValidateIntegration(); - // [DllImport("__Internal")] - // private static extern void CFShouldTrackNetworkState(bool track); +// [DllImport("__Internal")] +// private static extern void CFShouldTrackNetworkState(bool track); - // [DllImport("__Internal")] - // private static extern bool CFSetDynamicUserId(string dynamicUserId); +// [DllImport("__Internal")] +// private static extern bool CFSetDynamicUserId(string dynamicUserId); - // [DllImport("__Internal")] - // private static extern void CFSetAdaptersDebug(bool enabled); +// [DllImport("__Internal")] +// private static extern void CFSetAdaptersDebug(bool enabled); - // [DllImport("__Internal")] - // private static extern void CFSetMetaData(string key, string value); +// [DllImport("__Internal")] +// private static extern void CFSetMetaData(string key, string value); - // [DllImport("__Internal")] - // private static extern void CFSetMetaDataWithValues(string key, params string[] values); +// [DllImport("__Internal")] +// private static extern void CFSetMetaDataWithValues(string key, params string[] values); - // [DllImport("__Internal")] - // private static extern string CFGetConversionValue(); +// [DllImport("__Internal")] +// private static extern string CFGetConversionValue(); - // [DllImport("__Internal")] - // private static extern void CFSetManualLoadRewardedVideo(bool isOn); +// [DllImport("__Internal")] +// private static extern void CFSetManualLoadRewardedVideo(bool isOn); - // [DllImport("__Internal")] - // private static extern void CFSetNetworkData(string networkKey, string networkData); +// [DllImport("__Internal")] +// private static extern void CFSetNetworkData(string networkKey, string networkData); - // delegate void ISUnityPauseGame(bool pause); - // [DllImport("__Internal")] - // private static extern void RegisterPauseGameFunction(bool pasue); +// delegate void ISUnityPauseGame(bool pause); +// [DllImport("__Internal")] +// private static extern void RegisterPauseGameFunction(bool pasue); - // //******************* SDK Init *******************// +// //******************* SDK Init *******************// - // [DllImport("__Internal")] - // private static extern void CFSetUserId(string userId); +// [DllImport("__Internal")] +// private static extern void CFSetUserId(string userId); - // [DllImport("__Internal")] - // private static extern void CFInit(string appKey); +// [DllImport("__Internal")] +// private static extern void CFInit(string appKey); - // [DllImport("__Internal")] - // private static extern void CFInitWithAdUnits(string appKey, params string[] adUnits); +// [DllImport("__Internal")] +// private static extern void CFInitWithAdUnits(string appKey, params string[] adUnits); - // [DllImport("__Internal")] - // private static extern void CFInitISDemandOnly(string appKey, params string[] adUnits); +// [DllImport("__Internal")] +// private static extern void CFInitISDemandOnly(string appKey, params string[] adUnits); - // //******************* RewardedVideo API *******************// +// //******************* RewardedVideo API *******************// - // [DllImport("__Internal")] - // private static extern void CFLoadRewardedVideo(); +// [DllImport("__Internal")] +// private static extern void CFLoadRewardedVideo(); - // [DllImport("__Internal")] - // private static extern void CFShowRewardedVideo(); +// [DllImport("__Internal")] +// private static extern void CFShowRewardedVideo(); - // [DllImport("__Internal")] - // private static extern void CFShowRewardedVideoWithPlacementName(string placementName); +// [DllImport("__Internal")] +// private static extern void CFShowRewardedVideoWithPlacementName(string placementName); - // [DllImport("__Internal")] - // private static extern bool CFIsRewardedVideoAvailable(); +// [DllImport("__Internal")] +// private static extern bool CFIsRewardedVideoAvailable(); - // [DllImport("__Internal")] - // private static extern bool CFIsRewardedVideoPlacementCapped(string placementName); +// [DllImport("__Internal")] +// private static extern bool CFIsRewardedVideoPlacementCapped(string placementName); - // [DllImport("__Internal")] - // private static extern string CFGetPlacementInfo(string placementName); +// [DllImport("__Internal")] +// private static extern string CFGetPlacementInfo(string placementName); - // [DllImport("__Internal")] - // private static extern void CFSetRewardedVideoServerParameters(string jsonString); +// [DllImport("__Internal")] +// private static extern void CFSetRewardedVideoServerParameters(string jsonString); - // [DllImport("__Internal")] - // private static extern void CFClearRewardedVideoServerParameters(); +// [DllImport("__Internal")] +// private static extern void CFClearRewardedVideoServerParameters(); - // //******************* RewardedVideo DemandOnly API *******************// +// //******************* RewardedVideo DemandOnly API *******************// - // [DllImport("__Internal")] - // private static extern void CFShowISDemandOnlyRewardedVideo(string instanceId); +// [DllImport("__Internal")] +// private static extern void CFShowISDemandOnlyRewardedVideo(string instanceId); - // [DllImport("__Internal")] - // private static extern void CFLoadISDemandOnlyRewardedVideo(string instanceId); +// [DllImport("__Internal")] +// private static extern void CFLoadISDemandOnlyRewardedVideo(string instanceId); - // [DllImport("__Internal")] - // private static extern bool CFIsDemandOnlyRewardedVideoAvailable(string instanceId); +// [DllImport("__Internal")] +// private static extern bool CFIsDemandOnlyRewardedVideoAvailable(string instanceId); - // //******************* Interstitial API *******************// +// //******************* Interstitial API *******************// - // [DllImport("__Internal")] - // private static extern void CFLoadInterstitial(); +// [DllImport("__Internal")] +// private static extern void CFLoadInterstitial(); - // [DllImport("__Internal")] - // private static extern void CFShowInterstitial(); +// [DllImport("__Internal")] +// private static extern void CFShowInterstitial(); - // [DllImport("__Internal")] - // private static extern void CFShowInterstitialWithPlacementName(string placementName); +// [DllImport("__Internal")] +// private static extern void CFShowInterstitialWithPlacementName(string placementName); - // [DllImport("__Internal")] - // private static extern bool CFIsInterstitialReady(); +// [DllImport("__Internal")] +// private static extern bool CFIsInterstitialReady(); - // [DllImport("__Internal")] - // private static extern bool CFIsInterstitialPlacementCapped(string placementName); +// [DllImport("__Internal")] +// private static extern bool CFIsInterstitialPlacementCapped(string placementName); - // //******************* Interstitial DemandOnly API *******************// +// //******************* Interstitial DemandOnly API *******************// - // [DllImport("__Internal")] - // private static extern void CFLoadISDemandOnlyInterstitial(string instanceId); +// [DllImport("__Internal")] +// private static extern void CFLoadISDemandOnlyInterstitial(string instanceId); - // [DllImport("__Internal")] - // private static extern void CFShowISDemandOnlyInterstitial(string instanceId); +// [DllImport("__Internal")] +// private static extern void CFShowISDemandOnlyInterstitial(string instanceId); - // [DllImport("__Internal")] - // private static extern bool CFIsDemandOnlyInterstitialReady(string instanceId); +// [DllImport("__Internal")] +// private static extern bool CFIsDemandOnlyInterstitialReady(string instanceId); - // //******************* Offerwall API *******************// +// //******************* Offerwall API *******************// - // [DllImport("__Internal")] - // private static extern void CFShowOfferwall(); +// [DllImport("__Internal")] +// private static extern void CFShowOfferwall(); - // [DllImport("__Internal")] - // private static extern void CFShowOfferwallWithPlacementName(string placementName); +// [DllImport("__Internal")] +// private static extern void CFShowOfferwallWithPlacementName(string placementName); - // [DllImport("__Internal")] - // private static extern void CFGetOfferwallCredits(); +// [DllImport("__Internal")] +// private static extern void CFGetOfferwallCredits(); - // [DllImport("__Internal")] - // private static extern bool CFIsOfferwallAvailable(); +// [DllImport("__Internal")] +// private static extern bool CFIsOfferwallAvailable(); - // //******************* Banner API *******************// +// //******************* Banner API *******************// - // [DllImport("__Internal")] - // private static extern void CFLoadBanner(string description, int width, int height, int position, string placementName, bool isAdaptive); +// [DllImport("__Internal")] +// private static extern void CFLoadBanner(string description, int width, int height, int position, string placementName, bool isAdaptive); - // [DllImport("__Internal")] - // private static extern void CFDestroyBanner(); +// [DllImport("__Internal")] +// private static extern void CFDestroyBanner(); - // [DllImport("__Internal")] - // private static extern void CFDisplayBanner(); +// [DllImport("__Internal")] +// private static extern void CFDisplayBanner(); - // [DllImport("__Internal")] - // private static extern void CFHideBanner(); +// [DllImport("__Internal")] +// private static extern void CFHideBanner(); - // [DllImport("__Internal")] - // private static extern bool CFIsBannerPlacementCapped(string placementName); +// [DllImport("__Internal")] +// private static extern bool CFIsBannerPlacementCapped(string placementName); - // [DllImport("__Internal")] - // private static extern void CFSetSegment(string json); +// [DllImport("__Internal")] +// private static extern void CFSetSegment(string json); - // [DllImport("__Internal")] - // private static extern void CFSetConsent(bool consent); +// [DllImport("__Internal")] +// private static extern void CFSetConsent(bool consent); - // //******************* ConsentView API *******************// +// //******************* ConsentView API *******************// - // [DllImport("__Internal")] - // private static extern void CFLoadConsentViewWithType(string consentViewType); +// [DllImport("__Internal")] +// private static extern void CFLoadConsentViewWithType(string consentViewType); - // [DllImport("__Internal")] - // private static extern void CFShowConsentViewWithType(string consentViewType); +// [DllImport("__Internal")] +// private static extern void CFShowConsentViewWithType(string consentViewType); - // //******************* ILRD API *******************// +// //******************* ILRD API *******************// - // [DllImport("__Internal")] - // private static extern void CFSetAdRevenueData(string dataSource, string impressionData); +// [DllImport("__Internal")] +// private static extern void CFSetAdRevenueData(string dataSource, string impressionData); - // //******************* TestSuite API *******************// +// //******************* TestSuite API *******************// - // [DllImport("__Internal")] - // private static extern void CFLaunchTestSuite(); +// [DllImport("__Internal")] +// private static extern void CFLaunchTestSuite(); - // public iOSAgent() - // { - // } +// public iOSAgent() +// { +// } - // #region IronSourceIAgent implementation +// #region IronSourceIAgent implementation - // //******************* Base API *******************// +// //******************* Base API *******************// - // public void onApplicationPause(bool pause) - // { +// /// +// /// Allows publishers to set configurations for a waterfall of a given ad type. +// /// +// /// The AdFormat for which to configure the waterfall. +// /// The configuration for the given ad types waterfall. +// public void SetWaterfallConfiguration(WaterfallConfiguration waterfallConfiguration, AdFormat adFormat) +// { +// var config = new IOSWaterfallConfiguration +// { +// Floor = waterfallConfiguration.Floor ?? 0.0, +// Ceiling = waterfallConfiguration.Ceiling ?? 0.0 +// }; + +// LPPSetWaterfallConfiguration(config, adFormat); +// } - // } +// public void onApplicationPause(bool pause) +// { - // public string getAdvertiserId() - // { - // return CFGetAdvertiserId(); - // } +// } - // public void validateIntegration() - // { - // CFValidateIntegration(); - // } - - // public void shouldTrackNetworkState(bool track) - // { - // CFShouldTrackNetworkState(track); - // } - - // public bool setDynamicUserId(string dynamicUserId) - // { - // return CFSetDynamicUserId(dynamicUserId); - // } - - // public void setAdaptersDebug(bool enabled) - // { - // CFSetAdaptersDebug(enabled); - // } - - // public void setMetaData(string key, params string[] values) - // { - // CFSetMetaDataWithValues(key, values); - // } - - // public void setMetaData(string key, string value) - // { - // CFSetMetaData(key, value); - // } - - // public int? getConversionValue() - // { - // CultureInfo invCulture = CultureInfo.InvariantCulture; - // int parsedInt; - // if (int.TryParse(string.Format(invCulture, "{0}", CFGetConversionValue()), NumberStyles.Any, invCulture, out parsedInt)) - // { - // return parsedInt; - // } - - // return null; - // } - - // public void setManualLoadRewardedVideo(bool isOn) - // { - // CFSetManualLoadRewardedVideo(isOn); - // } - - // public void setNetworkData(string networkKey, string networkData) - // { - // CFSetNetworkData(networkKey, networkData); - // } - - // [AOT.MonoPInvokeCallback(typeof(ISUnityPauseGame))] - // public void SetPauseGame(bool pause) - // { - // RegisterPauseGameFunction(pause); - // if (pause) - // { - // setMetaData("IS_PAUSE_GAME_FLAG", "true"); - // } - // else - // { - // setMetaData("IS_PAUSE_GAME_FLAG", "false"); - // } - // } - - // //******************* SDK Init *******************// - - // public void setUserId(string userId) - // { - // CFSetUserId(userId); - // } - - // public void init(string appKey) - // { - // CFSetPluginData("Unity", IronSource.pluginVersion(), IronSource.unityVersion()); - // Debug.Log("IntegrationHelper pluginVersion: " + IronSource.pluginVersion()); - // CFInit(appKey); - // } - - // public void init(string appKey, params string[] adUnits) - // { - // CFSetPluginData("Unity", IronSource.pluginVersion(), IronSource.unityVersion()); - // Debug.Log("IntegrationHelper pluginVersion: " + IronSource.pluginVersion()); - // CFInitWithAdUnits(appKey, adUnits); - // } - - // public void initISDemandOnly(string appKey, params string[] adUnits) - // { - // CFSetPluginData("Unity", IronSource.pluginVersion(), IronSource.unityVersion()); - // Debug.Log("IntegrationHelper pluginVersion: " + IronSource.pluginVersion()); - // CFInitISDemandOnly(appKey, adUnits); - // } - - // //******************* RewardedVideo API *******************// - - // public void loadRewardedVideo() - // { - // CFLoadRewardedVideo(); - // } - - // public void showRewardedVideo() - // { - // CFShowRewardedVideo(); - // } - - // public void showRewardedVideo(string placementName) - // { - // CFShowRewardedVideoWithPlacementName(placementName); - // } - - // public bool isRewardedVideoAvailable() - // { - // return CFIsRewardedVideoAvailable(); - // } - - // public bool isRewardedVideoPlacementCapped(string placementName) - // { - // return CFIsRewardedVideoPlacementCapped(placementName); - // } - - // public IronSourcePlacement getPlacementInfo(string placementName) - // { - // IronSourcePlacement sp = null; - - // string spString = CFGetPlacementInfo(placementName); - // if (spString != null) - // { - // Dictionary spDic = IronSourceJSON.Json.Deserialize(spString) as Dictionary; - // string pName = spDic["placement_name"].ToString(); - // string rewardName = spDic["reward_name"].ToString(); - // int rewardAmount = Convert.ToInt32(spDic["reward_amount"].ToString()); - // sp = new IronSourcePlacement(pName, rewardName, rewardAmount); - // } - - // return sp; - // } - - // public void setRewardedVideoServerParams(Dictionary parameters) - // { - // string json = IronSourceJSON.Json.Serialize(parameters); - // CFSetRewardedVideoServerParameters(json); - // } - - // public void clearRewardedVideoServerParams() - // { - // CFClearRewardedVideoServerParameters(); - // } - - // //******************* RewardedVideo DemandOnly API *******************// - - // public void showISDemandOnlyRewardedVideo(string instanceId) - // { - // CFShowISDemandOnlyRewardedVideo(instanceId); - // } - - // public void loadISDemandOnlyRewardedVideo(string instanceId) - // { - // CFLoadISDemandOnlyRewardedVideo(instanceId); - // } - - // public bool isISDemandOnlyRewardedVideoAvailable(string instanceId) - // { - // return CFIsDemandOnlyRewardedVideoAvailable(instanceId); - // } - - // //******************* Interstitial API *******************// - - // public void loadInterstitial() - // { - // CFLoadInterstitial(); - // } - - // public void showInterstitial() - // { - // CFShowInterstitial(); - // } - - // public void showInterstitial(string placementName) - // { - // CFShowInterstitialWithPlacementName(placementName); - // } - - // public bool isInterstitialReady() - // { - // return CFIsInterstitialReady(); - // } - - // public bool isInterstitialPlacementCapped(string placementName) - // { - // return CFIsInterstitialPlacementCapped(placementName); - // } - - // //******************* Interstitial DemandOnly API *******************// - - // public void loadISDemandOnlyInterstitial(string instanceId) - // { - // CFLoadISDemandOnlyInterstitial(instanceId); - // } - - // public void showISDemandOnlyInterstitial(string instanceId) - // { - // CFShowISDemandOnlyInterstitial(instanceId); - // } - - // public bool isISDemandOnlyInterstitialReady(string instanceId) - // { - // return CFIsDemandOnlyInterstitialReady(instanceId); - // } - - // //******************* Offerwall API *******************// - - // public void showOfferwall() - // { - // CFShowOfferwall(); - // } - - // public void showOfferwall(string placementName) - // { - // CFShowOfferwallWithPlacementName(placementName); - // } - - // public void getOfferwallCredits() - // { - // CFGetOfferwallCredits(); - // } - - // public bool isOfferwallAvailable() - // { - // return CFIsOfferwallAvailable(); - // } - - // //******************* Banner API *******************// - - // public void loadBanner(IronSourceBannerSize size, IronSourceBannerPosition position) - // { - // loadBanner(size, position, ""); - // } - - // public void loadBanner(IronSourceBannerSize size, IronSourceBannerPosition position, string placementName) - // { - // CFLoadBanner(size.Description, (int)size.Width, (int)size.Height, (int)position, placementName, (bool)size.IsAdaptiveEnabled()); - // } - - // public void destroyBanner() - // { - // CFDestroyBanner(); - // } - - // public void displayBanner() - // { - // CFDisplayBanner(); - // } - - // public void hideBanner() - // { - // CFHideBanner(); - // } - - // public bool isBannerPlacementCapped(string placementName) - // { - // return CFIsBannerPlacementCapped(placementName); - // } - - // public void setSegment(IronSourceSegment segment) - // { - // Dictionary dict = segment.getSegmentAsDict(); - // string json = IronSourceJSON.Json.Serialize(dict); - // CFSetSegment(json); - // } - - // public void setConsent(bool consent) - // { - // CFSetConsent(consent); - // } - - // public void loadConsentViewWithType(string consentViewType) - // { - // CFLoadConsentViewWithType(consentViewType); - // } - - // public void showConsentViewWithType(string consentViewType) - // { - // CFShowConsentViewWithType(consentViewType); - // } - - // //******************* ILRD API *******************// - - // public void setAdRevenueData(string dataSource, Dictionary impressionData) - // { - // string json = IronSourceJSON.Json.Serialize(impressionData); - // CFSetAdRevenueData(dataSource, json); - // } - - // //******************* TestSuite API *******************// - - // public void launchTestSuite() - // { - // Debug.Log("iOSAgent: launching TestSuite"); - // CFLaunchTestSuite(); - // } - - // #endregion +// public string getAdvertiserId() +// { +// return CFGetAdvertiserId(); +// } + +// public void validateIntegration() +// { +// CFValidateIntegration(); +// } + +// public void shouldTrackNetworkState(bool track) +// { +// CFShouldTrackNetworkState(track); +// } + +// public bool setDynamicUserId(string dynamicUserId) +// { +// return CFSetDynamicUserId(dynamicUserId); +// } + +// public void setAdaptersDebug(bool enabled) +// { +// CFSetAdaptersDebug(enabled); +// } + +// public void setMetaData(string key, params string[] values) +// { +// CFSetMetaDataWithValues(key, values); +// } + +// public void setMetaData(string key, string value) +// { +// CFSetMetaData(key, value); +// } + +// public int? getConversionValue() +// { +// CultureInfo invCulture = CultureInfo.InvariantCulture; +// int parsedInt; +// if (int.TryParse(string.Format(invCulture, "{0}", CFGetConversionValue()), NumberStyles.Any, invCulture, out parsedInt)) +// { +// return parsedInt; +// } + +// return null; +// } + +// public void setManualLoadRewardedVideo(bool isOn) +// { +// CFSetManualLoadRewardedVideo(isOn); +// } + +// public void setNetworkData(string networkKey, string networkData) +// { +// CFSetNetworkData(networkKey, networkData); +// } + +// [AOT.MonoPInvokeCallback(typeof(ISUnityPauseGame))] +// public void SetPauseGame(bool pause) +// { +// RegisterPauseGameFunction(pause); +// if (pause) +// { +// setMetaData("IS_PAUSE_GAME_FLAG", "true"); +// } +// else +// { +// setMetaData("IS_PAUSE_GAME_FLAG", "false"); +// } +// } + +// //******************* SDK Init *******************// + +// public void setUserId(string userId) +// { +// CFSetUserId(userId); +// } + +// public void init(string appKey) +// { +// CFSetPluginData("Unity", IronSource.pluginVersion(), IronSource.unityVersion()); +// Debug.Log("IntegrationHelper pluginVersion: " + IronSource.pluginVersion()); +// CFInit(appKey); +// } + +// public void init(string appKey, params string[] adUnits) +// { +// CFSetPluginData("Unity", IronSource.pluginVersion(), IronSource.unityVersion()); +// Debug.Log("IntegrationHelper pluginVersion: " + IronSource.pluginVersion()); +// CFInitWithAdUnits(appKey, adUnits); +// } + +// public void initISDemandOnly(string appKey, params string[] adUnits) +// { +// CFSetPluginData("Unity", IronSource.pluginVersion(), IronSource.unityVersion()); +// Debug.Log("IntegrationHelper pluginVersion: " + IronSource.pluginVersion()); +// CFInitISDemandOnly(appKey, adUnits); +// } + +// //******************* RewardedVideo API *******************// + +// public void loadRewardedVideo() +// { +// CFLoadRewardedVideo(); +// } + +// public void showRewardedVideo() +// { +// CFShowRewardedVideo(); +// } + +// public void showRewardedVideo(string placementName) +// { +// CFShowRewardedVideoWithPlacementName(placementName); +// } + +// public bool isRewardedVideoAvailable() +// { +// return CFIsRewardedVideoAvailable(); +// } + +// public bool isRewardedVideoPlacementCapped(string placementName) +// { +// return CFIsRewardedVideoPlacementCapped(placementName); +// } + +// public IronSourcePlacement getPlacementInfo(string placementName) +// { +// IronSourcePlacement sp = null; + +// string spString = CFGetPlacementInfo(placementName); +// if (spString != null) +// { +// Dictionary spDic = IronSourceJSON.Json.Deserialize(spString) as Dictionary; +// string pName = spDic["placement_name"].ToString(); +// string rewardName = spDic["reward_name"].ToString(); +// int rewardAmount = Convert.ToInt32(spDic["reward_amount"].ToString()); +// sp = new IronSourcePlacement(pName, rewardName, rewardAmount); +// } + +// return sp; +// } + +// public void setRewardedVideoServerParams(Dictionary parameters) +// { +// string json = IronSourceJSON.Json.Serialize(parameters); +// CFSetRewardedVideoServerParameters(json); +// } + +// public void clearRewardedVideoServerParams() +// { +// CFClearRewardedVideoServerParameters(); +// } + +// //******************* RewardedVideo DemandOnly API *******************// + +// public void showISDemandOnlyRewardedVideo(string instanceId) +// { +// CFShowISDemandOnlyRewardedVideo(instanceId); +// } + +// public void loadISDemandOnlyRewardedVideo(string instanceId) +// { +// CFLoadISDemandOnlyRewardedVideo(instanceId); +// } + +// public bool isISDemandOnlyRewardedVideoAvailable(string instanceId) +// { +// return CFIsDemandOnlyRewardedVideoAvailable(instanceId); +// } + +// //******************* Interstitial API *******************// + +// public void loadInterstitial() +// { +// CFLoadInterstitial(); +// } + +// public void showInterstitial() +// { +// CFShowInterstitial(); +// } + +// public void showInterstitial(string placementName) +// { +// CFShowInterstitialWithPlacementName(placementName); +// } + +// public bool isInterstitialReady() +// { +// return CFIsInterstitialReady(); +// } + +// public bool isInterstitialPlacementCapped(string placementName) +// { +// return CFIsInterstitialPlacementCapped(placementName); +// } + +// //******************* Interstitial DemandOnly API *******************// + +// public void loadISDemandOnlyInterstitial(string instanceId) +// { +// CFLoadISDemandOnlyInterstitial(instanceId); +// } + +// public void showISDemandOnlyInterstitial(string instanceId) +// { +// CFShowISDemandOnlyInterstitial(instanceId); +// } + +// public bool isISDemandOnlyInterstitialReady(string instanceId) +// { +// return CFIsDemandOnlyInterstitialReady(instanceId); +// } + +// //******************* Offerwall API *******************// + +// public void showOfferwall() +// { +// CFShowOfferwall(); +// } + +// public void showOfferwall(string placementName) +// { +// CFShowOfferwallWithPlacementName(placementName); +// } + +// public void getOfferwallCredits() +// { +// CFGetOfferwallCredits(); +// } + +// public bool isOfferwallAvailable() +// { +// return CFIsOfferwallAvailable(); +// } + +// //******************* Banner API *******************// + +// public void loadBanner(IronSourceBannerSize size, IronSourceBannerPosition position) +// { +// loadBanner(size, position, ""); +// } + +// public void loadBanner(IronSourceBannerSize size, IronSourceBannerPosition position, string placementName) +// { +// CFLoadBanner(size.Description, (int)size.Width, (int)size.Height, (int)position, placementName, (bool)size.IsAdaptiveEnabled()); +// } + +// public void destroyBanner() +// { +// CFDestroyBanner(); +// } + +// public void displayBanner() +// { +// CFDisplayBanner(); +// } + +// public void hideBanner() +// { +// CFHideBanner(); +// } + +// public bool isBannerPlacementCapped(string placementName) +// { +// return CFIsBannerPlacementCapped(placementName); +// } + +// public void setSegment(IronSourceSegment segment) +// { +// Dictionary dict = segment.getSegmentAsDict(); +// string json = IronSourceJSON.Json.Serialize(dict); +// CFSetSegment(json); +// } + +// public void setConsent(bool consent) +// { +// CFSetConsent(consent); +// } + +// public void loadConsentViewWithType(string consentViewType) +// { +// CFLoadConsentViewWithType(consentViewType); +// } + +// public void showConsentViewWithType(string consentViewType) +// { +// CFShowConsentViewWithType(consentViewType); +// } + +// //******************* ILRD API *******************// + +// public void setAdRevenueData(string dataSource, Dictionary impressionData) +// { +// string json = IronSourceJSON.Json.Serialize(impressionData); +// CFSetAdRevenueData(dataSource, json); +// } + +// //******************* TestSuite API *******************// + +// public void launchTestSuite() +// { +// Debug.Log("iOSAgent: launching TestSuite"); +// CFLaunchTestSuite(); +// } + +// #endregion // } #endif diff --git a/Assets/XLua/Gen/AndroidAgentWrap.cs b/Assets/XLua/Gen/AndroidAgentWrap.cs new file mode 100644 index 000000000..0ef548ce7 --- /dev/null +++ b/Assets/XLua/Gen/AndroidAgentWrap.cs @@ -0,0 +1,1536 @@ +#if USE_UNI_LUA +using LuaAPI = UniLua.Lua; +using RealStatePtr = UniLua.ILuaState; +using LuaCSFunction = UniLua.CSharpFunctionDelegate; +#else +using LuaAPI = XLua.LuaDLL.Lua; +using RealStatePtr = System.IntPtr; +using LuaCSFunction = XLua.LuaDLL.lua_CSFunction; +#endif + +using XLua; +using System.Collections.Generic; + + +namespace XLua.CSObjectWrap +{ + using Utils = XLua.Utils; + public class AndroidAgentWrap + { + public static void __Register(RealStatePtr L) + { + ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); + System.Type type = typeof(AndroidAgent); + Utils.BeginObjectRegister(type, L, translator, 0, 47, 0, 0); + + Utils.RegisterFunc(L, Utils.METHOD_IDX, "getBridge", _m_getBridge); + Utils.RegisterFunc(L, Utils.METHOD_IDX, "SetWaterfallConfiguration", _m_SetWaterfallConfiguration); + Utils.RegisterFunc(L, Utils.METHOD_IDX, "onApplicationPause", _m_onApplicationPause); + Utils.RegisterFunc(L, Utils.METHOD_IDX, "getAdvertiserId", _m_getAdvertiserId); + Utils.RegisterFunc(L, Utils.METHOD_IDX, "validateIntegration", _m_validateIntegration); + Utils.RegisterFunc(L, Utils.METHOD_IDX, "shouldTrackNetworkState", _m_shouldTrackNetworkState); + Utils.RegisterFunc(L, Utils.METHOD_IDX, "setDynamicUserId", _m_setDynamicUserId); + Utils.RegisterFunc(L, Utils.METHOD_IDX, "setAdaptersDebug", _m_setAdaptersDebug); + Utils.RegisterFunc(L, Utils.METHOD_IDX, "setMetaData", _m_setMetaData); + Utils.RegisterFunc(L, Utils.METHOD_IDX, "getConversionValue", _m_getConversionValue); + Utils.RegisterFunc(L, Utils.METHOD_IDX, "setManualLoadRewardedVideo", _m_setManualLoadRewardedVideo); + Utils.RegisterFunc(L, Utils.METHOD_IDX, "setNetworkData", _m_setNetworkData); + Utils.RegisterFunc(L, Utils.METHOD_IDX, "SetPauseGame", _m_SetPauseGame); + Utils.RegisterFunc(L, Utils.METHOD_IDX, "setUserId", _m_setUserId); + Utils.RegisterFunc(L, Utils.METHOD_IDX, "init", _m_init); + Utils.RegisterFunc(L, Utils.METHOD_IDX, "initISDemandOnly", _m_initISDemandOnly); + Utils.RegisterFunc(L, Utils.METHOD_IDX, "loadRewardedVideo", _m_loadRewardedVideo); + Utils.RegisterFunc(L, Utils.METHOD_IDX, "showRewardedVideo", _m_showRewardedVideo); + Utils.RegisterFunc(L, Utils.METHOD_IDX, "isRewardedVideoAvailable", _m_isRewardedVideoAvailable); + Utils.RegisterFunc(L, Utils.METHOD_IDX, "isRewardedVideoPlacementCapped", _m_isRewardedVideoPlacementCapped); + Utils.RegisterFunc(L, Utils.METHOD_IDX, "getPlacementInfo", _m_getPlacementInfo); + Utils.RegisterFunc(L, Utils.METHOD_IDX, "setRewardedVideoServerParams", _m_setRewardedVideoServerParams); + Utils.RegisterFunc(L, Utils.METHOD_IDX, "clearRewardedVideoServerParams", _m_clearRewardedVideoServerParams); + Utils.RegisterFunc(L, Utils.METHOD_IDX, "showISDemandOnlyRewardedVideo", _m_showISDemandOnlyRewardedVideo); + Utils.RegisterFunc(L, Utils.METHOD_IDX, "loadISDemandOnlyRewardedVideo", _m_loadISDemandOnlyRewardedVideo); + Utils.RegisterFunc(L, Utils.METHOD_IDX, "isISDemandOnlyRewardedVideoAvailable", _m_isISDemandOnlyRewardedVideoAvailable); + Utils.RegisterFunc(L, Utils.METHOD_IDX, "loadInterstitial", _m_loadInterstitial); + Utils.RegisterFunc(L, Utils.METHOD_IDX, "showInterstitial", _m_showInterstitial); + Utils.RegisterFunc(L, Utils.METHOD_IDX, "isInterstitialReady", _m_isInterstitialReady); + Utils.RegisterFunc(L, Utils.METHOD_IDX, "isInterstitialPlacementCapped", _m_isInterstitialPlacementCapped); + Utils.RegisterFunc(L, Utils.METHOD_IDX, "loadISDemandOnlyInterstitial", _m_loadISDemandOnlyInterstitial); + Utils.RegisterFunc(L, Utils.METHOD_IDX, "showISDemandOnlyInterstitial", _m_showISDemandOnlyInterstitial); + Utils.RegisterFunc(L, Utils.METHOD_IDX, "isISDemandOnlyInterstitialReady", _m_isISDemandOnlyInterstitialReady); + Utils.RegisterFunc(L, Utils.METHOD_IDX, "showOfferwall", _m_showOfferwall); + Utils.RegisterFunc(L, Utils.METHOD_IDX, "getOfferwallCredits", _m_getOfferwallCredits); + Utils.RegisterFunc(L, Utils.METHOD_IDX, "isOfferwallAvailable", _m_isOfferwallAvailable); + Utils.RegisterFunc(L, Utils.METHOD_IDX, "loadBanner", _m_loadBanner); + Utils.RegisterFunc(L, Utils.METHOD_IDX, "destroyBanner", _m_destroyBanner); + Utils.RegisterFunc(L, Utils.METHOD_IDX, "displayBanner", _m_displayBanner); + Utils.RegisterFunc(L, Utils.METHOD_IDX, "hideBanner", _m_hideBanner); + Utils.RegisterFunc(L, Utils.METHOD_IDX, "isBannerPlacementCapped", _m_isBannerPlacementCapped); + Utils.RegisterFunc(L, Utils.METHOD_IDX, "setSegment", _m_setSegment); + Utils.RegisterFunc(L, Utils.METHOD_IDX, "setConsent", _m_setConsent); + Utils.RegisterFunc(L, Utils.METHOD_IDX, "loadConsentViewWithType", _m_loadConsentViewWithType); + Utils.RegisterFunc(L, Utils.METHOD_IDX, "showConsentViewWithType", _m_showConsentViewWithType); + Utils.RegisterFunc(L, Utils.METHOD_IDX, "setAdRevenueData", _m_setAdRevenueData); + Utils.RegisterFunc(L, Utils.METHOD_IDX, "launchTestSuite", _m_launchTestSuite); + + + + + + Utils.EndObjectRegister(type, L, translator, null, null, + null, null, null); + + Utils.BeginClassRegister(type, L, __CreateInstance, 1, 0, 0); + + + + + + + Utils.EndClassRegister(type, L, translator); + } + + [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] + static int __CreateInstance(RealStatePtr L) + { + + try { + ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); + if(LuaAPI.lua_gettop(L) == 1) + { + + var gen_ret = new AndroidAgent(); + translator.Push(L, gen_ret); + + return 1; + } + + } + catch(System.Exception gen_e) { + return LuaAPI.luaL_error(L, "c# exception:" + gen_e); + } + return LuaAPI.luaL_error(L, "invalid arguments to AndroidAgent constructor!"); + + } + + + + + + + + + [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] + static int _m_getBridge(RealStatePtr L) + { + try { + + ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); + + + AndroidAgent gen_to_be_invoked = (AndroidAgent)translator.FastGetCSObj(L, 1); + + + + { + + var gen_ret = gen_to_be_invoked.getBridge( ); + translator.Push(L, gen_ret); + + + + return 1; + } + + } catch(System.Exception gen_e) { + return LuaAPI.luaL_error(L, "c# exception:" + gen_e); + } + + } + + [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] + static int _m_SetWaterfallConfiguration(RealStatePtr L) + { + try { + + ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); + + + AndroidAgent gen_to_be_invoked = (AndroidAgent)translator.FastGetCSObj(L, 1); + + + + { + WaterfallConfiguration _waterfallConfiguration = (WaterfallConfiguration)translator.GetObject(L, 2, typeof(WaterfallConfiguration)); + AdFormat _adFormat;translator.Get(L, 3, out _adFormat); + + gen_to_be_invoked.SetWaterfallConfiguration( _waterfallConfiguration, _adFormat ); + + + + return 0; + } + + } catch(System.Exception gen_e) { + return LuaAPI.luaL_error(L, "c# exception:" + gen_e); + } + + } + + [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] + static int _m_onApplicationPause(RealStatePtr L) + { + try { + + ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); + + + AndroidAgent gen_to_be_invoked = (AndroidAgent)translator.FastGetCSObj(L, 1); + + + + { + bool _pause = LuaAPI.lua_toboolean(L, 2); + + gen_to_be_invoked.onApplicationPause( _pause ); + + + + return 0; + } + + } catch(System.Exception gen_e) { + return LuaAPI.luaL_error(L, "c# exception:" + gen_e); + } + + } + + [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] + static int _m_getAdvertiserId(RealStatePtr L) + { + try { + + ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); + + + AndroidAgent gen_to_be_invoked = (AndroidAgent)translator.FastGetCSObj(L, 1); + + + + { + + var gen_ret = gen_to_be_invoked.getAdvertiserId( ); + LuaAPI.lua_pushstring(L, gen_ret); + + + + return 1; + } + + } catch(System.Exception gen_e) { + return LuaAPI.luaL_error(L, "c# exception:" + gen_e); + } + + } + + [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] + static int _m_validateIntegration(RealStatePtr L) + { + try { + + ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); + + + AndroidAgent gen_to_be_invoked = (AndroidAgent)translator.FastGetCSObj(L, 1); + + + + { + + gen_to_be_invoked.validateIntegration( ); + + + + return 0; + } + + } catch(System.Exception gen_e) { + return LuaAPI.luaL_error(L, "c# exception:" + gen_e); + } + + } + + [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] + static int _m_shouldTrackNetworkState(RealStatePtr L) + { + try { + + ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); + + + AndroidAgent gen_to_be_invoked = (AndroidAgent)translator.FastGetCSObj(L, 1); + + + + { + bool _track = LuaAPI.lua_toboolean(L, 2); + + gen_to_be_invoked.shouldTrackNetworkState( _track ); + + + + return 0; + } + + } catch(System.Exception gen_e) { + return LuaAPI.luaL_error(L, "c# exception:" + gen_e); + } + + } + + [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] + static int _m_setDynamicUserId(RealStatePtr L) + { + try { + + ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); + + + AndroidAgent gen_to_be_invoked = (AndroidAgent)translator.FastGetCSObj(L, 1); + + + + { + string _dynamicUserId = LuaAPI.lua_tostring(L, 2); + + var gen_ret = gen_to_be_invoked.setDynamicUserId( _dynamicUserId ); + LuaAPI.lua_pushboolean(L, gen_ret); + + + + return 1; + } + + } catch(System.Exception gen_e) { + return LuaAPI.luaL_error(L, "c# exception:" + gen_e); + } + + } + + [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] + static int _m_setAdaptersDebug(RealStatePtr L) + { + try { + + ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); + + + AndroidAgent gen_to_be_invoked = (AndroidAgent)translator.FastGetCSObj(L, 1); + + + + { + bool _enabled = LuaAPI.lua_toboolean(L, 2); + + gen_to_be_invoked.setAdaptersDebug( _enabled ); + + + + return 0; + } + + } catch(System.Exception gen_e) { + return LuaAPI.luaL_error(L, "c# exception:" + gen_e); + } + + } + + [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] + static int _m_setMetaData(RealStatePtr L) + { + try { + + ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); + + + AndroidAgent gen_to_be_invoked = (AndroidAgent)translator.FastGetCSObj(L, 1); + + + int gen_param_count = LuaAPI.lua_gettop(L); + + if(gen_param_count == 3&& (LuaAPI.lua_isnil(L, 2) || LuaAPI.lua_type(L, 2) == LuaTypes.LUA_TSTRING)&& (LuaAPI.lua_isnil(L, 3) || LuaAPI.lua_type(L, 3) == LuaTypes.LUA_TSTRING)) + { + string _key = LuaAPI.lua_tostring(L, 2); + string _value = LuaAPI.lua_tostring(L, 3); + + gen_to_be_invoked.setMetaData( _key, _value ); + + + + return 0; + } + if(gen_param_count >= 2&& (LuaAPI.lua_isnil(L, 2) || LuaAPI.lua_type(L, 2) == LuaTypes.LUA_TSTRING)&& (LuaTypes.LUA_TNONE == LuaAPI.lua_type(L, 3) || (LuaAPI.lua_isnil(L, 3) || LuaAPI.lua_type(L, 3) == LuaTypes.LUA_TSTRING))) + { + string _key = LuaAPI.lua_tostring(L, 2); + string[] _values = translator.GetParams(L, 3); + + gen_to_be_invoked.setMetaData( _key, _values ); + + + + return 0; + } + + } catch(System.Exception gen_e) { + return LuaAPI.luaL_error(L, "c# exception:" + gen_e); + } + + return LuaAPI.luaL_error(L, "invalid arguments to AndroidAgent.setMetaData!"); + + } + + [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] + static int _m_getConversionValue(RealStatePtr L) + { + try { + + ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); + + + AndroidAgent gen_to_be_invoked = (AndroidAgent)translator.FastGetCSObj(L, 1); + + + + { + + var gen_ret = gen_to_be_invoked.getConversionValue( ); + translator.PushAny(L, gen_ret); + + + + return 1; + } + + } catch(System.Exception gen_e) { + return LuaAPI.luaL_error(L, "c# exception:" + gen_e); + } + + } + + [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] + static int _m_setManualLoadRewardedVideo(RealStatePtr L) + { + try { + + ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); + + + AndroidAgent gen_to_be_invoked = (AndroidAgent)translator.FastGetCSObj(L, 1); + + + + { + bool _isOn = LuaAPI.lua_toboolean(L, 2); + + gen_to_be_invoked.setManualLoadRewardedVideo( _isOn ); + + + + return 0; + } + + } catch(System.Exception gen_e) { + return LuaAPI.luaL_error(L, "c# exception:" + gen_e); + } + + } + + [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] + static int _m_setNetworkData(RealStatePtr L) + { + try { + + ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); + + + AndroidAgent gen_to_be_invoked = (AndroidAgent)translator.FastGetCSObj(L, 1); + + + + { + string _networkKey = LuaAPI.lua_tostring(L, 2); + string _networkData = LuaAPI.lua_tostring(L, 3); + + gen_to_be_invoked.setNetworkData( _networkKey, _networkData ); + + + + return 0; + } + + } catch(System.Exception gen_e) { + return LuaAPI.luaL_error(L, "c# exception:" + gen_e); + } + + } + + [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] + static int _m_SetPauseGame(RealStatePtr L) + { + try { + + ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); + + + AndroidAgent gen_to_be_invoked = (AndroidAgent)translator.FastGetCSObj(L, 1); + + + + { + bool _pause = LuaAPI.lua_toboolean(L, 2); + + gen_to_be_invoked.SetPauseGame( _pause ); + + + + return 0; + } + + } catch(System.Exception gen_e) { + return LuaAPI.luaL_error(L, "c# exception:" + gen_e); + } + + } + + [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] + static int _m_setUserId(RealStatePtr L) + { + try { + + ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); + + + AndroidAgent gen_to_be_invoked = (AndroidAgent)translator.FastGetCSObj(L, 1); + + + + { + string _userId = LuaAPI.lua_tostring(L, 2); + + gen_to_be_invoked.setUserId( _userId ); + + + + return 0; + } + + } catch(System.Exception gen_e) { + return LuaAPI.luaL_error(L, "c# exception:" + gen_e); + } + + } + + [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] + static int _m_init(RealStatePtr L) + { + try { + + ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); + + + AndroidAgent gen_to_be_invoked = (AndroidAgent)translator.FastGetCSObj(L, 1); + + + int gen_param_count = LuaAPI.lua_gettop(L); + + if(gen_param_count == 2&& (LuaAPI.lua_isnil(L, 2) || LuaAPI.lua_type(L, 2) == LuaTypes.LUA_TSTRING)) + { + string _appKey = LuaAPI.lua_tostring(L, 2); + + gen_to_be_invoked.init( _appKey ); + + + + return 0; + } + if(gen_param_count >= 2&& (LuaAPI.lua_isnil(L, 2) || LuaAPI.lua_type(L, 2) == LuaTypes.LUA_TSTRING)&& (LuaTypes.LUA_TNONE == LuaAPI.lua_type(L, 3) || (LuaAPI.lua_isnil(L, 3) || LuaAPI.lua_type(L, 3) == LuaTypes.LUA_TSTRING))) + { + string _appKey = LuaAPI.lua_tostring(L, 2); + string[] _adUnits = translator.GetParams(L, 3); + + gen_to_be_invoked.init( _appKey, _adUnits ); + + + + return 0; + } + + } catch(System.Exception gen_e) { + return LuaAPI.luaL_error(L, "c# exception:" + gen_e); + } + + return LuaAPI.luaL_error(L, "invalid arguments to AndroidAgent.init!"); + + } + + [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] + static int _m_initISDemandOnly(RealStatePtr L) + { + try { + + ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); + + + AndroidAgent gen_to_be_invoked = (AndroidAgent)translator.FastGetCSObj(L, 1); + + + + { + string _appKey = LuaAPI.lua_tostring(L, 2); + string[] _adUnits = translator.GetParams(L, 3); + + gen_to_be_invoked.initISDemandOnly( _appKey, _adUnits ); + + + + return 0; + } + + } catch(System.Exception gen_e) { + return LuaAPI.luaL_error(L, "c# exception:" + gen_e); + } + + } + + [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] + static int _m_loadRewardedVideo(RealStatePtr L) + { + try { + + ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); + + + AndroidAgent gen_to_be_invoked = (AndroidAgent)translator.FastGetCSObj(L, 1); + + + + { + + gen_to_be_invoked.loadRewardedVideo( ); + + + + return 0; + } + + } catch(System.Exception gen_e) { + return LuaAPI.luaL_error(L, "c# exception:" + gen_e); + } + + } + + [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] + static int _m_showRewardedVideo(RealStatePtr L) + { + try { + + ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); + + + AndroidAgent gen_to_be_invoked = (AndroidAgent)translator.FastGetCSObj(L, 1); + + + int gen_param_count = LuaAPI.lua_gettop(L); + + if(gen_param_count == 1) + { + + gen_to_be_invoked.showRewardedVideo( ); + + + + return 0; + } + if(gen_param_count == 2&& (LuaAPI.lua_isnil(L, 2) || LuaAPI.lua_type(L, 2) == LuaTypes.LUA_TSTRING)) + { + string _placementName = LuaAPI.lua_tostring(L, 2); + + gen_to_be_invoked.showRewardedVideo( _placementName ); + + + + return 0; + } + + } catch(System.Exception gen_e) { + return LuaAPI.luaL_error(L, "c# exception:" + gen_e); + } + + return LuaAPI.luaL_error(L, "invalid arguments to AndroidAgent.showRewardedVideo!"); + + } + + [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] + static int _m_isRewardedVideoAvailable(RealStatePtr L) + { + try { + + ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); + + + AndroidAgent gen_to_be_invoked = (AndroidAgent)translator.FastGetCSObj(L, 1); + + + + { + + var gen_ret = gen_to_be_invoked.isRewardedVideoAvailable( ); + LuaAPI.lua_pushboolean(L, gen_ret); + + + + return 1; + } + + } catch(System.Exception gen_e) { + return LuaAPI.luaL_error(L, "c# exception:" + gen_e); + } + + } + + [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] + static int _m_isRewardedVideoPlacementCapped(RealStatePtr L) + { + try { + + ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); + + + AndroidAgent gen_to_be_invoked = (AndroidAgent)translator.FastGetCSObj(L, 1); + + + + { + string _placementName = LuaAPI.lua_tostring(L, 2); + + var gen_ret = gen_to_be_invoked.isRewardedVideoPlacementCapped( _placementName ); + LuaAPI.lua_pushboolean(L, gen_ret); + + + + return 1; + } + + } catch(System.Exception gen_e) { + return LuaAPI.luaL_error(L, "c# exception:" + gen_e); + } + + } + + [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] + static int _m_getPlacementInfo(RealStatePtr L) + { + try { + + ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); + + + AndroidAgent gen_to_be_invoked = (AndroidAgent)translator.FastGetCSObj(L, 1); + + + + { + string _placementName = LuaAPI.lua_tostring(L, 2); + + var gen_ret = gen_to_be_invoked.getPlacementInfo( _placementName ); + translator.Push(L, gen_ret); + + + + return 1; + } + + } catch(System.Exception gen_e) { + return LuaAPI.luaL_error(L, "c# exception:" + gen_e); + } + + } + + [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] + static int _m_setRewardedVideoServerParams(RealStatePtr L) + { + try { + + ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); + + + AndroidAgent gen_to_be_invoked = (AndroidAgent)translator.FastGetCSObj(L, 1); + + + + { + System.Collections.Generic.Dictionary _parameters = (System.Collections.Generic.Dictionary)translator.GetObject(L, 2, typeof(System.Collections.Generic.Dictionary)); + + gen_to_be_invoked.setRewardedVideoServerParams( _parameters ); + + + + return 0; + } + + } catch(System.Exception gen_e) { + return LuaAPI.luaL_error(L, "c# exception:" + gen_e); + } + + } + + [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] + static int _m_clearRewardedVideoServerParams(RealStatePtr L) + { + try { + + ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); + + + AndroidAgent gen_to_be_invoked = (AndroidAgent)translator.FastGetCSObj(L, 1); + + + + { + + gen_to_be_invoked.clearRewardedVideoServerParams( ); + + + + return 0; + } + + } catch(System.Exception gen_e) { + return LuaAPI.luaL_error(L, "c# exception:" + gen_e); + } + + } + + [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] + static int _m_showISDemandOnlyRewardedVideo(RealStatePtr L) + { + try { + + ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); + + + AndroidAgent gen_to_be_invoked = (AndroidAgent)translator.FastGetCSObj(L, 1); + + + + { + string _instanceId = LuaAPI.lua_tostring(L, 2); + + gen_to_be_invoked.showISDemandOnlyRewardedVideo( _instanceId ); + + + + return 0; + } + + } catch(System.Exception gen_e) { + return LuaAPI.luaL_error(L, "c# exception:" + gen_e); + } + + } + + [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] + static int _m_loadISDemandOnlyRewardedVideo(RealStatePtr L) + { + try { + + ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); + + + AndroidAgent gen_to_be_invoked = (AndroidAgent)translator.FastGetCSObj(L, 1); + + + + { + string _instanceId = LuaAPI.lua_tostring(L, 2); + + gen_to_be_invoked.loadISDemandOnlyRewardedVideo( _instanceId ); + + + + return 0; + } + + } catch(System.Exception gen_e) { + return LuaAPI.luaL_error(L, "c# exception:" + gen_e); + } + + } + + [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] + static int _m_isISDemandOnlyRewardedVideoAvailable(RealStatePtr L) + { + try { + + ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); + + + AndroidAgent gen_to_be_invoked = (AndroidAgent)translator.FastGetCSObj(L, 1); + + + + { + string _instanceId = LuaAPI.lua_tostring(L, 2); + + var gen_ret = gen_to_be_invoked.isISDemandOnlyRewardedVideoAvailable( _instanceId ); + LuaAPI.lua_pushboolean(L, gen_ret); + + + + return 1; + } + + } catch(System.Exception gen_e) { + return LuaAPI.luaL_error(L, "c# exception:" + gen_e); + } + + } + + [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] + static int _m_loadInterstitial(RealStatePtr L) + { + try { + + ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); + + + AndroidAgent gen_to_be_invoked = (AndroidAgent)translator.FastGetCSObj(L, 1); + + + + { + + gen_to_be_invoked.loadInterstitial( ); + + + + return 0; + } + + } catch(System.Exception gen_e) { + return LuaAPI.luaL_error(L, "c# exception:" + gen_e); + } + + } + + [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] + static int _m_showInterstitial(RealStatePtr L) + { + try { + + ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); + + + AndroidAgent gen_to_be_invoked = (AndroidAgent)translator.FastGetCSObj(L, 1); + + + int gen_param_count = LuaAPI.lua_gettop(L); + + if(gen_param_count == 1) + { + + gen_to_be_invoked.showInterstitial( ); + + + + return 0; + } + if(gen_param_count == 2&& (LuaAPI.lua_isnil(L, 2) || LuaAPI.lua_type(L, 2) == LuaTypes.LUA_TSTRING)) + { + string _placementName = LuaAPI.lua_tostring(L, 2); + + gen_to_be_invoked.showInterstitial( _placementName ); + + + + return 0; + } + + } catch(System.Exception gen_e) { + return LuaAPI.luaL_error(L, "c# exception:" + gen_e); + } + + return LuaAPI.luaL_error(L, "invalid arguments to AndroidAgent.showInterstitial!"); + + } + + [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] + static int _m_isInterstitialReady(RealStatePtr L) + { + try { + + ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); + + + AndroidAgent gen_to_be_invoked = (AndroidAgent)translator.FastGetCSObj(L, 1); + + + + { + + var gen_ret = gen_to_be_invoked.isInterstitialReady( ); + LuaAPI.lua_pushboolean(L, gen_ret); + + + + return 1; + } + + } catch(System.Exception gen_e) { + return LuaAPI.luaL_error(L, "c# exception:" + gen_e); + } + + } + + [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] + static int _m_isInterstitialPlacementCapped(RealStatePtr L) + { + try { + + ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); + + + AndroidAgent gen_to_be_invoked = (AndroidAgent)translator.FastGetCSObj(L, 1); + + + + { + string _placementName = LuaAPI.lua_tostring(L, 2); + + var gen_ret = gen_to_be_invoked.isInterstitialPlacementCapped( _placementName ); + LuaAPI.lua_pushboolean(L, gen_ret); + + + + return 1; + } + + } catch(System.Exception gen_e) { + return LuaAPI.luaL_error(L, "c# exception:" + gen_e); + } + + } + + [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] + static int _m_loadISDemandOnlyInterstitial(RealStatePtr L) + { + try { + + ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); + + + AndroidAgent gen_to_be_invoked = (AndroidAgent)translator.FastGetCSObj(L, 1); + + + + { + string _instanceId = LuaAPI.lua_tostring(L, 2); + + gen_to_be_invoked.loadISDemandOnlyInterstitial( _instanceId ); + + + + return 0; + } + + } catch(System.Exception gen_e) { + return LuaAPI.luaL_error(L, "c# exception:" + gen_e); + } + + } + + [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] + static int _m_showISDemandOnlyInterstitial(RealStatePtr L) + { + try { + + ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); + + + AndroidAgent gen_to_be_invoked = (AndroidAgent)translator.FastGetCSObj(L, 1); + + + + { + string _instanceId = LuaAPI.lua_tostring(L, 2); + + gen_to_be_invoked.showISDemandOnlyInterstitial( _instanceId ); + + + + return 0; + } + + } catch(System.Exception gen_e) { + return LuaAPI.luaL_error(L, "c# exception:" + gen_e); + } + + } + + [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] + static int _m_isISDemandOnlyInterstitialReady(RealStatePtr L) + { + try { + + ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); + + + AndroidAgent gen_to_be_invoked = (AndroidAgent)translator.FastGetCSObj(L, 1); + + + + { + string _instanceId = LuaAPI.lua_tostring(L, 2); + + var gen_ret = gen_to_be_invoked.isISDemandOnlyInterstitialReady( _instanceId ); + LuaAPI.lua_pushboolean(L, gen_ret); + + + + return 1; + } + + } catch(System.Exception gen_e) { + return LuaAPI.luaL_error(L, "c# exception:" + gen_e); + } + + } + + [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] + static int _m_showOfferwall(RealStatePtr L) + { + try { + + ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); + + + AndroidAgent gen_to_be_invoked = (AndroidAgent)translator.FastGetCSObj(L, 1); + + + int gen_param_count = LuaAPI.lua_gettop(L); + + if(gen_param_count == 1) + { + + gen_to_be_invoked.showOfferwall( ); + + + + return 0; + } + if(gen_param_count == 2&& (LuaAPI.lua_isnil(L, 2) || LuaAPI.lua_type(L, 2) == LuaTypes.LUA_TSTRING)) + { + string _placementName = LuaAPI.lua_tostring(L, 2); + + gen_to_be_invoked.showOfferwall( _placementName ); + + + + return 0; + } + + } catch(System.Exception gen_e) { + return LuaAPI.luaL_error(L, "c# exception:" + gen_e); + } + + return LuaAPI.luaL_error(L, "invalid arguments to AndroidAgent.showOfferwall!"); + + } + + [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] + static int _m_getOfferwallCredits(RealStatePtr L) + { + try { + + ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); + + + AndroidAgent gen_to_be_invoked = (AndroidAgent)translator.FastGetCSObj(L, 1); + + + + { + + gen_to_be_invoked.getOfferwallCredits( ); + + + + return 0; + } + + } catch(System.Exception gen_e) { + return LuaAPI.luaL_error(L, "c# exception:" + gen_e); + } + + } + + [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] + static int _m_isOfferwallAvailable(RealStatePtr L) + { + try { + + ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); + + + AndroidAgent gen_to_be_invoked = (AndroidAgent)translator.FastGetCSObj(L, 1); + + + + { + + var gen_ret = gen_to_be_invoked.isOfferwallAvailable( ); + LuaAPI.lua_pushboolean(L, gen_ret); + + + + return 1; + } + + } catch(System.Exception gen_e) { + return LuaAPI.luaL_error(L, "c# exception:" + gen_e); + } + + } + + [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] + static int _m_loadBanner(RealStatePtr L) + { + try { + + ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); + + + AndroidAgent gen_to_be_invoked = (AndroidAgent)translator.FastGetCSObj(L, 1); + + + int gen_param_count = LuaAPI.lua_gettop(L); + + if(gen_param_count == 3&& translator.Assignable(L, 2)&& translator.Assignable(L, 3)) + { + IronSourceBannerSize _size = (IronSourceBannerSize)translator.GetObject(L, 2, typeof(IronSourceBannerSize)); + IronSourceBannerPosition _position;translator.Get(L, 3, out _position); + + gen_to_be_invoked.loadBanner( _size, _position ); + + + + return 0; + } + if(gen_param_count == 4&& translator.Assignable(L, 2)&& translator.Assignable(L, 3)&& (LuaAPI.lua_isnil(L, 4) || LuaAPI.lua_type(L, 4) == LuaTypes.LUA_TSTRING)) + { + IronSourceBannerSize _size = (IronSourceBannerSize)translator.GetObject(L, 2, typeof(IronSourceBannerSize)); + IronSourceBannerPosition _position;translator.Get(L, 3, out _position); + string _placementName = LuaAPI.lua_tostring(L, 4); + + gen_to_be_invoked.loadBanner( _size, _position, _placementName ); + + + + return 0; + } + + } catch(System.Exception gen_e) { + return LuaAPI.luaL_error(L, "c# exception:" + gen_e); + } + + return LuaAPI.luaL_error(L, "invalid arguments to AndroidAgent.loadBanner!"); + + } + + [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] + static int _m_destroyBanner(RealStatePtr L) + { + try { + + ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); + + + AndroidAgent gen_to_be_invoked = (AndroidAgent)translator.FastGetCSObj(L, 1); + + + + { + + gen_to_be_invoked.destroyBanner( ); + + + + return 0; + } + + } catch(System.Exception gen_e) { + return LuaAPI.luaL_error(L, "c# exception:" + gen_e); + } + + } + + [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] + static int _m_displayBanner(RealStatePtr L) + { + try { + + ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); + + + AndroidAgent gen_to_be_invoked = (AndroidAgent)translator.FastGetCSObj(L, 1); + + + + { + + gen_to_be_invoked.displayBanner( ); + + + + return 0; + } + + } catch(System.Exception gen_e) { + return LuaAPI.luaL_error(L, "c# exception:" + gen_e); + } + + } + + [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] + static int _m_hideBanner(RealStatePtr L) + { + try { + + ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); + + + AndroidAgent gen_to_be_invoked = (AndroidAgent)translator.FastGetCSObj(L, 1); + + + + { + + gen_to_be_invoked.hideBanner( ); + + + + return 0; + } + + } catch(System.Exception gen_e) { + return LuaAPI.luaL_error(L, "c# exception:" + gen_e); + } + + } + + [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] + static int _m_isBannerPlacementCapped(RealStatePtr L) + { + try { + + ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); + + + AndroidAgent gen_to_be_invoked = (AndroidAgent)translator.FastGetCSObj(L, 1); + + + + { + string _placementName = LuaAPI.lua_tostring(L, 2); + + var gen_ret = gen_to_be_invoked.isBannerPlacementCapped( _placementName ); + LuaAPI.lua_pushboolean(L, gen_ret); + + + + return 1; + } + + } catch(System.Exception gen_e) { + return LuaAPI.luaL_error(L, "c# exception:" + gen_e); + } + + } + + [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] + static int _m_setSegment(RealStatePtr L) + { + try { + + ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); + + + AndroidAgent gen_to_be_invoked = (AndroidAgent)translator.FastGetCSObj(L, 1); + + + + { + IronSourceSegment _segment = (IronSourceSegment)translator.GetObject(L, 2, typeof(IronSourceSegment)); + + gen_to_be_invoked.setSegment( _segment ); + + + + return 0; + } + + } catch(System.Exception gen_e) { + return LuaAPI.luaL_error(L, "c# exception:" + gen_e); + } + + } + + [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] + static int _m_setConsent(RealStatePtr L) + { + try { + + ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); + + + AndroidAgent gen_to_be_invoked = (AndroidAgent)translator.FastGetCSObj(L, 1); + + + + { + bool _consent = LuaAPI.lua_toboolean(L, 2); + + gen_to_be_invoked.setConsent( _consent ); + + + + return 0; + } + + } catch(System.Exception gen_e) { + return LuaAPI.luaL_error(L, "c# exception:" + gen_e); + } + + } + + [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] + static int _m_loadConsentViewWithType(RealStatePtr L) + { + try { + + ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); + + + AndroidAgent gen_to_be_invoked = (AndroidAgent)translator.FastGetCSObj(L, 1); + + + + { + string _consentViewType = LuaAPI.lua_tostring(L, 2); + + gen_to_be_invoked.loadConsentViewWithType( _consentViewType ); + + + + return 0; + } + + } catch(System.Exception gen_e) { + return LuaAPI.luaL_error(L, "c# exception:" + gen_e); + } + + } + + [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] + static int _m_showConsentViewWithType(RealStatePtr L) + { + try { + + ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); + + + AndroidAgent gen_to_be_invoked = (AndroidAgent)translator.FastGetCSObj(L, 1); + + + + { + string _consentViewType = LuaAPI.lua_tostring(L, 2); + + gen_to_be_invoked.showConsentViewWithType( _consentViewType ); + + + + return 0; + } + + } catch(System.Exception gen_e) { + return LuaAPI.luaL_error(L, "c# exception:" + gen_e); + } + + } + + [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] + static int _m_setAdRevenueData(RealStatePtr L) + { + try { + + ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); + + + AndroidAgent gen_to_be_invoked = (AndroidAgent)translator.FastGetCSObj(L, 1); + + + + { + string _dataSource = LuaAPI.lua_tostring(L, 2); + System.Collections.Generic.Dictionary _impressionData = (System.Collections.Generic.Dictionary)translator.GetObject(L, 3, typeof(System.Collections.Generic.Dictionary)); + + gen_to_be_invoked.setAdRevenueData( _dataSource, _impressionData ); + + + + return 0; + } + + } catch(System.Exception gen_e) { + return LuaAPI.luaL_error(L, "c# exception:" + gen_e); + } + + } + + [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] + static int _m_launchTestSuite(RealStatePtr L) + { + try { + + ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); + + + AndroidAgent gen_to_be_invoked = (AndroidAgent)translator.FastGetCSObj(L, 1); + + + + { + + gen_to_be_invoked.launchTestSuite( ); + + + + return 0; + } + + } catch(System.Exception gen_e) { + return LuaAPI.luaL_error(L, "c# exception:" + gen_e); + } + + } + + + + + + + + + + + } +} diff --git a/Assets/XLua/Gen/DelegatesGensBridge.cs b/Assets/XLua/Gen/DelegatesGensBridge.cs index 5dde8af8f..e45320bd3 100644 --- a/Assets/XLua/Gen/DelegatesGensBridge.cs +++ b/Assets/XLua/Gen/DelegatesGensBridge.cs @@ -2007,7 +2007,30 @@ namespace XLua #endif } - public string __Gen_Delegate_Imp89(System.DateTime p0) + public void __Gen_Delegate_Imp89(ISAdQualityInitError p0, string p1) + { +#if THREAD_SAFE || HOTFIX_ENABLE + lock (luaEnv.luaEnvLock) + { +#endif + RealStatePtr L = luaEnv.rawL; + int errFunc = LuaAPI.pcall_prepare(L, errorFuncRef, luaReference); + ObjectTranslator translator = luaEnv.translator; + translator.PushISAdQualityInitError(L, p0); + LuaAPI.lua_pushstring(L, p1); + + PCall(L, 2, 0, errFunc); + + + + LuaAPI.lua_settop(L, errFunc - 1); + +#if THREAD_SAFE || HOTFIX_ENABLE + } +#endif + } + + public string __Gen_Delegate_Imp90(System.DateTime p0) { #if THREAD_SAFE || HOTFIX_ENABLE lock (luaEnv.luaEnvLock) @@ -2029,7 +2052,7 @@ namespace XLua #endif } - public void __Gen_Delegate_Imp90(com.adjust.sdk.AdjustAttribution p0) + public void __Gen_Delegate_Imp91(com.adjust.sdk.AdjustAttribution p0) { #if THREAD_SAFE || HOTFIX_ENABLE lock (luaEnv.luaEnvLock) @@ -2051,7 +2074,7 @@ namespace XLua #endif } - public void __Gen_Delegate_Imp91(com.adjust.sdk.AdjustEventSuccess p0) + public void __Gen_Delegate_Imp92(com.adjust.sdk.AdjustEventSuccess p0) { #if THREAD_SAFE || HOTFIX_ENABLE lock (luaEnv.luaEnvLock) @@ -2073,7 +2096,7 @@ namespace XLua #endif } - public void __Gen_Delegate_Imp92(com.adjust.sdk.AdjustEventFailure p0) + public void __Gen_Delegate_Imp93(com.adjust.sdk.AdjustEventFailure p0) { #if THREAD_SAFE || HOTFIX_ENABLE lock (luaEnv.luaEnvLock) @@ -2095,7 +2118,7 @@ namespace XLua #endif } - public void __Gen_Delegate_Imp93(com.adjust.sdk.AdjustSessionSuccess p0) + public void __Gen_Delegate_Imp94(com.adjust.sdk.AdjustSessionSuccess p0) { #if THREAD_SAFE || HOTFIX_ENABLE lock (luaEnv.luaEnvLock) @@ -2117,7 +2140,7 @@ namespace XLua #endif } - public void __Gen_Delegate_Imp94(com.adjust.sdk.AdjustSessionFailure p0) + public void __Gen_Delegate_Imp95(com.adjust.sdk.AdjustSessionFailure p0) { #if THREAD_SAFE || HOTFIX_ENABLE lock (luaEnv.luaEnvLock) @@ -2139,7 +2162,7 @@ namespace XLua #endif } - public void __Gen_Delegate_Imp95(int p0, string p1, bool p2) + public void __Gen_Delegate_Imp96(int p0, string p1, bool p2) { #if THREAD_SAFE || HOTFIX_ENABLE lock (luaEnv.luaEnvLock) @@ -2163,7 +2186,7 @@ namespace XLua #endif } - public void __Gen_Delegate_Imp96(Http.ResultInfo p0) + public void __Gen_Delegate_Imp97(Http.ResultInfo p0) { #if THREAD_SAFE || HOTFIX_ENABLE lock (luaEnv.luaEnvLock) @@ -2185,7 +2208,7 @@ namespace XLua #endif } - public void __Gen_Delegate_Imp97(System.IAsyncResult p0) + public void __Gen_Delegate_Imp98(System.IAsyncResult p0) { #if THREAD_SAFE || HOTFIX_ENABLE lock (luaEnv.luaEnvLock) @@ -2207,7 +2230,7 @@ namespace XLua #endif } - public void __Gen_Delegate_Imp98(object p0, System.EventArgs p1) + public void __Gen_Delegate_Imp99(object p0, System.EventArgs p1) { #if THREAD_SAFE || HOTFIX_ENABLE lock (luaEnv.luaEnvLock) @@ -2230,7 +2253,7 @@ namespace XLua #endif } - public bool __Gen_Delegate_Imp99(int p0) + public bool __Gen_Delegate_Imp100(int p0) { #if THREAD_SAFE || HOTFIX_ENABLE lock (luaEnv.luaEnvLock) @@ -2252,7 +2275,7 @@ namespace XLua #endif } - public int __Gen_Delegate_Imp100(int p0, int p1) + public int __Gen_Delegate_Imp101(int p0, int p1) { #if THREAD_SAFE || HOTFIX_ENABLE lock (luaEnv.luaEnvLock) @@ -2275,7 +2298,7 @@ namespace XLua #endif } - public bool __Gen_Delegate_Imp101(float p0) + public bool __Gen_Delegate_Imp102(float p0) { #if THREAD_SAFE || HOTFIX_ENABLE lock (luaEnv.luaEnvLock) @@ -2297,7 +2320,7 @@ namespace XLua #endif } - public int __Gen_Delegate_Imp102(float p0, float p1) + public int __Gen_Delegate_Imp103(float p0, float p1) { #if THREAD_SAFE || HOTFIX_ENABLE lock (luaEnv.luaEnvLock) @@ -2320,7 +2343,7 @@ namespace XLua #endif } - public int __Gen_Delegate_Imp103(string p0, string p1) + public int __Gen_Delegate_Imp104(string p0, string p1) { #if THREAD_SAFE || HOTFIX_ENABLE lock (luaEnv.luaEnvLock) @@ -2343,7 +2366,7 @@ namespace XLua #endif } - public bool __Gen_Delegate_Imp104(TMPro.TMP_FontAsset p0) + public bool __Gen_Delegate_Imp105(TMPro.TMP_FontAsset p0) { #if THREAD_SAFE || HOTFIX_ENABLE lock (luaEnv.luaEnvLock) @@ -2365,7 +2388,7 @@ namespace XLua #endif } - public void __Gen_Delegate_Imp105(TMPro.TMP_FontAsset p0) + public void __Gen_Delegate_Imp106(TMPro.TMP_FontAsset p0) { #if THREAD_SAFE || HOTFIX_ENABLE lock (luaEnv.luaEnvLock) @@ -2387,7 +2410,7 @@ namespace XLua #endif } - public int __Gen_Delegate_Imp106(TMPro.TMP_FontAsset p0, TMPro.TMP_FontAsset p1) + public int __Gen_Delegate_Imp107(TMPro.TMP_FontAsset p0, TMPro.TMP_FontAsset p1) { #if THREAD_SAFE || HOTFIX_ENABLE lock (luaEnv.luaEnvLock) @@ -2410,7 +2433,7 @@ namespace XLua #endif } - public bool __Gen_Delegate_Imp107(UnityEngine.Camera p0) + public bool __Gen_Delegate_Imp108(UnityEngine.Camera p0) { #if THREAD_SAFE || HOTFIX_ENABLE lock (luaEnv.luaEnvLock) @@ -2432,7 +2455,7 @@ namespace XLua #endif } - public int __Gen_Delegate_Imp108(UnityEngine.Camera p0, UnityEngine.Camera p1) + public int __Gen_Delegate_Imp109(UnityEngine.Camera p0, UnityEngine.Camera p1) { #if THREAD_SAFE || HOTFIX_ENABLE lock (luaEnv.luaEnvLock) @@ -2455,7 +2478,7 @@ namespace XLua #endif } - public bool __Gen_Delegate_Imp109(System.Collections.Generic.List p0) + public bool __Gen_Delegate_Imp110(System.Collections.Generic.List p0) { #if THREAD_SAFE || HOTFIX_ENABLE lock (luaEnv.luaEnvLock) @@ -2477,7 +2500,7 @@ namespace XLua #endif } - public void __Gen_Delegate_Imp110(System.Collections.Generic.List p0) + public void __Gen_Delegate_Imp111(System.Collections.Generic.List p0) { #if THREAD_SAFE || HOTFIX_ENABLE lock (luaEnv.luaEnvLock) @@ -2499,7 +2522,7 @@ namespace XLua #endif } - public int __Gen_Delegate_Imp111(System.Collections.Generic.List p0, System.Collections.Generic.List p1) + public int __Gen_Delegate_Imp112(System.Collections.Generic.List p0, System.Collections.Generic.List p1) { #if THREAD_SAFE || HOTFIX_ENABLE lock (luaEnv.luaEnvLock) @@ -2522,7 +2545,7 @@ namespace XLua #endif } - public void __Gen_Delegate_Imp112(UnityEngine.Playables.PlayableDirector p0) + public void __Gen_Delegate_Imp113(UnityEngine.Playables.PlayableDirector p0) { #if THREAD_SAFE || HOTFIX_ENABLE lock (luaEnv.luaEnvLock) @@ -2544,7 +2567,7 @@ namespace XLua #endif } - public void __Gen_Delegate_Imp113(UnityEngine.SceneManagement.Scene p0, UnityEngine.SceneManagement.LoadSceneMode p1) + public void __Gen_Delegate_Imp114(UnityEngine.SceneManagement.Scene p0, UnityEngine.SceneManagement.LoadSceneMode p1) { #if THREAD_SAFE || HOTFIX_ENABLE lock (luaEnv.luaEnvLock) @@ -2567,7 +2590,7 @@ namespace XLua #endif } - public void __Gen_Delegate_Imp114(UnityEngine.SceneManagement.Scene p0) + public void __Gen_Delegate_Imp115(UnityEngine.SceneManagement.Scene p0) { #if THREAD_SAFE || HOTFIX_ENABLE lock (luaEnv.luaEnvLock) @@ -2589,7 +2612,7 @@ namespace XLua #endif } - public void __Gen_Delegate_Imp115(UnityEngine.SceneManagement.Scene p0, UnityEngine.SceneManagement.Scene p1) + public void __Gen_Delegate_Imp116(UnityEngine.SceneManagement.Scene p0, UnityEngine.SceneManagement.Scene p1) { #if THREAD_SAFE || HOTFIX_ENABLE lock (luaEnv.luaEnvLock) @@ -2612,7 +2635,7 @@ namespace XLua #endif } - public void __Gen_Delegate_Imp116(UnityEngine.Video.VideoPlayer p0) + public void __Gen_Delegate_Imp117(UnityEngine.Video.VideoPlayer p0) { #if THREAD_SAFE || HOTFIX_ENABLE lock (luaEnv.luaEnvLock) @@ -2634,7 +2657,7 @@ namespace XLua #endif } - public void __Gen_Delegate_Imp117(UnityEngine.Video.VideoPlayer p0, string p1) + public void __Gen_Delegate_Imp118(UnityEngine.Video.VideoPlayer p0, string p1) { #if THREAD_SAFE || HOTFIX_ENABLE lock (luaEnv.luaEnvLock) @@ -2657,7 +2680,7 @@ namespace XLua #endif } - public void __Gen_Delegate_Imp118(UnityEngine.Video.VideoPlayer p0, double p1) + public void __Gen_Delegate_Imp119(UnityEngine.Video.VideoPlayer p0, double p1) { #if THREAD_SAFE || HOTFIX_ENABLE lock (luaEnv.luaEnvLock) @@ -2680,7 +2703,7 @@ namespace XLua #endif } - public void __Gen_Delegate_Imp119(UnityEngine.Video.VideoPlayer p0, long p1) + public void __Gen_Delegate_Imp120(UnityEngine.Video.VideoPlayer p0, long p1) { #if THREAD_SAFE || HOTFIX_ENABLE lock (luaEnv.luaEnvLock) @@ -2703,7 +2726,7 @@ namespace XLua #endif } - public void __Gen_Delegate_Imp120(Spine.TrackEntry p0) + public void __Gen_Delegate_Imp121(Spine.TrackEntry p0) { #if THREAD_SAFE || HOTFIX_ENABLE lock (luaEnv.luaEnvLock) @@ -2725,7 +2748,7 @@ namespace XLua #endif } - public void __Gen_Delegate_Imp121(Spine.TrackEntry p0, Spine.Event p1) + public void __Gen_Delegate_Imp122(Spine.TrackEntry p0, Spine.Event p1) { #if THREAD_SAFE || HOTFIX_ENABLE lock (luaEnv.luaEnvLock) @@ -2748,7 +2771,7 @@ namespace XLua #endif } - public void __Gen_Delegate_Imp122(UnityEngine.Mesh p0, UnityEngine.Material p1, UnityEngine.Texture p2) + public void __Gen_Delegate_Imp123(UnityEngine.Mesh p0, UnityEngine.Material p1, UnityEngine.Texture p2) { #if THREAD_SAFE || HOTFIX_ENABLE lock (luaEnv.luaEnvLock) @@ -2772,7 +2795,7 @@ namespace XLua #endif } - public void __Gen_Delegate_Imp123(int p0, UnityEngine.Mesh[] p1, UnityEngine.Material[] p2, UnityEngine.Texture[] p3) + public void __Gen_Delegate_Imp124(int p0, UnityEngine.Mesh[] p1, UnityEngine.Material[] p2, UnityEngine.Texture[] p3) { #if THREAD_SAFE || HOTFIX_ENABLE lock (luaEnv.luaEnvLock) @@ -2797,7 +2820,7 @@ namespace XLua #endif } - public void __Gen_Delegate_Imp124(Spine.Unity.SkeletonGraphic p0) + public void __Gen_Delegate_Imp125(Spine.Unity.SkeletonGraphic p0) { #if THREAD_SAFE || HOTFIX_ENABLE lock (luaEnv.luaEnvLock) @@ -2819,7 +2842,7 @@ namespace XLua #endif } - public void __Gen_Delegate_Imp125(Spine.Unity.SkeletonRendererInstruction p0) + public void __Gen_Delegate_Imp126(Spine.Unity.SkeletonRendererInstruction p0) { #if THREAD_SAFE || HOTFIX_ENABLE lock (luaEnv.luaEnvLock) @@ -2841,7 +2864,7 @@ namespace XLua #endif } - public void __Gen_Delegate_Imp126(Spine.Unity.ISkeletonAnimation p0) + public void __Gen_Delegate_Imp127(Spine.Unity.ISkeletonAnimation p0) { #if THREAD_SAFE || HOTFIX_ENABLE lock (luaEnv.luaEnvLock) @@ -2863,7 +2886,7 @@ namespace XLua #endif } - public void __Gen_Delegate_Imp127(Spine.Unity.MeshGeneratorBuffers p0) + public void __Gen_Delegate_Imp128(Spine.Unity.MeshGeneratorBuffers p0) { #if THREAD_SAFE || HOTFIX_ENABLE lock (luaEnv.luaEnvLock) @@ -2885,7 +2908,7 @@ namespace XLua #endif } - public void __Gen_Delegate_Imp128(Spine.Unity.SkeletonRenderer p0) + public void __Gen_Delegate_Imp129(Spine.Unity.SkeletonRenderer p0) { #if THREAD_SAFE || HOTFIX_ENABLE lock (luaEnv.luaEnvLock) @@ -3481,214 +3504,219 @@ namespace XLua return new System.Action(__Gen_Delegate_Imp88); } + if (type == typeof(System.Action)) + { + return new System.Action(__Gen_Delegate_Imp89); + } + if (type == typeof(System.Func)) { - return new System.Func(__Gen_Delegate_Imp89); + return new System.Func(__Gen_Delegate_Imp90); } if (type == typeof(System.Action)) { - return new System.Action(__Gen_Delegate_Imp90); + return new System.Action(__Gen_Delegate_Imp91); } if (type == typeof(System.Action)) { - return new System.Action(__Gen_Delegate_Imp91); + return new System.Action(__Gen_Delegate_Imp92); } if (type == typeof(System.Action)) { - return new System.Action(__Gen_Delegate_Imp92); + return new System.Action(__Gen_Delegate_Imp93); } if (type == typeof(System.Action)) { - return new System.Action(__Gen_Delegate_Imp93); + return new System.Action(__Gen_Delegate_Imp94); } if (type == typeof(System.Action)) { - return new System.Action(__Gen_Delegate_Imp94); + return new System.Action(__Gen_Delegate_Imp95); } if (type == typeof(System.Action)) { - return new System.Action(__Gen_Delegate_Imp95); + return new System.Action(__Gen_Delegate_Imp96); } if (type == typeof(System.Action)) { - return new System.Action(__Gen_Delegate_Imp96); + return new System.Action(__Gen_Delegate_Imp97); } if (type == typeof(System.AsyncCallback)) { - return new System.AsyncCallback(__Gen_Delegate_Imp97); + return new System.AsyncCallback(__Gen_Delegate_Imp98); } if (type == typeof(System.EventHandler)) { - return new System.EventHandler(__Gen_Delegate_Imp98); + return new System.EventHandler(__Gen_Delegate_Imp99); } if (type == typeof(System.Predicate)) { - return new System.Predicate(__Gen_Delegate_Imp99); + return new System.Predicate(__Gen_Delegate_Imp100); } if (type == typeof(System.Comparison)) { - return new System.Comparison(__Gen_Delegate_Imp100); + return new System.Comparison(__Gen_Delegate_Imp101); } if (type == typeof(System.Predicate)) { - return new System.Predicate(__Gen_Delegate_Imp101); + return new System.Predicate(__Gen_Delegate_Imp102); } if (type == typeof(System.Comparison)) { - return new System.Comparison(__Gen_Delegate_Imp102); + return new System.Comparison(__Gen_Delegate_Imp103); } if (type == typeof(System.Comparison)) { - return new System.Comparison(__Gen_Delegate_Imp103); + return new System.Comparison(__Gen_Delegate_Imp104); } if (type == typeof(System.Predicate)) { - return new System.Predicate(__Gen_Delegate_Imp104); + return new System.Predicate(__Gen_Delegate_Imp105); } if (type == typeof(System.Action)) { - return new System.Action(__Gen_Delegate_Imp105); + return new System.Action(__Gen_Delegate_Imp106); } if (type == typeof(System.Comparison)) { - return new System.Comparison(__Gen_Delegate_Imp106); + return new System.Comparison(__Gen_Delegate_Imp107); } if (type == typeof(System.Predicate)) { - return new System.Predicate(__Gen_Delegate_Imp107); + return new System.Predicate(__Gen_Delegate_Imp108); } if (type == typeof(System.Comparison)) { - return new System.Comparison(__Gen_Delegate_Imp108); + return new System.Comparison(__Gen_Delegate_Imp109); } if (type == typeof(System.Predicate>)) { - return new System.Predicate>(__Gen_Delegate_Imp109); + return new System.Predicate>(__Gen_Delegate_Imp110); } if (type == typeof(System.Action>)) { - return new System.Action>(__Gen_Delegate_Imp110); + return new System.Action>(__Gen_Delegate_Imp111); } if (type == typeof(System.Comparison>)) { - return new System.Comparison>(__Gen_Delegate_Imp111); + return new System.Comparison>(__Gen_Delegate_Imp112); } if (type == typeof(System.Action)) { - return new System.Action(__Gen_Delegate_Imp112); + return new System.Action(__Gen_Delegate_Imp113); } if (type == typeof(UnityEngine.Events.UnityAction)) { - return new UnityEngine.Events.UnityAction(__Gen_Delegate_Imp113); + return new UnityEngine.Events.UnityAction(__Gen_Delegate_Imp114); } if (type == typeof(UnityEngine.Events.UnityAction)) { - return new UnityEngine.Events.UnityAction(__Gen_Delegate_Imp114); + return new UnityEngine.Events.UnityAction(__Gen_Delegate_Imp115); } if (type == typeof(UnityEngine.Events.UnityAction)) { - return new UnityEngine.Events.UnityAction(__Gen_Delegate_Imp115); + return new UnityEngine.Events.UnityAction(__Gen_Delegate_Imp116); } if (type == typeof(UnityEngine.Video.VideoPlayer.EventHandler)) { - return new UnityEngine.Video.VideoPlayer.EventHandler(__Gen_Delegate_Imp116); + return new UnityEngine.Video.VideoPlayer.EventHandler(__Gen_Delegate_Imp117); } if (type == typeof(UnityEngine.Video.VideoPlayer.ErrorEventHandler)) { - return new UnityEngine.Video.VideoPlayer.ErrorEventHandler(__Gen_Delegate_Imp117); + return new UnityEngine.Video.VideoPlayer.ErrorEventHandler(__Gen_Delegate_Imp118); } if (type == typeof(UnityEngine.Video.VideoPlayer.TimeEventHandler)) { - return new UnityEngine.Video.VideoPlayer.TimeEventHandler(__Gen_Delegate_Imp118); + return new UnityEngine.Video.VideoPlayer.TimeEventHandler(__Gen_Delegate_Imp119); } if (type == typeof(UnityEngine.Video.VideoPlayer.FrameReadyEventHandler)) { - return new UnityEngine.Video.VideoPlayer.FrameReadyEventHandler(__Gen_Delegate_Imp119); + return new UnityEngine.Video.VideoPlayer.FrameReadyEventHandler(__Gen_Delegate_Imp120); } if (type == typeof(Spine.AnimationState.TrackEntryDelegate)) { - return new Spine.AnimationState.TrackEntryDelegate(__Gen_Delegate_Imp120); + return new Spine.AnimationState.TrackEntryDelegate(__Gen_Delegate_Imp121); } if (type == typeof(Spine.AnimationState.TrackEntryEventDelegate)) { - return new Spine.AnimationState.TrackEntryEventDelegate(__Gen_Delegate_Imp121); + return new Spine.AnimationState.TrackEntryEventDelegate(__Gen_Delegate_Imp122); } if (type == typeof(Spine.Unity.SkeletonGraphic.MeshAssignmentDelegateSingle)) { - return new Spine.Unity.SkeletonGraphic.MeshAssignmentDelegateSingle(__Gen_Delegate_Imp122); + return new Spine.Unity.SkeletonGraphic.MeshAssignmentDelegateSingle(__Gen_Delegate_Imp123); } if (type == typeof(Spine.Unity.SkeletonGraphic.MeshAssignmentDelegateMultiple)) { - return new Spine.Unity.SkeletonGraphic.MeshAssignmentDelegateMultiple(__Gen_Delegate_Imp123); + return new Spine.Unity.SkeletonGraphic.MeshAssignmentDelegateMultiple(__Gen_Delegate_Imp124); } if (type == typeof(Spine.Unity.SkeletonGraphic.SkeletonRendererDelegate)) { - return new Spine.Unity.SkeletonGraphic.SkeletonRendererDelegate(__Gen_Delegate_Imp124); + return new Spine.Unity.SkeletonGraphic.SkeletonRendererDelegate(__Gen_Delegate_Imp125); } if (type == typeof(Spine.Unity.SkeletonGraphic.InstructionDelegate)) { - return new Spine.Unity.SkeletonGraphic.InstructionDelegate(__Gen_Delegate_Imp125); + return new Spine.Unity.SkeletonGraphic.InstructionDelegate(__Gen_Delegate_Imp126); } if (type == typeof(Spine.Unity.SkeletonRenderer.InstructionDelegate)) { - return new Spine.Unity.SkeletonRenderer.InstructionDelegate(__Gen_Delegate_Imp125); + return new Spine.Unity.SkeletonRenderer.InstructionDelegate(__Gen_Delegate_Imp126); } if (type == typeof(Spine.Unity.ISkeletonAnimationDelegate)) { - return new Spine.Unity.ISkeletonAnimationDelegate(__Gen_Delegate_Imp126); + return new Spine.Unity.ISkeletonAnimationDelegate(__Gen_Delegate_Imp127); } if (type == typeof(Spine.Unity.UpdateBonesDelegate)) { - return new Spine.Unity.UpdateBonesDelegate(__Gen_Delegate_Imp126); + return new Spine.Unity.UpdateBonesDelegate(__Gen_Delegate_Imp127); } if (type == typeof(Spine.Unity.MeshGeneratorDelegate)) { - return new Spine.Unity.MeshGeneratorDelegate(__Gen_Delegate_Imp127); + return new Spine.Unity.MeshGeneratorDelegate(__Gen_Delegate_Imp128); } if (type == typeof(Spine.Unity.SkeletonRenderer.SkeletonRendererDelegate)) { - return new Spine.Unity.SkeletonRenderer.SkeletonRendererDelegate(__Gen_Delegate_Imp128); + return new Spine.Unity.SkeletonRenderer.SkeletonRendererDelegate(__Gen_Delegate_Imp129); } return null; diff --git a/Assets/XLua/Gen/EnumWrap.cs b/Assets/XLua/Gen/EnumWrap.cs index b4fa09ef9..0f8289b3a 100644 --- a/Assets/XLua/Gen/EnumWrap.cs +++ b/Assets/XLua/Gen/EnumWrap.cs @@ -16,6 +16,70 @@ namespace XLua.CSObjectWrap { using Utils = XLua.Utils; + public class AdFormatWrap + { + public static void __Register(RealStatePtr L) + { + ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); + Utils.BeginObjectRegister(typeof(AdFormat), L, translator, 0, 0, 0, 0); + Utils.EndObjectRegister(typeof(AdFormat), L, translator, null, null, null, null, null); + + Utils.BeginClassRegister(typeof(AdFormat), L, null, 4, 0, 0); + + + Utils.RegisterObject(L, translator, Utils.CLS_IDX, "RewardedVideo", AdFormat.RewardedVideo); + + Utils.RegisterObject(L, translator, Utils.CLS_IDX, "Interstitial", AdFormat.Interstitial); + + Utils.RegisterObject(L, translator, Utils.CLS_IDX, "Banner", AdFormat.Banner); + + + Utils.RegisterFunc(L, Utils.CLS_IDX, "__CastFrom", __CastFrom); + + Utils.EndClassRegister(typeof(AdFormat), L, translator); + } + + [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] + static int __CastFrom(RealStatePtr L) + { + ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); + LuaTypes lua_type = LuaAPI.lua_type(L, 1); + if (lua_type == LuaTypes.LUA_TNUMBER) + { + translator.PushAdFormat(L, (AdFormat)LuaAPI.xlua_tointeger(L, 1)); + } + + else if(lua_type == LuaTypes.LUA_TSTRING) + { + + if (LuaAPI.xlua_is_eq_str(L, 1, "RewardedVideo")) + { + translator.PushAdFormat(L, AdFormat.RewardedVideo); + } + else if (LuaAPI.xlua_is_eq_str(L, 1, "Interstitial")) + { + translator.PushAdFormat(L, AdFormat.Interstitial); + } + else if (LuaAPI.xlua_is_eq_str(L, 1, "Banner")) + { + translator.PushAdFormat(L, AdFormat.Banner); + } + else + { + return LuaAPI.luaL_error(L, "invalid string for AdFormat!"); + } + + } + + else + { + return LuaAPI.luaL_error(L, "invalid lua type for AdFormat! Expect number or string, got + " + lua_type); + } + + return 1; + } + } + public class IronSourceBannerPositionWrap { public static void __Register(RealStatePtr L) diff --git a/Assets/XLua/Gen/ISAdQualityAndroidInitHandlerWrap.cs b/Assets/XLua/Gen/ISAdQualityAndroidInitHandlerWrap.cs new file mode 100644 index 000000000..112212fea --- /dev/null +++ b/Assets/XLua/Gen/ISAdQualityAndroidInitHandlerWrap.cs @@ -0,0 +1,212 @@ +#if USE_UNI_LUA +using LuaAPI = UniLua.Lua; +using RealStatePtr = UniLua.ILuaState; +using LuaCSFunction = UniLua.CSharpFunctionDelegate; +#else +using LuaAPI = XLua.LuaDLL.Lua; +using RealStatePtr = System.IntPtr; +using LuaCSFunction = XLua.LuaDLL.lua_CSFunction; +#endif + +using XLua; +using System.Collections.Generic; + + +namespace XLua.CSObjectWrap +{ + using Utils = XLua.Utils; + public class ISAdQualityAndroidInitHandlerWrap + { + public static void __Register(RealStatePtr L) + { + ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); + System.Type type = typeof(ISAdQualityAndroidInitHandler); + Utils.BeginObjectRegister(type, L, translator, 0, 4, 0, 0); + + Utils.RegisterFunc(L, Utils.METHOD_IDX, "adQualitySdkInitSuccess", _m_adQualitySdkInitSuccess); + Utils.RegisterFunc(L, Utils.METHOD_IDX, "adQualitySdkInitFailed", _m_adQualitySdkInitFailed); + + Utils.RegisterFunc(L, Utils.METHOD_IDX, "OnAdQualitySdkInitSuccess", _e_OnAdQualitySdkInitSuccess); + Utils.RegisterFunc(L, Utils.METHOD_IDX, "OnAdQualitySdkInitFailed", _e_OnAdQualitySdkInitFailed); + + + + + Utils.EndObjectRegister(type, L, translator, null, null, + null, null, null); + + Utils.BeginClassRegister(type, L, __CreateInstance, 1, 0, 0); + + + + + + + Utils.EndClassRegister(type, L, translator); + } + + [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] + static int __CreateInstance(RealStatePtr L) + { + + try { + ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); + if(LuaAPI.lua_gettop(L) == 1) + { + + var gen_ret = new ISAdQualityAndroidInitHandler(); + translator.Push(L, gen_ret); + + return 1; + } + + } + catch(System.Exception gen_e) { + return LuaAPI.luaL_error(L, "c# exception:" + gen_e); + } + return LuaAPI.luaL_error(L, "invalid arguments to ISAdQualityAndroidInitHandler constructor!"); + + } + + + + + + + + + [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] + static int _m_adQualitySdkInitSuccess(RealStatePtr L) + { + try { + + ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); + + + ISAdQualityAndroidInitHandler gen_to_be_invoked = (ISAdQualityAndroidInitHandler)translator.FastGetCSObj(L, 1); + + + + { + + gen_to_be_invoked.adQualitySdkInitSuccess( ); + + + + return 0; + } + + } catch(System.Exception gen_e) { + return LuaAPI.luaL_error(L, "c# exception:" + gen_e); + } + + } + + [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] + static int _m_adQualitySdkInitFailed(RealStatePtr L) + { + try { + + ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); + + + ISAdQualityAndroidInitHandler gen_to_be_invoked = (ISAdQualityAndroidInitHandler)translator.FastGetCSObj(L, 1); + + + + { + int _adQualitySdkInitError = LuaAPI.xlua_tointeger(L, 2); + string _errorMessage = LuaAPI.lua_tostring(L, 3); + + gen_to_be_invoked.adQualitySdkInitFailed( _adQualitySdkInitError, _errorMessage ); + + + + return 0; + } + + } catch(System.Exception gen_e) { + return LuaAPI.luaL_error(L, "c# exception:" + gen_e); + } + + } + + + + + + + + + [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] + static int _e_OnAdQualitySdkInitSuccess(RealStatePtr L) + { + try { + ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); + int gen_param_count = LuaAPI.lua_gettop(L); + ISAdQualityAndroidInitHandler gen_to_be_invoked = (ISAdQualityAndroidInitHandler)translator.FastGetCSObj(L, 1); + System.Action gen_delegate = translator.GetDelegate(L, 3); + if (gen_delegate == null) { + return LuaAPI.luaL_error(L, "#3 need System.Action!"); + } + + if (gen_param_count == 3) + { + + if (LuaAPI.xlua_is_eq_str(L, 2, "+")) { + gen_to_be_invoked.OnAdQualitySdkInitSuccess += gen_delegate; + return 0; + } + + + if (LuaAPI.xlua_is_eq_str(L, 2, "-")) { + gen_to_be_invoked.OnAdQualitySdkInitSuccess -= gen_delegate; + return 0; + } + + } + } catch(System.Exception gen_e) { + return LuaAPI.luaL_error(L, "c# exception:" + gen_e); + } + LuaAPI.luaL_error(L, "invalid arguments to ISAdQualityAndroidInitHandler.OnAdQualitySdkInitSuccess!"); + return 0; + } + + [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] + static int _e_OnAdQualitySdkInitFailed(RealStatePtr L) + { + try { + ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); + int gen_param_count = LuaAPI.lua_gettop(L); + ISAdQualityAndroidInitHandler gen_to_be_invoked = (ISAdQualityAndroidInitHandler)translator.FastGetCSObj(L, 1); + System.Action gen_delegate = translator.GetDelegate>(L, 3); + if (gen_delegate == null) { + return LuaAPI.luaL_error(L, "#3 need System.Action!"); + } + + if (gen_param_count == 3) + { + + if (LuaAPI.xlua_is_eq_str(L, 2, "+")) { + gen_to_be_invoked.OnAdQualitySdkInitFailed += gen_delegate; + return 0; + } + + + if (LuaAPI.xlua_is_eq_str(L, 2, "-")) { + gen_to_be_invoked.OnAdQualitySdkInitFailed -= gen_delegate; + return 0; + } + + } + } catch(System.Exception gen_e) { + return LuaAPI.luaL_error(L, "c# exception:" + gen_e); + } + LuaAPI.luaL_error(L, "invalid arguments to ISAdQualityAndroidInitHandler.OnAdQualitySdkInitFailed!"); + return 0; + } + + + + } +} diff --git a/Assets/XLua/Gen/IronSourceBannerAndroidWrap.cs b/Assets/XLua/Gen/IronSourceBannerAndroidWrap.cs new file mode 100644 index 000000000..ba4a315cf --- /dev/null +++ b/Assets/XLua/Gen/IronSourceBannerAndroidWrap.cs @@ -0,0 +1,294 @@ +#if USE_UNI_LUA +using LuaAPI = UniLua.Lua; +using RealStatePtr = UniLua.ILuaState; +using LuaCSFunction = UniLua.CSharpFunctionDelegate; +#else +using LuaAPI = XLua.LuaDLL.Lua; +using RealStatePtr = System.IntPtr; +using LuaCSFunction = XLua.LuaDLL.lua_CSFunction; +#endif + +using XLua; +using System.Collections.Generic; + + +namespace XLua.CSObjectWrap +{ + using Utils = XLua.Utils; + public class IronSourceBannerAndroidWrap + { + public static void __Register(RealStatePtr L) + { + ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); + System.Type type = typeof(IronSourceBannerAndroid); + Utils.BeginObjectRegister(type, L, translator, 0, 6, 0, 0); + + + Utils.RegisterFunc(L, Utils.METHOD_IDX, "OnBannerAdLoaded", _e_OnBannerAdLoaded); + Utils.RegisterFunc(L, Utils.METHOD_IDX, "OnBannerAdLeftApplication", _e_OnBannerAdLeftApplication); + Utils.RegisterFunc(L, Utils.METHOD_IDX, "OnBannerAdScreenDismissed", _e_OnBannerAdScreenDismissed); + Utils.RegisterFunc(L, Utils.METHOD_IDX, "OnBannerAdScreenPresented", _e_OnBannerAdScreenPresented); + Utils.RegisterFunc(L, Utils.METHOD_IDX, "OnBannerAdClicked", _e_OnBannerAdClicked); + Utils.RegisterFunc(L, Utils.METHOD_IDX, "OnBannerAdLoadFailed", _e_OnBannerAdLoadFailed); + + + + + Utils.EndObjectRegister(type, L, translator, null, null, + null, null, null); + + Utils.BeginClassRegister(type, L, __CreateInstance, 1, 0, 0); + + + + + + + Utils.EndClassRegister(type, L, translator); + } + + [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] + static int __CreateInstance(RealStatePtr L) + { + + try { + ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); + if(LuaAPI.lua_gettop(L) == 1) + { + + var gen_ret = new IronSourceBannerAndroid(); + translator.Push(L, gen_ret); + + return 1; + } + + } + catch(System.Exception gen_e) { + return LuaAPI.luaL_error(L, "c# exception:" + gen_e); + } + return LuaAPI.luaL_error(L, "invalid arguments to IronSourceBannerAndroid constructor!"); + + } + + + + + + + + + + + + + + + + [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] + static int _e_OnBannerAdLoaded(RealStatePtr L) + { + try { + ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); + int gen_param_count = LuaAPI.lua_gettop(L); + IronSourceBannerAndroid gen_to_be_invoked = (IronSourceBannerAndroid)translator.FastGetCSObj(L, 1); + System.Action gen_delegate = translator.GetDelegate(L, 3); + if (gen_delegate == null) { + return LuaAPI.luaL_error(L, "#3 need System.Action!"); + } + + if (gen_param_count == 3) + { + + if (LuaAPI.xlua_is_eq_str(L, 2, "+")) { + gen_to_be_invoked.OnBannerAdLoaded += gen_delegate; + return 0; + } + + + if (LuaAPI.xlua_is_eq_str(L, 2, "-")) { + gen_to_be_invoked.OnBannerAdLoaded -= gen_delegate; + return 0; + } + + } + } catch(System.Exception gen_e) { + return LuaAPI.luaL_error(L, "c# exception:" + gen_e); + } + LuaAPI.luaL_error(L, "invalid arguments to IronSourceBannerAndroid.OnBannerAdLoaded!"); + return 0; + } + + [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] + static int _e_OnBannerAdLeftApplication(RealStatePtr L) + { + try { + ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); + int gen_param_count = LuaAPI.lua_gettop(L); + IronSourceBannerAndroid gen_to_be_invoked = (IronSourceBannerAndroid)translator.FastGetCSObj(L, 1); + System.Action gen_delegate = translator.GetDelegate(L, 3); + if (gen_delegate == null) { + return LuaAPI.luaL_error(L, "#3 need System.Action!"); + } + + if (gen_param_count == 3) + { + + if (LuaAPI.xlua_is_eq_str(L, 2, "+")) { + gen_to_be_invoked.OnBannerAdLeftApplication += gen_delegate; + return 0; + } + + + if (LuaAPI.xlua_is_eq_str(L, 2, "-")) { + gen_to_be_invoked.OnBannerAdLeftApplication -= gen_delegate; + return 0; + } + + } + } catch(System.Exception gen_e) { + return LuaAPI.luaL_error(L, "c# exception:" + gen_e); + } + LuaAPI.luaL_error(L, "invalid arguments to IronSourceBannerAndroid.OnBannerAdLeftApplication!"); + return 0; + } + + [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] + static int _e_OnBannerAdScreenDismissed(RealStatePtr L) + { + try { + ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); + int gen_param_count = LuaAPI.lua_gettop(L); + IronSourceBannerAndroid gen_to_be_invoked = (IronSourceBannerAndroid)translator.FastGetCSObj(L, 1); + System.Action gen_delegate = translator.GetDelegate(L, 3); + if (gen_delegate == null) { + return LuaAPI.luaL_error(L, "#3 need System.Action!"); + } + + if (gen_param_count == 3) + { + + if (LuaAPI.xlua_is_eq_str(L, 2, "+")) { + gen_to_be_invoked.OnBannerAdScreenDismissed += gen_delegate; + return 0; + } + + + if (LuaAPI.xlua_is_eq_str(L, 2, "-")) { + gen_to_be_invoked.OnBannerAdScreenDismissed -= gen_delegate; + return 0; + } + + } + } catch(System.Exception gen_e) { + return LuaAPI.luaL_error(L, "c# exception:" + gen_e); + } + LuaAPI.luaL_error(L, "invalid arguments to IronSourceBannerAndroid.OnBannerAdScreenDismissed!"); + return 0; + } + + [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] + static int _e_OnBannerAdScreenPresented(RealStatePtr L) + { + try { + ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); + int gen_param_count = LuaAPI.lua_gettop(L); + IronSourceBannerAndroid gen_to_be_invoked = (IronSourceBannerAndroid)translator.FastGetCSObj(L, 1); + System.Action gen_delegate = translator.GetDelegate(L, 3); + if (gen_delegate == null) { + return LuaAPI.luaL_error(L, "#3 need System.Action!"); + } + + if (gen_param_count == 3) + { + + if (LuaAPI.xlua_is_eq_str(L, 2, "+")) { + gen_to_be_invoked.OnBannerAdScreenPresented += gen_delegate; + return 0; + } + + + if (LuaAPI.xlua_is_eq_str(L, 2, "-")) { + gen_to_be_invoked.OnBannerAdScreenPresented -= gen_delegate; + return 0; + } + + } + } catch(System.Exception gen_e) { + return LuaAPI.luaL_error(L, "c# exception:" + gen_e); + } + LuaAPI.luaL_error(L, "invalid arguments to IronSourceBannerAndroid.OnBannerAdScreenPresented!"); + return 0; + } + + [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] + static int _e_OnBannerAdClicked(RealStatePtr L) + { + try { + ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); + int gen_param_count = LuaAPI.lua_gettop(L); + IronSourceBannerAndroid gen_to_be_invoked = (IronSourceBannerAndroid)translator.FastGetCSObj(L, 1); + System.Action gen_delegate = translator.GetDelegate(L, 3); + if (gen_delegate == null) { + return LuaAPI.luaL_error(L, "#3 need System.Action!"); + } + + if (gen_param_count == 3) + { + + if (LuaAPI.xlua_is_eq_str(L, 2, "+")) { + gen_to_be_invoked.OnBannerAdClicked += gen_delegate; + return 0; + } + + + if (LuaAPI.xlua_is_eq_str(L, 2, "-")) { + gen_to_be_invoked.OnBannerAdClicked -= gen_delegate; + return 0; + } + + } + } catch(System.Exception gen_e) { + return LuaAPI.luaL_error(L, "c# exception:" + gen_e); + } + LuaAPI.luaL_error(L, "invalid arguments to IronSourceBannerAndroid.OnBannerAdClicked!"); + return 0; + } + + [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] + static int _e_OnBannerAdLoadFailed(RealStatePtr L) + { + try { + ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); + int gen_param_count = LuaAPI.lua_gettop(L); + IronSourceBannerAndroid gen_to_be_invoked = (IronSourceBannerAndroid)translator.FastGetCSObj(L, 1); + System.Action gen_delegate = translator.GetDelegate>(L, 3); + if (gen_delegate == null) { + return LuaAPI.luaL_error(L, "#3 need System.Action!"); + } + + if (gen_param_count == 3) + { + + if (LuaAPI.xlua_is_eq_str(L, 2, "+")) { + gen_to_be_invoked.OnBannerAdLoadFailed += gen_delegate; + return 0; + } + + + if (LuaAPI.xlua_is_eq_str(L, 2, "-")) { + gen_to_be_invoked.OnBannerAdLoadFailed -= gen_delegate; + return 0; + } + + } + } catch(System.Exception gen_e) { + return LuaAPI.luaL_error(L, "c# exception:" + gen_e); + } + LuaAPI.luaL_error(L, "invalid arguments to IronSourceBannerAndroid.OnBannerAdLoadFailed!"); + return 0; + } + + + + } +} diff --git a/Assets/XLua/Gen/IronSourceBannerEventsWrap.cs b/Assets/XLua/Gen/IronSourceBannerEventsWrap.cs index 6cfcd73f3..4b4414ef3 100644 --- a/Assets/XLua/Gen/IronSourceBannerEventsWrap.cs +++ b/Assets/XLua/Gen/IronSourceBannerEventsWrap.cs @@ -34,11 +34,11 @@ namespace XLua.CSObjectWrap Utils.BeginClassRegister(type, L, __CreateInstance, 7, 0, 0); Utils.RegisterFunc(L, Utils.CLS_IDX, "onAdLoadedEvent", _e_onAdLoadedEvent); - Utils.RegisterFunc(L, Utils.CLS_IDX, "onAdLoadFailedEvent", _e_onAdLoadFailedEvent); - Utils.RegisterFunc(L, Utils.CLS_IDX, "onAdClickedEvent", _e_onAdClickedEvent); - Utils.RegisterFunc(L, Utils.CLS_IDX, "onAdScreenPresentedEvent", _e_onAdScreenPresentedEvent); - Utils.RegisterFunc(L, Utils.CLS_IDX, "onAdScreenDismissedEvent", _e_onAdScreenDismissedEvent); Utils.RegisterFunc(L, Utils.CLS_IDX, "onAdLeftApplicationEvent", _e_onAdLeftApplicationEvent); + Utils.RegisterFunc(L, Utils.CLS_IDX, "onAdScreenDismissedEvent", _e_onAdScreenDismissedEvent); + Utils.RegisterFunc(L, Utils.CLS_IDX, "onAdScreenPresentedEvent", _e_onAdScreenPresentedEvent); + Utils.RegisterFunc(L, Utils.CLS_IDX, "onAdClickedEvent", _e_onAdClickedEvent); + Utils.RegisterFunc(L, Utils.CLS_IDX, "onAdLoadFailedEvent", _e_onAdLoadFailedEvent); @@ -116,36 +116,7 @@ namespace XLua.CSObjectWrap } [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] - static int _e_onAdLoadFailedEvent(RealStatePtr L) - { - try { - ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); - int gen_param_count = LuaAPI.lua_gettop(L); - System.Action gen_delegate = translator.GetDelegate>(L, 2); - if (gen_delegate == null) { - return LuaAPI.luaL_error(L, "#2 need System.Action!"); - } - - - if (gen_param_count == 2 && LuaAPI.xlua_is_eq_str(L, 1, "+")) { - IronSourceBannerEvents.onAdLoadFailedEvent += gen_delegate; - return 0; - } - - - if (gen_param_count == 2 && LuaAPI.xlua_is_eq_str(L, 1, "-")) { - IronSourceBannerEvents.onAdLoadFailedEvent -= gen_delegate; - return 0; - } - - } catch(System.Exception gen_e) { - return LuaAPI.luaL_error(L, "c# exception:" + gen_e); - } - return LuaAPI.luaL_error(L, "invalid arguments to IronSourceBannerEvents.onAdLoadFailedEvent!"); - } - - [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] - static int _e_onAdClickedEvent(RealStatePtr L) + static int _e_onAdLeftApplicationEvent(RealStatePtr L) { try { ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); @@ -157,49 +128,20 @@ namespace XLua.CSObjectWrap if (gen_param_count == 2 && LuaAPI.xlua_is_eq_str(L, 1, "+")) { - IronSourceBannerEvents.onAdClickedEvent += gen_delegate; + IronSourceBannerEvents.onAdLeftApplicationEvent += gen_delegate; return 0; } if (gen_param_count == 2 && LuaAPI.xlua_is_eq_str(L, 1, "-")) { - IronSourceBannerEvents.onAdClickedEvent -= gen_delegate; + IronSourceBannerEvents.onAdLeftApplicationEvent -= gen_delegate; return 0; } } catch(System.Exception gen_e) { return LuaAPI.luaL_error(L, "c# exception:" + gen_e); } - return LuaAPI.luaL_error(L, "invalid arguments to IronSourceBannerEvents.onAdClickedEvent!"); - } - - [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] - static int _e_onAdScreenPresentedEvent(RealStatePtr L) - { - try { - ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); - int gen_param_count = LuaAPI.lua_gettop(L); - System.Action gen_delegate = translator.GetDelegate>(L, 2); - if (gen_delegate == null) { - return LuaAPI.luaL_error(L, "#2 need System.Action!"); - } - - - if (gen_param_count == 2 && LuaAPI.xlua_is_eq_str(L, 1, "+")) { - IronSourceBannerEvents.onAdScreenPresentedEvent += gen_delegate; - return 0; - } - - - if (gen_param_count == 2 && LuaAPI.xlua_is_eq_str(L, 1, "-")) { - IronSourceBannerEvents.onAdScreenPresentedEvent -= gen_delegate; - return 0; - } - - } catch(System.Exception gen_e) { - return LuaAPI.luaL_error(L, "c# exception:" + gen_e); - } - return LuaAPI.luaL_error(L, "invalid arguments to IronSourceBannerEvents.onAdScreenPresentedEvent!"); + return LuaAPI.luaL_error(L, "invalid arguments to IronSourceBannerEvents.onAdLeftApplicationEvent!"); } [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] @@ -232,7 +174,7 @@ namespace XLua.CSObjectWrap } [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] - static int _e_onAdLeftApplicationEvent(RealStatePtr L) + static int _e_onAdScreenPresentedEvent(RealStatePtr L) { try { ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); @@ -244,20 +186,78 @@ namespace XLua.CSObjectWrap if (gen_param_count == 2 && LuaAPI.xlua_is_eq_str(L, 1, "+")) { - IronSourceBannerEvents.onAdLeftApplicationEvent += gen_delegate; + IronSourceBannerEvents.onAdScreenPresentedEvent += gen_delegate; return 0; } if (gen_param_count == 2 && LuaAPI.xlua_is_eq_str(L, 1, "-")) { - IronSourceBannerEvents.onAdLeftApplicationEvent -= gen_delegate; + IronSourceBannerEvents.onAdScreenPresentedEvent -= gen_delegate; return 0; } } catch(System.Exception gen_e) { return LuaAPI.luaL_error(L, "c# exception:" + gen_e); } - return LuaAPI.luaL_error(L, "invalid arguments to IronSourceBannerEvents.onAdLeftApplicationEvent!"); + return LuaAPI.luaL_error(L, "invalid arguments to IronSourceBannerEvents.onAdScreenPresentedEvent!"); + } + + [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] + static int _e_onAdClickedEvent(RealStatePtr L) + { + try { + ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); + int gen_param_count = LuaAPI.lua_gettop(L); + System.Action gen_delegate = translator.GetDelegate>(L, 2); + if (gen_delegate == null) { + return LuaAPI.luaL_error(L, "#2 need System.Action!"); + } + + + if (gen_param_count == 2 && LuaAPI.xlua_is_eq_str(L, 1, "+")) { + IronSourceBannerEvents.onAdClickedEvent += gen_delegate; + return 0; + } + + + if (gen_param_count == 2 && LuaAPI.xlua_is_eq_str(L, 1, "-")) { + IronSourceBannerEvents.onAdClickedEvent -= gen_delegate; + return 0; + } + + } catch(System.Exception gen_e) { + return LuaAPI.luaL_error(L, "c# exception:" + gen_e); + } + return LuaAPI.luaL_error(L, "invalid arguments to IronSourceBannerEvents.onAdClickedEvent!"); + } + + [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] + static int _e_onAdLoadFailedEvent(RealStatePtr L) + { + try { + ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); + int gen_param_count = LuaAPI.lua_gettop(L); + System.Action gen_delegate = translator.GetDelegate>(L, 2); + if (gen_delegate == null) { + return LuaAPI.luaL_error(L, "#2 need System.Action!"); + } + + + if (gen_param_count == 2 && LuaAPI.xlua_is_eq_str(L, 1, "+")) { + IronSourceBannerEvents.onAdLoadFailedEvent += gen_delegate; + return 0; + } + + + if (gen_param_count == 2 && LuaAPI.xlua_is_eq_str(L, 1, "-")) { + IronSourceBannerEvents.onAdLoadFailedEvent -= gen_delegate; + return 0; + } + + } catch(System.Exception gen_e) { + return LuaAPI.luaL_error(L, "c# exception:" + gen_e); + } + return LuaAPI.luaL_error(L, "invalid arguments to IronSourceBannerEvents.onAdLoadFailedEvent!"); } } diff --git a/Assets/XLua/Gen/IronSourceBannerLevelPlayAndroidWrap.cs b/Assets/XLua/Gen/IronSourceBannerLevelPlayAndroidWrap.cs new file mode 100644 index 000000000..cefff2e5f --- /dev/null +++ b/Assets/XLua/Gen/IronSourceBannerLevelPlayAndroidWrap.cs @@ -0,0 +1,294 @@ +#if USE_UNI_LUA +using LuaAPI = UniLua.Lua; +using RealStatePtr = UniLua.ILuaState; +using LuaCSFunction = UniLua.CSharpFunctionDelegate; +#else +using LuaAPI = XLua.LuaDLL.Lua; +using RealStatePtr = System.IntPtr; +using LuaCSFunction = XLua.LuaDLL.lua_CSFunction; +#endif + +using XLua; +using System.Collections.Generic; + + +namespace XLua.CSObjectWrap +{ + using Utils = XLua.Utils; + public class IronSourceBannerLevelPlayAndroidWrap + { + public static void __Register(RealStatePtr L) + { + ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); + System.Type type = typeof(IronSourceBannerLevelPlayAndroid); + Utils.BeginObjectRegister(type, L, translator, 0, 6, 0, 0); + + + Utils.RegisterFunc(L, Utils.METHOD_IDX, "OnAdLoaded", _e_OnAdLoaded); + Utils.RegisterFunc(L, Utils.METHOD_IDX, "OnAdLeftApplication", _e_OnAdLeftApplication); + Utils.RegisterFunc(L, Utils.METHOD_IDX, "OnAdScreenDismissed", _e_OnAdScreenDismissed); + Utils.RegisterFunc(L, Utils.METHOD_IDX, "OnAdScreenPresented", _e_OnAdScreenPresented); + Utils.RegisterFunc(L, Utils.METHOD_IDX, "OnAdClicked", _e_OnAdClicked); + Utils.RegisterFunc(L, Utils.METHOD_IDX, "OnAdLoadFailed", _e_OnAdLoadFailed); + + + + + Utils.EndObjectRegister(type, L, translator, null, null, + null, null, null); + + Utils.BeginClassRegister(type, L, __CreateInstance, 1, 0, 0); + + + + + + + Utils.EndClassRegister(type, L, translator); + } + + [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] + static int __CreateInstance(RealStatePtr L) + { + + try { + ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); + if(LuaAPI.lua_gettop(L) == 1) + { + + var gen_ret = new IronSourceBannerLevelPlayAndroid(); + translator.Push(L, gen_ret); + + return 1; + } + + } + catch(System.Exception gen_e) { + return LuaAPI.luaL_error(L, "c# exception:" + gen_e); + } + return LuaAPI.luaL_error(L, "invalid arguments to IronSourceBannerLevelPlayAndroid constructor!"); + + } + + + + + + + + + + + + + + + + [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] + static int _e_OnAdLoaded(RealStatePtr L) + { + try { + ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); + int gen_param_count = LuaAPI.lua_gettop(L); + IronSourceBannerLevelPlayAndroid gen_to_be_invoked = (IronSourceBannerLevelPlayAndroid)translator.FastGetCSObj(L, 1); + System.Action gen_delegate = translator.GetDelegate>(L, 3); + if (gen_delegate == null) { + return LuaAPI.luaL_error(L, "#3 need System.Action!"); + } + + if (gen_param_count == 3) + { + + if (LuaAPI.xlua_is_eq_str(L, 2, "+")) { + gen_to_be_invoked.OnAdLoaded += gen_delegate; + return 0; + } + + + if (LuaAPI.xlua_is_eq_str(L, 2, "-")) { + gen_to_be_invoked.OnAdLoaded -= gen_delegate; + return 0; + } + + } + } catch(System.Exception gen_e) { + return LuaAPI.luaL_error(L, "c# exception:" + gen_e); + } + LuaAPI.luaL_error(L, "invalid arguments to IronSourceBannerLevelPlayAndroid.OnAdLoaded!"); + return 0; + } + + [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] + static int _e_OnAdLeftApplication(RealStatePtr L) + { + try { + ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); + int gen_param_count = LuaAPI.lua_gettop(L); + IronSourceBannerLevelPlayAndroid gen_to_be_invoked = (IronSourceBannerLevelPlayAndroid)translator.FastGetCSObj(L, 1); + System.Action gen_delegate = translator.GetDelegate>(L, 3); + if (gen_delegate == null) { + return LuaAPI.luaL_error(L, "#3 need System.Action!"); + } + + if (gen_param_count == 3) + { + + if (LuaAPI.xlua_is_eq_str(L, 2, "+")) { + gen_to_be_invoked.OnAdLeftApplication += gen_delegate; + return 0; + } + + + if (LuaAPI.xlua_is_eq_str(L, 2, "-")) { + gen_to_be_invoked.OnAdLeftApplication -= gen_delegate; + return 0; + } + + } + } catch(System.Exception gen_e) { + return LuaAPI.luaL_error(L, "c# exception:" + gen_e); + } + LuaAPI.luaL_error(L, "invalid arguments to IronSourceBannerLevelPlayAndroid.OnAdLeftApplication!"); + return 0; + } + + [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] + static int _e_OnAdScreenDismissed(RealStatePtr L) + { + try { + ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); + int gen_param_count = LuaAPI.lua_gettop(L); + IronSourceBannerLevelPlayAndroid gen_to_be_invoked = (IronSourceBannerLevelPlayAndroid)translator.FastGetCSObj(L, 1); + System.Action gen_delegate = translator.GetDelegate>(L, 3); + if (gen_delegate == null) { + return LuaAPI.luaL_error(L, "#3 need System.Action!"); + } + + if (gen_param_count == 3) + { + + if (LuaAPI.xlua_is_eq_str(L, 2, "+")) { + gen_to_be_invoked.OnAdScreenDismissed += gen_delegate; + return 0; + } + + + if (LuaAPI.xlua_is_eq_str(L, 2, "-")) { + gen_to_be_invoked.OnAdScreenDismissed -= gen_delegate; + return 0; + } + + } + } catch(System.Exception gen_e) { + return LuaAPI.luaL_error(L, "c# exception:" + gen_e); + } + LuaAPI.luaL_error(L, "invalid arguments to IronSourceBannerLevelPlayAndroid.OnAdScreenDismissed!"); + return 0; + } + + [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] + static int _e_OnAdScreenPresented(RealStatePtr L) + { + try { + ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); + int gen_param_count = LuaAPI.lua_gettop(L); + IronSourceBannerLevelPlayAndroid gen_to_be_invoked = (IronSourceBannerLevelPlayAndroid)translator.FastGetCSObj(L, 1); + System.Action gen_delegate = translator.GetDelegate>(L, 3); + if (gen_delegate == null) { + return LuaAPI.luaL_error(L, "#3 need System.Action!"); + } + + if (gen_param_count == 3) + { + + if (LuaAPI.xlua_is_eq_str(L, 2, "+")) { + gen_to_be_invoked.OnAdScreenPresented += gen_delegate; + return 0; + } + + + if (LuaAPI.xlua_is_eq_str(L, 2, "-")) { + gen_to_be_invoked.OnAdScreenPresented -= gen_delegate; + return 0; + } + + } + } catch(System.Exception gen_e) { + return LuaAPI.luaL_error(L, "c# exception:" + gen_e); + } + LuaAPI.luaL_error(L, "invalid arguments to IronSourceBannerLevelPlayAndroid.OnAdScreenPresented!"); + return 0; + } + + [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] + static int _e_OnAdClicked(RealStatePtr L) + { + try { + ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); + int gen_param_count = LuaAPI.lua_gettop(L); + IronSourceBannerLevelPlayAndroid gen_to_be_invoked = (IronSourceBannerLevelPlayAndroid)translator.FastGetCSObj(L, 1); + System.Action gen_delegate = translator.GetDelegate>(L, 3); + if (gen_delegate == null) { + return LuaAPI.luaL_error(L, "#3 need System.Action!"); + } + + if (gen_param_count == 3) + { + + if (LuaAPI.xlua_is_eq_str(L, 2, "+")) { + gen_to_be_invoked.OnAdClicked += gen_delegate; + return 0; + } + + + if (LuaAPI.xlua_is_eq_str(L, 2, "-")) { + gen_to_be_invoked.OnAdClicked -= gen_delegate; + return 0; + } + + } + } catch(System.Exception gen_e) { + return LuaAPI.luaL_error(L, "c# exception:" + gen_e); + } + LuaAPI.luaL_error(L, "invalid arguments to IronSourceBannerLevelPlayAndroid.OnAdClicked!"); + return 0; + } + + [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] + static int _e_OnAdLoadFailed(RealStatePtr L) + { + try { + ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); + int gen_param_count = LuaAPI.lua_gettop(L); + IronSourceBannerLevelPlayAndroid gen_to_be_invoked = (IronSourceBannerLevelPlayAndroid)translator.FastGetCSObj(L, 1); + System.Action gen_delegate = translator.GetDelegate>(L, 3); + if (gen_delegate == null) { + return LuaAPI.luaL_error(L, "#3 need System.Action!"); + } + + if (gen_param_count == 3) + { + + if (LuaAPI.xlua_is_eq_str(L, 2, "+")) { + gen_to_be_invoked.OnAdLoadFailed += gen_delegate; + return 0; + } + + + if (LuaAPI.xlua_is_eq_str(L, 2, "-")) { + gen_to_be_invoked.OnAdLoadFailed -= gen_delegate; + return 0; + } + + } + } catch(System.Exception gen_e) { + return LuaAPI.luaL_error(L, "c# exception:" + gen_e); + } + LuaAPI.luaL_error(L, "invalid arguments to IronSourceBannerLevelPlayAndroid.OnAdLoadFailed!"); + return 0; + } + + + + } +} diff --git a/Assets/XLua/Gen/IronSourceEventsWrap.cs b/Assets/XLua/Gen/IronSourceEventsWrap.cs index 96e65d336..8ac08f259 100644 --- a/Assets/XLua/Gen/IronSourceEventsWrap.cs +++ b/Assets/XLua/Gen/IronSourceEventsWrap.cs @@ -37,17 +37,11 @@ namespace XLua.CSObjectWrap Utils.EndObjectRegister(type, L, translator, null, null, null, null, null); - Utils.BeginClassRegister(type, L, __CreateInstance, 16, 0, 0); + Utils.BeginClassRegister(type, L, __CreateInstance, 10, 0, 0); - Utils.RegisterFunc(L, Utils.CLS_IDX, "onImpressionDataReadyEvent", _e_onImpressionDataReadyEvent); Utils.RegisterFunc(L, Utils.CLS_IDX, "onSdkInitializationCompletedEvent", _e_onSdkInitializationCompletedEvent); Utils.RegisterFunc(L, Utils.CLS_IDX, "onSegmentReceivedEvent", _e_onSegmentReceivedEvent); - Utils.RegisterFunc(L, Utils.CLS_IDX, "onOfferwallOpenedEvent", _e_onOfferwallOpenedEvent); - Utils.RegisterFunc(L, Utils.CLS_IDX, "onOfferwallShowFailedEvent", _e_onOfferwallShowFailedEvent); - Utils.RegisterFunc(L, Utils.CLS_IDX, "onOfferwallClosedEvent", _e_onOfferwallClosedEvent); - Utils.RegisterFunc(L, Utils.CLS_IDX, "onGetOfferwallCreditsFailedEvent", _e_onGetOfferwallCreditsFailedEvent); - Utils.RegisterFunc(L, Utils.CLS_IDX, "onOfferwallAdCreditedEvent", _e_onOfferwallAdCreditedEvent); - Utils.RegisterFunc(L, Utils.CLS_IDX, "onOfferwallAvailableEvent", _e_onOfferwallAvailableEvent); + Utils.RegisterFunc(L, Utils.CLS_IDX, "onImpressionDataReadyEvent", _e_onImpressionDataReadyEvent); Utils.RegisterFunc(L, Utils.CLS_IDX, "onConsentViewDidFailToLoadWithErrorEvent", _e_onConsentViewDidFailToLoadWithErrorEvent); Utils.RegisterFunc(L, Utils.CLS_IDX, "onConsentViewDidFailToShowWithErrorEvent", _e_onConsentViewDidFailToShowWithErrorEvent); Utils.RegisterFunc(L, Utils.CLS_IDX, "onConsentViewDidAcceptEvent", _e_onConsentViewDidAcceptEvent); @@ -269,35 +263,6 @@ namespace XLua.CSObjectWrap - [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] - static int _e_onImpressionDataReadyEvent(RealStatePtr L) - { - try { - ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); - int gen_param_count = LuaAPI.lua_gettop(L); - System.Action gen_delegate = translator.GetDelegate>(L, 2); - if (gen_delegate == null) { - return LuaAPI.luaL_error(L, "#2 need System.Action!"); - } - - - if (gen_param_count == 2 && LuaAPI.xlua_is_eq_str(L, 1, "+")) { - IronSourceEvents.onImpressionDataReadyEvent += gen_delegate; - return 0; - } - - - if (gen_param_count == 2 && LuaAPI.xlua_is_eq_str(L, 1, "-")) { - IronSourceEvents.onImpressionDataReadyEvent -= gen_delegate; - return 0; - } - - } catch(System.Exception gen_e) { - return LuaAPI.luaL_error(L, "c# exception:" + gen_e); - } - return LuaAPI.luaL_error(L, "invalid arguments to IronSourceEvents.onImpressionDataReadyEvent!"); - } - [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] static int _e_onSdkInitializationCompletedEvent(RealStatePtr L) { @@ -357,177 +322,32 @@ namespace XLua.CSObjectWrap } [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] - static int _e_onOfferwallOpenedEvent(RealStatePtr L) + static int _e_onImpressionDataReadyEvent(RealStatePtr L) { try { ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); int gen_param_count = LuaAPI.lua_gettop(L); - System.Action gen_delegate = translator.GetDelegate(L, 2); + System.Action gen_delegate = translator.GetDelegate>(L, 2); if (gen_delegate == null) { - return LuaAPI.luaL_error(L, "#2 need System.Action!"); + return LuaAPI.luaL_error(L, "#2 need System.Action!"); } if (gen_param_count == 2 && LuaAPI.xlua_is_eq_str(L, 1, "+")) { - IronSourceEvents.onOfferwallOpenedEvent += gen_delegate; + IronSourceEvents.onImpressionDataReadyEvent += gen_delegate; return 0; } if (gen_param_count == 2 && LuaAPI.xlua_is_eq_str(L, 1, "-")) { - IronSourceEvents.onOfferwallOpenedEvent -= gen_delegate; + IronSourceEvents.onImpressionDataReadyEvent -= gen_delegate; return 0; } } catch(System.Exception gen_e) { return LuaAPI.luaL_error(L, "c# exception:" + gen_e); } - return LuaAPI.luaL_error(L, "invalid arguments to IronSourceEvents.onOfferwallOpenedEvent!"); - } - - [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] - static int _e_onOfferwallShowFailedEvent(RealStatePtr L) - { - try { - ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); - int gen_param_count = LuaAPI.lua_gettop(L); - System.Action gen_delegate = translator.GetDelegate>(L, 2); - if (gen_delegate == null) { - return LuaAPI.luaL_error(L, "#2 need System.Action!"); - } - - - if (gen_param_count == 2 && LuaAPI.xlua_is_eq_str(L, 1, "+")) { - IronSourceEvents.onOfferwallShowFailedEvent += gen_delegate; - return 0; - } - - - if (gen_param_count == 2 && LuaAPI.xlua_is_eq_str(L, 1, "-")) { - IronSourceEvents.onOfferwallShowFailedEvent -= gen_delegate; - return 0; - } - - } catch(System.Exception gen_e) { - return LuaAPI.luaL_error(L, "c# exception:" + gen_e); - } - return LuaAPI.luaL_error(L, "invalid arguments to IronSourceEvents.onOfferwallShowFailedEvent!"); - } - - [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] - static int _e_onOfferwallClosedEvent(RealStatePtr L) - { - try { - ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); - int gen_param_count = LuaAPI.lua_gettop(L); - System.Action gen_delegate = translator.GetDelegate(L, 2); - if (gen_delegate == null) { - return LuaAPI.luaL_error(L, "#2 need System.Action!"); - } - - - if (gen_param_count == 2 && LuaAPI.xlua_is_eq_str(L, 1, "+")) { - IronSourceEvents.onOfferwallClosedEvent += gen_delegate; - return 0; - } - - - if (gen_param_count == 2 && LuaAPI.xlua_is_eq_str(L, 1, "-")) { - IronSourceEvents.onOfferwallClosedEvent -= gen_delegate; - return 0; - } - - } catch(System.Exception gen_e) { - return LuaAPI.luaL_error(L, "c# exception:" + gen_e); - } - return LuaAPI.luaL_error(L, "invalid arguments to IronSourceEvents.onOfferwallClosedEvent!"); - } - - [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] - static int _e_onGetOfferwallCreditsFailedEvent(RealStatePtr L) - { - try { - ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); - int gen_param_count = LuaAPI.lua_gettop(L); - System.Action gen_delegate = translator.GetDelegate>(L, 2); - if (gen_delegate == null) { - return LuaAPI.luaL_error(L, "#2 need System.Action!"); - } - - - if (gen_param_count == 2 && LuaAPI.xlua_is_eq_str(L, 1, "+")) { - IronSourceEvents.onGetOfferwallCreditsFailedEvent += gen_delegate; - return 0; - } - - - if (gen_param_count == 2 && LuaAPI.xlua_is_eq_str(L, 1, "-")) { - IronSourceEvents.onGetOfferwallCreditsFailedEvent -= gen_delegate; - return 0; - } - - } catch(System.Exception gen_e) { - return LuaAPI.luaL_error(L, "c# exception:" + gen_e); - } - return LuaAPI.luaL_error(L, "invalid arguments to IronSourceEvents.onGetOfferwallCreditsFailedEvent!"); - } - - [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] - static int _e_onOfferwallAdCreditedEvent(RealStatePtr L) - { - try { - ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); - int gen_param_count = LuaAPI.lua_gettop(L); - System.Action> gen_delegate = translator.GetDelegate>>(L, 2); - if (gen_delegate == null) { - return LuaAPI.luaL_error(L, "#2 need System.Action>!"); - } - - - if (gen_param_count == 2 && LuaAPI.xlua_is_eq_str(L, 1, "+")) { - IronSourceEvents.onOfferwallAdCreditedEvent += gen_delegate; - return 0; - } - - - if (gen_param_count == 2 && LuaAPI.xlua_is_eq_str(L, 1, "-")) { - IronSourceEvents.onOfferwallAdCreditedEvent -= gen_delegate; - return 0; - } - - } catch(System.Exception gen_e) { - return LuaAPI.luaL_error(L, "c# exception:" + gen_e); - } - return LuaAPI.luaL_error(L, "invalid arguments to IronSourceEvents.onOfferwallAdCreditedEvent!"); - } - - [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] - static int _e_onOfferwallAvailableEvent(RealStatePtr L) - { - try { - ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); - int gen_param_count = LuaAPI.lua_gettop(L); - System.Action gen_delegate = translator.GetDelegate>(L, 2); - if (gen_delegate == null) { - return LuaAPI.luaL_error(L, "#2 need System.Action!"); - } - - - if (gen_param_count == 2 && LuaAPI.xlua_is_eq_str(L, 1, "+")) { - IronSourceEvents.onOfferwallAvailableEvent += gen_delegate; - return 0; - } - - - if (gen_param_count == 2 && LuaAPI.xlua_is_eq_str(L, 1, "-")) { - IronSourceEvents.onOfferwallAvailableEvent -= gen_delegate; - return 0; - } - - } catch(System.Exception gen_e) { - return LuaAPI.luaL_error(L, "c# exception:" + gen_e); - } - return LuaAPI.luaL_error(L, "invalid arguments to IronSourceEvents.onOfferwallAvailableEvent!"); + return LuaAPI.luaL_error(L, "invalid arguments to IronSourceEvents.onImpressionDataReadyEvent!"); } [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] diff --git a/Assets/XLua/Gen/IronSourceIAgentWrap.cs b/Assets/XLua/Gen/IronSourceIAgentWrap.cs index 01dc61383..b0fe49459 100644 --- a/Assets/XLua/Gen/IronSourceIAgentWrap.cs +++ b/Assets/XLua/Gen/IronSourceIAgentWrap.cs @@ -21,8 +21,9 @@ namespace XLua.CSObjectWrap { ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); System.Type type = typeof(IronSourceIAgent); - Utils.BeginObjectRegister(type, L, translator, 0, 45, 0, 0); + Utils.BeginObjectRegister(type, L, translator, 0, 46, 0, 0); + Utils.RegisterFunc(L, Utils.METHOD_IDX, "SetWaterfallConfiguration", _m_SetWaterfallConfiguration); Utils.RegisterFunc(L, Utils.METHOD_IDX, "onApplicationPause", _m_onApplicationPause); Utils.RegisterFunc(L, Utils.METHOD_IDX, "getAdvertiserId", _m_getAdvertiserId); Utils.RegisterFunc(L, Utils.METHOD_IDX, "validateIntegration", _m_validateIntegration); @@ -99,6 +100,35 @@ namespace XLua.CSObjectWrap + [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] + static int _m_SetWaterfallConfiguration(RealStatePtr L) + { + try { + + ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); + + + IronSourceIAgent gen_to_be_invoked = (IronSourceIAgent)translator.FastGetCSObj(L, 1); + + + + { + WaterfallConfiguration _waterfallConfiguration = (WaterfallConfiguration)translator.GetObject(L, 2, typeof(WaterfallConfiguration)); + AdFormat _adFormat;translator.Get(L, 3, out _adFormat); + + gen_to_be_invoked.SetWaterfallConfiguration( _waterfallConfiguration, _adFormat ); + + + + return 0; + } + + } catch(System.Exception gen_e) { + return LuaAPI.luaL_error(L, "c# exception:" + gen_e); + } + + } + [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] static int _m_onApplicationPause(RealStatePtr L) { diff --git a/Assets/XLua/Gen/IronSourceImpressionDataAndroidWrap.cs b/Assets/XLua/Gen/IronSourceImpressionDataAndroidWrap.cs new file mode 100644 index 000000000..813130e35 --- /dev/null +++ b/Assets/XLua/Gen/IronSourceImpressionDataAndroidWrap.cs @@ -0,0 +1,212 @@ +#if USE_UNI_LUA +using LuaAPI = UniLua.Lua; +using RealStatePtr = UniLua.ILuaState; +using LuaCSFunction = UniLua.CSharpFunctionDelegate; +#else +using LuaAPI = XLua.LuaDLL.Lua; +using RealStatePtr = System.IntPtr; +using LuaCSFunction = XLua.LuaDLL.lua_CSFunction; +#endif + +using XLua; +using System.Collections.Generic; + + +namespace XLua.CSObjectWrap +{ + using Utils = XLua.Utils; + public class IronSourceImpressionDataAndroidWrap + { + public static void __Register(RealStatePtr L) + { + ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); + System.Type type = typeof(IronSourceImpressionDataAndroid); + Utils.BeginObjectRegister(type, L, translator, 0, 4, 0, 0); + + Utils.RegisterFunc(L, Utils.METHOD_IDX, "onImpressionSuccess", _m_onImpressionSuccess); + Utils.RegisterFunc(L, Utils.METHOD_IDX, "onImpressionDataReady", _m_onImpressionDataReady); + + Utils.RegisterFunc(L, Utils.METHOD_IDX, "OnImpressionSuccess", _e_OnImpressionSuccess); + Utils.RegisterFunc(L, Utils.METHOD_IDX, "OnImpressionDataReady", _e_OnImpressionDataReady); + + + + + Utils.EndObjectRegister(type, L, translator, null, null, + null, null, null); + + Utils.BeginClassRegister(type, L, __CreateInstance, 1, 0, 0); + + + + + + + Utils.EndClassRegister(type, L, translator); + } + + [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] + static int __CreateInstance(RealStatePtr L) + { + + try { + ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); + if(LuaAPI.lua_gettop(L) == 1) + { + + var gen_ret = new IronSourceImpressionDataAndroid(); + translator.Push(L, gen_ret); + + return 1; + } + + } + catch(System.Exception gen_e) { + return LuaAPI.luaL_error(L, "c# exception:" + gen_e); + } + return LuaAPI.luaL_error(L, "invalid arguments to IronSourceImpressionDataAndroid constructor!"); + + } + + + + + + + + + [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] + static int _m_onImpressionSuccess(RealStatePtr L) + { + try { + + ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); + + + IronSourceImpressionDataAndroid gen_to_be_invoked = (IronSourceImpressionDataAndroid)translator.FastGetCSObj(L, 1); + + + + { + string _data = LuaAPI.lua_tostring(L, 2); + + gen_to_be_invoked.onImpressionSuccess( _data ); + + + + return 0; + } + + } catch(System.Exception gen_e) { + return LuaAPI.luaL_error(L, "c# exception:" + gen_e); + } + + } + + [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] + static int _m_onImpressionDataReady(RealStatePtr L) + { + try { + + ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); + + + IronSourceImpressionDataAndroid gen_to_be_invoked = (IronSourceImpressionDataAndroid)translator.FastGetCSObj(L, 1); + + + + { + string _data = LuaAPI.lua_tostring(L, 2); + + gen_to_be_invoked.onImpressionDataReady( _data ); + + + + return 0; + } + + } catch(System.Exception gen_e) { + return LuaAPI.luaL_error(L, "c# exception:" + gen_e); + } + + } + + + + + + + + + [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] + static int _e_OnImpressionSuccess(RealStatePtr L) + { + try { + ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); + int gen_param_count = LuaAPI.lua_gettop(L); + IronSourceImpressionDataAndroid gen_to_be_invoked = (IronSourceImpressionDataAndroid)translator.FastGetCSObj(L, 1); + System.Action gen_delegate = translator.GetDelegate>(L, 3); + if (gen_delegate == null) { + return LuaAPI.luaL_error(L, "#3 need System.Action!"); + } + + if (gen_param_count == 3) + { + + if (LuaAPI.xlua_is_eq_str(L, 2, "+")) { + gen_to_be_invoked.OnImpressionSuccess += gen_delegate; + return 0; + } + + + if (LuaAPI.xlua_is_eq_str(L, 2, "-")) { + gen_to_be_invoked.OnImpressionSuccess -= gen_delegate; + return 0; + } + + } + } catch(System.Exception gen_e) { + return LuaAPI.luaL_error(L, "c# exception:" + gen_e); + } + LuaAPI.luaL_error(L, "invalid arguments to IronSourceImpressionDataAndroid.OnImpressionSuccess!"); + return 0; + } + + [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] + static int _e_OnImpressionDataReady(RealStatePtr L) + { + try { + ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); + int gen_param_count = LuaAPI.lua_gettop(L); + IronSourceImpressionDataAndroid gen_to_be_invoked = (IronSourceImpressionDataAndroid)translator.FastGetCSObj(L, 1); + System.Action gen_delegate = translator.GetDelegate>(L, 3); + if (gen_delegate == null) { + return LuaAPI.luaL_error(L, "#3 need System.Action!"); + } + + if (gen_param_count == 3) + { + + if (LuaAPI.xlua_is_eq_str(L, 2, "+")) { + gen_to_be_invoked.OnImpressionDataReady += gen_delegate; + return 0; + } + + + if (LuaAPI.xlua_is_eq_str(L, 2, "-")) { + gen_to_be_invoked.OnImpressionDataReady -= gen_delegate; + return 0; + } + + } + } catch(System.Exception gen_e) { + return LuaAPI.luaL_error(L, "c# exception:" + gen_e); + } + LuaAPI.luaL_error(L, "invalid arguments to IronSourceImpressionDataAndroid.OnImpressionDataReady!"); + return 0; + } + + + + } +} diff --git a/Assets/XLua/Gen/IronSourceInitializationAndroidWrap.cs b/Assets/XLua/Gen/IronSourceInitializationAndroidWrap.cs new file mode 100644 index 000000000..0bbf264e2 --- /dev/null +++ b/Assets/XLua/Gen/IronSourceInitializationAndroidWrap.cs @@ -0,0 +1,119 @@ +#if USE_UNI_LUA +using LuaAPI = UniLua.Lua; +using RealStatePtr = UniLua.ILuaState; +using LuaCSFunction = UniLua.CSharpFunctionDelegate; +#else +using LuaAPI = XLua.LuaDLL.Lua; +using RealStatePtr = System.IntPtr; +using LuaCSFunction = XLua.LuaDLL.lua_CSFunction; +#endif + +using XLua; +using System.Collections.Generic; + + +namespace XLua.CSObjectWrap +{ + using Utils = XLua.Utils; + public class IronSourceInitializationAndroidWrap + { + public static void __Register(RealStatePtr L) + { + ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); + System.Type type = typeof(IronSourceInitializationAndroid); + Utils.BeginObjectRegister(type, L, translator, 0, 1, 0, 0); + + + Utils.RegisterFunc(L, Utils.METHOD_IDX, "OnSdkInitializationCompletedEvent", _e_OnSdkInitializationCompletedEvent); + + + + + Utils.EndObjectRegister(type, L, translator, null, null, + null, null, null); + + Utils.BeginClassRegister(type, L, __CreateInstance, 1, 0, 0); + + + + + + + Utils.EndClassRegister(type, L, translator); + } + + [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] + static int __CreateInstance(RealStatePtr L) + { + + try { + ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); + if(LuaAPI.lua_gettop(L) == 1) + { + + var gen_ret = new IronSourceInitializationAndroid(); + translator.Push(L, gen_ret); + + return 1; + } + + } + catch(System.Exception gen_e) { + return LuaAPI.luaL_error(L, "c# exception:" + gen_e); + } + return LuaAPI.luaL_error(L, "invalid arguments to IronSourceInitializationAndroid constructor!"); + + } + + + + + + + + + + + + + + + + [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] + static int _e_OnSdkInitializationCompletedEvent(RealStatePtr L) + { + try { + ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); + int gen_param_count = LuaAPI.lua_gettop(L); + IronSourceInitializationAndroid gen_to_be_invoked = (IronSourceInitializationAndroid)translator.FastGetCSObj(L, 1); + System.Action gen_delegate = translator.GetDelegate(L, 3); + if (gen_delegate == null) { + return LuaAPI.luaL_error(L, "#3 need System.Action!"); + } + + if (gen_param_count == 3) + { + + if (LuaAPI.xlua_is_eq_str(L, 2, "+")) { + gen_to_be_invoked.OnSdkInitializationCompletedEvent += gen_delegate; + return 0; + } + + + if (LuaAPI.xlua_is_eq_str(L, 2, "-")) { + gen_to_be_invoked.OnSdkInitializationCompletedEvent -= gen_delegate; + return 0; + } + + } + } catch(System.Exception gen_e) { + return LuaAPI.luaL_error(L, "c# exception:" + gen_e); + } + LuaAPI.luaL_error(L, "invalid arguments to IronSourceInitializationAndroid.OnSdkInitializationCompletedEvent!"); + return 0; + } + + + + } +} diff --git a/Assets/XLua/Gen/IronSourceInterstitialAndroidWrap.cs b/Assets/XLua/Gen/IronSourceInterstitialAndroidWrap.cs new file mode 100644 index 000000000..eae9c5a39 --- /dev/null +++ b/Assets/XLua/Gen/IronSourceInterstitialAndroidWrap.cs @@ -0,0 +1,574 @@ +#if USE_UNI_LUA +using LuaAPI = UniLua.Lua; +using RealStatePtr = UniLua.ILuaState; +using LuaCSFunction = UniLua.CSharpFunctionDelegate; +#else +using LuaAPI = XLua.LuaDLL.Lua; +using RealStatePtr = System.IntPtr; +using LuaCSFunction = XLua.LuaDLL.lua_CSFunction; +#endif + +using XLua; +using System.Collections.Generic; + + +namespace XLua.CSObjectWrap +{ + using Utils = XLua.Utils; + public class IronSourceInterstitialAndroidWrap + { + public static void __Register(RealStatePtr L) + { + ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); + System.Type type = typeof(IronSourceInterstitialAndroid); + Utils.BeginObjectRegister(type, L, translator, 0, 14, 0, 0); + + + Utils.RegisterFunc(L, Utils.METHOD_IDX, "OnInterstitialAdShowFailed", _e_OnInterstitialAdShowFailed); + Utils.RegisterFunc(L, Utils.METHOD_IDX, "OnInterstitialAdLoadFailed", _e_OnInterstitialAdLoadFailed); + Utils.RegisterFunc(L, Utils.METHOD_IDX, "OnInterstitialAdReady", _e_OnInterstitialAdReady); + Utils.RegisterFunc(L, Utils.METHOD_IDX, "OnInterstitialAdOpened", _e_OnInterstitialAdOpened); + Utils.RegisterFunc(L, Utils.METHOD_IDX, "OnInterstitialAdClosed", _e_OnInterstitialAdClosed); + Utils.RegisterFunc(L, Utils.METHOD_IDX, "OnInterstitialAdShowSucceeded", _e_OnInterstitialAdShowSucceeded); + Utils.RegisterFunc(L, Utils.METHOD_IDX, "OnInterstitialAdClicked", _e_OnInterstitialAdClicked); + Utils.RegisterFunc(L, Utils.METHOD_IDX, "OnInterstitialAdRewarded", _e_OnInterstitialAdRewarded); + Utils.RegisterFunc(L, Utils.METHOD_IDX, "OnInterstitialAdReadyDemandOnly", _e_OnInterstitialAdReadyDemandOnly); + Utils.RegisterFunc(L, Utils.METHOD_IDX, "OnInterstitialAdOpenedDemandOnly", _e_OnInterstitialAdOpenedDemandOnly); + Utils.RegisterFunc(L, Utils.METHOD_IDX, "OnInterstitialAdClosedDemandOnly", _e_OnInterstitialAdClosedDemandOnly); + Utils.RegisterFunc(L, Utils.METHOD_IDX, "OnInterstitialAdLoadFailedDemandOnly", _e_OnInterstitialAdLoadFailedDemandOnly); + Utils.RegisterFunc(L, Utils.METHOD_IDX, "OnInterstitialAdClickedDemandOnly", _e_OnInterstitialAdClickedDemandOnly); + Utils.RegisterFunc(L, Utils.METHOD_IDX, "OnInterstitialAdShowFailedDemandOnly", _e_OnInterstitialAdShowFailedDemandOnly); + + + + + Utils.EndObjectRegister(type, L, translator, null, null, + null, null, null); + + Utils.BeginClassRegister(type, L, __CreateInstance, 1, 0, 0); + + + + + + + Utils.EndClassRegister(type, L, translator); + } + + [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] + static int __CreateInstance(RealStatePtr L) + { + + try { + ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); + if(LuaAPI.lua_gettop(L) == 1) + { + + var gen_ret = new IronSourceInterstitialAndroid(); + translator.Push(L, gen_ret); + + return 1; + } + + } + catch(System.Exception gen_e) { + return LuaAPI.luaL_error(L, "c# exception:" + gen_e); + } + return LuaAPI.luaL_error(L, "invalid arguments to IronSourceInterstitialAndroid constructor!"); + + } + + + + + + + + + + + + + + + + [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] + static int _e_OnInterstitialAdShowFailed(RealStatePtr L) + { + try { + ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); + int gen_param_count = LuaAPI.lua_gettop(L); + IronSourceInterstitialAndroid gen_to_be_invoked = (IronSourceInterstitialAndroid)translator.FastGetCSObj(L, 1); + System.Action gen_delegate = translator.GetDelegate>(L, 3); + if (gen_delegate == null) { + return LuaAPI.luaL_error(L, "#3 need System.Action!"); + } + + if (gen_param_count == 3) + { + + if (LuaAPI.xlua_is_eq_str(L, 2, "+")) { + gen_to_be_invoked.OnInterstitialAdShowFailed += gen_delegate; + return 0; + } + + + if (LuaAPI.xlua_is_eq_str(L, 2, "-")) { + gen_to_be_invoked.OnInterstitialAdShowFailed -= gen_delegate; + return 0; + } + + } + } catch(System.Exception gen_e) { + return LuaAPI.luaL_error(L, "c# exception:" + gen_e); + } + LuaAPI.luaL_error(L, "invalid arguments to IronSourceInterstitialAndroid.OnInterstitialAdShowFailed!"); + return 0; + } + + [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] + static int _e_OnInterstitialAdLoadFailed(RealStatePtr L) + { + try { + ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); + int gen_param_count = LuaAPI.lua_gettop(L); + IronSourceInterstitialAndroid gen_to_be_invoked = (IronSourceInterstitialAndroid)translator.FastGetCSObj(L, 1); + System.Action gen_delegate = translator.GetDelegate>(L, 3); + if (gen_delegate == null) { + return LuaAPI.luaL_error(L, "#3 need System.Action!"); + } + + if (gen_param_count == 3) + { + + if (LuaAPI.xlua_is_eq_str(L, 2, "+")) { + gen_to_be_invoked.OnInterstitialAdLoadFailed += gen_delegate; + return 0; + } + + + if (LuaAPI.xlua_is_eq_str(L, 2, "-")) { + gen_to_be_invoked.OnInterstitialAdLoadFailed -= gen_delegate; + return 0; + } + + } + } catch(System.Exception gen_e) { + return LuaAPI.luaL_error(L, "c# exception:" + gen_e); + } + LuaAPI.luaL_error(L, "invalid arguments to IronSourceInterstitialAndroid.OnInterstitialAdLoadFailed!"); + return 0; + } + + [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] + static int _e_OnInterstitialAdReady(RealStatePtr L) + { + try { + ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); + int gen_param_count = LuaAPI.lua_gettop(L); + IronSourceInterstitialAndroid gen_to_be_invoked = (IronSourceInterstitialAndroid)translator.FastGetCSObj(L, 1); + System.Action gen_delegate = translator.GetDelegate(L, 3); + if (gen_delegate == null) { + return LuaAPI.luaL_error(L, "#3 need System.Action!"); + } + + if (gen_param_count == 3) + { + + if (LuaAPI.xlua_is_eq_str(L, 2, "+")) { + gen_to_be_invoked.OnInterstitialAdReady += gen_delegate; + return 0; + } + + + if (LuaAPI.xlua_is_eq_str(L, 2, "-")) { + gen_to_be_invoked.OnInterstitialAdReady -= gen_delegate; + return 0; + } + + } + } catch(System.Exception gen_e) { + return LuaAPI.luaL_error(L, "c# exception:" + gen_e); + } + LuaAPI.luaL_error(L, "invalid arguments to IronSourceInterstitialAndroid.OnInterstitialAdReady!"); + return 0; + } + + [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] + static int _e_OnInterstitialAdOpened(RealStatePtr L) + { + try { + ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); + int gen_param_count = LuaAPI.lua_gettop(L); + IronSourceInterstitialAndroid gen_to_be_invoked = (IronSourceInterstitialAndroid)translator.FastGetCSObj(L, 1); + System.Action gen_delegate = translator.GetDelegate(L, 3); + if (gen_delegate == null) { + return LuaAPI.luaL_error(L, "#3 need System.Action!"); + } + + if (gen_param_count == 3) + { + + if (LuaAPI.xlua_is_eq_str(L, 2, "+")) { + gen_to_be_invoked.OnInterstitialAdOpened += gen_delegate; + return 0; + } + + + if (LuaAPI.xlua_is_eq_str(L, 2, "-")) { + gen_to_be_invoked.OnInterstitialAdOpened -= gen_delegate; + return 0; + } + + } + } catch(System.Exception gen_e) { + return LuaAPI.luaL_error(L, "c# exception:" + gen_e); + } + LuaAPI.luaL_error(L, "invalid arguments to IronSourceInterstitialAndroid.OnInterstitialAdOpened!"); + return 0; + } + + [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] + static int _e_OnInterstitialAdClosed(RealStatePtr L) + { + try { + ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); + int gen_param_count = LuaAPI.lua_gettop(L); + IronSourceInterstitialAndroid gen_to_be_invoked = (IronSourceInterstitialAndroid)translator.FastGetCSObj(L, 1); + System.Action gen_delegate = translator.GetDelegate(L, 3); + if (gen_delegate == null) { + return LuaAPI.luaL_error(L, "#3 need System.Action!"); + } + + if (gen_param_count == 3) + { + + if (LuaAPI.xlua_is_eq_str(L, 2, "+")) { + gen_to_be_invoked.OnInterstitialAdClosed += gen_delegate; + return 0; + } + + + if (LuaAPI.xlua_is_eq_str(L, 2, "-")) { + gen_to_be_invoked.OnInterstitialAdClosed -= gen_delegate; + return 0; + } + + } + } catch(System.Exception gen_e) { + return LuaAPI.luaL_error(L, "c# exception:" + gen_e); + } + LuaAPI.luaL_error(L, "invalid arguments to IronSourceInterstitialAndroid.OnInterstitialAdClosed!"); + return 0; + } + + [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] + static int _e_OnInterstitialAdShowSucceeded(RealStatePtr L) + { + try { + ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); + int gen_param_count = LuaAPI.lua_gettop(L); + IronSourceInterstitialAndroid gen_to_be_invoked = (IronSourceInterstitialAndroid)translator.FastGetCSObj(L, 1); + System.Action gen_delegate = translator.GetDelegate(L, 3); + if (gen_delegate == null) { + return LuaAPI.luaL_error(L, "#3 need System.Action!"); + } + + if (gen_param_count == 3) + { + + if (LuaAPI.xlua_is_eq_str(L, 2, "+")) { + gen_to_be_invoked.OnInterstitialAdShowSucceeded += gen_delegate; + return 0; + } + + + if (LuaAPI.xlua_is_eq_str(L, 2, "-")) { + gen_to_be_invoked.OnInterstitialAdShowSucceeded -= gen_delegate; + return 0; + } + + } + } catch(System.Exception gen_e) { + return LuaAPI.luaL_error(L, "c# exception:" + gen_e); + } + LuaAPI.luaL_error(L, "invalid arguments to IronSourceInterstitialAndroid.OnInterstitialAdShowSucceeded!"); + return 0; + } + + [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] + static int _e_OnInterstitialAdClicked(RealStatePtr L) + { + try { + ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); + int gen_param_count = LuaAPI.lua_gettop(L); + IronSourceInterstitialAndroid gen_to_be_invoked = (IronSourceInterstitialAndroid)translator.FastGetCSObj(L, 1); + System.Action gen_delegate = translator.GetDelegate(L, 3); + if (gen_delegate == null) { + return LuaAPI.luaL_error(L, "#3 need System.Action!"); + } + + if (gen_param_count == 3) + { + + if (LuaAPI.xlua_is_eq_str(L, 2, "+")) { + gen_to_be_invoked.OnInterstitialAdClicked += gen_delegate; + return 0; + } + + + if (LuaAPI.xlua_is_eq_str(L, 2, "-")) { + gen_to_be_invoked.OnInterstitialAdClicked -= gen_delegate; + return 0; + } + + } + } catch(System.Exception gen_e) { + return LuaAPI.luaL_error(L, "c# exception:" + gen_e); + } + LuaAPI.luaL_error(L, "invalid arguments to IronSourceInterstitialAndroid.OnInterstitialAdClicked!"); + return 0; + } + + [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] + static int _e_OnInterstitialAdRewarded(RealStatePtr L) + { + try { + ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); + int gen_param_count = LuaAPI.lua_gettop(L); + IronSourceInterstitialAndroid gen_to_be_invoked = (IronSourceInterstitialAndroid)translator.FastGetCSObj(L, 1); + System.Action gen_delegate = translator.GetDelegate(L, 3); + if (gen_delegate == null) { + return LuaAPI.luaL_error(L, "#3 need System.Action!"); + } + + if (gen_param_count == 3) + { + + if (LuaAPI.xlua_is_eq_str(L, 2, "+")) { + gen_to_be_invoked.OnInterstitialAdRewarded += gen_delegate; + return 0; + } + + + if (LuaAPI.xlua_is_eq_str(L, 2, "-")) { + gen_to_be_invoked.OnInterstitialAdRewarded -= gen_delegate; + return 0; + } + + } + } catch(System.Exception gen_e) { + return LuaAPI.luaL_error(L, "c# exception:" + gen_e); + } + LuaAPI.luaL_error(L, "invalid arguments to IronSourceInterstitialAndroid.OnInterstitialAdRewarded!"); + return 0; + } + + [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] + static int _e_OnInterstitialAdReadyDemandOnly(RealStatePtr L) + { + try { + ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); + int gen_param_count = LuaAPI.lua_gettop(L); + IronSourceInterstitialAndroid gen_to_be_invoked = (IronSourceInterstitialAndroid)translator.FastGetCSObj(L, 1); + System.Action gen_delegate = translator.GetDelegate>(L, 3); + if (gen_delegate == null) { + return LuaAPI.luaL_error(L, "#3 need System.Action!"); + } + + if (gen_param_count == 3) + { + + if (LuaAPI.xlua_is_eq_str(L, 2, "+")) { + gen_to_be_invoked.OnInterstitialAdReadyDemandOnly += gen_delegate; + return 0; + } + + + if (LuaAPI.xlua_is_eq_str(L, 2, "-")) { + gen_to_be_invoked.OnInterstitialAdReadyDemandOnly -= gen_delegate; + return 0; + } + + } + } catch(System.Exception gen_e) { + return LuaAPI.luaL_error(L, "c# exception:" + gen_e); + } + LuaAPI.luaL_error(L, "invalid arguments to IronSourceInterstitialAndroid.OnInterstitialAdReadyDemandOnly!"); + return 0; + } + + [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] + static int _e_OnInterstitialAdOpenedDemandOnly(RealStatePtr L) + { + try { + ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); + int gen_param_count = LuaAPI.lua_gettop(L); + IronSourceInterstitialAndroid gen_to_be_invoked = (IronSourceInterstitialAndroid)translator.FastGetCSObj(L, 1); + System.Action gen_delegate = translator.GetDelegate>(L, 3); + if (gen_delegate == null) { + return LuaAPI.luaL_error(L, "#3 need System.Action!"); + } + + if (gen_param_count == 3) + { + + if (LuaAPI.xlua_is_eq_str(L, 2, "+")) { + gen_to_be_invoked.OnInterstitialAdOpenedDemandOnly += gen_delegate; + return 0; + } + + + if (LuaAPI.xlua_is_eq_str(L, 2, "-")) { + gen_to_be_invoked.OnInterstitialAdOpenedDemandOnly -= gen_delegate; + return 0; + } + + } + } catch(System.Exception gen_e) { + return LuaAPI.luaL_error(L, "c# exception:" + gen_e); + } + LuaAPI.luaL_error(L, "invalid arguments to IronSourceInterstitialAndroid.OnInterstitialAdOpenedDemandOnly!"); + return 0; + } + + [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] + static int _e_OnInterstitialAdClosedDemandOnly(RealStatePtr L) + { + try { + ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); + int gen_param_count = LuaAPI.lua_gettop(L); + IronSourceInterstitialAndroid gen_to_be_invoked = (IronSourceInterstitialAndroid)translator.FastGetCSObj(L, 1); + System.Action gen_delegate = translator.GetDelegate>(L, 3); + if (gen_delegate == null) { + return LuaAPI.luaL_error(L, "#3 need System.Action!"); + } + + if (gen_param_count == 3) + { + + if (LuaAPI.xlua_is_eq_str(L, 2, "+")) { + gen_to_be_invoked.OnInterstitialAdClosedDemandOnly += gen_delegate; + return 0; + } + + + if (LuaAPI.xlua_is_eq_str(L, 2, "-")) { + gen_to_be_invoked.OnInterstitialAdClosedDemandOnly -= gen_delegate; + return 0; + } + + } + } catch(System.Exception gen_e) { + return LuaAPI.luaL_error(L, "c# exception:" + gen_e); + } + LuaAPI.luaL_error(L, "invalid arguments to IronSourceInterstitialAndroid.OnInterstitialAdClosedDemandOnly!"); + return 0; + } + + [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] + static int _e_OnInterstitialAdLoadFailedDemandOnly(RealStatePtr L) + { + try { + ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); + int gen_param_count = LuaAPI.lua_gettop(L); + IronSourceInterstitialAndroid gen_to_be_invoked = (IronSourceInterstitialAndroid)translator.FastGetCSObj(L, 1); + System.Action gen_delegate = translator.GetDelegate>(L, 3); + if (gen_delegate == null) { + return LuaAPI.luaL_error(L, "#3 need System.Action!"); + } + + if (gen_param_count == 3) + { + + if (LuaAPI.xlua_is_eq_str(L, 2, "+")) { + gen_to_be_invoked.OnInterstitialAdLoadFailedDemandOnly += gen_delegate; + return 0; + } + + + if (LuaAPI.xlua_is_eq_str(L, 2, "-")) { + gen_to_be_invoked.OnInterstitialAdLoadFailedDemandOnly -= gen_delegate; + return 0; + } + + } + } catch(System.Exception gen_e) { + return LuaAPI.luaL_error(L, "c# exception:" + gen_e); + } + LuaAPI.luaL_error(L, "invalid arguments to IronSourceInterstitialAndroid.OnInterstitialAdLoadFailedDemandOnly!"); + return 0; + } + + [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] + static int _e_OnInterstitialAdClickedDemandOnly(RealStatePtr L) + { + try { + ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); + int gen_param_count = LuaAPI.lua_gettop(L); + IronSourceInterstitialAndroid gen_to_be_invoked = (IronSourceInterstitialAndroid)translator.FastGetCSObj(L, 1); + System.Action gen_delegate = translator.GetDelegate>(L, 3); + if (gen_delegate == null) { + return LuaAPI.luaL_error(L, "#3 need System.Action!"); + } + + if (gen_param_count == 3) + { + + if (LuaAPI.xlua_is_eq_str(L, 2, "+")) { + gen_to_be_invoked.OnInterstitialAdClickedDemandOnly += gen_delegate; + return 0; + } + + + if (LuaAPI.xlua_is_eq_str(L, 2, "-")) { + gen_to_be_invoked.OnInterstitialAdClickedDemandOnly -= gen_delegate; + return 0; + } + + } + } catch(System.Exception gen_e) { + return LuaAPI.luaL_error(L, "c# exception:" + gen_e); + } + LuaAPI.luaL_error(L, "invalid arguments to IronSourceInterstitialAndroid.OnInterstitialAdClickedDemandOnly!"); + return 0; + } + + [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] + static int _e_OnInterstitialAdShowFailedDemandOnly(RealStatePtr L) + { + try { + ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); + int gen_param_count = LuaAPI.lua_gettop(L); + IronSourceInterstitialAndroid gen_to_be_invoked = (IronSourceInterstitialAndroid)translator.FastGetCSObj(L, 1); + System.Action gen_delegate = translator.GetDelegate>(L, 3); + if (gen_delegate == null) { + return LuaAPI.luaL_error(L, "#3 need System.Action!"); + } + + if (gen_param_count == 3) + { + + if (LuaAPI.xlua_is_eq_str(L, 2, "+")) { + gen_to_be_invoked.OnInterstitialAdShowFailedDemandOnly += gen_delegate; + return 0; + } + + + if (LuaAPI.xlua_is_eq_str(L, 2, "-")) { + gen_to_be_invoked.OnInterstitialAdShowFailedDemandOnly -= gen_delegate; + return 0; + } + + } + } catch(System.Exception gen_e) { + return LuaAPI.luaL_error(L, "c# exception:" + gen_e); + } + LuaAPI.luaL_error(L, "invalid arguments to IronSourceInterstitialAndroid.OnInterstitialAdShowFailedDemandOnly!"); + return 0; + } + + + + } +} diff --git a/Assets/XLua/Gen/IronSourceInterstitialLevelPlayAndroidWrap.cs b/Assets/XLua/Gen/IronSourceInterstitialLevelPlayAndroidWrap.cs new file mode 100644 index 000000000..23ac0e36a --- /dev/null +++ b/Assets/XLua/Gen/IronSourceInterstitialLevelPlayAndroidWrap.cs @@ -0,0 +1,329 @@ +#if USE_UNI_LUA +using LuaAPI = UniLua.Lua; +using RealStatePtr = UniLua.ILuaState; +using LuaCSFunction = UniLua.CSharpFunctionDelegate; +#else +using LuaAPI = XLua.LuaDLL.Lua; +using RealStatePtr = System.IntPtr; +using LuaCSFunction = XLua.LuaDLL.lua_CSFunction; +#endif + +using XLua; +using System.Collections.Generic; + + +namespace XLua.CSObjectWrap +{ + using Utils = XLua.Utils; + public class IronSourceInterstitialLevelPlayAndroidWrap + { + public static void __Register(RealStatePtr L) + { + ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); + System.Type type = typeof(IronSourceInterstitialLevelPlayAndroid); + Utils.BeginObjectRegister(type, L, translator, 0, 7, 0, 0); + + + Utils.RegisterFunc(L, Utils.METHOD_IDX, "OnAdShowFailed", _e_OnAdShowFailed); + Utils.RegisterFunc(L, Utils.METHOD_IDX, "OnAdLoadFailed", _e_OnAdLoadFailed); + Utils.RegisterFunc(L, Utils.METHOD_IDX, "OnAdReady", _e_OnAdReady); + Utils.RegisterFunc(L, Utils.METHOD_IDX, "OnAdOpened", _e_OnAdOpened); + Utils.RegisterFunc(L, Utils.METHOD_IDX, "OnAdClosed", _e_OnAdClosed); + Utils.RegisterFunc(L, Utils.METHOD_IDX, "OnAdShowSucceeded", _e_OnAdShowSucceeded); + Utils.RegisterFunc(L, Utils.METHOD_IDX, "OnAdClicked", _e_OnAdClicked); + + + + + Utils.EndObjectRegister(type, L, translator, null, null, + null, null, null); + + Utils.BeginClassRegister(type, L, __CreateInstance, 1, 0, 0); + + + + + + + Utils.EndClassRegister(type, L, translator); + } + + [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] + static int __CreateInstance(RealStatePtr L) + { + + try { + ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); + if(LuaAPI.lua_gettop(L) == 1) + { + + var gen_ret = new IronSourceInterstitialLevelPlayAndroid(); + translator.Push(L, gen_ret); + + return 1; + } + + } + catch(System.Exception gen_e) { + return LuaAPI.luaL_error(L, "c# exception:" + gen_e); + } + return LuaAPI.luaL_error(L, "invalid arguments to IronSourceInterstitialLevelPlayAndroid constructor!"); + + } + + + + + + + + + + + + + + + + [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] + static int _e_OnAdShowFailed(RealStatePtr L) + { + try { + ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); + int gen_param_count = LuaAPI.lua_gettop(L); + IronSourceInterstitialLevelPlayAndroid gen_to_be_invoked = (IronSourceInterstitialLevelPlayAndroid)translator.FastGetCSObj(L, 1); + System.Action gen_delegate = translator.GetDelegate>(L, 3); + if (gen_delegate == null) { + return LuaAPI.luaL_error(L, "#3 need System.Action!"); + } + + if (gen_param_count == 3) + { + + if (LuaAPI.xlua_is_eq_str(L, 2, "+")) { + gen_to_be_invoked.OnAdShowFailed += gen_delegate; + return 0; + } + + + if (LuaAPI.xlua_is_eq_str(L, 2, "-")) { + gen_to_be_invoked.OnAdShowFailed -= gen_delegate; + return 0; + } + + } + } catch(System.Exception gen_e) { + return LuaAPI.luaL_error(L, "c# exception:" + gen_e); + } + LuaAPI.luaL_error(L, "invalid arguments to IronSourceInterstitialLevelPlayAndroid.OnAdShowFailed!"); + return 0; + } + + [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] + static int _e_OnAdLoadFailed(RealStatePtr L) + { + try { + ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); + int gen_param_count = LuaAPI.lua_gettop(L); + IronSourceInterstitialLevelPlayAndroid gen_to_be_invoked = (IronSourceInterstitialLevelPlayAndroid)translator.FastGetCSObj(L, 1); + System.Action gen_delegate = translator.GetDelegate>(L, 3); + if (gen_delegate == null) { + return LuaAPI.luaL_error(L, "#3 need System.Action!"); + } + + if (gen_param_count == 3) + { + + if (LuaAPI.xlua_is_eq_str(L, 2, "+")) { + gen_to_be_invoked.OnAdLoadFailed += gen_delegate; + return 0; + } + + + if (LuaAPI.xlua_is_eq_str(L, 2, "-")) { + gen_to_be_invoked.OnAdLoadFailed -= gen_delegate; + return 0; + } + + } + } catch(System.Exception gen_e) { + return LuaAPI.luaL_error(L, "c# exception:" + gen_e); + } + LuaAPI.luaL_error(L, "invalid arguments to IronSourceInterstitialLevelPlayAndroid.OnAdLoadFailed!"); + return 0; + } + + [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] + static int _e_OnAdReady(RealStatePtr L) + { + try { + ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); + int gen_param_count = LuaAPI.lua_gettop(L); + IronSourceInterstitialLevelPlayAndroid gen_to_be_invoked = (IronSourceInterstitialLevelPlayAndroid)translator.FastGetCSObj(L, 1); + System.Action gen_delegate = translator.GetDelegate>(L, 3); + if (gen_delegate == null) { + return LuaAPI.luaL_error(L, "#3 need System.Action!"); + } + + if (gen_param_count == 3) + { + + if (LuaAPI.xlua_is_eq_str(L, 2, "+")) { + gen_to_be_invoked.OnAdReady += gen_delegate; + return 0; + } + + + if (LuaAPI.xlua_is_eq_str(L, 2, "-")) { + gen_to_be_invoked.OnAdReady -= gen_delegate; + return 0; + } + + } + } catch(System.Exception gen_e) { + return LuaAPI.luaL_error(L, "c# exception:" + gen_e); + } + LuaAPI.luaL_error(L, "invalid arguments to IronSourceInterstitialLevelPlayAndroid.OnAdReady!"); + return 0; + } + + [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] + static int _e_OnAdOpened(RealStatePtr L) + { + try { + ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); + int gen_param_count = LuaAPI.lua_gettop(L); + IronSourceInterstitialLevelPlayAndroid gen_to_be_invoked = (IronSourceInterstitialLevelPlayAndroid)translator.FastGetCSObj(L, 1); + System.Action gen_delegate = translator.GetDelegate>(L, 3); + if (gen_delegate == null) { + return LuaAPI.luaL_error(L, "#3 need System.Action!"); + } + + if (gen_param_count == 3) + { + + if (LuaAPI.xlua_is_eq_str(L, 2, "+")) { + gen_to_be_invoked.OnAdOpened += gen_delegate; + return 0; + } + + + if (LuaAPI.xlua_is_eq_str(L, 2, "-")) { + gen_to_be_invoked.OnAdOpened -= gen_delegate; + return 0; + } + + } + } catch(System.Exception gen_e) { + return LuaAPI.luaL_error(L, "c# exception:" + gen_e); + } + LuaAPI.luaL_error(L, "invalid arguments to IronSourceInterstitialLevelPlayAndroid.OnAdOpened!"); + return 0; + } + + [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] + static int _e_OnAdClosed(RealStatePtr L) + { + try { + ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); + int gen_param_count = LuaAPI.lua_gettop(L); + IronSourceInterstitialLevelPlayAndroid gen_to_be_invoked = (IronSourceInterstitialLevelPlayAndroid)translator.FastGetCSObj(L, 1); + System.Action gen_delegate = translator.GetDelegate>(L, 3); + if (gen_delegate == null) { + return LuaAPI.luaL_error(L, "#3 need System.Action!"); + } + + if (gen_param_count == 3) + { + + if (LuaAPI.xlua_is_eq_str(L, 2, "+")) { + gen_to_be_invoked.OnAdClosed += gen_delegate; + return 0; + } + + + if (LuaAPI.xlua_is_eq_str(L, 2, "-")) { + gen_to_be_invoked.OnAdClosed -= gen_delegate; + return 0; + } + + } + } catch(System.Exception gen_e) { + return LuaAPI.luaL_error(L, "c# exception:" + gen_e); + } + LuaAPI.luaL_error(L, "invalid arguments to IronSourceInterstitialLevelPlayAndroid.OnAdClosed!"); + return 0; + } + + [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] + static int _e_OnAdShowSucceeded(RealStatePtr L) + { + try { + ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); + int gen_param_count = LuaAPI.lua_gettop(L); + IronSourceInterstitialLevelPlayAndroid gen_to_be_invoked = (IronSourceInterstitialLevelPlayAndroid)translator.FastGetCSObj(L, 1); + System.Action gen_delegate = translator.GetDelegate>(L, 3); + if (gen_delegate == null) { + return LuaAPI.luaL_error(L, "#3 need System.Action!"); + } + + if (gen_param_count == 3) + { + + if (LuaAPI.xlua_is_eq_str(L, 2, "+")) { + gen_to_be_invoked.OnAdShowSucceeded += gen_delegate; + return 0; + } + + + if (LuaAPI.xlua_is_eq_str(L, 2, "-")) { + gen_to_be_invoked.OnAdShowSucceeded -= gen_delegate; + return 0; + } + + } + } catch(System.Exception gen_e) { + return LuaAPI.luaL_error(L, "c# exception:" + gen_e); + } + LuaAPI.luaL_error(L, "invalid arguments to IronSourceInterstitialLevelPlayAndroid.OnAdShowSucceeded!"); + return 0; + } + + [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] + static int _e_OnAdClicked(RealStatePtr L) + { + try { + ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); + int gen_param_count = LuaAPI.lua_gettop(L); + IronSourceInterstitialLevelPlayAndroid gen_to_be_invoked = (IronSourceInterstitialLevelPlayAndroid)translator.FastGetCSObj(L, 1); + System.Action gen_delegate = translator.GetDelegate>(L, 3); + if (gen_delegate == null) { + return LuaAPI.luaL_error(L, "#3 need System.Action!"); + } + + if (gen_param_count == 3) + { + + if (LuaAPI.xlua_is_eq_str(L, 2, "+")) { + gen_to_be_invoked.OnAdClicked += gen_delegate; + return 0; + } + + + if (LuaAPI.xlua_is_eq_str(L, 2, "-")) { + gen_to_be_invoked.OnAdClicked -= gen_delegate; + return 0; + } + + } + } catch(System.Exception gen_e) { + return LuaAPI.luaL_error(L, "c# exception:" + gen_e); + } + LuaAPI.luaL_error(L, "invalid arguments to IronSourceInterstitialLevelPlayAndroid.OnAdClicked!"); + return 0; + } + + + + } +} diff --git a/Assets/XLua/Gen/IronSourceOfferwallAndroidWrap.cs b/Assets/XLua/Gen/IronSourceOfferwallAndroidWrap.cs new file mode 100644 index 000000000..bf4e1a258 --- /dev/null +++ b/Assets/XLua/Gen/IronSourceOfferwallAndroidWrap.cs @@ -0,0 +1,466 @@ +#if USE_UNI_LUA +using LuaAPI = UniLua.Lua; +using RealStatePtr = UniLua.ILuaState; +using LuaCSFunction = UniLua.CSharpFunctionDelegate; +#else +using LuaAPI = XLua.LuaDLL.Lua; +using RealStatePtr = System.IntPtr; +using LuaCSFunction = XLua.LuaDLL.lua_CSFunction; +#endif + +using XLua; +using System.Collections.Generic; + + +namespace XLua.CSObjectWrap +{ + using Utils = XLua.Utils; + public class IronSourceOfferwallAndroidWrap + { + public static void __Register(RealStatePtr L) + { + ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); + System.Type type = typeof(IronSourceOfferwallAndroid); + Utils.BeginObjectRegister(type, L, translator, 0, 12, 0, 0); + + Utils.RegisterFunc(L, Utils.METHOD_IDX, "onOfferwallOpened", _m_onOfferwallOpened); + Utils.RegisterFunc(L, Utils.METHOD_IDX, "onOfferwallShowFailed", _m_onOfferwallShowFailed); + Utils.RegisterFunc(L, Utils.METHOD_IDX, "onOfferwallClosed", _m_onOfferwallClosed); + Utils.RegisterFunc(L, Utils.METHOD_IDX, "onGetOfferwallCreditsFailed", _m_onGetOfferwallCreditsFailed); + Utils.RegisterFunc(L, Utils.METHOD_IDX, "onOfferwallAdCredited", _m_onOfferwallAdCredited); + Utils.RegisterFunc(L, Utils.METHOD_IDX, "onOfferwallAvailable", _m_onOfferwallAvailable); + + Utils.RegisterFunc(L, Utils.METHOD_IDX, "OnOfferwallShowFailed", _e_OnOfferwallShowFailed); + Utils.RegisterFunc(L, Utils.METHOD_IDX, "OnOfferwallOpened", _e_OnOfferwallOpened); + Utils.RegisterFunc(L, Utils.METHOD_IDX, "OnOfferwallClosed", _e_OnOfferwallClosed); + Utils.RegisterFunc(L, Utils.METHOD_IDX, "OnGetOfferwallCreditsFailed", _e_OnGetOfferwallCreditsFailed); + Utils.RegisterFunc(L, Utils.METHOD_IDX, "OnOfferwallAdCredited", _e_OnOfferwallAdCredited); + Utils.RegisterFunc(L, Utils.METHOD_IDX, "OnOfferwallAvailable", _e_OnOfferwallAvailable); + + + + + Utils.EndObjectRegister(type, L, translator, null, null, + null, null, null); + + Utils.BeginClassRegister(type, L, __CreateInstance, 1, 0, 0); + + + + + + + Utils.EndClassRegister(type, L, translator); + } + + [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] + static int __CreateInstance(RealStatePtr L) + { + + try { + ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); + if(LuaAPI.lua_gettop(L) == 1) + { + + var gen_ret = new IronSourceOfferwallAndroid(); + translator.Push(L, gen_ret); + + return 1; + } + + } + catch(System.Exception gen_e) { + return LuaAPI.luaL_error(L, "c# exception:" + gen_e); + } + return LuaAPI.luaL_error(L, "invalid arguments to IronSourceOfferwallAndroid constructor!"); + + } + + + + + + + + + [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] + static int _m_onOfferwallOpened(RealStatePtr L) + { + try { + + ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); + + + IronSourceOfferwallAndroid gen_to_be_invoked = (IronSourceOfferwallAndroid)translator.FastGetCSObj(L, 1); + + + + { + + gen_to_be_invoked.onOfferwallOpened( ); + + + + return 0; + } + + } catch(System.Exception gen_e) { + return LuaAPI.luaL_error(L, "c# exception:" + gen_e); + } + + } + + [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] + static int _m_onOfferwallShowFailed(RealStatePtr L) + { + try { + + ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); + + + IronSourceOfferwallAndroid gen_to_be_invoked = (IronSourceOfferwallAndroid)translator.FastGetCSObj(L, 1); + + + + { + string _description = LuaAPI.lua_tostring(L, 2); + + gen_to_be_invoked.onOfferwallShowFailed( _description ); + + + + return 0; + } + + } catch(System.Exception gen_e) { + return LuaAPI.luaL_error(L, "c# exception:" + gen_e); + } + + } + + [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] + static int _m_onOfferwallClosed(RealStatePtr L) + { + try { + + ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); + + + IronSourceOfferwallAndroid gen_to_be_invoked = (IronSourceOfferwallAndroid)translator.FastGetCSObj(L, 1); + + + + { + + gen_to_be_invoked.onOfferwallClosed( ); + + + + return 0; + } + + } catch(System.Exception gen_e) { + return LuaAPI.luaL_error(L, "c# exception:" + gen_e); + } + + } + + [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] + static int _m_onGetOfferwallCreditsFailed(RealStatePtr L) + { + try { + + ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); + + + IronSourceOfferwallAndroid gen_to_be_invoked = (IronSourceOfferwallAndroid)translator.FastGetCSObj(L, 1); + + + + { + string _description = LuaAPI.lua_tostring(L, 2); + + gen_to_be_invoked.onGetOfferwallCreditsFailed( _description ); + + + + return 0; + } + + } catch(System.Exception gen_e) { + return LuaAPI.luaL_error(L, "c# exception:" + gen_e); + } + + } + + [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] + static int _m_onOfferwallAdCredited(RealStatePtr L) + { + try { + + ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); + + + IronSourceOfferwallAndroid gen_to_be_invoked = (IronSourceOfferwallAndroid)translator.FastGetCSObj(L, 1); + + + + { + string _json = LuaAPI.lua_tostring(L, 2); + + gen_to_be_invoked.onOfferwallAdCredited( _json ); + + + + return 0; + } + + } catch(System.Exception gen_e) { + return LuaAPI.luaL_error(L, "c# exception:" + gen_e); + } + + } + + [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] + static int _m_onOfferwallAvailable(RealStatePtr L) + { + try { + + ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); + + + IronSourceOfferwallAndroid gen_to_be_invoked = (IronSourceOfferwallAndroid)translator.FastGetCSObj(L, 1); + + + + { + string _stringAvailable = LuaAPI.lua_tostring(L, 2); + + gen_to_be_invoked.onOfferwallAvailable( _stringAvailable ); + + + + return 0; + } + + } catch(System.Exception gen_e) { + return LuaAPI.luaL_error(L, "c# exception:" + gen_e); + } + + } + + + + + + + + + [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] + static int _e_OnOfferwallShowFailed(RealStatePtr L) + { + try { + ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); + int gen_param_count = LuaAPI.lua_gettop(L); + IronSourceOfferwallAndroid gen_to_be_invoked = (IronSourceOfferwallAndroid)translator.FastGetCSObj(L, 1); + System.Action gen_delegate = translator.GetDelegate>(L, 3); + if (gen_delegate == null) { + return LuaAPI.luaL_error(L, "#3 need System.Action!"); + } + + if (gen_param_count == 3) + { + + if (LuaAPI.xlua_is_eq_str(L, 2, "+")) { + gen_to_be_invoked.OnOfferwallShowFailed += gen_delegate; + return 0; + } + + + if (LuaAPI.xlua_is_eq_str(L, 2, "-")) { + gen_to_be_invoked.OnOfferwallShowFailed -= gen_delegate; + return 0; + } + + } + } catch(System.Exception gen_e) { + return LuaAPI.luaL_error(L, "c# exception:" + gen_e); + } + LuaAPI.luaL_error(L, "invalid arguments to IronSourceOfferwallAndroid.OnOfferwallShowFailed!"); + return 0; + } + + [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] + static int _e_OnOfferwallOpened(RealStatePtr L) + { + try { + ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); + int gen_param_count = LuaAPI.lua_gettop(L); + IronSourceOfferwallAndroid gen_to_be_invoked = (IronSourceOfferwallAndroid)translator.FastGetCSObj(L, 1); + System.Action gen_delegate = translator.GetDelegate(L, 3); + if (gen_delegate == null) { + return LuaAPI.luaL_error(L, "#3 need System.Action!"); + } + + if (gen_param_count == 3) + { + + if (LuaAPI.xlua_is_eq_str(L, 2, "+")) { + gen_to_be_invoked.OnOfferwallOpened += gen_delegate; + return 0; + } + + + if (LuaAPI.xlua_is_eq_str(L, 2, "-")) { + gen_to_be_invoked.OnOfferwallOpened -= gen_delegate; + return 0; + } + + } + } catch(System.Exception gen_e) { + return LuaAPI.luaL_error(L, "c# exception:" + gen_e); + } + LuaAPI.luaL_error(L, "invalid arguments to IronSourceOfferwallAndroid.OnOfferwallOpened!"); + return 0; + } + + [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] + static int _e_OnOfferwallClosed(RealStatePtr L) + { + try { + ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); + int gen_param_count = LuaAPI.lua_gettop(L); + IronSourceOfferwallAndroid gen_to_be_invoked = (IronSourceOfferwallAndroid)translator.FastGetCSObj(L, 1); + System.Action gen_delegate = translator.GetDelegate(L, 3); + if (gen_delegate == null) { + return LuaAPI.luaL_error(L, "#3 need System.Action!"); + } + + if (gen_param_count == 3) + { + + if (LuaAPI.xlua_is_eq_str(L, 2, "+")) { + gen_to_be_invoked.OnOfferwallClosed += gen_delegate; + return 0; + } + + + if (LuaAPI.xlua_is_eq_str(L, 2, "-")) { + gen_to_be_invoked.OnOfferwallClosed -= gen_delegate; + return 0; + } + + } + } catch(System.Exception gen_e) { + return LuaAPI.luaL_error(L, "c# exception:" + gen_e); + } + LuaAPI.luaL_error(L, "invalid arguments to IronSourceOfferwallAndroid.OnOfferwallClosed!"); + return 0; + } + + [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] + static int _e_OnGetOfferwallCreditsFailed(RealStatePtr L) + { + try { + ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); + int gen_param_count = LuaAPI.lua_gettop(L); + IronSourceOfferwallAndroid gen_to_be_invoked = (IronSourceOfferwallAndroid)translator.FastGetCSObj(L, 1); + System.Action gen_delegate = translator.GetDelegate>(L, 3); + if (gen_delegate == null) { + return LuaAPI.luaL_error(L, "#3 need System.Action!"); + } + + if (gen_param_count == 3) + { + + if (LuaAPI.xlua_is_eq_str(L, 2, "+")) { + gen_to_be_invoked.OnGetOfferwallCreditsFailed += gen_delegate; + return 0; + } + + + if (LuaAPI.xlua_is_eq_str(L, 2, "-")) { + gen_to_be_invoked.OnGetOfferwallCreditsFailed -= gen_delegate; + return 0; + } + + } + } catch(System.Exception gen_e) { + return LuaAPI.luaL_error(L, "c# exception:" + gen_e); + } + LuaAPI.luaL_error(L, "invalid arguments to IronSourceOfferwallAndroid.OnGetOfferwallCreditsFailed!"); + return 0; + } + + [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] + static int _e_OnOfferwallAdCredited(RealStatePtr L) + { + try { + ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); + int gen_param_count = LuaAPI.lua_gettop(L); + IronSourceOfferwallAndroid gen_to_be_invoked = (IronSourceOfferwallAndroid)translator.FastGetCSObj(L, 1); + System.Action> gen_delegate = translator.GetDelegate>>(L, 3); + if (gen_delegate == null) { + return LuaAPI.luaL_error(L, "#3 need System.Action>!"); + } + + if (gen_param_count == 3) + { + + if (LuaAPI.xlua_is_eq_str(L, 2, "+")) { + gen_to_be_invoked.OnOfferwallAdCredited += gen_delegate; + return 0; + } + + + if (LuaAPI.xlua_is_eq_str(L, 2, "-")) { + gen_to_be_invoked.OnOfferwallAdCredited -= gen_delegate; + return 0; + } + + } + } catch(System.Exception gen_e) { + return LuaAPI.luaL_error(L, "c# exception:" + gen_e); + } + LuaAPI.luaL_error(L, "invalid arguments to IronSourceOfferwallAndroid.OnOfferwallAdCredited!"); + return 0; + } + + [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] + static int _e_OnOfferwallAvailable(RealStatePtr L) + { + try { + ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); + int gen_param_count = LuaAPI.lua_gettop(L); + IronSourceOfferwallAndroid gen_to_be_invoked = (IronSourceOfferwallAndroid)translator.FastGetCSObj(L, 1); + System.Action gen_delegate = translator.GetDelegate>(L, 3); + if (gen_delegate == null) { + return LuaAPI.luaL_error(L, "#3 need System.Action!"); + } + + if (gen_param_count == 3) + { + + if (LuaAPI.xlua_is_eq_str(L, 2, "+")) { + gen_to_be_invoked.OnOfferwallAvailable += gen_delegate; + return 0; + } + + + if (LuaAPI.xlua_is_eq_str(L, 2, "-")) { + gen_to_be_invoked.OnOfferwallAvailable -= gen_delegate; + return 0; + } + + } + } catch(System.Exception gen_e) { + return LuaAPI.luaL_error(L, "c# exception:" + gen_e); + } + LuaAPI.luaL_error(L, "invalid arguments to IronSourceOfferwallAndroid.OnOfferwallAvailable!"); + return 0; + } + + + + } +} diff --git a/Assets/XLua/Gen/IronSourceRewardedVideoAndroidWrap.cs b/Assets/XLua/Gen/IronSourceRewardedVideoAndroidWrap.cs new file mode 100644 index 000000000..008c5187b --- /dev/null +++ b/Assets/XLua/Gen/IronSourceRewardedVideoAndroidWrap.cs @@ -0,0 +1,609 @@ +#if USE_UNI_LUA +using LuaAPI = UniLua.Lua; +using RealStatePtr = UniLua.ILuaState; +using LuaCSFunction = UniLua.CSharpFunctionDelegate; +#else +using LuaAPI = XLua.LuaDLL.Lua; +using RealStatePtr = System.IntPtr; +using LuaCSFunction = XLua.LuaDLL.lua_CSFunction; +#endif + +using XLua; +using System.Collections.Generic; + + +namespace XLua.CSObjectWrap +{ + using Utils = XLua.Utils; + public class IronSourceRewardedVideoAndroidWrap + { + public static void __Register(RealStatePtr L) + { + ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); + System.Type type = typeof(IronSourceRewardedVideoAndroid); + Utils.BeginObjectRegister(type, L, translator, 0, 15, 0, 0); + + + Utils.RegisterFunc(L, Utils.METHOD_IDX, "OnRewardedVideoAdShowFailed", _e_OnRewardedVideoAdShowFailed); + Utils.RegisterFunc(L, Utils.METHOD_IDX, "OnRewardedVideoAdOpened", _e_OnRewardedVideoAdOpened); + Utils.RegisterFunc(L, Utils.METHOD_IDX, "OnRewardedVideoAdClosed", _e_OnRewardedVideoAdClosed); + Utils.RegisterFunc(L, Utils.METHOD_IDX, "OnRewardedVideoAdStarted", _e_OnRewardedVideoAdStarted); + Utils.RegisterFunc(L, Utils.METHOD_IDX, "OnRewardedVideoAdEnded", _e_OnRewardedVideoAdEnded); + Utils.RegisterFunc(L, Utils.METHOD_IDX, "OnRewardedVideoAdRewarded", _e_OnRewardedVideoAdRewarded); + Utils.RegisterFunc(L, Utils.METHOD_IDX, "OnRewardedVideoAdClicked", _e_OnRewardedVideoAdClicked); + Utils.RegisterFunc(L, Utils.METHOD_IDX, "OnRewardedVideoAvailabilityChanged", _e_OnRewardedVideoAvailabilityChanged); + Utils.RegisterFunc(L, Utils.METHOD_IDX, "OnRewardedVideoAdOpenedDemandOnlyEvent", _e_OnRewardedVideoAdOpenedDemandOnlyEvent); + Utils.RegisterFunc(L, Utils.METHOD_IDX, "OnRewardedVideoAdClosedDemandOnlyEvent", _e_OnRewardedVideoAdClosedDemandOnlyEvent); + Utils.RegisterFunc(L, Utils.METHOD_IDX, "OnRewardedVideoAdLoadedDemandOnlyEvent", _e_OnRewardedVideoAdLoadedDemandOnlyEvent); + Utils.RegisterFunc(L, Utils.METHOD_IDX, "OnRewardedVideoAdRewardedDemandOnlyEvent", _e_OnRewardedVideoAdRewardedDemandOnlyEvent); + Utils.RegisterFunc(L, Utils.METHOD_IDX, "OnRewardedVideoAdShowFailedDemandOnlyEvent", _e_OnRewardedVideoAdShowFailedDemandOnlyEvent); + Utils.RegisterFunc(L, Utils.METHOD_IDX, "OnRewardedVideoAdClickedDemandOnlyEvent", _e_OnRewardedVideoAdClickedDemandOnlyEvent); + Utils.RegisterFunc(L, Utils.METHOD_IDX, "OnRewardedVideoAdLoadFailedDemandOnlyEvent", _e_OnRewardedVideoAdLoadFailedDemandOnlyEvent); + + + + + Utils.EndObjectRegister(type, L, translator, null, null, + null, null, null); + + Utils.BeginClassRegister(type, L, __CreateInstance, 1, 0, 0); + + + + + + + Utils.EndClassRegister(type, L, translator); + } + + [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] + static int __CreateInstance(RealStatePtr L) + { + + try { + ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); + if(LuaAPI.lua_gettop(L) == 1) + { + + var gen_ret = new IronSourceRewardedVideoAndroid(); + translator.Push(L, gen_ret); + + return 1; + } + + } + catch(System.Exception gen_e) { + return LuaAPI.luaL_error(L, "c# exception:" + gen_e); + } + return LuaAPI.luaL_error(L, "invalid arguments to IronSourceRewardedVideoAndroid constructor!"); + + } + + + + + + + + + + + + + + + + [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] + static int _e_OnRewardedVideoAdShowFailed(RealStatePtr L) + { + try { + ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); + int gen_param_count = LuaAPI.lua_gettop(L); + IronSourceRewardedVideoAndroid gen_to_be_invoked = (IronSourceRewardedVideoAndroid)translator.FastGetCSObj(L, 1); + System.Action gen_delegate = translator.GetDelegate>(L, 3); + if (gen_delegate == null) { + return LuaAPI.luaL_error(L, "#3 need System.Action!"); + } + + if (gen_param_count == 3) + { + + if (LuaAPI.xlua_is_eq_str(L, 2, "+")) { + gen_to_be_invoked.OnRewardedVideoAdShowFailed += gen_delegate; + return 0; + } + + + if (LuaAPI.xlua_is_eq_str(L, 2, "-")) { + gen_to_be_invoked.OnRewardedVideoAdShowFailed -= gen_delegate; + return 0; + } + + } + } catch(System.Exception gen_e) { + return LuaAPI.luaL_error(L, "c# exception:" + gen_e); + } + LuaAPI.luaL_error(L, "invalid arguments to IronSourceRewardedVideoAndroid.OnRewardedVideoAdShowFailed!"); + return 0; + } + + [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] + static int _e_OnRewardedVideoAdOpened(RealStatePtr L) + { + try { + ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); + int gen_param_count = LuaAPI.lua_gettop(L); + IronSourceRewardedVideoAndroid gen_to_be_invoked = (IronSourceRewardedVideoAndroid)translator.FastGetCSObj(L, 1); + System.Action gen_delegate = translator.GetDelegate(L, 3); + if (gen_delegate == null) { + return LuaAPI.luaL_error(L, "#3 need System.Action!"); + } + + if (gen_param_count == 3) + { + + if (LuaAPI.xlua_is_eq_str(L, 2, "+")) { + gen_to_be_invoked.OnRewardedVideoAdOpened += gen_delegate; + return 0; + } + + + if (LuaAPI.xlua_is_eq_str(L, 2, "-")) { + gen_to_be_invoked.OnRewardedVideoAdOpened -= gen_delegate; + return 0; + } + + } + } catch(System.Exception gen_e) { + return LuaAPI.luaL_error(L, "c# exception:" + gen_e); + } + LuaAPI.luaL_error(L, "invalid arguments to IronSourceRewardedVideoAndroid.OnRewardedVideoAdOpened!"); + return 0; + } + + [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] + static int _e_OnRewardedVideoAdClosed(RealStatePtr L) + { + try { + ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); + int gen_param_count = LuaAPI.lua_gettop(L); + IronSourceRewardedVideoAndroid gen_to_be_invoked = (IronSourceRewardedVideoAndroid)translator.FastGetCSObj(L, 1); + System.Action gen_delegate = translator.GetDelegate(L, 3); + if (gen_delegate == null) { + return LuaAPI.luaL_error(L, "#3 need System.Action!"); + } + + if (gen_param_count == 3) + { + + if (LuaAPI.xlua_is_eq_str(L, 2, "+")) { + gen_to_be_invoked.OnRewardedVideoAdClosed += gen_delegate; + return 0; + } + + + if (LuaAPI.xlua_is_eq_str(L, 2, "-")) { + gen_to_be_invoked.OnRewardedVideoAdClosed -= gen_delegate; + return 0; + } + + } + } catch(System.Exception gen_e) { + return LuaAPI.luaL_error(L, "c# exception:" + gen_e); + } + LuaAPI.luaL_error(L, "invalid arguments to IronSourceRewardedVideoAndroid.OnRewardedVideoAdClosed!"); + return 0; + } + + [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] + static int _e_OnRewardedVideoAdStarted(RealStatePtr L) + { + try { + ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); + int gen_param_count = LuaAPI.lua_gettop(L); + IronSourceRewardedVideoAndroid gen_to_be_invoked = (IronSourceRewardedVideoAndroid)translator.FastGetCSObj(L, 1); + System.Action gen_delegate = translator.GetDelegate(L, 3); + if (gen_delegate == null) { + return LuaAPI.luaL_error(L, "#3 need System.Action!"); + } + + if (gen_param_count == 3) + { + + if (LuaAPI.xlua_is_eq_str(L, 2, "+")) { + gen_to_be_invoked.OnRewardedVideoAdStarted += gen_delegate; + return 0; + } + + + if (LuaAPI.xlua_is_eq_str(L, 2, "-")) { + gen_to_be_invoked.OnRewardedVideoAdStarted -= gen_delegate; + return 0; + } + + } + } catch(System.Exception gen_e) { + return LuaAPI.luaL_error(L, "c# exception:" + gen_e); + } + LuaAPI.luaL_error(L, "invalid arguments to IronSourceRewardedVideoAndroid.OnRewardedVideoAdStarted!"); + return 0; + } + + [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] + static int _e_OnRewardedVideoAdEnded(RealStatePtr L) + { + try { + ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); + int gen_param_count = LuaAPI.lua_gettop(L); + IronSourceRewardedVideoAndroid gen_to_be_invoked = (IronSourceRewardedVideoAndroid)translator.FastGetCSObj(L, 1); + System.Action gen_delegate = translator.GetDelegate(L, 3); + if (gen_delegate == null) { + return LuaAPI.luaL_error(L, "#3 need System.Action!"); + } + + if (gen_param_count == 3) + { + + if (LuaAPI.xlua_is_eq_str(L, 2, "+")) { + gen_to_be_invoked.OnRewardedVideoAdEnded += gen_delegate; + return 0; + } + + + if (LuaAPI.xlua_is_eq_str(L, 2, "-")) { + gen_to_be_invoked.OnRewardedVideoAdEnded -= gen_delegate; + return 0; + } + + } + } catch(System.Exception gen_e) { + return LuaAPI.luaL_error(L, "c# exception:" + gen_e); + } + LuaAPI.luaL_error(L, "invalid arguments to IronSourceRewardedVideoAndroid.OnRewardedVideoAdEnded!"); + return 0; + } + + [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] + static int _e_OnRewardedVideoAdRewarded(RealStatePtr L) + { + try { + ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); + int gen_param_count = LuaAPI.lua_gettop(L); + IronSourceRewardedVideoAndroid gen_to_be_invoked = (IronSourceRewardedVideoAndroid)translator.FastGetCSObj(L, 1); + System.Action gen_delegate = translator.GetDelegate>(L, 3); + if (gen_delegate == null) { + return LuaAPI.luaL_error(L, "#3 need System.Action!"); + } + + if (gen_param_count == 3) + { + + if (LuaAPI.xlua_is_eq_str(L, 2, "+")) { + gen_to_be_invoked.OnRewardedVideoAdRewarded += gen_delegate; + return 0; + } + + + if (LuaAPI.xlua_is_eq_str(L, 2, "-")) { + gen_to_be_invoked.OnRewardedVideoAdRewarded -= gen_delegate; + return 0; + } + + } + } catch(System.Exception gen_e) { + return LuaAPI.luaL_error(L, "c# exception:" + gen_e); + } + LuaAPI.luaL_error(L, "invalid arguments to IronSourceRewardedVideoAndroid.OnRewardedVideoAdRewarded!"); + return 0; + } + + [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] + static int _e_OnRewardedVideoAdClicked(RealStatePtr L) + { + try { + ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); + int gen_param_count = LuaAPI.lua_gettop(L); + IronSourceRewardedVideoAndroid gen_to_be_invoked = (IronSourceRewardedVideoAndroid)translator.FastGetCSObj(L, 1); + System.Action gen_delegate = translator.GetDelegate>(L, 3); + if (gen_delegate == null) { + return LuaAPI.luaL_error(L, "#3 need System.Action!"); + } + + if (gen_param_count == 3) + { + + if (LuaAPI.xlua_is_eq_str(L, 2, "+")) { + gen_to_be_invoked.OnRewardedVideoAdClicked += gen_delegate; + return 0; + } + + + if (LuaAPI.xlua_is_eq_str(L, 2, "-")) { + gen_to_be_invoked.OnRewardedVideoAdClicked -= gen_delegate; + return 0; + } + + } + } catch(System.Exception gen_e) { + return LuaAPI.luaL_error(L, "c# exception:" + gen_e); + } + LuaAPI.luaL_error(L, "invalid arguments to IronSourceRewardedVideoAndroid.OnRewardedVideoAdClicked!"); + return 0; + } + + [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] + static int _e_OnRewardedVideoAvailabilityChanged(RealStatePtr L) + { + try { + ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); + int gen_param_count = LuaAPI.lua_gettop(L); + IronSourceRewardedVideoAndroid gen_to_be_invoked = (IronSourceRewardedVideoAndroid)translator.FastGetCSObj(L, 1); + System.Action gen_delegate = translator.GetDelegate>(L, 3); + if (gen_delegate == null) { + return LuaAPI.luaL_error(L, "#3 need System.Action!"); + } + + if (gen_param_count == 3) + { + + if (LuaAPI.xlua_is_eq_str(L, 2, "+")) { + gen_to_be_invoked.OnRewardedVideoAvailabilityChanged += gen_delegate; + return 0; + } + + + if (LuaAPI.xlua_is_eq_str(L, 2, "-")) { + gen_to_be_invoked.OnRewardedVideoAvailabilityChanged -= gen_delegate; + return 0; + } + + } + } catch(System.Exception gen_e) { + return LuaAPI.luaL_error(L, "c# exception:" + gen_e); + } + LuaAPI.luaL_error(L, "invalid arguments to IronSourceRewardedVideoAndroid.OnRewardedVideoAvailabilityChanged!"); + return 0; + } + + [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] + static int _e_OnRewardedVideoAdOpenedDemandOnlyEvent(RealStatePtr L) + { + try { + ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); + int gen_param_count = LuaAPI.lua_gettop(L); + IronSourceRewardedVideoAndroid gen_to_be_invoked = (IronSourceRewardedVideoAndroid)translator.FastGetCSObj(L, 1); + System.Action gen_delegate = translator.GetDelegate>(L, 3); + if (gen_delegate == null) { + return LuaAPI.luaL_error(L, "#3 need System.Action!"); + } + + if (gen_param_count == 3) + { + + if (LuaAPI.xlua_is_eq_str(L, 2, "+")) { + gen_to_be_invoked.OnRewardedVideoAdOpenedDemandOnlyEvent += gen_delegate; + return 0; + } + + + if (LuaAPI.xlua_is_eq_str(L, 2, "-")) { + gen_to_be_invoked.OnRewardedVideoAdOpenedDemandOnlyEvent -= gen_delegate; + return 0; + } + + } + } catch(System.Exception gen_e) { + return LuaAPI.luaL_error(L, "c# exception:" + gen_e); + } + LuaAPI.luaL_error(L, "invalid arguments to IronSourceRewardedVideoAndroid.OnRewardedVideoAdOpenedDemandOnlyEvent!"); + return 0; + } + + [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] + static int _e_OnRewardedVideoAdClosedDemandOnlyEvent(RealStatePtr L) + { + try { + ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); + int gen_param_count = LuaAPI.lua_gettop(L); + IronSourceRewardedVideoAndroid gen_to_be_invoked = (IronSourceRewardedVideoAndroid)translator.FastGetCSObj(L, 1); + System.Action gen_delegate = translator.GetDelegate>(L, 3); + if (gen_delegate == null) { + return LuaAPI.luaL_error(L, "#3 need System.Action!"); + } + + if (gen_param_count == 3) + { + + if (LuaAPI.xlua_is_eq_str(L, 2, "+")) { + gen_to_be_invoked.OnRewardedVideoAdClosedDemandOnlyEvent += gen_delegate; + return 0; + } + + + if (LuaAPI.xlua_is_eq_str(L, 2, "-")) { + gen_to_be_invoked.OnRewardedVideoAdClosedDemandOnlyEvent -= gen_delegate; + return 0; + } + + } + } catch(System.Exception gen_e) { + return LuaAPI.luaL_error(L, "c# exception:" + gen_e); + } + LuaAPI.luaL_error(L, "invalid arguments to IronSourceRewardedVideoAndroid.OnRewardedVideoAdClosedDemandOnlyEvent!"); + return 0; + } + + [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] + static int _e_OnRewardedVideoAdLoadedDemandOnlyEvent(RealStatePtr L) + { + try { + ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); + int gen_param_count = LuaAPI.lua_gettop(L); + IronSourceRewardedVideoAndroid gen_to_be_invoked = (IronSourceRewardedVideoAndroid)translator.FastGetCSObj(L, 1); + System.Action gen_delegate = translator.GetDelegate>(L, 3); + if (gen_delegate == null) { + return LuaAPI.luaL_error(L, "#3 need System.Action!"); + } + + if (gen_param_count == 3) + { + + if (LuaAPI.xlua_is_eq_str(L, 2, "+")) { + gen_to_be_invoked.OnRewardedVideoAdLoadedDemandOnlyEvent += gen_delegate; + return 0; + } + + + if (LuaAPI.xlua_is_eq_str(L, 2, "-")) { + gen_to_be_invoked.OnRewardedVideoAdLoadedDemandOnlyEvent -= gen_delegate; + return 0; + } + + } + } catch(System.Exception gen_e) { + return LuaAPI.luaL_error(L, "c# exception:" + gen_e); + } + LuaAPI.luaL_error(L, "invalid arguments to IronSourceRewardedVideoAndroid.OnRewardedVideoAdLoadedDemandOnlyEvent!"); + return 0; + } + + [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] + static int _e_OnRewardedVideoAdRewardedDemandOnlyEvent(RealStatePtr L) + { + try { + ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); + int gen_param_count = LuaAPI.lua_gettop(L); + IronSourceRewardedVideoAndroid gen_to_be_invoked = (IronSourceRewardedVideoAndroid)translator.FastGetCSObj(L, 1); + System.Action gen_delegate = translator.GetDelegate>(L, 3); + if (gen_delegate == null) { + return LuaAPI.luaL_error(L, "#3 need System.Action!"); + } + + if (gen_param_count == 3) + { + + if (LuaAPI.xlua_is_eq_str(L, 2, "+")) { + gen_to_be_invoked.OnRewardedVideoAdRewardedDemandOnlyEvent += gen_delegate; + return 0; + } + + + if (LuaAPI.xlua_is_eq_str(L, 2, "-")) { + gen_to_be_invoked.OnRewardedVideoAdRewardedDemandOnlyEvent -= gen_delegate; + return 0; + } + + } + } catch(System.Exception gen_e) { + return LuaAPI.luaL_error(L, "c# exception:" + gen_e); + } + LuaAPI.luaL_error(L, "invalid arguments to IronSourceRewardedVideoAndroid.OnRewardedVideoAdRewardedDemandOnlyEvent!"); + return 0; + } + + [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] + static int _e_OnRewardedVideoAdShowFailedDemandOnlyEvent(RealStatePtr L) + { + try { + ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); + int gen_param_count = LuaAPI.lua_gettop(L); + IronSourceRewardedVideoAndroid gen_to_be_invoked = (IronSourceRewardedVideoAndroid)translator.FastGetCSObj(L, 1); + System.Action gen_delegate = translator.GetDelegate>(L, 3); + if (gen_delegate == null) { + return LuaAPI.luaL_error(L, "#3 need System.Action!"); + } + + if (gen_param_count == 3) + { + + if (LuaAPI.xlua_is_eq_str(L, 2, "+")) { + gen_to_be_invoked.OnRewardedVideoAdShowFailedDemandOnlyEvent += gen_delegate; + return 0; + } + + + if (LuaAPI.xlua_is_eq_str(L, 2, "-")) { + gen_to_be_invoked.OnRewardedVideoAdShowFailedDemandOnlyEvent -= gen_delegate; + return 0; + } + + } + } catch(System.Exception gen_e) { + return LuaAPI.luaL_error(L, "c# exception:" + gen_e); + } + LuaAPI.luaL_error(L, "invalid arguments to IronSourceRewardedVideoAndroid.OnRewardedVideoAdShowFailedDemandOnlyEvent!"); + return 0; + } + + [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] + static int _e_OnRewardedVideoAdClickedDemandOnlyEvent(RealStatePtr L) + { + try { + ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); + int gen_param_count = LuaAPI.lua_gettop(L); + IronSourceRewardedVideoAndroid gen_to_be_invoked = (IronSourceRewardedVideoAndroid)translator.FastGetCSObj(L, 1); + System.Action gen_delegate = translator.GetDelegate>(L, 3); + if (gen_delegate == null) { + return LuaAPI.luaL_error(L, "#3 need System.Action!"); + } + + if (gen_param_count == 3) + { + + if (LuaAPI.xlua_is_eq_str(L, 2, "+")) { + gen_to_be_invoked.OnRewardedVideoAdClickedDemandOnlyEvent += gen_delegate; + return 0; + } + + + if (LuaAPI.xlua_is_eq_str(L, 2, "-")) { + gen_to_be_invoked.OnRewardedVideoAdClickedDemandOnlyEvent -= gen_delegate; + return 0; + } + + } + } catch(System.Exception gen_e) { + return LuaAPI.luaL_error(L, "c# exception:" + gen_e); + } + LuaAPI.luaL_error(L, "invalid arguments to IronSourceRewardedVideoAndroid.OnRewardedVideoAdClickedDemandOnlyEvent!"); + return 0; + } + + [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] + static int _e_OnRewardedVideoAdLoadFailedDemandOnlyEvent(RealStatePtr L) + { + try { + ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); + int gen_param_count = LuaAPI.lua_gettop(L); + IronSourceRewardedVideoAndroid gen_to_be_invoked = (IronSourceRewardedVideoAndroid)translator.FastGetCSObj(L, 1); + System.Action gen_delegate = translator.GetDelegate>(L, 3); + if (gen_delegate == null) { + return LuaAPI.luaL_error(L, "#3 need System.Action!"); + } + + if (gen_param_count == 3) + { + + if (LuaAPI.xlua_is_eq_str(L, 2, "+")) { + gen_to_be_invoked.OnRewardedVideoAdLoadFailedDemandOnlyEvent += gen_delegate; + return 0; + } + + + if (LuaAPI.xlua_is_eq_str(L, 2, "-")) { + gen_to_be_invoked.OnRewardedVideoAdLoadFailedDemandOnlyEvent -= gen_delegate; + return 0; + } + + } + } catch(System.Exception gen_e) { + return LuaAPI.luaL_error(L, "c# exception:" + gen_e); + } + LuaAPI.luaL_error(L, "invalid arguments to IronSourceRewardedVideoAndroid.OnRewardedVideoAdLoadFailedDemandOnlyEvent!"); + return 0; + } + + + + } +} diff --git a/Assets/XLua/Gen/IronSourceRewardedVideoLevelPlayAndroidWrap.cs b/Assets/XLua/Gen/IronSourceRewardedVideoLevelPlayAndroidWrap.cs new file mode 100644 index 000000000..c51898b15 --- /dev/null +++ b/Assets/XLua/Gen/IronSourceRewardedVideoLevelPlayAndroidWrap.cs @@ -0,0 +1,329 @@ +#if USE_UNI_LUA +using LuaAPI = UniLua.Lua; +using RealStatePtr = UniLua.ILuaState; +using LuaCSFunction = UniLua.CSharpFunctionDelegate; +#else +using LuaAPI = XLua.LuaDLL.Lua; +using RealStatePtr = System.IntPtr; +using LuaCSFunction = XLua.LuaDLL.lua_CSFunction; +#endif + +using XLua; +using System.Collections.Generic; + + +namespace XLua.CSObjectWrap +{ + using Utils = XLua.Utils; + public class IronSourceRewardedVideoLevelPlayAndroidWrap + { + public static void __Register(RealStatePtr L) + { + ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); + System.Type type = typeof(IronSourceRewardedVideoLevelPlayAndroid); + Utils.BeginObjectRegister(type, L, translator, 0, 7, 0, 0); + + + Utils.RegisterFunc(L, Utils.METHOD_IDX, "OnAdShowFailed", _e_OnAdShowFailed); + Utils.RegisterFunc(L, Utils.METHOD_IDX, "OnAdOpened", _e_OnAdOpened); + Utils.RegisterFunc(L, Utils.METHOD_IDX, "OnAdClosed", _e_OnAdClosed); + Utils.RegisterFunc(L, Utils.METHOD_IDX, "OnAdRewarded", _e_OnAdRewarded); + Utils.RegisterFunc(L, Utils.METHOD_IDX, "OnAdClicked", _e_OnAdClicked); + Utils.RegisterFunc(L, Utils.METHOD_IDX, "OnAdAvailable", _e_OnAdAvailable); + Utils.RegisterFunc(L, Utils.METHOD_IDX, "OnAdUnavailable", _e_OnAdUnavailable); + + + + + Utils.EndObjectRegister(type, L, translator, null, null, + null, null, null); + + Utils.BeginClassRegister(type, L, __CreateInstance, 1, 0, 0); + + + + + + + Utils.EndClassRegister(type, L, translator); + } + + [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] + static int __CreateInstance(RealStatePtr L) + { + + try { + ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); + if(LuaAPI.lua_gettop(L) == 1) + { + + var gen_ret = new IronSourceRewardedVideoLevelPlayAndroid(); + translator.Push(L, gen_ret); + + return 1; + } + + } + catch(System.Exception gen_e) { + return LuaAPI.luaL_error(L, "c# exception:" + gen_e); + } + return LuaAPI.luaL_error(L, "invalid arguments to IronSourceRewardedVideoLevelPlayAndroid constructor!"); + + } + + + + + + + + + + + + + + + + [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] + static int _e_OnAdShowFailed(RealStatePtr L) + { + try { + ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); + int gen_param_count = LuaAPI.lua_gettop(L); + IronSourceRewardedVideoLevelPlayAndroid gen_to_be_invoked = (IronSourceRewardedVideoLevelPlayAndroid)translator.FastGetCSObj(L, 1); + System.Action gen_delegate = translator.GetDelegate>(L, 3); + if (gen_delegate == null) { + return LuaAPI.luaL_error(L, "#3 need System.Action!"); + } + + if (gen_param_count == 3) + { + + if (LuaAPI.xlua_is_eq_str(L, 2, "+")) { + gen_to_be_invoked.OnAdShowFailed += gen_delegate; + return 0; + } + + + if (LuaAPI.xlua_is_eq_str(L, 2, "-")) { + gen_to_be_invoked.OnAdShowFailed -= gen_delegate; + return 0; + } + + } + } catch(System.Exception gen_e) { + return LuaAPI.luaL_error(L, "c# exception:" + gen_e); + } + LuaAPI.luaL_error(L, "invalid arguments to IronSourceRewardedVideoLevelPlayAndroid.OnAdShowFailed!"); + return 0; + } + + [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] + static int _e_OnAdOpened(RealStatePtr L) + { + try { + ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); + int gen_param_count = LuaAPI.lua_gettop(L); + IronSourceRewardedVideoLevelPlayAndroid gen_to_be_invoked = (IronSourceRewardedVideoLevelPlayAndroid)translator.FastGetCSObj(L, 1); + System.Action gen_delegate = translator.GetDelegate>(L, 3); + if (gen_delegate == null) { + return LuaAPI.luaL_error(L, "#3 need System.Action!"); + } + + if (gen_param_count == 3) + { + + if (LuaAPI.xlua_is_eq_str(L, 2, "+")) { + gen_to_be_invoked.OnAdOpened += gen_delegate; + return 0; + } + + + if (LuaAPI.xlua_is_eq_str(L, 2, "-")) { + gen_to_be_invoked.OnAdOpened -= gen_delegate; + return 0; + } + + } + } catch(System.Exception gen_e) { + return LuaAPI.luaL_error(L, "c# exception:" + gen_e); + } + LuaAPI.luaL_error(L, "invalid arguments to IronSourceRewardedVideoLevelPlayAndroid.OnAdOpened!"); + return 0; + } + + [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] + static int _e_OnAdClosed(RealStatePtr L) + { + try { + ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); + int gen_param_count = LuaAPI.lua_gettop(L); + IronSourceRewardedVideoLevelPlayAndroid gen_to_be_invoked = (IronSourceRewardedVideoLevelPlayAndroid)translator.FastGetCSObj(L, 1); + System.Action gen_delegate = translator.GetDelegate>(L, 3); + if (gen_delegate == null) { + return LuaAPI.luaL_error(L, "#3 need System.Action!"); + } + + if (gen_param_count == 3) + { + + if (LuaAPI.xlua_is_eq_str(L, 2, "+")) { + gen_to_be_invoked.OnAdClosed += gen_delegate; + return 0; + } + + + if (LuaAPI.xlua_is_eq_str(L, 2, "-")) { + gen_to_be_invoked.OnAdClosed -= gen_delegate; + return 0; + } + + } + } catch(System.Exception gen_e) { + return LuaAPI.luaL_error(L, "c# exception:" + gen_e); + } + LuaAPI.luaL_error(L, "invalid arguments to IronSourceRewardedVideoLevelPlayAndroid.OnAdClosed!"); + return 0; + } + + [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] + static int _e_OnAdRewarded(RealStatePtr L) + { + try { + ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); + int gen_param_count = LuaAPI.lua_gettop(L); + IronSourceRewardedVideoLevelPlayAndroid gen_to_be_invoked = (IronSourceRewardedVideoLevelPlayAndroid)translator.FastGetCSObj(L, 1); + System.Action gen_delegate = translator.GetDelegate>(L, 3); + if (gen_delegate == null) { + return LuaAPI.luaL_error(L, "#3 need System.Action!"); + } + + if (gen_param_count == 3) + { + + if (LuaAPI.xlua_is_eq_str(L, 2, "+")) { + gen_to_be_invoked.OnAdRewarded += gen_delegate; + return 0; + } + + + if (LuaAPI.xlua_is_eq_str(L, 2, "-")) { + gen_to_be_invoked.OnAdRewarded -= gen_delegate; + return 0; + } + + } + } catch(System.Exception gen_e) { + return LuaAPI.luaL_error(L, "c# exception:" + gen_e); + } + LuaAPI.luaL_error(L, "invalid arguments to IronSourceRewardedVideoLevelPlayAndroid.OnAdRewarded!"); + return 0; + } + + [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] + static int _e_OnAdClicked(RealStatePtr L) + { + try { + ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); + int gen_param_count = LuaAPI.lua_gettop(L); + IronSourceRewardedVideoLevelPlayAndroid gen_to_be_invoked = (IronSourceRewardedVideoLevelPlayAndroid)translator.FastGetCSObj(L, 1); + System.Action gen_delegate = translator.GetDelegate>(L, 3); + if (gen_delegate == null) { + return LuaAPI.luaL_error(L, "#3 need System.Action!"); + } + + if (gen_param_count == 3) + { + + if (LuaAPI.xlua_is_eq_str(L, 2, "+")) { + gen_to_be_invoked.OnAdClicked += gen_delegate; + return 0; + } + + + if (LuaAPI.xlua_is_eq_str(L, 2, "-")) { + gen_to_be_invoked.OnAdClicked -= gen_delegate; + return 0; + } + + } + } catch(System.Exception gen_e) { + return LuaAPI.luaL_error(L, "c# exception:" + gen_e); + } + LuaAPI.luaL_error(L, "invalid arguments to IronSourceRewardedVideoLevelPlayAndroid.OnAdClicked!"); + return 0; + } + + [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] + static int _e_OnAdAvailable(RealStatePtr L) + { + try { + ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); + int gen_param_count = LuaAPI.lua_gettop(L); + IronSourceRewardedVideoLevelPlayAndroid gen_to_be_invoked = (IronSourceRewardedVideoLevelPlayAndroid)translator.FastGetCSObj(L, 1); + System.Action gen_delegate = translator.GetDelegate>(L, 3); + if (gen_delegate == null) { + return LuaAPI.luaL_error(L, "#3 need System.Action!"); + } + + if (gen_param_count == 3) + { + + if (LuaAPI.xlua_is_eq_str(L, 2, "+")) { + gen_to_be_invoked.OnAdAvailable += gen_delegate; + return 0; + } + + + if (LuaAPI.xlua_is_eq_str(L, 2, "-")) { + gen_to_be_invoked.OnAdAvailable -= gen_delegate; + return 0; + } + + } + } catch(System.Exception gen_e) { + return LuaAPI.luaL_error(L, "c# exception:" + gen_e); + } + LuaAPI.luaL_error(L, "invalid arguments to IronSourceRewardedVideoLevelPlayAndroid.OnAdAvailable!"); + return 0; + } + + [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] + static int _e_OnAdUnavailable(RealStatePtr L) + { + try { + ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); + int gen_param_count = LuaAPI.lua_gettop(L); + IronSourceRewardedVideoLevelPlayAndroid gen_to_be_invoked = (IronSourceRewardedVideoLevelPlayAndroid)translator.FastGetCSObj(L, 1); + System.Action gen_delegate = translator.GetDelegate(L, 3); + if (gen_delegate == null) { + return LuaAPI.luaL_error(L, "#3 need System.Action!"); + } + + if (gen_param_count == 3) + { + + if (LuaAPI.xlua_is_eq_str(L, 2, "+")) { + gen_to_be_invoked.OnAdUnavailable += gen_delegate; + return 0; + } + + + if (LuaAPI.xlua_is_eq_str(L, 2, "-")) { + gen_to_be_invoked.OnAdUnavailable -= gen_delegate; + return 0; + } + + } + } catch(System.Exception gen_e) { + return LuaAPI.luaL_error(L, "c# exception:" + gen_e); + } + LuaAPI.luaL_error(L, "invalid arguments to IronSourceRewardedVideoLevelPlayAndroid.OnAdUnavailable!"); + return 0; + } + + + + } +} diff --git a/Assets/XLua/Gen/IronSourceRewardedVideoLevelPlayManualAndroidWrap.cs b/Assets/XLua/Gen/IronSourceRewardedVideoLevelPlayManualAndroidWrap.cs new file mode 100644 index 000000000..ae47d2e90 --- /dev/null +++ b/Assets/XLua/Gen/IronSourceRewardedVideoLevelPlayManualAndroidWrap.cs @@ -0,0 +1,154 @@ +#if USE_UNI_LUA +using LuaAPI = UniLua.Lua; +using RealStatePtr = UniLua.ILuaState; +using LuaCSFunction = UniLua.CSharpFunctionDelegate; +#else +using LuaAPI = XLua.LuaDLL.Lua; +using RealStatePtr = System.IntPtr; +using LuaCSFunction = XLua.LuaDLL.lua_CSFunction; +#endif + +using XLua; +using System.Collections.Generic; + + +namespace XLua.CSObjectWrap +{ + using Utils = XLua.Utils; + public class IronSourceRewardedVideoLevelPlayManualAndroidWrap + { + public static void __Register(RealStatePtr L) + { + ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); + System.Type type = typeof(IronSourceRewardedVideoLevelPlayManualAndroid); + Utils.BeginObjectRegister(type, L, translator, 0, 2, 0, 0); + + + Utils.RegisterFunc(L, Utils.METHOD_IDX, "OnAdLoadFailed", _e_OnAdLoadFailed); + Utils.RegisterFunc(L, Utils.METHOD_IDX, "OnAdReady", _e_OnAdReady); + + + + + Utils.EndObjectRegister(type, L, translator, null, null, + null, null, null); + + Utils.BeginClassRegister(type, L, __CreateInstance, 1, 0, 0); + + + + + + + Utils.EndClassRegister(type, L, translator); + } + + [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] + static int __CreateInstance(RealStatePtr L) + { + + try { + ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); + if(LuaAPI.lua_gettop(L) == 1) + { + + var gen_ret = new IronSourceRewardedVideoLevelPlayManualAndroid(); + translator.Push(L, gen_ret); + + return 1; + } + + } + catch(System.Exception gen_e) { + return LuaAPI.luaL_error(L, "c# exception:" + gen_e); + } + return LuaAPI.luaL_error(L, "invalid arguments to IronSourceRewardedVideoLevelPlayManualAndroid constructor!"); + + } + + + + + + + + + + + + + + + + [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] + static int _e_OnAdLoadFailed(RealStatePtr L) + { + try { + ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); + int gen_param_count = LuaAPI.lua_gettop(L); + IronSourceRewardedVideoLevelPlayManualAndroid gen_to_be_invoked = (IronSourceRewardedVideoLevelPlayManualAndroid)translator.FastGetCSObj(L, 1); + System.Action gen_delegate = translator.GetDelegate>(L, 3); + if (gen_delegate == null) { + return LuaAPI.luaL_error(L, "#3 need System.Action!"); + } + + if (gen_param_count == 3) + { + + if (LuaAPI.xlua_is_eq_str(L, 2, "+")) { + gen_to_be_invoked.OnAdLoadFailed += gen_delegate; + return 0; + } + + + if (LuaAPI.xlua_is_eq_str(L, 2, "-")) { + gen_to_be_invoked.OnAdLoadFailed -= gen_delegate; + return 0; + } + + } + } catch(System.Exception gen_e) { + return LuaAPI.luaL_error(L, "c# exception:" + gen_e); + } + LuaAPI.luaL_error(L, "invalid arguments to IronSourceRewardedVideoLevelPlayManualAndroid.OnAdLoadFailed!"); + return 0; + } + + [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] + static int _e_OnAdReady(RealStatePtr L) + { + try { + ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); + int gen_param_count = LuaAPI.lua_gettop(L); + IronSourceRewardedVideoLevelPlayManualAndroid gen_to_be_invoked = (IronSourceRewardedVideoLevelPlayManualAndroid)translator.FastGetCSObj(L, 1); + System.Action gen_delegate = translator.GetDelegate>(L, 3); + if (gen_delegate == null) { + return LuaAPI.luaL_error(L, "#3 need System.Action!"); + } + + if (gen_param_count == 3) + { + + if (LuaAPI.xlua_is_eq_str(L, 2, "+")) { + gen_to_be_invoked.OnAdReady += gen_delegate; + return 0; + } + + + if (LuaAPI.xlua_is_eq_str(L, 2, "-")) { + gen_to_be_invoked.OnAdReady -= gen_delegate; + return 0; + } + + } + } catch(System.Exception gen_e) { + return LuaAPI.luaL_error(L, "c# exception:" + gen_e); + } + LuaAPI.luaL_error(L, "invalid arguments to IronSourceRewardedVideoLevelPlayManualAndroid.OnAdReady!"); + return 0; + } + + + + } +} diff --git a/Assets/XLua/Gen/IronSourceRewardedVideoManualAndroidWrap.cs b/Assets/XLua/Gen/IronSourceRewardedVideoManualAndroidWrap.cs new file mode 100644 index 000000000..5a61a975c --- /dev/null +++ b/Assets/XLua/Gen/IronSourceRewardedVideoManualAndroidWrap.cs @@ -0,0 +1,154 @@ +#if USE_UNI_LUA +using LuaAPI = UniLua.Lua; +using RealStatePtr = UniLua.ILuaState; +using LuaCSFunction = UniLua.CSharpFunctionDelegate; +#else +using LuaAPI = XLua.LuaDLL.Lua; +using RealStatePtr = System.IntPtr; +using LuaCSFunction = XLua.LuaDLL.lua_CSFunction; +#endif + +using XLua; +using System.Collections.Generic; + + +namespace XLua.CSObjectWrap +{ + using Utils = XLua.Utils; + public class IronSourceRewardedVideoManualAndroidWrap + { + public static void __Register(RealStatePtr L) + { + ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); + System.Type type = typeof(IronSourceRewardedVideoManualAndroid); + Utils.BeginObjectRegister(type, L, translator, 0, 2, 0, 0); + + + Utils.RegisterFunc(L, Utils.METHOD_IDX, "OnRewardedVideoAdLoadFailed", _e_OnRewardedVideoAdLoadFailed); + Utils.RegisterFunc(L, Utils.METHOD_IDX, "OnRewardedVideoAdReady", _e_OnRewardedVideoAdReady); + + + + + Utils.EndObjectRegister(type, L, translator, null, null, + null, null, null); + + Utils.BeginClassRegister(type, L, __CreateInstance, 1, 0, 0); + + + + + + + Utils.EndClassRegister(type, L, translator); + } + + [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] + static int __CreateInstance(RealStatePtr L) + { + + try { + ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); + if(LuaAPI.lua_gettop(L) == 1) + { + + var gen_ret = new IronSourceRewardedVideoManualAndroid(); + translator.Push(L, gen_ret); + + return 1; + } + + } + catch(System.Exception gen_e) { + return LuaAPI.luaL_error(L, "c# exception:" + gen_e); + } + return LuaAPI.luaL_error(L, "invalid arguments to IronSourceRewardedVideoManualAndroid constructor!"); + + } + + + + + + + + + + + + + + + + [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] + static int _e_OnRewardedVideoAdLoadFailed(RealStatePtr L) + { + try { + ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); + int gen_param_count = LuaAPI.lua_gettop(L); + IronSourceRewardedVideoManualAndroid gen_to_be_invoked = (IronSourceRewardedVideoManualAndroid)translator.FastGetCSObj(L, 1); + System.Action gen_delegate = translator.GetDelegate>(L, 3); + if (gen_delegate == null) { + return LuaAPI.luaL_error(L, "#3 need System.Action!"); + } + + if (gen_param_count == 3) + { + + if (LuaAPI.xlua_is_eq_str(L, 2, "+")) { + gen_to_be_invoked.OnRewardedVideoAdLoadFailed += gen_delegate; + return 0; + } + + + if (LuaAPI.xlua_is_eq_str(L, 2, "-")) { + gen_to_be_invoked.OnRewardedVideoAdLoadFailed -= gen_delegate; + return 0; + } + + } + } catch(System.Exception gen_e) { + return LuaAPI.luaL_error(L, "c# exception:" + gen_e); + } + LuaAPI.luaL_error(L, "invalid arguments to IronSourceRewardedVideoManualAndroid.OnRewardedVideoAdLoadFailed!"); + return 0; + } + + [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] + static int _e_OnRewardedVideoAdReady(RealStatePtr L) + { + try { + ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); + int gen_param_count = LuaAPI.lua_gettop(L); + IronSourceRewardedVideoManualAndroid gen_to_be_invoked = (IronSourceRewardedVideoManualAndroid)translator.FastGetCSObj(L, 1); + System.Action gen_delegate = translator.GetDelegate(L, 3); + if (gen_delegate == null) { + return LuaAPI.luaL_error(L, "#3 need System.Action!"); + } + + if (gen_param_count == 3) + { + + if (LuaAPI.xlua_is_eq_str(L, 2, "+")) { + gen_to_be_invoked.OnRewardedVideoAdReady += gen_delegate; + return 0; + } + + + if (LuaAPI.xlua_is_eq_str(L, 2, "-")) { + gen_to_be_invoked.OnRewardedVideoAdReady -= gen_delegate; + return 0; + } + + } + } catch(System.Exception gen_e) { + return LuaAPI.luaL_error(L, "c# exception:" + gen_e); + } + LuaAPI.luaL_error(L, "invalid arguments to IronSourceRewardedVideoManualAndroid.OnRewardedVideoAdReady!"); + return 0; + } + + + + } +} diff --git a/Assets/XLua/Gen/IronSourceWrap.cs b/Assets/XLua/Gen/IronSourceWrap.cs index e1f0833d3..7ed9015be 100644 --- a/Assets/XLua/Gen/IronSourceWrap.cs +++ b/Assets/XLua/Gen/IronSourceWrap.cs @@ -21,8 +21,9 @@ namespace XLua.CSObjectWrap { ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); System.Type type = typeof(IronSource); - Utils.BeginObjectRegister(type, L, translator, 0, 38, 0, 0); + Utils.BeginObjectRegister(type, L, translator, 0, 36, 0, 0); + Utils.RegisterFunc(L, Utils.METHOD_IDX, "SetWaterfallConfiguration", _m_SetWaterfallConfiguration); Utils.RegisterFunc(L, Utils.METHOD_IDX, "onApplicationPause", _m_onApplicationPause); Utils.RegisterFunc(L, Utils.METHOD_IDX, "getAdvertiserId", _m_getAdvertiserId); Utils.RegisterFunc(L, Utils.METHOD_IDX, "validateIntegration", _m_validateIntegration); @@ -47,9 +48,6 @@ namespace XLua.CSObjectWrap Utils.RegisterFunc(L, Utils.METHOD_IDX, "showInterstitial", _m_showInterstitial); Utils.RegisterFunc(L, Utils.METHOD_IDX, "isInterstitialReady", _m_isInterstitialReady); Utils.RegisterFunc(L, Utils.METHOD_IDX, "isInterstitialPlacementCapped", _m_isInterstitialPlacementCapped); - Utils.RegisterFunc(L, Utils.METHOD_IDX, "showOfferwall", _m_showOfferwall); - Utils.RegisterFunc(L, Utils.METHOD_IDX, "getOfferwallCredits", _m_getOfferwallCredits); - Utils.RegisterFunc(L, Utils.METHOD_IDX, "isOfferwallAvailable", _m_isOfferwallAvailable); Utils.RegisterFunc(L, Utils.METHOD_IDX, "loadBanner", _m_loadBanner); Utils.RegisterFunc(L, Utils.METHOD_IDX, "destroyBanner", _m_destroyBanner); Utils.RegisterFunc(L, Utils.METHOD_IDX, "displayBanner", _m_displayBanner); @@ -160,6 +158,35 @@ namespace XLua.CSObjectWrap + return 0; + } + + } catch(System.Exception gen_e) { + return LuaAPI.luaL_error(L, "c# exception:" + gen_e); + } + + } + + [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] + static int _m_SetWaterfallConfiguration(RealStatePtr L) + { + try { + + ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); + + + IronSource gen_to_be_invoked = (IronSource)translator.FastGetCSObj(L, 1); + + + + { + WaterfallConfiguration _waterfallConfiguration = (WaterfallConfiguration)translator.GetObject(L, 2, typeof(WaterfallConfiguration)); + AdFormat _adFormat;translator.Get(L, 3, out _adFormat); + + gen_to_be_invoked.SetWaterfallConfiguration( _waterfallConfiguration, _adFormat ); + + + return 0; } @@ -890,102 +917,6 @@ namespace XLua.CSObjectWrap - return 1; - } - - } catch(System.Exception gen_e) { - return LuaAPI.luaL_error(L, "c# exception:" + gen_e); - } - - } - - [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] - static int _m_showOfferwall(RealStatePtr L) - { - try { - - ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); - - - IronSource gen_to_be_invoked = (IronSource)translator.FastGetCSObj(L, 1); - - - int gen_param_count = LuaAPI.lua_gettop(L); - - if(gen_param_count == 1) - { - - gen_to_be_invoked.showOfferwall( ); - - - - return 0; - } - if(gen_param_count == 2&& (LuaAPI.lua_isnil(L, 2) || LuaAPI.lua_type(L, 2) == LuaTypes.LUA_TSTRING)) - { - string _placementName = LuaAPI.lua_tostring(L, 2); - - gen_to_be_invoked.showOfferwall( _placementName ); - - - - return 0; - } - - } catch(System.Exception gen_e) { - return LuaAPI.luaL_error(L, "c# exception:" + gen_e); - } - - return LuaAPI.luaL_error(L, "invalid arguments to IronSource.showOfferwall!"); - - } - - [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] - static int _m_getOfferwallCredits(RealStatePtr L) - { - try { - - ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); - - - IronSource gen_to_be_invoked = (IronSource)translator.FastGetCSObj(L, 1); - - - - { - - gen_to_be_invoked.getOfferwallCredits( ); - - - - return 0; - } - - } catch(System.Exception gen_e) { - return LuaAPI.luaL_error(L, "c# exception:" + gen_e); - } - - } - - [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] - static int _m_isOfferwallAvailable(RealStatePtr L) - { - try { - - ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); - - - IronSource gen_to_be_invoked = (IronSource)translator.FastGetCSObj(L, 1); - - - - { - - var gen_ret = gen_to_be_invoked.isOfferwallAvailable( ); - LuaAPI.lua_pushboolean(L, gen_ret); - - - return 1; } diff --git a/Assets/XLua/Gen/UnsupportedPlatformAgentWrap.cs b/Assets/XLua/Gen/UnsupportedPlatformAgentWrap.cs index 5a72203ef..3bc3225db 100644 --- a/Assets/XLua/Gen/UnsupportedPlatformAgentWrap.cs +++ b/Assets/XLua/Gen/UnsupportedPlatformAgentWrap.cs @@ -21,8 +21,9 @@ namespace XLua.CSObjectWrap { ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); System.Type type = typeof(UnsupportedPlatformAgent); - Utils.BeginObjectRegister(type, L, translator, 0, 46, 0, 0); + Utils.BeginObjectRegister(type, L, translator, 0, 47, 0, 0); + Utils.RegisterFunc(L, Utils.METHOD_IDX, "SetWaterfallConfiguration", _m_SetWaterfallConfiguration); Utils.RegisterFunc(L, Utils.METHOD_IDX, "start", _m_start); Utils.RegisterFunc(L, Utils.METHOD_IDX, "onApplicationPause", _m_onApplicationPause); Utils.RegisterFunc(L, Utils.METHOD_IDX, "getAdvertiserId", _m_getAdvertiserId); @@ -117,6 +118,35 @@ namespace XLua.CSObjectWrap + [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] + static int _m_SetWaterfallConfiguration(RealStatePtr L) + { + try { + + ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); + + + UnsupportedPlatformAgent gen_to_be_invoked = (UnsupportedPlatformAgent)translator.FastGetCSObj(L, 1); + + + + { + WaterfallConfiguration _waterfallConfiguration = (WaterfallConfiguration)translator.GetObject(L, 2, typeof(WaterfallConfiguration)); + AdFormat _adFormat;translator.Get(L, 3, out _adFormat); + + gen_to_be_invoked.SetWaterfallConfiguration( _waterfallConfiguration, _adFormat ); + + + + return 0; + } + + } catch(System.Exception gen_e) { + return LuaAPI.luaL_error(L, "c# exception:" + gen_e); + } + + } + [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] static int _m_start(RealStatePtr L) { diff --git a/Assets/XLua/Gen/WaterfallConfigurationWrap.cs b/Assets/XLua/Gen/WaterfallConfigurationWrap.cs new file mode 100644 index 000000000..d131fdee9 --- /dev/null +++ b/Assets/XLua/Gen/WaterfallConfigurationWrap.cs @@ -0,0 +1,151 @@ +#if USE_UNI_LUA +using LuaAPI = UniLua.Lua; +using RealStatePtr = UniLua.ILuaState; +using LuaCSFunction = UniLua.CSharpFunctionDelegate; +#else +using LuaAPI = XLua.LuaDLL.Lua; +using RealStatePtr = System.IntPtr; +using LuaCSFunction = XLua.LuaDLL.lua_CSFunction; +#endif + +using XLua; +using System.Collections.Generic; + + +namespace XLua.CSObjectWrap +{ + using Utils = XLua.Utils; + public class WaterfallConfigurationWrap + { + public static void __Register(RealStatePtr L) + { + ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); + System.Type type = typeof(WaterfallConfiguration); + Utils.BeginObjectRegister(type, L, translator, 0, 0, 2, 0); + + + + Utils.RegisterFunc(L, Utils.GETTER_IDX, "Ceiling", _g_get_Ceiling); + Utils.RegisterFunc(L, Utils.GETTER_IDX, "Floor", _g_get_Floor); + + + + Utils.EndObjectRegister(type, L, translator, null, null, + null, null, null); + + Utils.BeginClassRegister(type, L, __CreateInstance, 3, 0, 0); + Utils.RegisterFunc(L, Utils.CLS_IDX, "Builder", _m_Builder_xlua_st_); + Utils.RegisterFunc(L, Utils.CLS_IDX, "Empty", _m_Empty_xlua_st_); + + + + + + + Utils.EndClassRegister(type, L, translator); + } + + [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] + static int __CreateInstance(RealStatePtr L) + { + return LuaAPI.luaL_error(L, "WaterfallConfiguration does not have a constructor!"); + } + + + + + + + + + [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] + static int _m_Builder_xlua_st_(RealStatePtr L) + { + try { + + ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); + + + + + { + + var gen_ret = WaterfallConfiguration.Builder( ); + translator.Push(L, gen_ret); + + + + return 1; + } + + } catch(System.Exception gen_e) { + return LuaAPI.luaL_error(L, "c# exception:" + gen_e); + } + + } + + [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] + static int _m_Empty_xlua_st_(RealStatePtr L) + { + try { + + ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); + + + + + { + + var gen_ret = WaterfallConfiguration.Empty( ); + translator.Push(L, gen_ret); + + + + return 1; + } + + } catch(System.Exception gen_e) { + return LuaAPI.luaL_error(L, "c# exception:" + gen_e); + } + + } + + + + + [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] + static int _g_get_Ceiling(RealStatePtr L) + { + try { + ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); + + WaterfallConfiguration gen_to_be_invoked = (WaterfallConfiguration)translator.FastGetCSObj(L, 1); + translator.PushAny(L, gen_to_be_invoked.Ceiling); + } catch(System.Exception gen_e) { + return LuaAPI.luaL_error(L, "c# exception:" + gen_e); + } + return 1; + } + + [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] + static int _g_get_Floor(RealStatePtr L) + { + try { + ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); + + WaterfallConfiguration gen_to_be_invoked = (WaterfallConfiguration)translator.FastGetCSObj(L, 1); + translator.PushAny(L, gen_to_be_invoked.Floor); + } catch(System.Exception gen_e) { + return LuaAPI.luaL_error(L, "c# exception:" + gen_e); + } + return 1; + } + + + + + + + + } +} diff --git a/Assets/XLua/Gen/WaterfallConfiguration_WaterfallConfigurationBuilderWrap.cs b/Assets/XLua/Gen/WaterfallConfiguration_WaterfallConfigurationBuilderWrap.cs new file mode 100644 index 000000000..333a2eab4 --- /dev/null +++ b/Assets/XLua/Gen/WaterfallConfiguration_WaterfallConfigurationBuilderWrap.cs @@ -0,0 +1,156 @@ +#if USE_UNI_LUA +using LuaAPI = UniLua.Lua; +using RealStatePtr = UniLua.ILuaState; +using LuaCSFunction = UniLua.CSharpFunctionDelegate; +#else +using LuaAPI = XLua.LuaDLL.Lua; +using RealStatePtr = System.IntPtr; +using LuaCSFunction = XLua.LuaDLL.lua_CSFunction; +#endif + +using XLua; +using System.Collections.Generic; + + +namespace XLua.CSObjectWrap +{ + using Utils = XLua.Utils; + public class WaterfallConfigurationWaterfallConfigurationBuilderWrap + { + public static void __Register(RealStatePtr L) + { + ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); + System.Type type = typeof(WaterfallConfiguration.WaterfallConfigurationBuilder); + Utils.BeginObjectRegister(type, L, translator, 0, 3, 0, 0); + + Utils.RegisterFunc(L, Utils.METHOD_IDX, "SetCeiling", _m_SetCeiling); + Utils.RegisterFunc(L, Utils.METHOD_IDX, "SetFloor", _m_SetFloor); + Utils.RegisterFunc(L, Utils.METHOD_IDX, "Build", _m_Build); + + + + + + Utils.EndObjectRegister(type, L, translator, null, null, + null, null, null); + + Utils.BeginClassRegister(type, L, __CreateInstance, 1, 0, 0); + + + + + + + Utils.EndClassRegister(type, L, translator); + } + + [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] + static int __CreateInstance(RealStatePtr L) + { + return LuaAPI.luaL_error(L, "WaterfallConfiguration.WaterfallConfigurationBuilder does not have a constructor!"); + } + + + + + + + + + [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] + static int _m_SetCeiling(RealStatePtr L) + { + try { + + ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); + + + WaterfallConfiguration.WaterfallConfigurationBuilder gen_to_be_invoked = (WaterfallConfiguration.WaterfallConfigurationBuilder)translator.FastGetCSObj(L, 1); + + + + { + double _ceiling = LuaAPI.lua_tonumber(L, 2); + + var gen_ret = gen_to_be_invoked.SetCeiling( _ceiling ); + translator.Push(L, gen_ret); + + + + return 1; + } + + } catch(System.Exception gen_e) { + return LuaAPI.luaL_error(L, "c# exception:" + gen_e); + } + + } + + [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] + static int _m_SetFloor(RealStatePtr L) + { + try { + + ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); + + + WaterfallConfiguration.WaterfallConfigurationBuilder gen_to_be_invoked = (WaterfallConfiguration.WaterfallConfigurationBuilder)translator.FastGetCSObj(L, 1); + + + + { + double _floor = LuaAPI.lua_tonumber(L, 2); + + var gen_ret = gen_to_be_invoked.SetFloor( _floor ); + translator.Push(L, gen_ret); + + + + return 1; + } + + } catch(System.Exception gen_e) { + return LuaAPI.luaL_error(L, "c# exception:" + gen_e); + } + + } + + [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] + static int _m_Build(RealStatePtr L) + { + try { + + ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); + + + WaterfallConfiguration.WaterfallConfigurationBuilder gen_to_be_invoked = (WaterfallConfiguration.WaterfallConfigurationBuilder)translator.FastGetCSObj(L, 1); + + + + { + + var gen_ret = gen_to_be_invoked.Build( ); + translator.Push(L, gen_ret); + + + + return 1; + } + + } catch(System.Exception gen_e) { + return LuaAPI.luaL_error(L, "c# exception:" + gen_e); + } + + } + + + + + + + + + + + } +} diff --git a/Assets/XLua/Gen/WrapPusher.cs b/Assets/XLua/Gen/WrapPusher.cs index f1eb10947..632eb2bbf 100644 --- a/Assets/XLua/Gen/WrapPusher.cs +++ b/Assets/XLua/Gen/WrapPusher.cs @@ -34,6 +34,7 @@ namespace XLua translator.RegisterPushAndGetAndUpdate(translator.PushUnityEngineRay, translator.Get, translator.UpdateUnityEngineRay); translator.RegisterPushAndGetAndUpdate(translator.PushUnityEngineBounds, translator.Get, translator.UpdateUnityEngineBounds); translator.RegisterPushAndGetAndUpdate(translator.PushUnityEngineRay2D, translator.Get, translator.UpdateUnityEngineRay2D); + translator.RegisterPushAndGetAndUpdate(translator.PushAdFormat, translator.Get, translator.UpdateAdFormat); translator.RegisterPushAndGetAndUpdate(translator.PushIronSourceBannerPosition, translator.Get, translator.UpdateIronSourceBannerPosition); translator.RegisterPushAndGetAndUpdate(translator.PushISAdQualityDeviceIdType, translator.Get, translator.UpdateISAdQualityDeviceIdType); translator.RegisterPushAndGetAndUpdate(translator.PushISAdQualityAdType, translator.Get, translator.UpdateISAdQualityAdType); @@ -653,6 +654,90 @@ namespace XLua } } + int AdFormat_TypeID = -1; + int AdFormat_EnumRef = -1; + + public void PushAdFormat(RealStatePtr L, AdFormat val) + { + if (AdFormat_TypeID == -1) + { + bool is_first; + AdFormat_TypeID = getTypeId(L, typeof(AdFormat), out is_first); + + if (AdFormat_EnumRef == -1) + { + Utils.LoadCSTable(L, typeof(AdFormat)); + AdFormat_EnumRef = LuaAPI.luaL_ref(L, LuaIndexes.LUA_REGISTRYINDEX); + } + + } + + if (LuaAPI.xlua_tryget_cachedud(L, (int)val, AdFormat_EnumRef) == 1) + { + return; + } + + IntPtr buff = LuaAPI.xlua_pushstruct(L, 4, AdFormat_TypeID); + if (!CopyByValue.Pack(buff, 0, (int)val)) + { + throw new Exception("pack fail fail for AdFormat ,value="+val); + } + + LuaAPI.lua_getref(L, AdFormat_EnumRef); + LuaAPI.lua_pushvalue(L, -2); + LuaAPI.xlua_rawseti(L, -2, (int)val); + LuaAPI.lua_pop(L, 1); + + } + + public void Get(RealStatePtr L, int index, out AdFormat val) + { + LuaTypes type = LuaAPI.lua_type(L, index); + if (type == LuaTypes.LUA_TUSERDATA ) + { + if (LuaAPI.xlua_gettypeid(L, index) != AdFormat_TypeID) + { + throw new Exception("invalid userdata for AdFormat"); + } + + IntPtr buff = LuaAPI.lua_touserdata(L, index); + int e; + if (!CopyByValue.UnPack(buff, 0, out e)) + { + throw new Exception("unpack fail for AdFormat"); + } + val = (AdFormat)e; + + } + else + { + val = (AdFormat)objectCasters.GetCaster(typeof(AdFormat))(L, index, null); + } + } + + public void UpdateAdFormat(RealStatePtr L, int index, AdFormat val) + { + + if (LuaAPI.lua_type(L, index) == LuaTypes.LUA_TUSERDATA) + { + if (LuaAPI.xlua_gettypeid(L, index) != AdFormat_TypeID) + { + throw new Exception("invalid userdata for AdFormat"); + } + + IntPtr buff = LuaAPI.lua_touserdata(L, index); + if (!CopyByValue.Pack(buff, 0, (int)val)) + { + throw new Exception("pack fail for AdFormat ,value="+val); + } + } + + else + { + throw new Exception("try to update a data with lua type:" + LuaAPI.lua_type(L, index)); + } + } + int IronSourceBannerPosition_TypeID = -1; int IronSourceBannerPosition_EnumRef = -1; @@ -7684,6 +7769,12 @@ namespace XLua translator.PushUnityEngineRay2D(L, array[index]); return true; } + else if (type == typeof(AdFormat[])) + { + AdFormat[] array = obj as AdFormat[]; + translator.PushAdFormat(L, array[index]); + return true; + } else if (type == typeof(IronSourceBannerPosition[])) { IronSourceBannerPosition[] array = obj as IronSourceBannerPosition[]; @@ -8236,6 +8327,12 @@ namespace XLua translator.Get(L, obj_idx, out array[array_idx]); return true; } + else if (type == typeof(AdFormat[])) + { + AdFormat[] array = obj as AdFormat[]; + translator.Get(L, obj_idx, out array[array_idx]); + return true; + } else if (type == typeof(IronSourceBannerPosition[])) { IronSourceBannerPosition[] array = obj as IronSourceBannerPosition[]; diff --git a/Assets/XLua/Gen/XLuaGenAutoRegister.cs b/Assets/XLua/Gen/XLuaGenAutoRegister.cs index 8d679c270..5dae1873b 100644 --- a/Assets/XLua/Gen/XLuaGenAutoRegister.cs +++ b/Assets/XLua/Gen/XLuaGenAutoRegister.cs @@ -2325,6 +2325,12 @@ namespace XLua.CSObjectWrap translator.DelayWrapLoader(typeof(IronSourceDemoScript), IronSourceDemoScriptWrap.__Register); + translator.DelayWrapLoader(typeof(AdFormat), AdFormatWrap.__Register); + + + translator.DelayWrapLoader(typeof(AndroidAgent), AndroidAgentWrap.__Register); + + translator.DelayWrapLoader(typeof(IUnityBanner), IUnityBannerWrap.__Register); @@ -2366,17 +2372,23 @@ namespace XLua.CSObjectWrap translator.DelayWrapLoader(typeof(IronSourceAdInfo), IronSourceAdInfoWrap.__Register); - - translator.DelayWrapLoader(typeof(IronSourceBannerEvents), IronSourceBannerEventsWrap.__Register); - - - translator.DelayWrapLoader(typeof(IronSourceConfig), IronSourceConfigWrap.__Register); - } static void wrapInit15(LuaEnv luaenv, ObjectTranslator translator) { + translator.DelayWrapLoader(typeof(IronSourceBannerAndroid), IronSourceBannerAndroidWrap.__Register); + + + translator.DelayWrapLoader(typeof(IronSourceBannerEvents), IronSourceBannerEventsWrap.__Register); + + + translator.DelayWrapLoader(typeof(IronSourceBannerLevelPlayAndroid), IronSourceBannerLevelPlayAndroidWrap.__Register); + + + translator.DelayWrapLoader(typeof(IronSourceConfig), IronSourceConfigWrap.__Register); + + translator.DelayWrapLoader(typeof(IronSourceConstants), IronSourceConstantsWrap.__Register); @@ -2407,21 +2419,48 @@ namespace XLua.CSObjectWrap translator.DelayWrapLoader(typeof(IronSourceImpressionData), IronSourceImpressionDataWrap.__Register); + translator.DelayWrapLoader(typeof(IronSourceImpressionDataAndroid), IronSourceImpressionDataAndroidWrap.__Register); + + + translator.DelayWrapLoader(typeof(IronSourceInitializationAndroid), IronSourceInitializationAndroidWrap.__Register); + + translator.DelayWrapLoader(typeof(IronSourceInitilizer), IronSourceInitilizerWrap.__Register); + translator.DelayWrapLoader(typeof(IronSourceInterstitialAndroid), IronSourceInterstitialAndroidWrap.__Register); + + translator.DelayWrapLoader(typeof(IronSourceInterstitialEvents), IronSourceInterstitialEventsWrap.__Register); + translator.DelayWrapLoader(typeof(IronSourceInterstitialLevelPlayAndroid), IronSourceInterstitialLevelPlayAndroidWrap.__Register); + + translator.DelayWrapLoader(typeof(IronSourceMediationSettings), IronSourceMediationSettingsWrap.__Register); + translator.DelayWrapLoader(typeof(IronSourceOfferwallAndroid), IronSourceOfferwallAndroidWrap.__Register); + + translator.DelayWrapLoader(typeof(IronSourcePlacement), IronSourcePlacementWrap.__Register); + translator.DelayWrapLoader(typeof(IronSourceRewardedVideoAndroid), IronSourceRewardedVideoAndroidWrap.__Register); + + translator.DelayWrapLoader(typeof(IronSourceRewardedVideoEvents), IronSourceRewardedVideoEventsWrap.__Register); + translator.DelayWrapLoader(typeof(IronSourceRewardedVideoLevelPlayAndroid), IronSourceRewardedVideoLevelPlayAndroidWrap.__Register); + + + translator.DelayWrapLoader(typeof(IronSourceRewardedVideoLevelPlayManualAndroid), IronSourceRewardedVideoLevelPlayManualAndroidWrap.__Register); + + + translator.DelayWrapLoader(typeof(IronSourceRewardedVideoManualAndroid), IronSourceRewardedVideoManualAndroidWrap.__Register); + + translator.DelayWrapLoader(typeof(IronSourceSegment), IronSourceSegmentWrap.__Register); @@ -2434,12 +2473,18 @@ namespace XLua.CSObjectWrap translator.DelayWrapLoader(typeof(UnsupportedPlatformAgent), UnsupportedPlatformAgentWrap.__Register); + translator.DelayWrapLoader(typeof(WaterfallConfiguration), WaterfallConfigurationWrap.__Register); + + translator.DelayWrapLoader(typeof(ISAdQualityDeviceIdType), ISAdQualityDeviceIdTypeWrap.__Register); translator.DelayWrapLoader(typeof(ISAdQualityAdType), ISAdQualityAdTypeWrap.__Register); + translator.DelayWrapLoader(typeof(ISAdQualityAndroidInitHandler), ISAdQualityAndroidInitHandlerWrap.__Register); + + translator.DelayWrapLoader(typeof(ISAdQualityConfig), ISAdQualityConfigWrap.__Register); @@ -2484,6 +2529,10 @@ namespace XLua.CSObjectWrap translator.DelayWrapLoader(typeof(BaseBehaviour), BaseBehaviourWrap.__Register); + } + + static void wrapInit16(LuaEnv luaenv, ObjectTranslator translator) + { translator.DelayWrapLoader(typeof(CodeGeneratedSingleton), CodeGeneratedSingletonWrap.__Register); @@ -2529,10 +2578,6 @@ namespace XLua.CSObjectWrap translator.DelayWrapLoader(typeof(ThinkingAnalytics.Wrapper.ThinkingAnalyticsWrapper), ThinkingAnalyticsWrapperThinkingAnalyticsWrapperWrap.__Register); - } - - static void wrapInit16(LuaEnv luaenv, ObjectTranslator translator) - { translator.DelayWrapLoader(typeof(ThinkingAnalytics.Utils.TD_Log), ThinkingAnalyticsUtilsTD_LogWrap.__Register); @@ -2641,6 +2686,10 @@ namespace XLua.CSObjectWrap translator.DelayWrapLoader(typeof(Facebook.MiniJSON.MiniJsonUtil), FacebookMiniJSONMiniJsonUtilWrap.__Register); + } + + static void wrapInit17(LuaEnv luaenv, ObjectTranslator translator) + { translator.DelayWrapLoader(typeof(BF.NativeCore.ThirdPlatform.AppsFlyerSdk), BFNativeCoreThirdPlatformAppsFlyerSdkWrap.__Register); @@ -2660,6 +2709,9 @@ namespace XLua.CSObjectWrap translator.DelayWrapLoader(typeof(UIImageSheetAnimation.StartFrameType), UIImageSheetAnimationStartFrameTypeWrap.__Register); + translator.DelayWrapLoader(typeof(WaterfallConfiguration.WaterfallConfigurationBuilder), WaterfallConfigurationWaterfallConfigurationBuilderWrap.__Register); + + translator.DelayWrapLoader(typeof(ThinkingAnalytics.ThinkingAnalyticsAPI.Token), ThinkingAnalyticsThinkingAnalyticsAPITokenWrap.__Register); @@ -2686,10 +2738,6 @@ namespace XLua.CSObjectWrap translator.DelayWrapLoader(typeof(System.IO.File), SystemIOFileWrap.__Register); - } - - static void wrapInit17(LuaEnv luaenv, ObjectTranslator translator) - { translator.DelayWrapLoader(typeof(System.DBNull), SystemDBNullWrap.__Register); @@ -2795,6 +2843,10 @@ namespace XLua.CSObjectWrap translator.DelayWrapLoader(typeof(UnityEngine.Playables.PlayableAsset), UnityEnginePlayablesPlayableAssetWrap.__Register); + } + + static void wrapInit18(LuaEnv luaenv, ObjectTranslator translator) + { translator.DelayWrapLoader(typeof(UnityEngine.Playables.Playable), UnityEnginePlayablesPlayableWrap.__Register); @@ -2843,10 +2895,6 @@ namespace XLua.CSObjectWrap translator.DelayWrapLoader(typeof(UnityEngine.Camera.MonoOrStereoscopicEye), UnityEngineCameraMonoOrStereoscopicEyeWrap.__Register); - } - - static void wrapInit18(LuaEnv luaenv, ObjectTranslator translator) - { translator.DelayWrapLoader(typeof(UnityEngine.Texture2D.EXRFlags), UnityEngineTexture2DEXRFlagsWrap.__Register); @@ -2952,6 +3000,10 @@ namespace XLua.CSObjectWrap translator.DelayWrapLoader(typeof(Spine.AnimationState), SpineAnimationStateWrap.__Register); + } + + static void wrapInit19(LuaEnv luaenv, ObjectTranslator translator) + { translator.DelayWrapLoader(typeof(Spine.AnimationStateData), SpineAnimationStateDataWrap.__Register); @@ -3000,10 +3052,6 @@ namespace XLua.CSObjectWrap translator.DelayWrapLoader(typeof(TMPro.TMP_InputField.ContentType), TMProTMP_InputFieldContentTypeWrap.__Register); - } - - static void wrapInit19(LuaEnv luaenv, ObjectTranslator translator) - { translator.DelayWrapLoader(typeof(TMPro.TMP_InputField.InputType), TMProTMP_InputFieldInputTypeWrap.__Register); @@ -3109,6 +3157,10 @@ namespace XLua.CSObjectWrap translator.DelayWrapLoader(typeof(BF.ScrollRectBaseOld.ScrollbarVisibility), BFScrollRectBaseOldScrollbarVisibilityWrap.__Register); + } + + static void wrapInit20(LuaEnv luaenv, ObjectTranslator translator) + { translator.DelayWrapLoader(typeof(BF.NetServiceType), BFNetServiceTypeWrap.__Register); @@ -3168,6 +3220,8 @@ namespace XLua.CSObjectWrap wrapInit19(luaenv, translator); + wrapInit20(luaenv, translator); + } diff --git a/Assets/XLua/Gen/com_adjust_sdk_AdjustUtilsWrap.cs b/Assets/XLua/Gen/com_adjust_sdk_AdjustUtilsWrap.cs index 0a27ea9b0..092500ebe 100644 --- a/Assets/XLua/Gen/com_adjust_sdk_AdjustUtilsWrap.cs +++ b/Assets/XLua/Gen/com_adjust_sdk_AdjustUtilsWrap.cs @@ -31,7 +31,7 @@ namespace XLua.CSObjectWrap Utils.EndObjectRegister(type, L, translator, null, null, null, null, null); - Utils.BeginClassRegister(type, L, __CreateInstance, 14, 37, 37); + Utils.BeginClassRegister(type, L, __CreateInstance, 15, 37, 37); Utils.RegisterFunc(L, Utils.CLS_IDX, "ConvertLogLevel", _m_ConvertLogLevel_xlua_st_); Utils.RegisterFunc(L, Utils.CLS_IDX, "ConvertBool", _m_ConvertBool_xlua_st_); Utils.RegisterFunc(L, Utils.CLS_IDX, "ConvertDouble", _m_ConvertDouble_xlua_st_); @@ -45,6 +45,7 @@ namespace XLua.CSObjectWrap Utils.RegisterFunc(L, Utils.CLS_IDX, "GetSkad4ConversionValue", _m_GetSkad4ConversionValue_xlua_st_); Utils.RegisterFunc(L, Utils.CLS_IDX, "GetSkad4CoarseValue", _m_GetSkad4CoarseValue_xlua_st_); Utils.RegisterFunc(L, Utils.CLS_IDX, "GetSkad4LockWindow", _m_GetSkad4LockWindow_xlua_st_); + Utils.RegisterFunc(L, Utils.CLS_IDX, "TestOptionsMap2AndroidJavaObject", _m_TestOptionsMap2AndroidJavaObject_xlua_st_); @@ -505,6 +506,34 @@ namespace XLua.CSObjectWrap } + [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] + static int _m_TestOptionsMap2AndroidJavaObject_xlua_st_(RealStatePtr L) + { + try { + + ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); + + + + + { + System.Collections.Generic.Dictionary _testOptionsMap = (System.Collections.Generic.Dictionary)translator.GetObject(L, 1, typeof(System.Collections.Generic.Dictionary)); + UnityEngine.AndroidJavaObject _ajoCurrentActivity = (UnityEngine.AndroidJavaObject)translator.GetObject(L, 2, typeof(UnityEngine.AndroidJavaObject)); + + var gen_ret = com.adjust.sdk.AdjustUtils.TestOptionsMap2AndroidJavaObject( _testOptionsMap, _ajoCurrentActivity ); + translator.Push(L, gen_ret); + + + + return 1; + } + + } catch(System.Exception gen_e) { + return LuaAPI.luaL_error(L, "c# exception:" + gen_e); + } + + } + diff --git a/Assets/XLua/Gen/link.xml b/Assets/XLua/Gen/link.xml index c1009eca5..0956b0e53 100644 --- a/Assets/XLua/Gen/link.xml +++ b/Assets/XLua/Gen/link.xml @@ -219,6 +219,8 @@ + + @@ -233,7 +235,9 @@ + + @@ -245,17 +249,28 @@ + + + + + + + + + + + @@ -328,6 +343,7 @@ + diff --git a/BFVersions/android/dz_google_apk/gradle.properties b/BFVersions/android/dz_google_apk/gradle.properties index 58e8481f1..8758bfa65 100644 --- a/BFVersions/android/dz_google_apk/gradle.properties +++ b/BFVersions/android/dz_google_apk/gradle.properties @@ -3,4 +3,4 @@ org.gradle.parallel=true android.enableR8=false android.useAndroidX=true android.enableJetifier=true -unityStreamingAssets=.unity3d, .bytes, .ab \ No newline at end of file +unityStreamingAssets=.unity3d, .bytes, .ab, UnityServicesProjectConfiguration.json \ No newline at end of file diff --git a/BFVersions/android/dz_google_apk/unityLibrary/IronSource.androidlib/AndroidManifest.xml b/BFVersions/android/dz_google_apk/unityLibrary/IronSource.androidlib/AndroidManifest.xml new file mode 100644 index 000000000..6ad08dd83 --- /dev/null +++ b/BFVersions/android/dz_google_apk/unityLibrary/IronSource.androidlib/AndroidManifest.xml @@ -0,0 +1,12 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/BFVersions/android/dz_google_apk/unityLibrary/IronSource.androidlib/build.gradle b/BFVersions/android/dz_google_apk/unityLibrary/IronSource.androidlib/build.gradle new file mode 100644 index 000000000..76402b1a2 --- /dev/null +++ b/BFVersions/android/dz_google_apk/unityLibrary/IronSource.androidlib/build.gradle @@ -0,0 +1,28 @@ +apply plugin: 'android-library' + +dependencies { + implementation fileTree(dir: 'bin', include: ['*.jar']) + implementation fileTree(dir: 'libs', include: ['*.jar']) +} + +android { + sourceSets { + main { + manifest.srcFile 'AndroidManifest.xml' + //java.srcDirs = ['src'] + res.srcDirs = ['res'] + assets.srcDirs = ['assets'] + jniLibs.srcDirs = ['libs'] + } + } + + compileSdkVersion 33 + buildToolsVersion '30.0.2' + defaultConfig { + targetSdkVersion 33 + } + + lintOptions { + abortOnError false + } +} diff --git a/BFVersions/android/dz_google_apk/unityLibrary/IronSource.androidlib/libs/IronSource-bridge.jar b/BFVersions/android/dz_google_apk/unityLibrary/IronSource.androidlib/libs/IronSource-bridge.jar new file mode 100644 index 0000000000000000000000000000000000000000..44dcadb64492dda1e3be8e0ff252f35c1b13d908 GIT binary patch literal 86692 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.android.support:cardview-v7:25.3.1 com.android.support:customtabs:25.3.1 com.android.support:support-v4:25.3.1 - com.applovin:applovin-sdk:11.7.1 + com.applovin:applovin-sdk:11.10.1 + com.applovin:applovin-sdk:11.4.4 com.appsflyer:adrevenue:6.5.4 com.appsflyer:af-android-sdk:6.4.1 com.appsflyer:unity-adrevenue-generic-wrapper:6.5.4 com.appsflyer:unity-wrapper:6.4.1 - com.chartboost:chartboost-sdk:9.2.0 - com.facebook.android:audience-network-sdk:6.12.0 + com.chartboost:chartboost-sdk:9.3.1 + com.facebook.android:audience-network-sdk:6.15.0 com.facebook.android:facebook-applinks:[15.1,16) com.facebook.android:facebook-core:[15.1,16) com.facebook.android:facebook-gamingservices:[15.1,16) com.facebook.android:facebook-login:[15.1,16) com.facebook.android:facebook-share:[15.1,16) - com.fyber:marketplace-sdk:8.2.2 - com.google.android.gms:play-services-ads:21.5.0 + com.fyber:marketplace-sdk:8.2.3 + com.google.android.gms:play-services-ads:22.2.0 com.google.android.gms:play-services-ads-identifier:18.0.1 com.google.android.gms:play-services-basement:18.1.0 com.ironsource.adapters:adcolonyadapter:4.3.14 - com.ironsource.adapters:admobadapter:4.3.35 - com.ironsource.adapters:applovinadapter:4.3.37 - com.ironsource.adapters:chartboostadapter:4.3.11 - com.ironsource.adapters:facebookadapter:4.3.39 - com.ironsource.adapters:fyberadapter:4.3.24 - com.ironsource.adapters:mintegraladapter:4.3.16 - com.ironsource.adapters:pangleadapter:4.3.17 - com.ironsource.adapters:tapjoyadapter:4.1.24 - com.ironsource.adapters:unityadsadapter:4.3.27 - com.ironsource.adapters:vungleadapter:4.3.20 - com.ironsource.sdk:mediationsdk:7.3.0.1 + com.ironsource.adapters:admobadapter:4.3.39 + com.ironsource.adapters:applovinadapter:4.3.39 + com.ironsource.adapters:chartboostadapter:4.3.12 + com.ironsource.adapters:facebookadapter:4.3.44 + com.ironsource.adapters:fyberadapter:4.3.26 + com.ironsource.adapters:mintegraladapter:4.3.17 + com.ironsource.adapters:pangleadapter:4.3.20 + com.ironsource.adapters:tapjoyadapter:4.1.25 + com.ironsource.adapters:unityadsadapter:4.3.31 + com.ironsource.adapters:vungleadapter:4.3.21 + com.ironsource.sdk:mediationsdk:7.3.1.1 com.ironsource.unity:adqualitysdk:7.13.0 com.ironsource:adqualitysdk:7.13.0 - com.mbridge.msdk.oversea:mbbanner:16.4.41 - com.mbridge.msdk.oversea:mbbid:16.4.41 - com.mbridge.msdk.oversea:newinterstitial:16.4.41 - com.mbridge.msdk.oversea:reward:16.4.41 - com.pangle.global:ads-sdk:5.0.0.8 + com.mbridge.msdk.oversea:mbbanner:16.4.61 + com.mbridge.msdk.oversea:mbbid:16.4.61 + com.mbridge.msdk.oversea:newinterstitial:16.4.61 + com.mbridge.msdk.oversea:reward:16.4.61 + com.pangle.global:ads-sdk:5.2.0.6 com.parse.bolts:bolts-android:1.4.0 - com.tapjoy:tapjoy-android-sdk:12.11.1 - com.unity3d.ads:unity-ads:4.6.1 + com.tapjoy:tapjoy-android-sdk:13.0.1 + com.unity3d.ads:unity-ads:4.8.0 com.vungle:publisher-sdk-android:6.12.1 - - + + From ed5e2f1dc7e4c8a519409c760bcef025a0c45748 Mon Sep 17 00:00:00 2001 From: xiekaidong Date: Mon, 28 Aug 2023 15:07:57 +0800 Subject: [PATCH 2/7] xlua --- Assets/XLua/Gen/AndroidAgentWrap.cs | 1536 ----------------- Assets/XLua/Gen/DelegatesGensBridge.cs | 192 +-- .../Gen/ISAdQualityAndroidInitHandlerWrap.cs | 212 --- .../XLua/Gen/IronSourceBannerAndroidWrap.cs | 294 ---- Assets/XLua/Gen/IronSourceBannerEventsWrap.cs | 148 +- .../IronSourceBannerLevelPlayAndroidWrap.cs | 294 ---- Assets/XLua/Gen/IronSourceEventsWrap.cs | 60 +- .../IronSourceImpressionDataAndroidWrap.cs | 212 --- .../IronSourceInitializationAndroidWrap.cs | 119 -- .../Gen/IronSourceInterstitialAndroidWrap.cs | 574 ------ ...nSourceInterstitialLevelPlayAndroidWrap.cs | 329 ---- .../Gen/IronSourceOfferwallAndroidWrap.cs | 466 ----- .../Gen/IronSourceRewardedVideoAndroidWrap.cs | 609 ------- ...SourceRewardedVideoLevelPlayAndroidWrap.cs | 329 ---- ...RewardedVideoLevelPlayManualAndroidWrap.cs | 154 -- ...ronSourceRewardedVideoManualAndroidWrap.cs | 154 -- Assets/XLua/Gen/XLuaGenAutoRegister.cs | 83 +- .../Gen/com_adjust_sdk_AdjustUtilsWrap.cs | 31 +- Assets/XLua/Gen/link.xml | 13 - 19 files changed, 206 insertions(+), 5603 deletions(-) delete mode 100644 Assets/XLua/Gen/AndroidAgentWrap.cs delete mode 100644 Assets/XLua/Gen/ISAdQualityAndroidInitHandlerWrap.cs delete mode 100644 Assets/XLua/Gen/IronSourceBannerAndroidWrap.cs delete mode 100644 Assets/XLua/Gen/IronSourceBannerLevelPlayAndroidWrap.cs delete mode 100644 Assets/XLua/Gen/IronSourceImpressionDataAndroidWrap.cs delete mode 100644 Assets/XLua/Gen/IronSourceInitializationAndroidWrap.cs delete mode 100644 Assets/XLua/Gen/IronSourceInterstitialAndroidWrap.cs delete mode 100644 Assets/XLua/Gen/IronSourceInterstitialLevelPlayAndroidWrap.cs delete mode 100644 Assets/XLua/Gen/IronSourceOfferwallAndroidWrap.cs delete mode 100644 Assets/XLua/Gen/IronSourceRewardedVideoAndroidWrap.cs delete mode 100644 Assets/XLua/Gen/IronSourceRewardedVideoLevelPlayAndroidWrap.cs delete mode 100644 Assets/XLua/Gen/IronSourceRewardedVideoLevelPlayManualAndroidWrap.cs delete mode 100644 Assets/XLua/Gen/IronSourceRewardedVideoManualAndroidWrap.cs diff --git a/Assets/XLua/Gen/AndroidAgentWrap.cs b/Assets/XLua/Gen/AndroidAgentWrap.cs deleted file mode 100644 index 0ef548ce7..000000000 --- a/Assets/XLua/Gen/AndroidAgentWrap.cs +++ /dev/null @@ -1,1536 +0,0 @@ -#if USE_UNI_LUA -using LuaAPI = UniLua.Lua; -using RealStatePtr = UniLua.ILuaState; -using LuaCSFunction = UniLua.CSharpFunctionDelegate; -#else -using LuaAPI = XLua.LuaDLL.Lua; -using RealStatePtr = System.IntPtr; -using LuaCSFunction = XLua.LuaDLL.lua_CSFunction; -#endif - -using XLua; -using System.Collections.Generic; - - -namespace XLua.CSObjectWrap -{ - using Utils = XLua.Utils; - public class AndroidAgentWrap - { - public static void __Register(RealStatePtr L) - { - ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); - System.Type type = typeof(AndroidAgent); - Utils.BeginObjectRegister(type, L, translator, 0, 47, 0, 0); - - Utils.RegisterFunc(L, Utils.METHOD_IDX, "getBridge", _m_getBridge); - Utils.RegisterFunc(L, Utils.METHOD_IDX, "SetWaterfallConfiguration", _m_SetWaterfallConfiguration); - Utils.RegisterFunc(L, Utils.METHOD_IDX, "onApplicationPause", _m_onApplicationPause); - Utils.RegisterFunc(L, Utils.METHOD_IDX, "getAdvertiserId", _m_getAdvertiserId); - Utils.RegisterFunc(L, Utils.METHOD_IDX, "validateIntegration", _m_validateIntegration); - Utils.RegisterFunc(L, Utils.METHOD_IDX, "shouldTrackNetworkState", _m_shouldTrackNetworkState); - Utils.RegisterFunc(L, Utils.METHOD_IDX, "setDynamicUserId", _m_setDynamicUserId); - Utils.RegisterFunc(L, Utils.METHOD_IDX, "setAdaptersDebug", _m_setAdaptersDebug); - Utils.RegisterFunc(L, Utils.METHOD_IDX, "setMetaData", _m_setMetaData); - Utils.RegisterFunc(L, Utils.METHOD_IDX, "getConversionValue", _m_getConversionValue); - Utils.RegisterFunc(L, Utils.METHOD_IDX, "setManualLoadRewardedVideo", _m_setManualLoadRewardedVideo); - Utils.RegisterFunc(L, Utils.METHOD_IDX, "setNetworkData", _m_setNetworkData); - Utils.RegisterFunc(L, Utils.METHOD_IDX, "SetPauseGame", _m_SetPauseGame); - Utils.RegisterFunc(L, Utils.METHOD_IDX, "setUserId", _m_setUserId); - Utils.RegisterFunc(L, Utils.METHOD_IDX, "init", _m_init); - Utils.RegisterFunc(L, Utils.METHOD_IDX, "initISDemandOnly", _m_initISDemandOnly); - Utils.RegisterFunc(L, Utils.METHOD_IDX, "loadRewardedVideo", _m_loadRewardedVideo); - Utils.RegisterFunc(L, Utils.METHOD_IDX, "showRewardedVideo", _m_showRewardedVideo); - Utils.RegisterFunc(L, Utils.METHOD_IDX, "isRewardedVideoAvailable", _m_isRewardedVideoAvailable); - Utils.RegisterFunc(L, Utils.METHOD_IDX, "isRewardedVideoPlacementCapped", _m_isRewardedVideoPlacementCapped); - Utils.RegisterFunc(L, Utils.METHOD_IDX, "getPlacementInfo", _m_getPlacementInfo); - Utils.RegisterFunc(L, Utils.METHOD_IDX, "setRewardedVideoServerParams", _m_setRewardedVideoServerParams); - Utils.RegisterFunc(L, Utils.METHOD_IDX, "clearRewardedVideoServerParams", _m_clearRewardedVideoServerParams); - Utils.RegisterFunc(L, Utils.METHOD_IDX, "showISDemandOnlyRewardedVideo", _m_showISDemandOnlyRewardedVideo); - Utils.RegisterFunc(L, Utils.METHOD_IDX, "loadISDemandOnlyRewardedVideo", _m_loadISDemandOnlyRewardedVideo); - Utils.RegisterFunc(L, Utils.METHOD_IDX, "isISDemandOnlyRewardedVideoAvailable", _m_isISDemandOnlyRewardedVideoAvailable); - Utils.RegisterFunc(L, Utils.METHOD_IDX, "loadInterstitial", _m_loadInterstitial); - Utils.RegisterFunc(L, Utils.METHOD_IDX, "showInterstitial", _m_showInterstitial); - Utils.RegisterFunc(L, Utils.METHOD_IDX, "isInterstitialReady", _m_isInterstitialReady); - Utils.RegisterFunc(L, Utils.METHOD_IDX, "isInterstitialPlacementCapped", _m_isInterstitialPlacementCapped); - Utils.RegisterFunc(L, Utils.METHOD_IDX, "loadISDemandOnlyInterstitial", _m_loadISDemandOnlyInterstitial); - Utils.RegisterFunc(L, Utils.METHOD_IDX, "showISDemandOnlyInterstitial", _m_showISDemandOnlyInterstitial); - Utils.RegisterFunc(L, Utils.METHOD_IDX, "isISDemandOnlyInterstitialReady", _m_isISDemandOnlyInterstitialReady); - Utils.RegisterFunc(L, Utils.METHOD_IDX, "showOfferwall", _m_showOfferwall); - Utils.RegisterFunc(L, Utils.METHOD_IDX, "getOfferwallCredits", _m_getOfferwallCredits); - Utils.RegisterFunc(L, Utils.METHOD_IDX, "isOfferwallAvailable", _m_isOfferwallAvailable); - Utils.RegisterFunc(L, Utils.METHOD_IDX, "loadBanner", _m_loadBanner); - Utils.RegisterFunc(L, Utils.METHOD_IDX, "destroyBanner", _m_destroyBanner); - Utils.RegisterFunc(L, Utils.METHOD_IDX, "displayBanner", _m_displayBanner); - Utils.RegisterFunc(L, Utils.METHOD_IDX, "hideBanner", _m_hideBanner); - Utils.RegisterFunc(L, Utils.METHOD_IDX, "isBannerPlacementCapped", _m_isBannerPlacementCapped); - Utils.RegisterFunc(L, Utils.METHOD_IDX, "setSegment", _m_setSegment); - Utils.RegisterFunc(L, Utils.METHOD_IDX, "setConsent", _m_setConsent); - Utils.RegisterFunc(L, Utils.METHOD_IDX, "loadConsentViewWithType", _m_loadConsentViewWithType); - Utils.RegisterFunc(L, Utils.METHOD_IDX, "showConsentViewWithType", _m_showConsentViewWithType); - Utils.RegisterFunc(L, Utils.METHOD_IDX, "setAdRevenueData", _m_setAdRevenueData); - Utils.RegisterFunc(L, Utils.METHOD_IDX, "launchTestSuite", _m_launchTestSuite); - - - - - - Utils.EndObjectRegister(type, L, translator, null, null, - null, null, null); - - Utils.BeginClassRegister(type, L, __CreateInstance, 1, 0, 0); - - - - - - - Utils.EndClassRegister(type, L, translator); - } - - [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] - static int __CreateInstance(RealStatePtr L) - { - - try { - ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); - if(LuaAPI.lua_gettop(L) == 1) - { - - var gen_ret = new AndroidAgent(); - translator.Push(L, gen_ret); - - return 1; - } - - } - catch(System.Exception gen_e) { - return LuaAPI.luaL_error(L, "c# exception:" + gen_e); - } - return LuaAPI.luaL_error(L, "invalid arguments to AndroidAgent constructor!"); - - } - - - - - - - - - [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] - static int _m_getBridge(RealStatePtr L) - { - try { - - ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); - - - AndroidAgent gen_to_be_invoked = (AndroidAgent)translator.FastGetCSObj(L, 1); - - - - { - - var gen_ret = gen_to_be_invoked.getBridge( ); - translator.Push(L, gen_ret); - - - - return 1; - } - - } catch(System.Exception gen_e) { - return LuaAPI.luaL_error(L, "c# exception:" + gen_e); - } - - } - - [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] - static int _m_SetWaterfallConfiguration(RealStatePtr L) - { - try { - - ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); - - - AndroidAgent gen_to_be_invoked = (AndroidAgent)translator.FastGetCSObj(L, 1); - - - - { - WaterfallConfiguration _waterfallConfiguration = (WaterfallConfiguration)translator.GetObject(L, 2, typeof(WaterfallConfiguration)); - AdFormat _adFormat;translator.Get(L, 3, out _adFormat); - - gen_to_be_invoked.SetWaterfallConfiguration( _waterfallConfiguration, _adFormat ); - - - - return 0; - } - - } catch(System.Exception gen_e) { - return LuaAPI.luaL_error(L, "c# exception:" + gen_e); - } - - } - - [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] - static int _m_onApplicationPause(RealStatePtr L) - { - try { - - ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); - - - AndroidAgent gen_to_be_invoked = (AndroidAgent)translator.FastGetCSObj(L, 1); - - - - { - bool _pause = LuaAPI.lua_toboolean(L, 2); - - gen_to_be_invoked.onApplicationPause( _pause ); - - - - return 0; - } - - } catch(System.Exception gen_e) { - return LuaAPI.luaL_error(L, "c# exception:" + gen_e); - } - - } - - [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] - static int _m_getAdvertiserId(RealStatePtr L) - { - try { - - ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); - - - AndroidAgent gen_to_be_invoked = (AndroidAgent)translator.FastGetCSObj(L, 1); - - - - { - - var gen_ret = gen_to_be_invoked.getAdvertiserId( ); - LuaAPI.lua_pushstring(L, gen_ret); - - - - return 1; - } - - } catch(System.Exception gen_e) { - return LuaAPI.luaL_error(L, "c# exception:" + gen_e); - } - - } - - [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] - static int _m_validateIntegration(RealStatePtr L) - { - try { - - ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); - - - AndroidAgent gen_to_be_invoked = (AndroidAgent)translator.FastGetCSObj(L, 1); - - - - { - - gen_to_be_invoked.validateIntegration( ); - - - - return 0; - } - - } catch(System.Exception gen_e) { - return LuaAPI.luaL_error(L, "c# exception:" + gen_e); - } - - } - - [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] - static int _m_shouldTrackNetworkState(RealStatePtr L) - { - try { - - ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); - - - AndroidAgent gen_to_be_invoked = (AndroidAgent)translator.FastGetCSObj(L, 1); - - - - { - bool _track = LuaAPI.lua_toboolean(L, 2); - - gen_to_be_invoked.shouldTrackNetworkState( _track ); - - - - return 0; - } - - } catch(System.Exception gen_e) { - return LuaAPI.luaL_error(L, "c# exception:" + gen_e); - } - - } - - [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] - static int _m_setDynamicUserId(RealStatePtr L) - { - try { - - ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); - - - AndroidAgent gen_to_be_invoked = (AndroidAgent)translator.FastGetCSObj(L, 1); - - - - { - string _dynamicUserId = LuaAPI.lua_tostring(L, 2); - - var gen_ret = gen_to_be_invoked.setDynamicUserId( _dynamicUserId ); - LuaAPI.lua_pushboolean(L, gen_ret); - - - - return 1; - } - - } catch(System.Exception gen_e) { - return LuaAPI.luaL_error(L, "c# exception:" + gen_e); - } - - } - - [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] - static int _m_setAdaptersDebug(RealStatePtr L) - { - try { - - ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); - - - AndroidAgent gen_to_be_invoked = (AndroidAgent)translator.FastGetCSObj(L, 1); - - - - { - bool _enabled = LuaAPI.lua_toboolean(L, 2); - - gen_to_be_invoked.setAdaptersDebug( _enabled ); - - - - return 0; - } - - } catch(System.Exception gen_e) { - return LuaAPI.luaL_error(L, "c# exception:" + gen_e); - } - - } - - [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] - static int _m_setMetaData(RealStatePtr L) - { - try { - - ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); - - - AndroidAgent gen_to_be_invoked = (AndroidAgent)translator.FastGetCSObj(L, 1); - - - int gen_param_count = LuaAPI.lua_gettop(L); - - if(gen_param_count == 3&& (LuaAPI.lua_isnil(L, 2) || LuaAPI.lua_type(L, 2) == LuaTypes.LUA_TSTRING)&& (LuaAPI.lua_isnil(L, 3) || LuaAPI.lua_type(L, 3) == LuaTypes.LUA_TSTRING)) - { - string _key = LuaAPI.lua_tostring(L, 2); - string _value = LuaAPI.lua_tostring(L, 3); - - gen_to_be_invoked.setMetaData( _key, _value ); - - - - return 0; - } - if(gen_param_count >= 2&& (LuaAPI.lua_isnil(L, 2) || LuaAPI.lua_type(L, 2) == LuaTypes.LUA_TSTRING)&& (LuaTypes.LUA_TNONE == LuaAPI.lua_type(L, 3) || (LuaAPI.lua_isnil(L, 3) || LuaAPI.lua_type(L, 3) == LuaTypes.LUA_TSTRING))) - { - string _key = LuaAPI.lua_tostring(L, 2); - string[] _values = translator.GetParams(L, 3); - - gen_to_be_invoked.setMetaData( _key, _values ); - - - - return 0; - } - - } catch(System.Exception gen_e) { - return LuaAPI.luaL_error(L, "c# exception:" + gen_e); - } - - return LuaAPI.luaL_error(L, "invalid arguments to AndroidAgent.setMetaData!"); - - } - - [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] - static int _m_getConversionValue(RealStatePtr L) - { - try { - - ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); - - - AndroidAgent gen_to_be_invoked = (AndroidAgent)translator.FastGetCSObj(L, 1); - - - - { - - var gen_ret = gen_to_be_invoked.getConversionValue( ); - translator.PushAny(L, gen_ret); - - - - return 1; - } - - } catch(System.Exception gen_e) { - return LuaAPI.luaL_error(L, "c# exception:" + gen_e); - } - - } - - [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] - static int _m_setManualLoadRewardedVideo(RealStatePtr L) - { - try { - - ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); - - - AndroidAgent gen_to_be_invoked = (AndroidAgent)translator.FastGetCSObj(L, 1); - - - - { - bool _isOn = LuaAPI.lua_toboolean(L, 2); - - gen_to_be_invoked.setManualLoadRewardedVideo( _isOn ); - - - - return 0; - } - - } catch(System.Exception gen_e) { - return LuaAPI.luaL_error(L, "c# exception:" + gen_e); - } - - } - - [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] - static int _m_setNetworkData(RealStatePtr L) - { - try { - - ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); - - - AndroidAgent gen_to_be_invoked = (AndroidAgent)translator.FastGetCSObj(L, 1); - - - - { - string _networkKey = LuaAPI.lua_tostring(L, 2); - string _networkData = LuaAPI.lua_tostring(L, 3); - - gen_to_be_invoked.setNetworkData( _networkKey, _networkData ); - - - - return 0; - } - - } catch(System.Exception gen_e) { - return LuaAPI.luaL_error(L, "c# exception:" + gen_e); - } - - } - - [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] - static int _m_SetPauseGame(RealStatePtr L) - { - try { - - ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); - - - AndroidAgent gen_to_be_invoked = (AndroidAgent)translator.FastGetCSObj(L, 1); - - - - { - bool _pause = LuaAPI.lua_toboolean(L, 2); - - gen_to_be_invoked.SetPauseGame( _pause ); - - - - return 0; - } - - } catch(System.Exception gen_e) { - return LuaAPI.luaL_error(L, "c# exception:" + gen_e); - } - - } - - [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] - static int _m_setUserId(RealStatePtr L) - { - try { - - ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); - - - AndroidAgent gen_to_be_invoked = (AndroidAgent)translator.FastGetCSObj(L, 1); - - - - { - string _userId = LuaAPI.lua_tostring(L, 2); - - gen_to_be_invoked.setUserId( _userId ); - - - - return 0; - } - - } catch(System.Exception gen_e) { - return LuaAPI.luaL_error(L, "c# exception:" + gen_e); - } - - } - - [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] - static int _m_init(RealStatePtr L) - { - try { - - ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); - - - AndroidAgent gen_to_be_invoked = (AndroidAgent)translator.FastGetCSObj(L, 1); - - - int gen_param_count = LuaAPI.lua_gettop(L); - - if(gen_param_count == 2&& (LuaAPI.lua_isnil(L, 2) || LuaAPI.lua_type(L, 2) == LuaTypes.LUA_TSTRING)) - { - string _appKey = LuaAPI.lua_tostring(L, 2); - - gen_to_be_invoked.init( _appKey ); - - - - return 0; - } - if(gen_param_count >= 2&& (LuaAPI.lua_isnil(L, 2) || LuaAPI.lua_type(L, 2) == LuaTypes.LUA_TSTRING)&& (LuaTypes.LUA_TNONE == LuaAPI.lua_type(L, 3) || (LuaAPI.lua_isnil(L, 3) || LuaAPI.lua_type(L, 3) == LuaTypes.LUA_TSTRING))) - { - string _appKey = LuaAPI.lua_tostring(L, 2); - string[] _adUnits = translator.GetParams(L, 3); - - gen_to_be_invoked.init( _appKey, _adUnits ); - - - - return 0; - } - - } catch(System.Exception gen_e) { - return LuaAPI.luaL_error(L, "c# exception:" + gen_e); - } - - return LuaAPI.luaL_error(L, "invalid arguments to AndroidAgent.init!"); - - } - - [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] - static int _m_initISDemandOnly(RealStatePtr L) - { - try { - - ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); - - - AndroidAgent gen_to_be_invoked = (AndroidAgent)translator.FastGetCSObj(L, 1); - - - - { - string _appKey = LuaAPI.lua_tostring(L, 2); - string[] _adUnits = translator.GetParams(L, 3); - - gen_to_be_invoked.initISDemandOnly( _appKey, _adUnits ); - - - - return 0; - } - - } catch(System.Exception gen_e) { - return LuaAPI.luaL_error(L, "c# exception:" + gen_e); - } - - } - - [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] - static int _m_loadRewardedVideo(RealStatePtr L) - { - try { - - ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); - - - AndroidAgent gen_to_be_invoked = (AndroidAgent)translator.FastGetCSObj(L, 1); - - - - { - - gen_to_be_invoked.loadRewardedVideo( ); - - - - return 0; - } - - } catch(System.Exception gen_e) { - return LuaAPI.luaL_error(L, "c# exception:" + gen_e); - } - - } - - [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] - static int _m_showRewardedVideo(RealStatePtr L) - { - try { - - ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); - - - AndroidAgent gen_to_be_invoked = (AndroidAgent)translator.FastGetCSObj(L, 1); - - - int gen_param_count = LuaAPI.lua_gettop(L); - - if(gen_param_count == 1) - { - - gen_to_be_invoked.showRewardedVideo( ); - - - - return 0; - } - if(gen_param_count == 2&& (LuaAPI.lua_isnil(L, 2) || LuaAPI.lua_type(L, 2) == LuaTypes.LUA_TSTRING)) - { - string _placementName = LuaAPI.lua_tostring(L, 2); - - gen_to_be_invoked.showRewardedVideo( _placementName ); - - - - return 0; - } - - } catch(System.Exception gen_e) { - return LuaAPI.luaL_error(L, "c# exception:" + gen_e); - } - - return LuaAPI.luaL_error(L, "invalid arguments to AndroidAgent.showRewardedVideo!"); - - } - - [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] - static int _m_isRewardedVideoAvailable(RealStatePtr L) - { - try { - - ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); - - - AndroidAgent gen_to_be_invoked = (AndroidAgent)translator.FastGetCSObj(L, 1); - - - - { - - var gen_ret = gen_to_be_invoked.isRewardedVideoAvailable( ); - LuaAPI.lua_pushboolean(L, gen_ret); - - - - return 1; - } - - } catch(System.Exception gen_e) { - return LuaAPI.luaL_error(L, "c# exception:" + gen_e); - } - - } - - [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] - static int _m_isRewardedVideoPlacementCapped(RealStatePtr L) - { - try { - - ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); - - - AndroidAgent gen_to_be_invoked = (AndroidAgent)translator.FastGetCSObj(L, 1); - - - - { - string _placementName = LuaAPI.lua_tostring(L, 2); - - var gen_ret = gen_to_be_invoked.isRewardedVideoPlacementCapped( _placementName ); - LuaAPI.lua_pushboolean(L, gen_ret); - - - - return 1; - } - - } catch(System.Exception gen_e) { - return LuaAPI.luaL_error(L, "c# exception:" + gen_e); - } - - } - - [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] - static int _m_getPlacementInfo(RealStatePtr L) - { - try { - - ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); - - - AndroidAgent gen_to_be_invoked = (AndroidAgent)translator.FastGetCSObj(L, 1); - - - - { - string _placementName = LuaAPI.lua_tostring(L, 2); - - var gen_ret = gen_to_be_invoked.getPlacementInfo( _placementName ); - translator.Push(L, gen_ret); - - - - return 1; - } - - } catch(System.Exception gen_e) { - return LuaAPI.luaL_error(L, "c# exception:" + gen_e); - } - - } - - [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] - static int _m_setRewardedVideoServerParams(RealStatePtr L) - { - try { - - ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); - - - AndroidAgent gen_to_be_invoked = (AndroidAgent)translator.FastGetCSObj(L, 1); - - - - { - System.Collections.Generic.Dictionary _parameters = (System.Collections.Generic.Dictionary)translator.GetObject(L, 2, typeof(System.Collections.Generic.Dictionary)); - - gen_to_be_invoked.setRewardedVideoServerParams( _parameters ); - - - - return 0; - } - - } catch(System.Exception gen_e) { - return LuaAPI.luaL_error(L, "c# exception:" + gen_e); - } - - } - - [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] - static int _m_clearRewardedVideoServerParams(RealStatePtr L) - { - try { - - ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); - - - AndroidAgent gen_to_be_invoked = (AndroidAgent)translator.FastGetCSObj(L, 1); - - - - { - - gen_to_be_invoked.clearRewardedVideoServerParams( ); - - - - return 0; - } - - } catch(System.Exception gen_e) { - return LuaAPI.luaL_error(L, "c# exception:" + gen_e); - } - - } - - [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] - static int _m_showISDemandOnlyRewardedVideo(RealStatePtr L) - { - try { - - ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); - - - AndroidAgent gen_to_be_invoked = (AndroidAgent)translator.FastGetCSObj(L, 1); - - - - { - string _instanceId = LuaAPI.lua_tostring(L, 2); - - gen_to_be_invoked.showISDemandOnlyRewardedVideo( _instanceId ); - - - - return 0; - } - - } catch(System.Exception gen_e) { - return LuaAPI.luaL_error(L, "c# exception:" + gen_e); - } - - } - - [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] - static int _m_loadISDemandOnlyRewardedVideo(RealStatePtr L) - { - try { - - ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); - - - AndroidAgent gen_to_be_invoked = (AndroidAgent)translator.FastGetCSObj(L, 1); - - - - { - string _instanceId = LuaAPI.lua_tostring(L, 2); - - gen_to_be_invoked.loadISDemandOnlyRewardedVideo( _instanceId ); - - - - return 0; - } - - } catch(System.Exception gen_e) { - return LuaAPI.luaL_error(L, "c# exception:" + gen_e); - } - - } - - [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] - static int _m_isISDemandOnlyRewardedVideoAvailable(RealStatePtr L) - { - try { - - ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); - - - AndroidAgent gen_to_be_invoked = (AndroidAgent)translator.FastGetCSObj(L, 1); - - - - { - string _instanceId = LuaAPI.lua_tostring(L, 2); - - var gen_ret = gen_to_be_invoked.isISDemandOnlyRewardedVideoAvailable( _instanceId ); - LuaAPI.lua_pushboolean(L, gen_ret); - - - - return 1; - } - - } catch(System.Exception gen_e) { - return LuaAPI.luaL_error(L, "c# exception:" + gen_e); - } - - } - - [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] - static int _m_loadInterstitial(RealStatePtr L) - { - try { - - ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); - - - AndroidAgent gen_to_be_invoked = (AndroidAgent)translator.FastGetCSObj(L, 1); - - - - { - - gen_to_be_invoked.loadInterstitial( ); - - - - return 0; - } - - } catch(System.Exception gen_e) { - return LuaAPI.luaL_error(L, "c# exception:" + gen_e); - } - - } - - [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] - static int _m_showInterstitial(RealStatePtr L) - { - try { - - ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); - - - AndroidAgent gen_to_be_invoked = (AndroidAgent)translator.FastGetCSObj(L, 1); - - - int gen_param_count = LuaAPI.lua_gettop(L); - - if(gen_param_count == 1) - { - - gen_to_be_invoked.showInterstitial( ); - - - - return 0; - } - if(gen_param_count == 2&& (LuaAPI.lua_isnil(L, 2) || LuaAPI.lua_type(L, 2) == LuaTypes.LUA_TSTRING)) - { - string _placementName = LuaAPI.lua_tostring(L, 2); - - gen_to_be_invoked.showInterstitial( _placementName ); - - - - return 0; - } - - } catch(System.Exception gen_e) { - return LuaAPI.luaL_error(L, "c# exception:" + gen_e); - } - - return LuaAPI.luaL_error(L, "invalid arguments to AndroidAgent.showInterstitial!"); - - } - - [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] - static int _m_isInterstitialReady(RealStatePtr L) - { - try { - - ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); - - - AndroidAgent gen_to_be_invoked = (AndroidAgent)translator.FastGetCSObj(L, 1); - - - - { - - var gen_ret = gen_to_be_invoked.isInterstitialReady( ); - LuaAPI.lua_pushboolean(L, gen_ret); - - - - return 1; - } - - } catch(System.Exception gen_e) { - return LuaAPI.luaL_error(L, "c# exception:" + gen_e); - } - - } - - [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] - static int _m_isInterstitialPlacementCapped(RealStatePtr L) - { - try { - - ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); - - - AndroidAgent gen_to_be_invoked = (AndroidAgent)translator.FastGetCSObj(L, 1); - - - - { - string _placementName = LuaAPI.lua_tostring(L, 2); - - var gen_ret = gen_to_be_invoked.isInterstitialPlacementCapped( _placementName ); - LuaAPI.lua_pushboolean(L, gen_ret); - - - - return 1; - } - - } catch(System.Exception gen_e) { - return LuaAPI.luaL_error(L, "c# exception:" + gen_e); - } - - } - - [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] - static int _m_loadISDemandOnlyInterstitial(RealStatePtr L) - { - try { - - ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); - - - AndroidAgent gen_to_be_invoked = (AndroidAgent)translator.FastGetCSObj(L, 1); - - - - { - string _instanceId = LuaAPI.lua_tostring(L, 2); - - gen_to_be_invoked.loadISDemandOnlyInterstitial( _instanceId ); - - - - return 0; - } - - } catch(System.Exception gen_e) { - return LuaAPI.luaL_error(L, "c# exception:" + gen_e); - } - - } - - [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] - static int _m_showISDemandOnlyInterstitial(RealStatePtr L) - { - try { - - ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); - - - AndroidAgent gen_to_be_invoked = (AndroidAgent)translator.FastGetCSObj(L, 1); - - - - { - string _instanceId = LuaAPI.lua_tostring(L, 2); - - gen_to_be_invoked.showISDemandOnlyInterstitial( _instanceId ); - - - - return 0; - } - - } catch(System.Exception gen_e) { - return LuaAPI.luaL_error(L, "c# exception:" + gen_e); - } - - } - - [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] - static int _m_isISDemandOnlyInterstitialReady(RealStatePtr L) - { - try { - - ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); - - - AndroidAgent gen_to_be_invoked = (AndroidAgent)translator.FastGetCSObj(L, 1); - - - - { - string _instanceId = LuaAPI.lua_tostring(L, 2); - - var gen_ret = gen_to_be_invoked.isISDemandOnlyInterstitialReady( _instanceId ); - LuaAPI.lua_pushboolean(L, gen_ret); - - - - return 1; - } - - } catch(System.Exception gen_e) { - return LuaAPI.luaL_error(L, "c# exception:" + gen_e); - } - - } - - [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] - static int _m_showOfferwall(RealStatePtr L) - { - try { - - ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); - - - AndroidAgent gen_to_be_invoked = (AndroidAgent)translator.FastGetCSObj(L, 1); - - - int gen_param_count = LuaAPI.lua_gettop(L); - - if(gen_param_count == 1) - { - - gen_to_be_invoked.showOfferwall( ); - - - - return 0; - } - if(gen_param_count == 2&& (LuaAPI.lua_isnil(L, 2) || LuaAPI.lua_type(L, 2) == LuaTypes.LUA_TSTRING)) - { - string _placementName = LuaAPI.lua_tostring(L, 2); - - gen_to_be_invoked.showOfferwall( _placementName ); - - - - return 0; - } - - } catch(System.Exception gen_e) { - return LuaAPI.luaL_error(L, "c# exception:" + gen_e); - } - - return LuaAPI.luaL_error(L, "invalid arguments to AndroidAgent.showOfferwall!"); - - } - - [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] - static int _m_getOfferwallCredits(RealStatePtr L) - { - try { - - ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); - - - AndroidAgent gen_to_be_invoked = (AndroidAgent)translator.FastGetCSObj(L, 1); - - - - { - - gen_to_be_invoked.getOfferwallCredits( ); - - - - return 0; - } - - } catch(System.Exception gen_e) { - return LuaAPI.luaL_error(L, "c# exception:" + gen_e); - } - - } - - [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] - static int _m_isOfferwallAvailable(RealStatePtr L) - { - try { - - ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); - - - AndroidAgent gen_to_be_invoked = (AndroidAgent)translator.FastGetCSObj(L, 1); - - - - { - - var gen_ret = gen_to_be_invoked.isOfferwallAvailable( ); - LuaAPI.lua_pushboolean(L, gen_ret); - - - - return 1; - } - - } catch(System.Exception gen_e) { - return LuaAPI.luaL_error(L, "c# exception:" + gen_e); - } - - } - - [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] - static int _m_loadBanner(RealStatePtr L) - { - try { - - ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); - - - AndroidAgent gen_to_be_invoked = (AndroidAgent)translator.FastGetCSObj(L, 1); - - - int gen_param_count = LuaAPI.lua_gettop(L); - - if(gen_param_count == 3&& translator.Assignable(L, 2)&& translator.Assignable(L, 3)) - { - IronSourceBannerSize _size = (IronSourceBannerSize)translator.GetObject(L, 2, typeof(IronSourceBannerSize)); - IronSourceBannerPosition _position;translator.Get(L, 3, out _position); - - gen_to_be_invoked.loadBanner( _size, _position ); - - - - return 0; - } - if(gen_param_count == 4&& translator.Assignable(L, 2)&& translator.Assignable(L, 3)&& (LuaAPI.lua_isnil(L, 4) || LuaAPI.lua_type(L, 4) == LuaTypes.LUA_TSTRING)) - { - IronSourceBannerSize _size = (IronSourceBannerSize)translator.GetObject(L, 2, typeof(IronSourceBannerSize)); - IronSourceBannerPosition _position;translator.Get(L, 3, out _position); - string _placementName = LuaAPI.lua_tostring(L, 4); - - gen_to_be_invoked.loadBanner( _size, _position, _placementName ); - - - - return 0; - } - - } catch(System.Exception gen_e) { - return LuaAPI.luaL_error(L, "c# exception:" + gen_e); - } - - return LuaAPI.luaL_error(L, "invalid arguments to AndroidAgent.loadBanner!"); - - } - - [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] - static int _m_destroyBanner(RealStatePtr L) - { - try { - - ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); - - - AndroidAgent gen_to_be_invoked = (AndroidAgent)translator.FastGetCSObj(L, 1); - - - - { - - gen_to_be_invoked.destroyBanner( ); - - - - return 0; - } - - } catch(System.Exception gen_e) { - return LuaAPI.luaL_error(L, "c# exception:" + gen_e); - } - - } - - [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] - static int _m_displayBanner(RealStatePtr L) - { - try { - - ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); - - - AndroidAgent gen_to_be_invoked = (AndroidAgent)translator.FastGetCSObj(L, 1); - - - - { - - gen_to_be_invoked.displayBanner( ); - - - - return 0; - } - - } catch(System.Exception gen_e) { - return LuaAPI.luaL_error(L, "c# exception:" + gen_e); - } - - } - - [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] - static int _m_hideBanner(RealStatePtr L) - { - try { - - ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); - - - AndroidAgent gen_to_be_invoked = (AndroidAgent)translator.FastGetCSObj(L, 1); - - - - { - - gen_to_be_invoked.hideBanner( ); - - - - return 0; - } - - } catch(System.Exception gen_e) { - return LuaAPI.luaL_error(L, "c# exception:" + gen_e); - } - - } - - [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] - static int _m_isBannerPlacementCapped(RealStatePtr L) - { - try { - - ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); - - - AndroidAgent gen_to_be_invoked = (AndroidAgent)translator.FastGetCSObj(L, 1); - - - - { - string _placementName = LuaAPI.lua_tostring(L, 2); - - var gen_ret = gen_to_be_invoked.isBannerPlacementCapped( _placementName ); - LuaAPI.lua_pushboolean(L, gen_ret); - - - - return 1; - } - - } catch(System.Exception gen_e) { - return LuaAPI.luaL_error(L, "c# exception:" + gen_e); - } - - } - - [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] - static int _m_setSegment(RealStatePtr L) - { - try { - - ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); - - - AndroidAgent gen_to_be_invoked = (AndroidAgent)translator.FastGetCSObj(L, 1); - - - - { - IronSourceSegment _segment = (IronSourceSegment)translator.GetObject(L, 2, typeof(IronSourceSegment)); - - gen_to_be_invoked.setSegment( _segment ); - - - - return 0; - } - - } catch(System.Exception gen_e) { - return LuaAPI.luaL_error(L, "c# exception:" + gen_e); - } - - } - - [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] - static int _m_setConsent(RealStatePtr L) - { - try { - - ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); - - - AndroidAgent gen_to_be_invoked = (AndroidAgent)translator.FastGetCSObj(L, 1); - - - - { - bool _consent = LuaAPI.lua_toboolean(L, 2); - - gen_to_be_invoked.setConsent( _consent ); - - - - return 0; - } - - } catch(System.Exception gen_e) { - return LuaAPI.luaL_error(L, "c# exception:" + gen_e); - } - - } - - [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] - static int _m_loadConsentViewWithType(RealStatePtr L) - { - try { - - ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); - - - AndroidAgent gen_to_be_invoked = (AndroidAgent)translator.FastGetCSObj(L, 1); - - - - { - string _consentViewType = LuaAPI.lua_tostring(L, 2); - - gen_to_be_invoked.loadConsentViewWithType( _consentViewType ); - - - - return 0; - } - - } catch(System.Exception gen_e) { - return LuaAPI.luaL_error(L, "c# exception:" + gen_e); - } - - } - - [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] - static int _m_showConsentViewWithType(RealStatePtr L) - { - try { - - ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); - - - AndroidAgent gen_to_be_invoked = (AndroidAgent)translator.FastGetCSObj(L, 1); - - - - { - string _consentViewType = LuaAPI.lua_tostring(L, 2); - - gen_to_be_invoked.showConsentViewWithType( _consentViewType ); - - - - return 0; - } - - } catch(System.Exception gen_e) { - return LuaAPI.luaL_error(L, "c# exception:" + gen_e); - } - - } - - [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] - static int _m_setAdRevenueData(RealStatePtr L) - { - try { - - ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); - - - AndroidAgent gen_to_be_invoked = (AndroidAgent)translator.FastGetCSObj(L, 1); - - - - { - string _dataSource = LuaAPI.lua_tostring(L, 2); - System.Collections.Generic.Dictionary _impressionData = (System.Collections.Generic.Dictionary)translator.GetObject(L, 3, typeof(System.Collections.Generic.Dictionary)); - - gen_to_be_invoked.setAdRevenueData( _dataSource, _impressionData ); - - - - return 0; - } - - } catch(System.Exception gen_e) { - return LuaAPI.luaL_error(L, "c# exception:" + gen_e); - } - - } - - [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] - static int _m_launchTestSuite(RealStatePtr L) - { - try { - - ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); - - - AndroidAgent gen_to_be_invoked = (AndroidAgent)translator.FastGetCSObj(L, 1); - - - - { - - gen_to_be_invoked.launchTestSuite( ); - - - - return 0; - } - - } catch(System.Exception gen_e) { - return LuaAPI.luaL_error(L, "c# exception:" + gen_e); - } - - } - - - - - - - - - - - } -} diff --git a/Assets/XLua/Gen/DelegatesGensBridge.cs b/Assets/XLua/Gen/DelegatesGensBridge.cs index e45320bd3..5dde8af8f 100644 --- a/Assets/XLua/Gen/DelegatesGensBridge.cs +++ b/Assets/XLua/Gen/DelegatesGensBridge.cs @@ -2007,30 +2007,7 @@ namespace XLua #endif } - public void __Gen_Delegate_Imp89(ISAdQualityInitError p0, string p1) - { -#if THREAD_SAFE || HOTFIX_ENABLE - lock (luaEnv.luaEnvLock) - { -#endif - RealStatePtr L = luaEnv.rawL; - int errFunc = LuaAPI.pcall_prepare(L, errorFuncRef, luaReference); - ObjectTranslator translator = luaEnv.translator; - translator.PushISAdQualityInitError(L, p0); - LuaAPI.lua_pushstring(L, p1); - - PCall(L, 2, 0, errFunc); - - - - LuaAPI.lua_settop(L, errFunc - 1); - -#if THREAD_SAFE || HOTFIX_ENABLE - } -#endif - } - - public string __Gen_Delegate_Imp90(System.DateTime p0) + public string __Gen_Delegate_Imp89(System.DateTime p0) { #if THREAD_SAFE || HOTFIX_ENABLE lock (luaEnv.luaEnvLock) @@ -2052,7 +2029,7 @@ namespace XLua #endif } - public void __Gen_Delegate_Imp91(com.adjust.sdk.AdjustAttribution p0) + public void __Gen_Delegate_Imp90(com.adjust.sdk.AdjustAttribution p0) { #if THREAD_SAFE || HOTFIX_ENABLE lock (luaEnv.luaEnvLock) @@ -2074,7 +2051,7 @@ namespace XLua #endif } - public void __Gen_Delegate_Imp92(com.adjust.sdk.AdjustEventSuccess p0) + public void __Gen_Delegate_Imp91(com.adjust.sdk.AdjustEventSuccess p0) { #if THREAD_SAFE || HOTFIX_ENABLE lock (luaEnv.luaEnvLock) @@ -2096,7 +2073,7 @@ namespace XLua #endif } - public void __Gen_Delegate_Imp93(com.adjust.sdk.AdjustEventFailure p0) + public void __Gen_Delegate_Imp92(com.adjust.sdk.AdjustEventFailure p0) { #if THREAD_SAFE || HOTFIX_ENABLE lock (luaEnv.luaEnvLock) @@ -2118,7 +2095,7 @@ namespace XLua #endif } - public void __Gen_Delegate_Imp94(com.adjust.sdk.AdjustSessionSuccess p0) + public void __Gen_Delegate_Imp93(com.adjust.sdk.AdjustSessionSuccess p0) { #if THREAD_SAFE || HOTFIX_ENABLE lock (luaEnv.luaEnvLock) @@ -2140,7 +2117,7 @@ namespace XLua #endif } - public void __Gen_Delegate_Imp95(com.adjust.sdk.AdjustSessionFailure p0) + public void __Gen_Delegate_Imp94(com.adjust.sdk.AdjustSessionFailure p0) { #if THREAD_SAFE || HOTFIX_ENABLE lock (luaEnv.luaEnvLock) @@ -2162,7 +2139,7 @@ namespace XLua #endif } - public void __Gen_Delegate_Imp96(int p0, string p1, bool p2) + public void __Gen_Delegate_Imp95(int p0, string p1, bool p2) { #if THREAD_SAFE || HOTFIX_ENABLE lock (luaEnv.luaEnvLock) @@ -2186,7 +2163,7 @@ namespace XLua #endif } - public void __Gen_Delegate_Imp97(Http.ResultInfo p0) + public void __Gen_Delegate_Imp96(Http.ResultInfo p0) { #if THREAD_SAFE || HOTFIX_ENABLE lock (luaEnv.luaEnvLock) @@ -2208,7 +2185,7 @@ namespace XLua #endif } - public void __Gen_Delegate_Imp98(System.IAsyncResult p0) + public void __Gen_Delegate_Imp97(System.IAsyncResult p0) { #if THREAD_SAFE || HOTFIX_ENABLE lock (luaEnv.luaEnvLock) @@ -2230,7 +2207,7 @@ namespace XLua #endif } - public void __Gen_Delegate_Imp99(object p0, System.EventArgs p1) + public void __Gen_Delegate_Imp98(object p0, System.EventArgs p1) { #if THREAD_SAFE || HOTFIX_ENABLE lock (luaEnv.luaEnvLock) @@ -2253,7 +2230,7 @@ namespace XLua #endif } - public bool __Gen_Delegate_Imp100(int p0) + public bool __Gen_Delegate_Imp99(int p0) { #if THREAD_SAFE || HOTFIX_ENABLE lock (luaEnv.luaEnvLock) @@ -2275,7 +2252,7 @@ namespace XLua #endif } - public int __Gen_Delegate_Imp101(int p0, int p1) + public int __Gen_Delegate_Imp100(int p0, int p1) { #if THREAD_SAFE || HOTFIX_ENABLE lock (luaEnv.luaEnvLock) @@ -2298,7 +2275,7 @@ namespace XLua #endif } - public bool __Gen_Delegate_Imp102(float p0) + public bool __Gen_Delegate_Imp101(float p0) { #if THREAD_SAFE || HOTFIX_ENABLE lock (luaEnv.luaEnvLock) @@ -2320,7 +2297,7 @@ namespace XLua #endif } - public int __Gen_Delegate_Imp103(float p0, float p1) + public int __Gen_Delegate_Imp102(float p0, float p1) { #if THREAD_SAFE || HOTFIX_ENABLE lock (luaEnv.luaEnvLock) @@ -2343,7 +2320,7 @@ namespace XLua #endif } - public int __Gen_Delegate_Imp104(string p0, string p1) + public int __Gen_Delegate_Imp103(string p0, string p1) { #if THREAD_SAFE || HOTFIX_ENABLE lock (luaEnv.luaEnvLock) @@ -2366,7 +2343,7 @@ namespace XLua #endif } - public bool __Gen_Delegate_Imp105(TMPro.TMP_FontAsset p0) + public bool __Gen_Delegate_Imp104(TMPro.TMP_FontAsset p0) { #if THREAD_SAFE || HOTFIX_ENABLE lock (luaEnv.luaEnvLock) @@ -2388,7 +2365,7 @@ namespace XLua #endif } - public void __Gen_Delegate_Imp106(TMPro.TMP_FontAsset p0) + public void __Gen_Delegate_Imp105(TMPro.TMP_FontAsset p0) { #if THREAD_SAFE || HOTFIX_ENABLE lock (luaEnv.luaEnvLock) @@ -2410,7 +2387,7 @@ namespace XLua #endif } - public int __Gen_Delegate_Imp107(TMPro.TMP_FontAsset p0, TMPro.TMP_FontAsset p1) + public int __Gen_Delegate_Imp106(TMPro.TMP_FontAsset p0, TMPro.TMP_FontAsset p1) { #if THREAD_SAFE || HOTFIX_ENABLE lock (luaEnv.luaEnvLock) @@ -2433,7 +2410,7 @@ namespace XLua #endif } - public bool __Gen_Delegate_Imp108(UnityEngine.Camera p0) + public bool __Gen_Delegate_Imp107(UnityEngine.Camera p0) { #if THREAD_SAFE || HOTFIX_ENABLE lock (luaEnv.luaEnvLock) @@ -2455,7 +2432,7 @@ namespace XLua #endif } - public int __Gen_Delegate_Imp109(UnityEngine.Camera p0, UnityEngine.Camera p1) + public int __Gen_Delegate_Imp108(UnityEngine.Camera p0, UnityEngine.Camera p1) { #if THREAD_SAFE || HOTFIX_ENABLE lock (luaEnv.luaEnvLock) @@ -2478,7 +2455,7 @@ namespace XLua #endif } - public bool __Gen_Delegate_Imp110(System.Collections.Generic.List p0) + public bool __Gen_Delegate_Imp109(System.Collections.Generic.List p0) { #if THREAD_SAFE || HOTFIX_ENABLE lock (luaEnv.luaEnvLock) @@ -2500,7 +2477,7 @@ namespace XLua #endif } - public void __Gen_Delegate_Imp111(System.Collections.Generic.List p0) + public void __Gen_Delegate_Imp110(System.Collections.Generic.List p0) { #if THREAD_SAFE || HOTFIX_ENABLE lock (luaEnv.luaEnvLock) @@ -2522,7 +2499,7 @@ namespace XLua #endif } - public int __Gen_Delegate_Imp112(System.Collections.Generic.List p0, System.Collections.Generic.List p1) + public int __Gen_Delegate_Imp111(System.Collections.Generic.List p0, System.Collections.Generic.List p1) { #if THREAD_SAFE || HOTFIX_ENABLE lock (luaEnv.luaEnvLock) @@ -2545,7 +2522,7 @@ namespace XLua #endif } - public void __Gen_Delegate_Imp113(UnityEngine.Playables.PlayableDirector p0) + public void __Gen_Delegate_Imp112(UnityEngine.Playables.PlayableDirector p0) { #if THREAD_SAFE || HOTFIX_ENABLE lock (luaEnv.luaEnvLock) @@ -2567,7 +2544,7 @@ namespace XLua #endif } - public void __Gen_Delegate_Imp114(UnityEngine.SceneManagement.Scene p0, UnityEngine.SceneManagement.LoadSceneMode p1) + public void __Gen_Delegate_Imp113(UnityEngine.SceneManagement.Scene p0, UnityEngine.SceneManagement.LoadSceneMode p1) { #if THREAD_SAFE || HOTFIX_ENABLE lock (luaEnv.luaEnvLock) @@ -2590,7 +2567,7 @@ namespace XLua #endif } - public void __Gen_Delegate_Imp115(UnityEngine.SceneManagement.Scene p0) + public void __Gen_Delegate_Imp114(UnityEngine.SceneManagement.Scene p0) { #if THREAD_SAFE || HOTFIX_ENABLE lock (luaEnv.luaEnvLock) @@ -2612,7 +2589,7 @@ namespace XLua #endif } - public void __Gen_Delegate_Imp116(UnityEngine.SceneManagement.Scene p0, UnityEngine.SceneManagement.Scene p1) + public void __Gen_Delegate_Imp115(UnityEngine.SceneManagement.Scene p0, UnityEngine.SceneManagement.Scene p1) { #if THREAD_SAFE || HOTFIX_ENABLE lock (luaEnv.luaEnvLock) @@ -2635,7 +2612,7 @@ namespace XLua #endif } - public void __Gen_Delegate_Imp117(UnityEngine.Video.VideoPlayer p0) + public void __Gen_Delegate_Imp116(UnityEngine.Video.VideoPlayer p0) { #if THREAD_SAFE || HOTFIX_ENABLE lock (luaEnv.luaEnvLock) @@ -2657,7 +2634,7 @@ namespace XLua #endif } - public void __Gen_Delegate_Imp118(UnityEngine.Video.VideoPlayer p0, string p1) + public void __Gen_Delegate_Imp117(UnityEngine.Video.VideoPlayer p0, string p1) { #if THREAD_SAFE || HOTFIX_ENABLE lock (luaEnv.luaEnvLock) @@ -2680,7 +2657,7 @@ namespace XLua #endif } - public void __Gen_Delegate_Imp119(UnityEngine.Video.VideoPlayer p0, double p1) + public void __Gen_Delegate_Imp118(UnityEngine.Video.VideoPlayer p0, double p1) { #if THREAD_SAFE || HOTFIX_ENABLE lock (luaEnv.luaEnvLock) @@ -2703,7 +2680,7 @@ namespace XLua #endif } - public void __Gen_Delegate_Imp120(UnityEngine.Video.VideoPlayer p0, long p1) + public void __Gen_Delegate_Imp119(UnityEngine.Video.VideoPlayer p0, long p1) { #if THREAD_SAFE || HOTFIX_ENABLE lock (luaEnv.luaEnvLock) @@ -2726,7 +2703,7 @@ namespace XLua #endif } - public void __Gen_Delegate_Imp121(Spine.TrackEntry p0) + public void __Gen_Delegate_Imp120(Spine.TrackEntry p0) { #if THREAD_SAFE || HOTFIX_ENABLE lock (luaEnv.luaEnvLock) @@ -2748,7 +2725,7 @@ namespace XLua #endif } - public void __Gen_Delegate_Imp122(Spine.TrackEntry p0, Spine.Event p1) + public void __Gen_Delegate_Imp121(Spine.TrackEntry p0, Spine.Event p1) { #if THREAD_SAFE || HOTFIX_ENABLE lock (luaEnv.luaEnvLock) @@ -2771,7 +2748,7 @@ namespace XLua #endif } - public void __Gen_Delegate_Imp123(UnityEngine.Mesh p0, UnityEngine.Material p1, UnityEngine.Texture p2) + public void __Gen_Delegate_Imp122(UnityEngine.Mesh p0, UnityEngine.Material p1, UnityEngine.Texture p2) { #if THREAD_SAFE || HOTFIX_ENABLE lock (luaEnv.luaEnvLock) @@ -2795,7 +2772,7 @@ namespace XLua #endif } - public void __Gen_Delegate_Imp124(int p0, UnityEngine.Mesh[] p1, UnityEngine.Material[] p2, UnityEngine.Texture[] p3) + public void __Gen_Delegate_Imp123(int p0, UnityEngine.Mesh[] p1, UnityEngine.Material[] p2, UnityEngine.Texture[] p3) { #if THREAD_SAFE || HOTFIX_ENABLE lock (luaEnv.luaEnvLock) @@ -2820,7 +2797,7 @@ namespace XLua #endif } - public void __Gen_Delegate_Imp125(Spine.Unity.SkeletonGraphic p0) + public void __Gen_Delegate_Imp124(Spine.Unity.SkeletonGraphic p0) { #if THREAD_SAFE || HOTFIX_ENABLE lock (luaEnv.luaEnvLock) @@ -2842,7 +2819,7 @@ namespace XLua #endif } - public void __Gen_Delegate_Imp126(Spine.Unity.SkeletonRendererInstruction p0) + public void __Gen_Delegate_Imp125(Spine.Unity.SkeletonRendererInstruction p0) { #if THREAD_SAFE || HOTFIX_ENABLE lock (luaEnv.luaEnvLock) @@ -2864,7 +2841,7 @@ namespace XLua #endif } - public void __Gen_Delegate_Imp127(Spine.Unity.ISkeletonAnimation p0) + public void __Gen_Delegate_Imp126(Spine.Unity.ISkeletonAnimation p0) { #if THREAD_SAFE || HOTFIX_ENABLE lock (luaEnv.luaEnvLock) @@ -2886,7 +2863,7 @@ namespace XLua #endif } - public void __Gen_Delegate_Imp128(Spine.Unity.MeshGeneratorBuffers p0) + public void __Gen_Delegate_Imp127(Spine.Unity.MeshGeneratorBuffers p0) { #if THREAD_SAFE || HOTFIX_ENABLE lock (luaEnv.luaEnvLock) @@ -2908,7 +2885,7 @@ namespace XLua #endif } - public void __Gen_Delegate_Imp129(Spine.Unity.SkeletonRenderer p0) + public void __Gen_Delegate_Imp128(Spine.Unity.SkeletonRenderer p0) { #if THREAD_SAFE || HOTFIX_ENABLE lock (luaEnv.luaEnvLock) @@ -3504,219 +3481,214 @@ namespace XLua return new System.Action(__Gen_Delegate_Imp88); } - if (type == typeof(System.Action)) - { - return new System.Action(__Gen_Delegate_Imp89); - } - if (type == typeof(System.Func)) { - return new System.Func(__Gen_Delegate_Imp90); + return new System.Func(__Gen_Delegate_Imp89); } if (type == typeof(System.Action)) { - return new System.Action(__Gen_Delegate_Imp91); + return new System.Action(__Gen_Delegate_Imp90); } if (type == typeof(System.Action)) { - return new System.Action(__Gen_Delegate_Imp92); + return new System.Action(__Gen_Delegate_Imp91); } if (type == typeof(System.Action)) { - return new System.Action(__Gen_Delegate_Imp93); + return new System.Action(__Gen_Delegate_Imp92); } if (type == typeof(System.Action)) { - return new System.Action(__Gen_Delegate_Imp94); + return new System.Action(__Gen_Delegate_Imp93); } if (type == typeof(System.Action)) { - return new System.Action(__Gen_Delegate_Imp95); + return new System.Action(__Gen_Delegate_Imp94); } if (type == typeof(System.Action)) { - return new System.Action(__Gen_Delegate_Imp96); + return new System.Action(__Gen_Delegate_Imp95); } if (type == typeof(System.Action)) { - return new System.Action(__Gen_Delegate_Imp97); + return new System.Action(__Gen_Delegate_Imp96); } if (type == typeof(System.AsyncCallback)) { - return new System.AsyncCallback(__Gen_Delegate_Imp98); + return new System.AsyncCallback(__Gen_Delegate_Imp97); } if (type == typeof(System.EventHandler)) { - return new System.EventHandler(__Gen_Delegate_Imp99); + return new System.EventHandler(__Gen_Delegate_Imp98); } if (type == typeof(System.Predicate)) { - return new System.Predicate(__Gen_Delegate_Imp100); + return new System.Predicate(__Gen_Delegate_Imp99); } if (type == typeof(System.Comparison)) { - return new System.Comparison(__Gen_Delegate_Imp101); + return new System.Comparison(__Gen_Delegate_Imp100); } if (type == typeof(System.Predicate)) { - return new System.Predicate(__Gen_Delegate_Imp102); + return new System.Predicate(__Gen_Delegate_Imp101); } if (type == typeof(System.Comparison)) { - return new System.Comparison(__Gen_Delegate_Imp103); + return new System.Comparison(__Gen_Delegate_Imp102); } if (type == typeof(System.Comparison)) { - return new System.Comparison(__Gen_Delegate_Imp104); + return new System.Comparison(__Gen_Delegate_Imp103); } if (type == typeof(System.Predicate)) { - return new System.Predicate(__Gen_Delegate_Imp105); + return new System.Predicate(__Gen_Delegate_Imp104); } if (type == typeof(System.Action)) { - return new System.Action(__Gen_Delegate_Imp106); + return new System.Action(__Gen_Delegate_Imp105); } if (type == typeof(System.Comparison)) { - return new System.Comparison(__Gen_Delegate_Imp107); + return new System.Comparison(__Gen_Delegate_Imp106); } if (type == typeof(System.Predicate)) { - return new System.Predicate(__Gen_Delegate_Imp108); + return new System.Predicate(__Gen_Delegate_Imp107); } if (type == typeof(System.Comparison)) { - return new System.Comparison(__Gen_Delegate_Imp109); + return new System.Comparison(__Gen_Delegate_Imp108); } if (type == typeof(System.Predicate>)) { - return new System.Predicate>(__Gen_Delegate_Imp110); + return new System.Predicate>(__Gen_Delegate_Imp109); } if (type == typeof(System.Action>)) { - return new System.Action>(__Gen_Delegate_Imp111); + return new System.Action>(__Gen_Delegate_Imp110); } if (type == typeof(System.Comparison>)) { - return new System.Comparison>(__Gen_Delegate_Imp112); + return new System.Comparison>(__Gen_Delegate_Imp111); } if (type == typeof(System.Action)) { - return new System.Action(__Gen_Delegate_Imp113); + return new System.Action(__Gen_Delegate_Imp112); } if (type == typeof(UnityEngine.Events.UnityAction)) { - return new UnityEngine.Events.UnityAction(__Gen_Delegate_Imp114); + return new UnityEngine.Events.UnityAction(__Gen_Delegate_Imp113); } if (type == typeof(UnityEngine.Events.UnityAction)) { - return new UnityEngine.Events.UnityAction(__Gen_Delegate_Imp115); + return new UnityEngine.Events.UnityAction(__Gen_Delegate_Imp114); } if (type == typeof(UnityEngine.Events.UnityAction)) { - return new UnityEngine.Events.UnityAction(__Gen_Delegate_Imp116); + return new UnityEngine.Events.UnityAction(__Gen_Delegate_Imp115); } if (type == typeof(UnityEngine.Video.VideoPlayer.EventHandler)) { - return new UnityEngine.Video.VideoPlayer.EventHandler(__Gen_Delegate_Imp117); + return new UnityEngine.Video.VideoPlayer.EventHandler(__Gen_Delegate_Imp116); } if (type == typeof(UnityEngine.Video.VideoPlayer.ErrorEventHandler)) { - return new UnityEngine.Video.VideoPlayer.ErrorEventHandler(__Gen_Delegate_Imp118); + return new UnityEngine.Video.VideoPlayer.ErrorEventHandler(__Gen_Delegate_Imp117); } if (type == typeof(UnityEngine.Video.VideoPlayer.TimeEventHandler)) { - return new UnityEngine.Video.VideoPlayer.TimeEventHandler(__Gen_Delegate_Imp119); + return new UnityEngine.Video.VideoPlayer.TimeEventHandler(__Gen_Delegate_Imp118); } if (type == typeof(UnityEngine.Video.VideoPlayer.FrameReadyEventHandler)) { - return new UnityEngine.Video.VideoPlayer.FrameReadyEventHandler(__Gen_Delegate_Imp120); + return new UnityEngine.Video.VideoPlayer.FrameReadyEventHandler(__Gen_Delegate_Imp119); } if (type == typeof(Spine.AnimationState.TrackEntryDelegate)) { - return new Spine.AnimationState.TrackEntryDelegate(__Gen_Delegate_Imp121); + return new Spine.AnimationState.TrackEntryDelegate(__Gen_Delegate_Imp120); } if (type == typeof(Spine.AnimationState.TrackEntryEventDelegate)) { - return new Spine.AnimationState.TrackEntryEventDelegate(__Gen_Delegate_Imp122); + return new Spine.AnimationState.TrackEntryEventDelegate(__Gen_Delegate_Imp121); } if (type == typeof(Spine.Unity.SkeletonGraphic.MeshAssignmentDelegateSingle)) { - return new Spine.Unity.SkeletonGraphic.MeshAssignmentDelegateSingle(__Gen_Delegate_Imp123); + return new Spine.Unity.SkeletonGraphic.MeshAssignmentDelegateSingle(__Gen_Delegate_Imp122); } if (type == typeof(Spine.Unity.SkeletonGraphic.MeshAssignmentDelegateMultiple)) { - return new Spine.Unity.SkeletonGraphic.MeshAssignmentDelegateMultiple(__Gen_Delegate_Imp124); + return new Spine.Unity.SkeletonGraphic.MeshAssignmentDelegateMultiple(__Gen_Delegate_Imp123); } if (type == typeof(Spine.Unity.SkeletonGraphic.SkeletonRendererDelegate)) { - return new Spine.Unity.SkeletonGraphic.SkeletonRendererDelegate(__Gen_Delegate_Imp125); + return new Spine.Unity.SkeletonGraphic.SkeletonRendererDelegate(__Gen_Delegate_Imp124); } if (type == typeof(Spine.Unity.SkeletonGraphic.InstructionDelegate)) { - return new Spine.Unity.SkeletonGraphic.InstructionDelegate(__Gen_Delegate_Imp126); + return new Spine.Unity.SkeletonGraphic.InstructionDelegate(__Gen_Delegate_Imp125); } if (type == typeof(Spine.Unity.SkeletonRenderer.InstructionDelegate)) { - return new Spine.Unity.SkeletonRenderer.InstructionDelegate(__Gen_Delegate_Imp126); + return new Spine.Unity.SkeletonRenderer.InstructionDelegate(__Gen_Delegate_Imp125); } if (type == typeof(Spine.Unity.ISkeletonAnimationDelegate)) { - return new Spine.Unity.ISkeletonAnimationDelegate(__Gen_Delegate_Imp127); + return new Spine.Unity.ISkeletonAnimationDelegate(__Gen_Delegate_Imp126); } if (type == typeof(Spine.Unity.UpdateBonesDelegate)) { - return new Spine.Unity.UpdateBonesDelegate(__Gen_Delegate_Imp127); + return new Spine.Unity.UpdateBonesDelegate(__Gen_Delegate_Imp126); } if (type == typeof(Spine.Unity.MeshGeneratorDelegate)) { - return new Spine.Unity.MeshGeneratorDelegate(__Gen_Delegate_Imp128); + return new Spine.Unity.MeshGeneratorDelegate(__Gen_Delegate_Imp127); } if (type == typeof(Spine.Unity.SkeletonRenderer.SkeletonRendererDelegate)) { - return new Spine.Unity.SkeletonRenderer.SkeletonRendererDelegate(__Gen_Delegate_Imp129); + return new Spine.Unity.SkeletonRenderer.SkeletonRendererDelegate(__Gen_Delegate_Imp128); } return null; diff --git a/Assets/XLua/Gen/ISAdQualityAndroidInitHandlerWrap.cs b/Assets/XLua/Gen/ISAdQualityAndroidInitHandlerWrap.cs deleted file mode 100644 index 112212fea..000000000 --- a/Assets/XLua/Gen/ISAdQualityAndroidInitHandlerWrap.cs +++ /dev/null @@ -1,212 +0,0 @@ -#if USE_UNI_LUA -using LuaAPI = UniLua.Lua; -using RealStatePtr = UniLua.ILuaState; -using LuaCSFunction = UniLua.CSharpFunctionDelegate; -#else -using LuaAPI = XLua.LuaDLL.Lua; -using RealStatePtr = System.IntPtr; -using LuaCSFunction = XLua.LuaDLL.lua_CSFunction; -#endif - -using XLua; -using System.Collections.Generic; - - -namespace XLua.CSObjectWrap -{ - using Utils = XLua.Utils; - public class ISAdQualityAndroidInitHandlerWrap - { - public static void __Register(RealStatePtr L) - { - ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); - System.Type type = typeof(ISAdQualityAndroidInitHandler); - Utils.BeginObjectRegister(type, L, translator, 0, 4, 0, 0); - - Utils.RegisterFunc(L, Utils.METHOD_IDX, "adQualitySdkInitSuccess", _m_adQualitySdkInitSuccess); - Utils.RegisterFunc(L, Utils.METHOD_IDX, "adQualitySdkInitFailed", _m_adQualitySdkInitFailed); - - Utils.RegisterFunc(L, Utils.METHOD_IDX, "OnAdQualitySdkInitSuccess", _e_OnAdQualitySdkInitSuccess); - Utils.RegisterFunc(L, Utils.METHOD_IDX, "OnAdQualitySdkInitFailed", _e_OnAdQualitySdkInitFailed); - - - - - Utils.EndObjectRegister(type, L, translator, null, null, - null, null, null); - - Utils.BeginClassRegister(type, L, __CreateInstance, 1, 0, 0); - - - - - - - Utils.EndClassRegister(type, L, translator); - } - - [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] - static int __CreateInstance(RealStatePtr L) - { - - try { - ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); - if(LuaAPI.lua_gettop(L) == 1) - { - - var gen_ret = new ISAdQualityAndroidInitHandler(); - translator.Push(L, gen_ret); - - return 1; - } - - } - catch(System.Exception gen_e) { - return LuaAPI.luaL_error(L, "c# exception:" + gen_e); - } - return LuaAPI.luaL_error(L, "invalid arguments to ISAdQualityAndroidInitHandler constructor!"); - - } - - - - - - - - - [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] - static int _m_adQualitySdkInitSuccess(RealStatePtr L) - { - try { - - ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); - - - ISAdQualityAndroidInitHandler gen_to_be_invoked = (ISAdQualityAndroidInitHandler)translator.FastGetCSObj(L, 1); - - - - { - - gen_to_be_invoked.adQualitySdkInitSuccess( ); - - - - return 0; - } - - } catch(System.Exception gen_e) { - return LuaAPI.luaL_error(L, "c# exception:" + gen_e); - } - - } - - [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] - static int _m_adQualitySdkInitFailed(RealStatePtr L) - { - try { - - ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); - - - ISAdQualityAndroidInitHandler gen_to_be_invoked = (ISAdQualityAndroidInitHandler)translator.FastGetCSObj(L, 1); - - - - { - int _adQualitySdkInitError = LuaAPI.xlua_tointeger(L, 2); - string _errorMessage = LuaAPI.lua_tostring(L, 3); - - gen_to_be_invoked.adQualitySdkInitFailed( _adQualitySdkInitError, _errorMessage ); - - - - return 0; - } - - } catch(System.Exception gen_e) { - return LuaAPI.luaL_error(L, "c# exception:" + gen_e); - } - - } - - - - - - - - - [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] - static int _e_OnAdQualitySdkInitSuccess(RealStatePtr L) - { - try { - ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); - int gen_param_count = LuaAPI.lua_gettop(L); - ISAdQualityAndroidInitHandler gen_to_be_invoked = (ISAdQualityAndroidInitHandler)translator.FastGetCSObj(L, 1); - System.Action gen_delegate = translator.GetDelegate(L, 3); - if (gen_delegate == null) { - return LuaAPI.luaL_error(L, "#3 need System.Action!"); - } - - if (gen_param_count == 3) - { - - if (LuaAPI.xlua_is_eq_str(L, 2, "+")) { - gen_to_be_invoked.OnAdQualitySdkInitSuccess += gen_delegate; - return 0; - } - - - if (LuaAPI.xlua_is_eq_str(L, 2, "-")) { - gen_to_be_invoked.OnAdQualitySdkInitSuccess -= gen_delegate; - return 0; - } - - } - } catch(System.Exception gen_e) { - return LuaAPI.luaL_error(L, "c# exception:" + gen_e); - } - LuaAPI.luaL_error(L, "invalid arguments to ISAdQualityAndroidInitHandler.OnAdQualitySdkInitSuccess!"); - return 0; - } - - [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] - static int _e_OnAdQualitySdkInitFailed(RealStatePtr L) - { - try { - ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); - int gen_param_count = LuaAPI.lua_gettop(L); - ISAdQualityAndroidInitHandler gen_to_be_invoked = (ISAdQualityAndroidInitHandler)translator.FastGetCSObj(L, 1); - System.Action gen_delegate = translator.GetDelegate>(L, 3); - if (gen_delegate == null) { - return LuaAPI.luaL_error(L, "#3 need System.Action!"); - } - - if (gen_param_count == 3) - { - - if (LuaAPI.xlua_is_eq_str(L, 2, "+")) { - gen_to_be_invoked.OnAdQualitySdkInitFailed += gen_delegate; - return 0; - } - - - if (LuaAPI.xlua_is_eq_str(L, 2, "-")) { - gen_to_be_invoked.OnAdQualitySdkInitFailed -= gen_delegate; - return 0; - } - - } - } catch(System.Exception gen_e) { - return LuaAPI.luaL_error(L, "c# exception:" + gen_e); - } - LuaAPI.luaL_error(L, "invalid arguments to ISAdQualityAndroidInitHandler.OnAdQualitySdkInitFailed!"); - return 0; - } - - - - } -} diff --git a/Assets/XLua/Gen/IronSourceBannerAndroidWrap.cs b/Assets/XLua/Gen/IronSourceBannerAndroidWrap.cs deleted file mode 100644 index ba4a315cf..000000000 --- a/Assets/XLua/Gen/IronSourceBannerAndroidWrap.cs +++ /dev/null @@ -1,294 +0,0 @@ -#if USE_UNI_LUA -using LuaAPI = UniLua.Lua; -using RealStatePtr = UniLua.ILuaState; -using LuaCSFunction = UniLua.CSharpFunctionDelegate; -#else -using LuaAPI = XLua.LuaDLL.Lua; -using RealStatePtr = System.IntPtr; -using LuaCSFunction = XLua.LuaDLL.lua_CSFunction; -#endif - -using XLua; -using System.Collections.Generic; - - -namespace XLua.CSObjectWrap -{ - using Utils = XLua.Utils; - public class IronSourceBannerAndroidWrap - { - public static void __Register(RealStatePtr L) - { - ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); - System.Type type = typeof(IronSourceBannerAndroid); - Utils.BeginObjectRegister(type, L, translator, 0, 6, 0, 0); - - - Utils.RegisterFunc(L, Utils.METHOD_IDX, "OnBannerAdLoaded", _e_OnBannerAdLoaded); - Utils.RegisterFunc(L, Utils.METHOD_IDX, "OnBannerAdLeftApplication", _e_OnBannerAdLeftApplication); - Utils.RegisterFunc(L, Utils.METHOD_IDX, "OnBannerAdScreenDismissed", _e_OnBannerAdScreenDismissed); - Utils.RegisterFunc(L, Utils.METHOD_IDX, "OnBannerAdScreenPresented", _e_OnBannerAdScreenPresented); - Utils.RegisterFunc(L, Utils.METHOD_IDX, "OnBannerAdClicked", _e_OnBannerAdClicked); - Utils.RegisterFunc(L, Utils.METHOD_IDX, "OnBannerAdLoadFailed", _e_OnBannerAdLoadFailed); - - - - - Utils.EndObjectRegister(type, L, translator, null, null, - null, null, null); - - Utils.BeginClassRegister(type, L, __CreateInstance, 1, 0, 0); - - - - - - - Utils.EndClassRegister(type, L, translator); - } - - [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] - static int __CreateInstance(RealStatePtr L) - { - - try { - ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); - if(LuaAPI.lua_gettop(L) == 1) - { - - var gen_ret = new IronSourceBannerAndroid(); - translator.Push(L, gen_ret); - - return 1; - } - - } - catch(System.Exception gen_e) { - return LuaAPI.luaL_error(L, "c# exception:" + gen_e); - } - return LuaAPI.luaL_error(L, "invalid arguments to IronSourceBannerAndroid constructor!"); - - } - - - - - - - - - - - - - - - - [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] - static int _e_OnBannerAdLoaded(RealStatePtr L) - { - try { - ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); - int gen_param_count = LuaAPI.lua_gettop(L); - IronSourceBannerAndroid gen_to_be_invoked = (IronSourceBannerAndroid)translator.FastGetCSObj(L, 1); - System.Action gen_delegate = translator.GetDelegate(L, 3); - if (gen_delegate == null) { - return LuaAPI.luaL_error(L, "#3 need System.Action!"); - } - - if (gen_param_count == 3) - { - - if (LuaAPI.xlua_is_eq_str(L, 2, "+")) { - gen_to_be_invoked.OnBannerAdLoaded += gen_delegate; - return 0; - } - - - if (LuaAPI.xlua_is_eq_str(L, 2, "-")) { - gen_to_be_invoked.OnBannerAdLoaded -= gen_delegate; - return 0; - } - - } - } catch(System.Exception gen_e) { - return LuaAPI.luaL_error(L, "c# exception:" + gen_e); - } - LuaAPI.luaL_error(L, "invalid arguments to IronSourceBannerAndroid.OnBannerAdLoaded!"); - return 0; - } - - [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] - static int _e_OnBannerAdLeftApplication(RealStatePtr L) - { - try { - ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); - int gen_param_count = LuaAPI.lua_gettop(L); - IronSourceBannerAndroid gen_to_be_invoked = (IronSourceBannerAndroid)translator.FastGetCSObj(L, 1); - System.Action gen_delegate = translator.GetDelegate(L, 3); - if (gen_delegate == null) { - return LuaAPI.luaL_error(L, "#3 need System.Action!"); - } - - if (gen_param_count == 3) - { - - if (LuaAPI.xlua_is_eq_str(L, 2, "+")) { - gen_to_be_invoked.OnBannerAdLeftApplication += gen_delegate; - return 0; - } - - - if (LuaAPI.xlua_is_eq_str(L, 2, "-")) { - gen_to_be_invoked.OnBannerAdLeftApplication -= gen_delegate; - return 0; - } - - } - } catch(System.Exception gen_e) { - return LuaAPI.luaL_error(L, "c# exception:" + gen_e); - } - LuaAPI.luaL_error(L, "invalid arguments to IronSourceBannerAndroid.OnBannerAdLeftApplication!"); - return 0; - } - - [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] - static int _e_OnBannerAdScreenDismissed(RealStatePtr L) - { - try { - ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); - int gen_param_count = LuaAPI.lua_gettop(L); - IronSourceBannerAndroid gen_to_be_invoked = (IronSourceBannerAndroid)translator.FastGetCSObj(L, 1); - System.Action gen_delegate = translator.GetDelegate(L, 3); - if (gen_delegate == null) { - return LuaAPI.luaL_error(L, "#3 need System.Action!"); - } - - if (gen_param_count == 3) - { - - if (LuaAPI.xlua_is_eq_str(L, 2, "+")) { - gen_to_be_invoked.OnBannerAdScreenDismissed += gen_delegate; - return 0; - } - - - if (LuaAPI.xlua_is_eq_str(L, 2, "-")) { - gen_to_be_invoked.OnBannerAdScreenDismissed -= gen_delegate; - return 0; - } - - } - } catch(System.Exception gen_e) { - return LuaAPI.luaL_error(L, "c# exception:" + gen_e); - } - LuaAPI.luaL_error(L, "invalid arguments to IronSourceBannerAndroid.OnBannerAdScreenDismissed!"); - return 0; - } - - [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] - static int _e_OnBannerAdScreenPresented(RealStatePtr L) - { - try { - ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); - int gen_param_count = LuaAPI.lua_gettop(L); - IronSourceBannerAndroid gen_to_be_invoked = (IronSourceBannerAndroid)translator.FastGetCSObj(L, 1); - System.Action gen_delegate = translator.GetDelegate(L, 3); - if (gen_delegate == null) { - return LuaAPI.luaL_error(L, "#3 need System.Action!"); - } - - if (gen_param_count == 3) - { - - if (LuaAPI.xlua_is_eq_str(L, 2, "+")) { - gen_to_be_invoked.OnBannerAdScreenPresented += gen_delegate; - return 0; - } - - - if (LuaAPI.xlua_is_eq_str(L, 2, "-")) { - gen_to_be_invoked.OnBannerAdScreenPresented -= gen_delegate; - return 0; - } - - } - } catch(System.Exception gen_e) { - return LuaAPI.luaL_error(L, "c# exception:" + gen_e); - } - LuaAPI.luaL_error(L, "invalid arguments to IronSourceBannerAndroid.OnBannerAdScreenPresented!"); - return 0; - } - - [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] - static int _e_OnBannerAdClicked(RealStatePtr L) - { - try { - ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); - int gen_param_count = LuaAPI.lua_gettop(L); - IronSourceBannerAndroid gen_to_be_invoked = (IronSourceBannerAndroid)translator.FastGetCSObj(L, 1); - System.Action gen_delegate = translator.GetDelegate(L, 3); - if (gen_delegate == null) { - return LuaAPI.luaL_error(L, "#3 need System.Action!"); - } - - if (gen_param_count == 3) - { - - if (LuaAPI.xlua_is_eq_str(L, 2, "+")) { - gen_to_be_invoked.OnBannerAdClicked += gen_delegate; - return 0; - } - - - if (LuaAPI.xlua_is_eq_str(L, 2, "-")) { - gen_to_be_invoked.OnBannerAdClicked -= gen_delegate; - return 0; - } - - } - } catch(System.Exception gen_e) { - return LuaAPI.luaL_error(L, "c# exception:" + gen_e); - } - LuaAPI.luaL_error(L, "invalid arguments to IronSourceBannerAndroid.OnBannerAdClicked!"); - return 0; - } - - [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] - static int _e_OnBannerAdLoadFailed(RealStatePtr L) - { - try { - ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); - int gen_param_count = LuaAPI.lua_gettop(L); - IronSourceBannerAndroid gen_to_be_invoked = (IronSourceBannerAndroid)translator.FastGetCSObj(L, 1); - System.Action gen_delegate = translator.GetDelegate>(L, 3); - if (gen_delegate == null) { - return LuaAPI.luaL_error(L, "#3 need System.Action!"); - } - - if (gen_param_count == 3) - { - - if (LuaAPI.xlua_is_eq_str(L, 2, "+")) { - gen_to_be_invoked.OnBannerAdLoadFailed += gen_delegate; - return 0; - } - - - if (LuaAPI.xlua_is_eq_str(L, 2, "-")) { - gen_to_be_invoked.OnBannerAdLoadFailed -= gen_delegate; - return 0; - } - - } - } catch(System.Exception gen_e) { - return LuaAPI.luaL_error(L, "c# exception:" + gen_e); - } - LuaAPI.luaL_error(L, "invalid arguments to IronSourceBannerAndroid.OnBannerAdLoadFailed!"); - return 0; - } - - - - } -} diff --git a/Assets/XLua/Gen/IronSourceBannerEventsWrap.cs b/Assets/XLua/Gen/IronSourceBannerEventsWrap.cs index 4b4414ef3..6cfcd73f3 100644 --- a/Assets/XLua/Gen/IronSourceBannerEventsWrap.cs +++ b/Assets/XLua/Gen/IronSourceBannerEventsWrap.cs @@ -34,11 +34,11 @@ namespace XLua.CSObjectWrap Utils.BeginClassRegister(type, L, __CreateInstance, 7, 0, 0); Utils.RegisterFunc(L, Utils.CLS_IDX, "onAdLoadedEvent", _e_onAdLoadedEvent); - Utils.RegisterFunc(L, Utils.CLS_IDX, "onAdLeftApplicationEvent", _e_onAdLeftApplicationEvent); - Utils.RegisterFunc(L, Utils.CLS_IDX, "onAdScreenDismissedEvent", _e_onAdScreenDismissedEvent); - Utils.RegisterFunc(L, Utils.CLS_IDX, "onAdScreenPresentedEvent", _e_onAdScreenPresentedEvent); - Utils.RegisterFunc(L, Utils.CLS_IDX, "onAdClickedEvent", _e_onAdClickedEvent); Utils.RegisterFunc(L, Utils.CLS_IDX, "onAdLoadFailedEvent", _e_onAdLoadFailedEvent); + Utils.RegisterFunc(L, Utils.CLS_IDX, "onAdClickedEvent", _e_onAdClickedEvent); + Utils.RegisterFunc(L, Utils.CLS_IDX, "onAdScreenPresentedEvent", _e_onAdScreenPresentedEvent); + Utils.RegisterFunc(L, Utils.CLS_IDX, "onAdScreenDismissedEvent", _e_onAdScreenDismissedEvent); + Utils.RegisterFunc(L, Utils.CLS_IDX, "onAdLeftApplicationEvent", _e_onAdLeftApplicationEvent); @@ -116,90 +116,32 @@ namespace XLua.CSObjectWrap } [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] - static int _e_onAdLeftApplicationEvent(RealStatePtr L) + static int _e_onAdLoadFailedEvent(RealStatePtr L) { try { ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); int gen_param_count = LuaAPI.lua_gettop(L); - System.Action gen_delegate = translator.GetDelegate>(L, 2); + System.Action gen_delegate = translator.GetDelegate>(L, 2); if (gen_delegate == null) { - return LuaAPI.luaL_error(L, "#2 need System.Action!"); + return LuaAPI.luaL_error(L, "#2 need System.Action!"); } if (gen_param_count == 2 && LuaAPI.xlua_is_eq_str(L, 1, "+")) { - IronSourceBannerEvents.onAdLeftApplicationEvent += gen_delegate; + IronSourceBannerEvents.onAdLoadFailedEvent += gen_delegate; return 0; } if (gen_param_count == 2 && LuaAPI.xlua_is_eq_str(L, 1, "-")) { - IronSourceBannerEvents.onAdLeftApplicationEvent -= gen_delegate; + IronSourceBannerEvents.onAdLoadFailedEvent -= gen_delegate; return 0; } } catch(System.Exception gen_e) { return LuaAPI.luaL_error(L, "c# exception:" + gen_e); } - return LuaAPI.luaL_error(L, "invalid arguments to IronSourceBannerEvents.onAdLeftApplicationEvent!"); - } - - [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] - static int _e_onAdScreenDismissedEvent(RealStatePtr L) - { - try { - ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); - int gen_param_count = LuaAPI.lua_gettop(L); - System.Action gen_delegate = translator.GetDelegate>(L, 2); - if (gen_delegate == null) { - return LuaAPI.luaL_error(L, "#2 need System.Action!"); - } - - - if (gen_param_count == 2 && LuaAPI.xlua_is_eq_str(L, 1, "+")) { - IronSourceBannerEvents.onAdScreenDismissedEvent += gen_delegate; - return 0; - } - - - if (gen_param_count == 2 && LuaAPI.xlua_is_eq_str(L, 1, "-")) { - IronSourceBannerEvents.onAdScreenDismissedEvent -= gen_delegate; - return 0; - } - - } catch(System.Exception gen_e) { - return LuaAPI.luaL_error(L, "c# exception:" + gen_e); - } - return LuaAPI.luaL_error(L, "invalid arguments to IronSourceBannerEvents.onAdScreenDismissedEvent!"); - } - - [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] - static int _e_onAdScreenPresentedEvent(RealStatePtr L) - { - try { - ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); - int gen_param_count = LuaAPI.lua_gettop(L); - System.Action gen_delegate = translator.GetDelegate>(L, 2); - if (gen_delegate == null) { - return LuaAPI.luaL_error(L, "#2 need System.Action!"); - } - - - if (gen_param_count == 2 && LuaAPI.xlua_is_eq_str(L, 1, "+")) { - IronSourceBannerEvents.onAdScreenPresentedEvent += gen_delegate; - return 0; - } - - - if (gen_param_count == 2 && LuaAPI.xlua_is_eq_str(L, 1, "-")) { - IronSourceBannerEvents.onAdScreenPresentedEvent -= gen_delegate; - return 0; - } - - } catch(System.Exception gen_e) { - return LuaAPI.luaL_error(L, "c# exception:" + gen_e); - } - return LuaAPI.luaL_error(L, "invalid arguments to IronSourceBannerEvents.onAdScreenPresentedEvent!"); + return LuaAPI.luaL_error(L, "invalid arguments to IronSourceBannerEvents.onAdLoadFailedEvent!"); } [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] @@ -232,32 +174,90 @@ namespace XLua.CSObjectWrap } [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] - static int _e_onAdLoadFailedEvent(RealStatePtr L) + static int _e_onAdScreenPresentedEvent(RealStatePtr L) { try { ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); int gen_param_count = LuaAPI.lua_gettop(L); - System.Action gen_delegate = translator.GetDelegate>(L, 2); + System.Action gen_delegate = translator.GetDelegate>(L, 2); if (gen_delegate == null) { - return LuaAPI.luaL_error(L, "#2 need System.Action!"); + return LuaAPI.luaL_error(L, "#2 need System.Action!"); } if (gen_param_count == 2 && LuaAPI.xlua_is_eq_str(L, 1, "+")) { - IronSourceBannerEvents.onAdLoadFailedEvent += gen_delegate; + IronSourceBannerEvents.onAdScreenPresentedEvent += gen_delegate; return 0; } if (gen_param_count == 2 && LuaAPI.xlua_is_eq_str(L, 1, "-")) { - IronSourceBannerEvents.onAdLoadFailedEvent -= gen_delegate; + IronSourceBannerEvents.onAdScreenPresentedEvent -= gen_delegate; return 0; } } catch(System.Exception gen_e) { return LuaAPI.luaL_error(L, "c# exception:" + gen_e); } - return LuaAPI.luaL_error(L, "invalid arguments to IronSourceBannerEvents.onAdLoadFailedEvent!"); + return LuaAPI.luaL_error(L, "invalid arguments to IronSourceBannerEvents.onAdScreenPresentedEvent!"); + } + + [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] + static int _e_onAdScreenDismissedEvent(RealStatePtr L) + { + try { + ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); + int gen_param_count = LuaAPI.lua_gettop(L); + System.Action gen_delegate = translator.GetDelegate>(L, 2); + if (gen_delegate == null) { + return LuaAPI.luaL_error(L, "#2 need System.Action!"); + } + + + if (gen_param_count == 2 && LuaAPI.xlua_is_eq_str(L, 1, "+")) { + IronSourceBannerEvents.onAdScreenDismissedEvent += gen_delegate; + return 0; + } + + + if (gen_param_count == 2 && LuaAPI.xlua_is_eq_str(L, 1, "-")) { + IronSourceBannerEvents.onAdScreenDismissedEvent -= gen_delegate; + return 0; + } + + } catch(System.Exception gen_e) { + return LuaAPI.luaL_error(L, "c# exception:" + gen_e); + } + return LuaAPI.luaL_error(L, "invalid arguments to IronSourceBannerEvents.onAdScreenDismissedEvent!"); + } + + [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] + static int _e_onAdLeftApplicationEvent(RealStatePtr L) + { + try { + ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); + int gen_param_count = LuaAPI.lua_gettop(L); + System.Action gen_delegate = translator.GetDelegate>(L, 2); + if (gen_delegate == null) { + return LuaAPI.luaL_error(L, "#2 need System.Action!"); + } + + + if (gen_param_count == 2 && LuaAPI.xlua_is_eq_str(L, 1, "+")) { + IronSourceBannerEvents.onAdLeftApplicationEvent += gen_delegate; + return 0; + } + + + if (gen_param_count == 2 && LuaAPI.xlua_is_eq_str(L, 1, "-")) { + IronSourceBannerEvents.onAdLeftApplicationEvent -= gen_delegate; + return 0; + } + + } catch(System.Exception gen_e) { + return LuaAPI.luaL_error(L, "c# exception:" + gen_e); + } + return LuaAPI.luaL_error(L, "invalid arguments to IronSourceBannerEvents.onAdLeftApplicationEvent!"); } } diff --git a/Assets/XLua/Gen/IronSourceBannerLevelPlayAndroidWrap.cs b/Assets/XLua/Gen/IronSourceBannerLevelPlayAndroidWrap.cs deleted file mode 100644 index cefff2e5f..000000000 --- a/Assets/XLua/Gen/IronSourceBannerLevelPlayAndroidWrap.cs +++ /dev/null @@ -1,294 +0,0 @@ -#if USE_UNI_LUA -using LuaAPI = UniLua.Lua; -using RealStatePtr = UniLua.ILuaState; -using LuaCSFunction = UniLua.CSharpFunctionDelegate; -#else -using LuaAPI = XLua.LuaDLL.Lua; -using RealStatePtr = System.IntPtr; -using LuaCSFunction = XLua.LuaDLL.lua_CSFunction; -#endif - -using XLua; -using System.Collections.Generic; - - -namespace XLua.CSObjectWrap -{ - using Utils = XLua.Utils; - public class IronSourceBannerLevelPlayAndroidWrap - { - public static void __Register(RealStatePtr L) - { - ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); - System.Type type = typeof(IronSourceBannerLevelPlayAndroid); - Utils.BeginObjectRegister(type, L, translator, 0, 6, 0, 0); - - - Utils.RegisterFunc(L, Utils.METHOD_IDX, "OnAdLoaded", _e_OnAdLoaded); - Utils.RegisterFunc(L, Utils.METHOD_IDX, "OnAdLeftApplication", _e_OnAdLeftApplication); - Utils.RegisterFunc(L, Utils.METHOD_IDX, "OnAdScreenDismissed", _e_OnAdScreenDismissed); - Utils.RegisterFunc(L, Utils.METHOD_IDX, "OnAdScreenPresented", _e_OnAdScreenPresented); - Utils.RegisterFunc(L, Utils.METHOD_IDX, "OnAdClicked", _e_OnAdClicked); - Utils.RegisterFunc(L, Utils.METHOD_IDX, "OnAdLoadFailed", _e_OnAdLoadFailed); - - - - - Utils.EndObjectRegister(type, L, translator, null, null, - null, null, null); - - Utils.BeginClassRegister(type, L, __CreateInstance, 1, 0, 0); - - - - - - - Utils.EndClassRegister(type, L, translator); - } - - [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] - static int __CreateInstance(RealStatePtr L) - { - - try { - ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); - if(LuaAPI.lua_gettop(L) == 1) - { - - var gen_ret = new IronSourceBannerLevelPlayAndroid(); - translator.Push(L, gen_ret); - - return 1; - } - - } - catch(System.Exception gen_e) { - return LuaAPI.luaL_error(L, "c# exception:" + gen_e); - } - return LuaAPI.luaL_error(L, "invalid arguments to IronSourceBannerLevelPlayAndroid constructor!"); - - } - - - - - - - - - - - - - - - - [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] - static int _e_OnAdLoaded(RealStatePtr L) - { - try { - ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); - int gen_param_count = LuaAPI.lua_gettop(L); - IronSourceBannerLevelPlayAndroid gen_to_be_invoked = (IronSourceBannerLevelPlayAndroid)translator.FastGetCSObj(L, 1); - System.Action gen_delegate = translator.GetDelegate>(L, 3); - if (gen_delegate == null) { - return LuaAPI.luaL_error(L, "#3 need System.Action!"); - } - - if (gen_param_count == 3) - { - - if (LuaAPI.xlua_is_eq_str(L, 2, "+")) { - gen_to_be_invoked.OnAdLoaded += gen_delegate; - return 0; - } - - - if (LuaAPI.xlua_is_eq_str(L, 2, "-")) { - gen_to_be_invoked.OnAdLoaded -= gen_delegate; - return 0; - } - - } - } catch(System.Exception gen_e) { - return LuaAPI.luaL_error(L, "c# exception:" + gen_e); - } - LuaAPI.luaL_error(L, "invalid arguments to IronSourceBannerLevelPlayAndroid.OnAdLoaded!"); - return 0; - } - - [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] - static int _e_OnAdLeftApplication(RealStatePtr L) - { - try { - ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); - int gen_param_count = LuaAPI.lua_gettop(L); - IronSourceBannerLevelPlayAndroid gen_to_be_invoked = (IronSourceBannerLevelPlayAndroid)translator.FastGetCSObj(L, 1); - System.Action gen_delegate = translator.GetDelegate>(L, 3); - if (gen_delegate == null) { - return LuaAPI.luaL_error(L, "#3 need System.Action!"); - } - - if (gen_param_count == 3) - { - - if (LuaAPI.xlua_is_eq_str(L, 2, "+")) { - gen_to_be_invoked.OnAdLeftApplication += gen_delegate; - return 0; - } - - - if (LuaAPI.xlua_is_eq_str(L, 2, "-")) { - gen_to_be_invoked.OnAdLeftApplication -= gen_delegate; - return 0; - } - - } - } catch(System.Exception gen_e) { - return LuaAPI.luaL_error(L, "c# exception:" + gen_e); - } - LuaAPI.luaL_error(L, "invalid arguments to IronSourceBannerLevelPlayAndroid.OnAdLeftApplication!"); - return 0; - } - - [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] - static int _e_OnAdScreenDismissed(RealStatePtr L) - { - try { - ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); - int gen_param_count = LuaAPI.lua_gettop(L); - IronSourceBannerLevelPlayAndroid gen_to_be_invoked = (IronSourceBannerLevelPlayAndroid)translator.FastGetCSObj(L, 1); - System.Action gen_delegate = translator.GetDelegate>(L, 3); - if (gen_delegate == null) { - return LuaAPI.luaL_error(L, "#3 need System.Action!"); - } - - if (gen_param_count == 3) - { - - if (LuaAPI.xlua_is_eq_str(L, 2, "+")) { - gen_to_be_invoked.OnAdScreenDismissed += gen_delegate; - return 0; - } - - - if (LuaAPI.xlua_is_eq_str(L, 2, "-")) { - gen_to_be_invoked.OnAdScreenDismissed -= gen_delegate; - return 0; - } - - } - } catch(System.Exception gen_e) { - return LuaAPI.luaL_error(L, "c# exception:" + gen_e); - } - LuaAPI.luaL_error(L, "invalid arguments to IronSourceBannerLevelPlayAndroid.OnAdScreenDismissed!"); - return 0; - } - - [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] - static int _e_OnAdScreenPresented(RealStatePtr L) - { - try { - ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); - int gen_param_count = LuaAPI.lua_gettop(L); - IronSourceBannerLevelPlayAndroid gen_to_be_invoked = (IronSourceBannerLevelPlayAndroid)translator.FastGetCSObj(L, 1); - System.Action gen_delegate = translator.GetDelegate>(L, 3); - if (gen_delegate == null) { - return LuaAPI.luaL_error(L, "#3 need System.Action!"); - } - - if (gen_param_count == 3) - { - - if (LuaAPI.xlua_is_eq_str(L, 2, "+")) { - gen_to_be_invoked.OnAdScreenPresented += gen_delegate; - return 0; - } - - - if (LuaAPI.xlua_is_eq_str(L, 2, "-")) { - gen_to_be_invoked.OnAdScreenPresented -= gen_delegate; - return 0; - } - - } - } catch(System.Exception gen_e) { - return LuaAPI.luaL_error(L, "c# exception:" + gen_e); - } - LuaAPI.luaL_error(L, "invalid arguments to IronSourceBannerLevelPlayAndroid.OnAdScreenPresented!"); - return 0; - } - - [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] - static int _e_OnAdClicked(RealStatePtr L) - { - try { - ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); - int gen_param_count = LuaAPI.lua_gettop(L); - IronSourceBannerLevelPlayAndroid gen_to_be_invoked = (IronSourceBannerLevelPlayAndroid)translator.FastGetCSObj(L, 1); - System.Action gen_delegate = translator.GetDelegate>(L, 3); - if (gen_delegate == null) { - return LuaAPI.luaL_error(L, "#3 need System.Action!"); - } - - if (gen_param_count == 3) - { - - if (LuaAPI.xlua_is_eq_str(L, 2, "+")) { - gen_to_be_invoked.OnAdClicked += gen_delegate; - return 0; - } - - - if (LuaAPI.xlua_is_eq_str(L, 2, "-")) { - gen_to_be_invoked.OnAdClicked -= gen_delegate; - return 0; - } - - } - } catch(System.Exception gen_e) { - return LuaAPI.luaL_error(L, "c# exception:" + gen_e); - } - LuaAPI.luaL_error(L, "invalid arguments to IronSourceBannerLevelPlayAndroid.OnAdClicked!"); - return 0; - } - - [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] - static int _e_OnAdLoadFailed(RealStatePtr L) - { - try { - ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); - int gen_param_count = LuaAPI.lua_gettop(L); - IronSourceBannerLevelPlayAndroid gen_to_be_invoked = (IronSourceBannerLevelPlayAndroid)translator.FastGetCSObj(L, 1); - System.Action gen_delegate = translator.GetDelegate>(L, 3); - if (gen_delegate == null) { - return LuaAPI.luaL_error(L, "#3 need System.Action!"); - } - - if (gen_param_count == 3) - { - - if (LuaAPI.xlua_is_eq_str(L, 2, "+")) { - gen_to_be_invoked.OnAdLoadFailed += gen_delegate; - return 0; - } - - - if (LuaAPI.xlua_is_eq_str(L, 2, "-")) { - gen_to_be_invoked.OnAdLoadFailed -= gen_delegate; - return 0; - } - - } - } catch(System.Exception gen_e) { - return LuaAPI.luaL_error(L, "c# exception:" + gen_e); - } - LuaAPI.luaL_error(L, "invalid arguments to IronSourceBannerLevelPlayAndroid.OnAdLoadFailed!"); - return 0; - } - - - - } -} diff --git a/Assets/XLua/Gen/IronSourceEventsWrap.cs b/Assets/XLua/Gen/IronSourceEventsWrap.cs index 8ac08f259..f1e393d3c 100644 --- a/Assets/XLua/Gen/IronSourceEventsWrap.cs +++ b/Assets/XLua/Gen/IronSourceEventsWrap.cs @@ -39,9 +39,9 @@ namespace XLua.CSObjectWrap Utils.BeginClassRegister(type, L, __CreateInstance, 10, 0, 0); + Utils.RegisterFunc(L, Utils.CLS_IDX, "onImpressionDataReadyEvent", _e_onImpressionDataReadyEvent); Utils.RegisterFunc(L, Utils.CLS_IDX, "onSdkInitializationCompletedEvent", _e_onSdkInitializationCompletedEvent); Utils.RegisterFunc(L, Utils.CLS_IDX, "onSegmentReceivedEvent", _e_onSegmentReceivedEvent); - Utils.RegisterFunc(L, Utils.CLS_IDX, "onImpressionDataReadyEvent", _e_onImpressionDataReadyEvent); Utils.RegisterFunc(L, Utils.CLS_IDX, "onConsentViewDidFailToLoadWithErrorEvent", _e_onConsentViewDidFailToLoadWithErrorEvent); Utils.RegisterFunc(L, Utils.CLS_IDX, "onConsentViewDidFailToShowWithErrorEvent", _e_onConsentViewDidFailToShowWithErrorEvent); Utils.RegisterFunc(L, Utils.CLS_IDX, "onConsentViewDidAcceptEvent", _e_onConsentViewDidAcceptEvent); @@ -263,6 +263,35 @@ namespace XLua.CSObjectWrap + [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] + static int _e_onImpressionDataReadyEvent(RealStatePtr L) + { + try { + ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); + int gen_param_count = LuaAPI.lua_gettop(L); + System.Action gen_delegate = translator.GetDelegate>(L, 2); + if (gen_delegate == null) { + return LuaAPI.luaL_error(L, "#2 need System.Action!"); + } + + + if (gen_param_count == 2 && LuaAPI.xlua_is_eq_str(L, 1, "+")) { + IronSourceEvents.onImpressionDataReadyEvent += gen_delegate; + return 0; + } + + + if (gen_param_count == 2 && LuaAPI.xlua_is_eq_str(L, 1, "-")) { + IronSourceEvents.onImpressionDataReadyEvent -= gen_delegate; + return 0; + } + + } catch(System.Exception gen_e) { + return LuaAPI.luaL_error(L, "c# exception:" + gen_e); + } + return LuaAPI.luaL_error(L, "invalid arguments to IronSourceEvents.onImpressionDataReadyEvent!"); + } + [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] static int _e_onSdkInitializationCompletedEvent(RealStatePtr L) { @@ -321,35 +350,6 @@ namespace XLua.CSObjectWrap return LuaAPI.luaL_error(L, "invalid arguments to IronSourceEvents.onSegmentReceivedEvent!"); } - [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] - static int _e_onImpressionDataReadyEvent(RealStatePtr L) - { - try { - ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); - int gen_param_count = LuaAPI.lua_gettop(L); - System.Action gen_delegate = translator.GetDelegate>(L, 2); - if (gen_delegate == null) { - return LuaAPI.luaL_error(L, "#2 need System.Action!"); - } - - - if (gen_param_count == 2 && LuaAPI.xlua_is_eq_str(L, 1, "+")) { - IronSourceEvents.onImpressionDataReadyEvent += gen_delegate; - return 0; - } - - - if (gen_param_count == 2 && LuaAPI.xlua_is_eq_str(L, 1, "-")) { - IronSourceEvents.onImpressionDataReadyEvent -= gen_delegate; - return 0; - } - - } catch(System.Exception gen_e) { - return LuaAPI.luaL_error(L, "c# exception:" + gen_e); - } - return LuaAPI.luaL_error(L, "invalid arguments to IronSourceEvents.onImpressionDataReadyEvent!"); - } - [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] static int _e_onConsentViewDidFailToLoadWithErrorEvent(RealStatePtr L) { diff --git a/Assets/XLua/Gen/IronSourceImpressionDataAndroidWrap.cs b/Assets/XLua/Gen/IronSourceImpressionDataAndroidWrap.cs deleted file mode 100644 index 813130e35..000000000 --- a/Assets/XLua/Gen/IronSourceImpressionDataAndroidWrap.cs +++ /dev/null @@ -1,212 +0,0 @@ -#if USE_UNI_LUA -using LuaAPI = UniLua.Lua; -using RealStatePtr = UniLua.ILuaState; -using LuaCSFunction = UniLua.CSharpFunctionDelegate; -#else -using LuaAPI = XLua.LuaDLL.Lua; -using RealStatePtr = System.IntPtr; -using LuaCSFunction = XLua.LuaDLL.lua_CSFunction; -#endif - -using XLua; -using System.Collections.Generic; - - -namespace XLua.CSObjectWrap -{ - using Utils = XLua.Utils; - public class IronSourceImpressionDataAndroidWrap - { - public static void __Register(RealStatePtr L) - { - ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); - System.Type type = typeof(IronSourceImpressionDataAndroid); - Utils.BeginObjectRegister(type, L, translator, 0, 4, 0, 0); - - Utils.RegisterFunc(L, Utils.METHOD_IDX, "onImpressionSuccess", _m_onImpressionSuccess); - Utils.RegisterFunc(L, Utils.METHOD_IDX, "onImpressionDataReady", _m_onImpressionDataReady); - - Utils.RegisterFunc(L, Utils.METHOD_IDX, "OnImpressionSuccess", _e_OnImpressionSuccess); - Utils.RegisterFunc(L, Utils.METHOD_IDX, "OnImpressionDataReady", _e_OnImpressionDataReady); - - - - - Utils.EndObjectRegister(type, L, translator, null, null, - null, null, null); - - Utils.BeginClassRegister(type, L, __CreateInstance, 1, 0, 0); - - - - - - - Utils.EndClassRegister(type, L, translator); - } - - [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] - static int __CreateInstance(RealStatePtr L) - { - - try { - ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); - if(LuaAPI.lua_gettop(L) == 1) - { - - var gen_ret = new IronSourceImpressionDataAndroid(); - translator.Push(L, gen_ret); - - return 1; - } - - } - catch(System.Exception gen_e) { - return LuaAPI.luaL_error(L, "c# exception:" + gen_e); - } - return LuaAPI.luaL_error(L, "invalid arguments to IronSourceImpressionDataAndroid constructor!"); - - } - - - - - - - - - [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] - static int _m_onImpressionSuccess(RealStatePtr L) - { - try { - - ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); - - - IronSourceImpressionDataAndroid gen_to_be_invoked = (IronSourceImpressionDataAndroid)translator.FastGetCSObj(L, 1); - - - - { - string _data = LuaAPI.lua_tostring(L, 2); - - gen_to_be_invoked.onImpressionSuccess( _data ); - - - - return 0; - } - - } catch(System.Exception gen_e) { - return LuaAPI.luaL_error(L, "c# exception:" + gen_e); - } - - } - - [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] - static int _m_onImpressionDataReady(RealStatePtr L) - { - try { - - ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); - - - IronSourceImpressionDataAndroid gen_to_be_invoked = (IronSourceImpressionDataAndroid)translator.FastGetCSObj(L, 1); - - - - { - string _data = LuaAPI.lua_tostring(L, 2); - - gen_to_be_invoked.onImpressionDataReady( _data ); - - - - return 0; - } - - } catch(System.Exception gen_e) { - return LuaAPI.luaL_error(L, "c# exception:" + gen_e); - } - - } - - - - - - - - - [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] - static int _e_OnImpressionSuccess(RealStatePtr L) - { - try { - ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); - int gen_param_count = LuaAPI.lua_gettop(L); - IronSourceImpressionDataAndroid gen_to_be_invoked = (IronSourceImpressionDataAndroid)translator.FastGetCSObj(L, 1); - System.Action gen_delegate = translator.GetDelegate>(L, 3); - if (gen_delegate == null) { - return LuaAPI.luaL_error(L, "#3 need System.Action!"); - } - - if (gen_param_count == 3) - { - - if (LuaAPI.xlua_is_eq_str(L, 2, "+")) { - gen_to_be_invoked.OnImpressionSuccess += gen_delegate; - return 0; - } - - - if (LuaAPI.xlua_is_eq_str(L, 2, "-")) { - gen_to_be_invoked.OnImpressionSuccess -= gen_delegate; - return 0; - } - - } - } catch(System.Exception gen_e) { - return LuaAPI.luaL_error(L, "c# exception:" + gen_e); - } - LuaAPI.luaL_error(L, "invalid arguments to IronSourceImpressionDataAndroid.OnImpressionSuccess!"); - return 0; - } - - [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] - static int _e_OnImpressionDataReady(RealStatePtr L) - { - try { - ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); - int gen_param_count = LuaAPI.lua_gettop(L); - IronSourceImpressionDataAndroid gen_to_be_invoked = (IronSourceImpressionDataAndroid)translator.FastGetCSObj(L, 1); - System.Action gen_delegate = translator.GetDelegate>(L, 3); - if (gen_delegate == null) { - return LuaAPI.luaL_error(L, "#3 need System.Action!"); - } - - if (gen_param_count == 3) - { - - if (LuaAPI.xlua_is_eq_str(L, 2, "+")) { - gen_to_be_invoked.OnImpressionDataReady += gen_delegate; - return 0; - } - - - if (LuaAPI.xlua_is_eq_str(L, 2, "-")) { - gen_to_be_invoked.OnImpressionDataReady -= gen_delegate; - return 0; - } - - } - } catch(System.Exception gen_e) { - return LuaAPI.luaL_error(L, "c# exception:" + gen_e); - } - LuaAPI.luaL_error(L, "invalid arguments to IronSourceImpressionDataAndroid.OnImpressionDataReady!"); - return 0; - } - - - - } -} diff --git a/Assets/XLua/Gen/IronSourceInitializationAndroidWrap.cs b/Assets/XLua/Gen/IronSourceInitializationAndroidWrap.cs deleted file mode 100644 index 0bbf264e2..000000000 --- a/Assets/XLua/Gen/IronSourceInitializationAndroidWrap.cs +++ /dev/null @@ -1,119 +0,0 @@ -#if USE_UNI_LUA -using LuaAPI = UniLua.Lua; -using RealStatePtr = UniLua.ILuaState; -using LuaCSFunction = UniLua.CSharpFunctionDelegate; -#else -using LuaAPI = XLua.LuaDLL.Lua; -using RealStatePtr = System.IntPtr; -using LuaCSFunction = XLua.LuaDLL.lua_CSFunction; -#endif - -using XLua; -using System.Collections.Generic; - - -namespace XLua.CSObjectWrap -{ - using Utils = XLua.Utils; - public class IronSourceInitializationAndroidWrap - { - public static void __Register(RealStatePtr L) - { - ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); - System.Type type = typeof(IronSourceInitializationAndroid); - Utils.BeginObjectRegister(type, L, translator, 0, 1, 0, 0); - - - Utils.RegisterFunc(L, Utils.METHOD_IDX, "OnSdkInitializationCompletedEvent", _e_OnSdkInitializationCompletedEvent); - - - - - Utils.EndObjectRegister(type, L, translator, null, null, - null, null, null); - - Utils.BeginClassRegister(type, L, __CreateInstance, 1, 0, 0); - - - - - - - Utils.EndClassRegister(type, L, translator); - } - - [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] - static int __CreateInstance(RealStatePtr L) - { - - try { - ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); - if(LuaAPI.lua_gettop(L) == 1) - { - - var gen_ret = new IronSourceInitializationAndroid(); - translator.Push(L, gen_ret); - - return 1; - } - - } - catch(System.Exception gen_e) { - return LuaAPI.luaL_error(L, "c# exception:" + gen_e); - } - return LuaAPI.luaL_error(L, "invalid arguments to IronSourceInitializationAndroid constructor!"); - - } - - - - - - - - - - - - - - - - [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] - static int _e_OnSdkInitializationCompletedEvent(RealStatePtr L) - { - try { - ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); - int gen_param_count = LuaAPI.lua_gettop(L); - IronSourceInitializationAndroid gen_to_be_invoked = (IronSourceInitializationAndroid)translator.FastGetCSObj(L, 1); - System.Action gen_delegate = translator.GetDelegate(L, 3); - if (gen_delegate == null) { - return LuaAPI.luaL_error(L, "#3 need System.Action!"); - } - - if (gen_param_count == 3) - { - - if (LuaAPI.xlua_is_eq_str(L, 2, "+")) { - gen_to_be_invoked.OnSdkInitializationCompletedEvent += gen_delegate; - return 0; - } - - - if (LuaAPI.xlua_is_eq_str(L, 2, "-")) { - gen_to_be_invoked.OnSdkInitializationCompletedEvent -= gen_delegate; - return 0; - } - - } - } catch(System.Exception gen_e) { - return LuaAPI.luaL_error(L, "c# exception:" + gen_e); - } - LuaAPI.luaL_error(L, "invalid arguments to IronSourceInitializationAndroid.OnSdkInitializationCompletedEvent!"); - return 0; - } - - - - } -} diff --git a/Assets/XLua/Gen/IronSourceInterstitialAndroidWrap.cs b/Assets/XLua/Gen/IronSourceInterstitialAndroidWrap.cs deleted file mode 100644 index eae9c5a39..000000000 --- a/Assets/XLua/Gen/IronSourceInterstitialAndroidWrap.cs +++ /dev/null @@ -1,574 +0,0 @@ -#if USE_UNI_LUA -using LuaAPI = UniLua.Lua; -using RealStatePtr = UniLua.ILuaState; -using LuaCSFunction = UniLua.CSharpFunctionDelegate; -#else -using LuaAPI = XLua.LuaDLL.Lua; -using RealStatePtr = System.IntPtr; -using LuaCSFunction = XLua.LuaDLL.lua_CSFunction; -#endif - -using XLua; -using System.Collections.Generic; - - -namespace XLua.CSObjectWrap -{ - using Utils = XLua.Utils; - public class IronSourceInterstitialAndroidWrap - { - public static void __Register(RealStatePtr L) - { - ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); - System.Type type = typeof(IronSourceInterstitialAndroid); - Utils.BeginObjectRegister(type, L, translator, 0, 14, 0, 0); - - - Utils.RegisterFunc(L, Utils.METHOD_IDX, "OnInterstitialAdShowFailed", _e_OnInterstitialAdShowFailed); - Utils.RegisterFunc(L, Utils.METHOD_IDX, "OnInterstitialAdLoadFailed", _e_OnInterstitialAdLoadFailed); - Utils.RegisterFunc(L, Utils.METHOD_IDX, "OnInterstitialAdReady", _e_OnInterstitialAdReady); - Utils.RegisterFunc(L, Utils.METHOD_IDX, "OnInterstitialAdOpened", _e_OnInterstitialAdOpened); - Utils.RegisterFunc(L, Utils.METHOD_IDX, "OnInterstitialAdClosed", _e_OnInterstitialAdClosed); - Utils.RegisterFunc(L, Utils.METHOD_IDX, "OnInterstitialAdShowSucceeded", _e_OnInterstitialAdShowSucceeded); - Utils.RegisterFunc(L, Utils.METHOD_IDX, "OnInterstitialAdClicked", _e_OnInterstitialAdClicked); - Utils.RegisterFunc(L, Utils.METHOD_IDX, "OnInterstitialAdRewarded", _e_OnInterstitialAdRewarded); - Utils.RegisterFunc(L, Utils.METHOD_IDX, "OnInterstitialAdReadyDemandOnly", _e_OnInterstitialAdReadyDemandOnly); - Utils.RegisterFunc(L, Utils.METHOD_IDX, "OnInterstitialAdOpenedDemandOnly", _e_OnInterstitialAdOpenedDemandOnly); - Utils.RegisterFunc(L, Utils.METHOD_IDX, "OnInterstitialAdClosedDemandOnly", _e_OnInterstitialAdClosedDemandOnly); - Utils.RegisterFunc(L, Utils.METHOD_IDX, "OnInterstitialAdLoadFailedDemandOnly", _e_OnInterstitialAdLoadFailedDemandOnly); - Utils.RegisterFunc(L, Utils.METHOD_IDX, "OnInterstitialAdClickedDemandOnly", _e_OnInterstitialAdClickedDemandOnly); - Utils.RegisterFunc(L, Utils.METHOD_IDX, "OnInterstitialAdShowFailedDemandOnly", _e_OnInterstitialAdShowFailedDemandOnly); - - - - - Utils.EndObjectRegister(type, L, translator, null, null, - null, null, null); - - Utils.BeginClassRegister(type, L, __CreateInstance, 1, 0, 0); - - - - - - - Utils.EndClassRegister(type, L, translator); - } - - [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] - static int __CreateInstance(RealStatePtr L) - { - - try { - ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); - if(LuaAPI.lua_gettop(L) == 1) - { - - var gen_ret = new IronSourceInterstitialAndroid(); - translator.Push(L, gen_ret); - - return 1; - } - - } - catch(System.Exception gen_e) { - return LuaAPI.luaL_error(L, "c# exception:" + gen_e); - } - return LuaAPI.luaL_error(L, "invalid arguments to IronSourceInterstitialAndroid constructor!"); - - } - - - - - - - - - - - - - - - - [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] - static int _e_OnInterstitialAdShowFailed(RealStatePtr L) - { - try { - ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); - int gen_param_count = LuaAPI.lua_gettop(L); - IronSourceInterstitialAndroid gen_to_be_invoked = (IronSourceInterstitialAndroid)translator.FastGetCSObj(L, 1); - System.Action gen_delegate = translator.GetDelegate>(L, 3); - if (gen_delegate == null) { - return LuaAPI.luaL_error(L, "#3 need System.Action!"); - } - - if (gen_param_count == 3) - { - - if (LuaAPI.xlua_is_eq_str(L, 2, "+")) { - gen_to_be_invoked.OnInterstitialAdShowFailed += gen_delegate; - return 0; - } - - - if (LuaAPI.xlua_is_eq_str(L, 2, "-")) { - gen_to_be_invoked.OnInterstitialAdShowFailed -= gen_delegate; - return 0; - } - - } - } catch(System.Exception gen_e) { - return LuaAPI.luaL_error(L, "c# exception:" + gen_e); - } - LuaAPI.luaL_error(L, "invalid arguments to IronSourceInterstitialAndroid.OnInterstitialAdShowFailed!"); - return 0; - } - - [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] - static int _e_OnInterstitialAdLoadFailed(RealStatePtr L) - { - try { - ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); - int gen_param_count = LuaAPI.lua_gettop(L); - IronSourceInterstitialAndroid gen_to_be_invoked = (IronSourceInterstitialAndroid)translator.FastGetCSObj(L, 1); - System.Action gen_delegate = translator.GetDelegate>(L, 3); - if (gen_delegate == null) { - return LuaAPI.luaL_error(L, "#3 need System.Action!"); - } - - if (gen_param_count == 3) - { - - if (LuaAPI.xlua_is_eq_str(L, 2, "+")) { - gen_to_be_invoked.OnInterstitialAdLoadFailed += gen_delegate; - return 0; - } - - - if (LuaAPI.xlua_is_eq_str(L, 2, "-")) { - gen_to_be_invoked.OnInterstitialAdLoadFailed -= gen_delegate; - return 0; - } - - } - } catch(System.Exception gen_e) { - return LuaAPI.luaL_error(L, "c# exception:" + gen_e); - } - LuaAPI.luaL_error(L, "invalid arguments to IronSourceInterstitialAndroid.OnInterstitialAdLoadFailed!"); - return 0; - } - - [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] - static int _e_OnInterstitialAdReady(RealStatePtr L) - { - try { - ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); - int gen_param_count = LuaAPI.lua_gettop(L); - IronSourceInterstitialAndroid gen_to_be_invoked = (IronSourceInterstitialAndroid)translator.FastGetCSObj(L, 1); - System.Action gen_delegate = translator.GetDelegate(L, 3); - if (gen_delegate == null) { - return LuaAPI.luaL_error(L, "#3 need System.Action!"); - } - - if (gen_param_count == 3) - { - - if (LuaAPI.xlua_is_eq_str(L, 2, "+")) { - gen_to_be_invoked.OnInterstitialAdReady += gen_delegate; - return 0; - } - - - if (LuaAPI.xlua_is_eq_str(L, 2, "-")) { - gen_to_be_invoked.OnInterstitialAdReady -= gen_delegate; - return 0; - } - - } - } catch(System.Exception gen_e) { - return LuaAPI.luaL_error(L, "c# exception:" + gen_e); - } - LuaAPI.luaL_error(L, "invalid arguments to IronSourceInterstitialAndroid.OnInterstitialAdReady!"); - return 0; - } - - [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] - static int _e_OnInterstitialAdOpened(RealStatePtr L) - { - try { - ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); - int gen_param_count = LuaAPI.lua_gettop(L); - IronSourceInterstitialAndroid gen_to_be_invoked = (IronSourceInterstitialAndroid)translator.FastGetCSObj(L, 1); - System.Action gen_delegate = translator.GetDelegate(L, 3); - if (gen_delegate == null) { - return LuaAPI.luaL_error(L, "#3 need System.Action!"); - } - - if (gen_param_count == 3) - { - - if (LuaAPI.xlua_is_eq_str(L, 2, "+")) { - gen_to_be_invoked.OnInterstitialAdOpened += gen_delegate; - return 0; - } - - - if (LuaAPI.xlua_is_eq_str(L, 2, "-")) { - gen_to_be_invoked.OnInterstitialAdOpened -= gen_delegate; - return 0; - } - - } - } catch(System.Exception gen_e) { - return LuaAPI.luaL_error(L, "c# exception:" + gen_e); - } - LuaAPI.luaL_error(L, "invalid arguments to IronSourceInterstitialAndroid.OnInterstitialAdOpened!"); - return 0; - } - - [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] - static int _e_OnInterstitialAdClosed(RealStatePtr L) - { - try { - ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); - int gen_param_count = LuaAPI.lua_gettop(L); - IronSourceInterstitialAndroid gen_to_be_invoked = (IronSourceInterstitialAndroid)translator.FastGetCSObj(L, 1); - System.Action gen_delegate = translator.GetDelegate(L, 3); - if (gen_delegate == null) { - return LuaAPI.luaL_error(L, "#3 need System.Action!"); - } - - if (gen_param_count == 3) - { - - if (LuaAPI.xlua_is_eq_str(L, 2, "+")) { - gen_to_be_invoked.OnInterstitialAdClosed += gen_delegate; - return 0; - } - - - if (LuaAPI.xlua_is_eq_str(L, 2, "-")) { - gen_to_be_invoked.OnInterstitialAdClosed -= gen_delegate; - return 0; - } - - } - } catch(System.Exception gen_e) { - return LuaAPI.luaL_error(L, "c# exception:" + gen_e); - } - LuaAPI.luaL_error(L, "invalid arguments to IronSourceInterstitialAndroid.OnInterstitialAdClosed!"); - return 0; - } - - [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] - static int _e_OnInterstitialAdShowSucceeded(RealStatePtr L) - { - try { - ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); - int gen_param_count = LuaAPI.lua_gettop(L); - IronSourceInterstitialAndroid gen_to_be_invoked = (IronSourceInterstitialAndroid)translator.FastGetCSObj(L, 1); - System.Action gen_delegate = translator.GetDelegate(L, 3); - if (gen_delegate == null) { - return LuaAPI.luaL_error(L, "#3 need System.Action!"); - } - - if (gen_param_count == 3) - { - - if (LuaAPI.xlua_is_eq_str(L, 2, "+")) { - gen_to_be_invoked.OnInterstitialAdShowSucceeded += gen_delegate; - return 0; - } - - - if (LuaAPI.xlua_is_eq_str(L, 2, "-")) { - gen_to_be_invoked.OnInterstitialAdShowSucceeded -= gen_delegate; - return 0; - } - - } - } catch(System.Exception gen_e) { - return LuaAPI.luaL_error(L, "c# exception:" + gen_e); - } - LuaAPI.luaL_error(L, "invalid arguments to IronSourceInterstitialAndroid.OnInterstitialAdShowSucceeded!"); - return 0; - } - - [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] - static int _e_OnInterstitialAdClicked(RealStatePtr L) - { - try { - ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); - int gen_param_count = LuaAPI.lua_gettop(L); - IronSourceInterstitialAndroid gen_to_be_invoked = (IronSourceInterstitialAndroid)translator.FastGetCSObj(L, 1); - System.Action gen_delegate = translator.GetDelegate(L, 3); - if (gen_delegate == null) { - return LuaAPI.luaL_error(L, "#3 need System.Action!"); - } - - if (gen_param_count == 3) - { - - if (LuaAPI.xlua_is_eq_str(L, 2, "+")) { - gen_to_be_invoked.OnInterstitialAdClicked += gen_delegate; - return 0; - } - - - if (LuaAPI.xlua_is_eq_str(L, 2, "-")) { - gen_to_be_invoked.OnInterstitialAdClicked -= gen_delegate; - return 0; - } - - } - } catch(System.Exception gen_e) { - return LuaAPI.luaL_error(L, "c# exception:" + gen_e); - } - LuaAPI.luaL_error(L, "invalid arguments to IronSourceInterstitialAndroid.OnInterstitialAdClicked!"); - return 0; - } - - [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] - static int _e_OnInterstitialAdRewarded(RealStatePtr L) - { - try { - ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); - int gen_param_count = LuaAPI.lua_gettop(L); - IronSourceInterstitialAndroid gen_to_be_invoked = (IronSourceInterstitialAndroid)translator.FastGetCSObj(L, 1); - System.Action gen_delegate = translator.GetDelegate(L, 3); - if (gen_delegate == null) { - return LuaAPI.luaL_error(L, "#3 need System.Action!"); - } - - if (gen_param_count == 3) - { - - if (LuaAPI.xlua_is_eq_str(L, 2, "+")) { - gen_to_be_invoked.OnInterstitialAdRewarded += gen_delegate; - return 0; - } - - - if (LuaAPI.xlua_is_eq_str(L, 2, "-")) { - gen_to_be_invoked.OnInterstitialAdRewarded -= gen_delegate; - return 0; - } - - } - } catch(System.Exception gen_e) { - return LuaAPI.luaL_error(L, "c# exception:" + gen_e); - } - LuaAPI.luaL_error(L, "invalid arguments to IronSourceInterstitialAndroid.OnInterstitialAdRewarded!"); - return 0; - } - - [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] - static int _e_OnInterstitialAdReadyDemandOnly(RealStatePtr L) - { - try { - ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); - int gen_param_count = LuaAPI.lua_gettop(L); - IronSourceInterstitialAndroid gen_to_be_invoked = (IronSourceInterstitialAndroid)translator.FastGetCSObj(L, 1); - System.Action gen_delegate = translator.GetDelegate>(L, 3); - if (gen_delegate == null) { - return LuaAPI.luaL_error(L, "#3 need System.Action!"); - } - - if (gen_param_count == 3) - { - - if (LuaAPI.xlua_is_eq_str(L, 2, "+")) { - gen_to_be_invoked.OnInterstitialAdReadyDemandOnly += gen_delegate; - return 0; - } - - - if (LuaAPI.xlua_is_eq_str(L, 2, "-")) { - gen_to_be_invoked.OnInterstitialAdReadyDemandOnly -= gen_delegate; - return 0; - } - - } - } catch(System.Exception gen_e) { - return LuaAPI.luaL_error(L, "c# exception:" + gen_e); - } - LuaAPI.luaL_error(L, "invalid arguments to IronSourceInterstitialAndroid.OnInterstitialAdReadyDemandOnly!"); - return 0; - } - - [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] - static int _e_OnInterstitialAdOpenedDemandOnly(RealStatePtr L) - { - try { - ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); - int gen_param_count = LuaAPI.lua_gettop(L); - IronSourceInterstitialAndroid gen_to_be_invoked = (IronSourceInterstitialAndroid)translator.FastGetCSObj(L, 1); - System.Action gen_delegate = translator.GetDelegate>(L, 3); - if (gen_delegate == null) { - return LuaAPI.luaL_error(L, "#3 need System.Action!"); - } - - if (gen_param_count == 3) - { - - if (LuaAPI.xlua_is_eq_str(L, 2, "+")) { - gen_to_be_invoked.OnInterstitialAdOpenedDemandOnly += gen_delegate; - return 0; - } - - - if (LuaAPI.xlua_is_eq_str(L, 2, "-")) { - gen_to_be_invoked.OnInterstitialAdOpenedDemandOnly -= gen_delegate; - return 0; - } - - } - } catch(System.Exception gen_e) { - return LuaAPI.luaL_error(L, "c# exception:" + gen_e); - } - LuaAPI.luaL_error(L, "invalid arguments to IronSourceInterstitialAndroid.OnInterstitialAdOpenedDemandOnly!"); - return 0; - } - - [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] - static int _e_OnInterstitialAdClosedDemandOnly(RealStatePtr L) - { - try { - ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); - int gen_param_count = LuaAPI.lua_gettop(L); - IronSourceInterstitialAndroid gen_to_be_invoked = (IronSourceInterstitialAndroid)translator.FastGetCSObj(L, 1); - System.Action gen_delegate = translator.GetDelegate>(L, 3); - if (gen_delegate == null) { - return LuaAPI.luaL_error(L, "#3 need System.Action!"); - } - - if (gen_param_count == 3) - { - - if (LuaAPI.xlua_is_eq_str(L, 2, "+")) { - gen_to_be_invoked.OnInterstitialAdClosedDemandOnly += gen_delegate; - return 0; - } - - - if (LuaAPI.xlua_is_eq_str(L, 2, "-")) { - gen_to_be_invoked.OnInterstitialAdClosedDemandOnly -= gen_delegate; - return 0; - } - - } - } catch(System.Exception gen_e) { - return LuaAPI.luaL_error(L, "c# exception:" + gen_e); - } - LuaAPI.luaL_error(L, "invalid arguments to IronSourceInterstitialAndroid.OnInterstitialAdClosedDemandOnly!"); - return 0; - } - - [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] - static int _e_OnInterstitialAdLoadFailedDemandOnly(RealStatePtr L) - { - try { - ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); - int gen_param_count = LuaAPI.lua_gettop(L); - IronSourceInterstitialAndroid gen_to_be_invoked = (IronSourceInterstitialAndroid)translator.FastGetCSObj(L, 1); - System.Action gen_delegate = translator.GetDelegate>(L, 3); - if (gen_delegate == null) { - return LuaAPI.luaL_error(L, "#3 need System.Action!"); - } - - if (gen_param_count == 3) - { - - if (LuaAPI.xlua_is_eq_str(L, 2, "+")) { - gen_to_be_invoked.OnInterstitialAdLoadFailedDemandOnly += gen_delegate; - return 0; - } - - - if (LuaAPI.xlua_is_eq_str(L, 2, "-")) { - gen_to_be_invoked.OnInterstitialAdLoadFailedDemandOnly -= gen_delegate; - return 0; - } - - } - } catch(System.Exception gen_e) { - return LuaAPI.luaL_error(L, "c# exception:" + gen_e); - } - LuaAPI.luaL_error(L, "invalid arguments to IronSourceInterstitialAndroid.OnInterstitialAdLoadFailedDemandOnly!"); - return 0; - } - - [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] - static int _e_OnInterstitialAdClickedDemandOnly(RealStatePtr L) - { - try { - ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); - int gen_param_count = LuaAPI.lua_gettop(L); - IronSourceInterstitialAndroid gen_to_be_invoked = (IronSourceInterstitialAndroid)translator.FastGetCSObj(L, 1); - System.Action gen_delegate = translator.GetDelegate>(L, 3); - if (gen_delegate == null) { - return LuaAPI.luaL_error(L, "#3 need System.Action!"); - } - - if (gen_param_count == 3) - { - - if (LuaAPI.xlua_is_eq_str(L, 2, "+")) { - gen_to_be_invoked.OnInterstitialAdClickedDemandOnly += gen_delegate; - return 0; - } - - - if (LuaAPI.xlua_is_eq_str(L, 2, "-")) { - gen_to_be_invoked.OnInterstitialAdClickedDemandOnly -= gen_delegate; - return 0; - } - - } - } catch(System.Exception gen_e) { - return LuaAPI.luaL_error(L, "c# exception:" + gen_e); - } - LuaAPI.luaL_error(L, "invalid arguments to IronSourceInterstitialAndroid.OnInterstitialAdClickedDemandOnly!"); - return 0; - } - - [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] - static int _e_OnInterstitialAdShowFailedDemandOnly(RealStatePtr L) - { - try { - ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); - int gen_param_count = LuaAPI.lua_gettop(L); - IronSourceInterstitialAndroid gen_to_be_invoked = (IronSourceInterstitialAndroid)translator.FastGetCSObj(L, 1); - System.Action gen_delegate = translator.GetDelegate>(L, 3); - if (gen_delegate == null) { - return LuaAPI.luaL_error(L, "#3 need System.Action!"); - } - - if (gen_param_count == 3) - { - - if (LuaAPI.xlua_is_eq_str(L, 2, "+")) { - gen_to_be_invoked.OnInterstitialAdShowFailedDemandOnly += gen_delegate; - return 0; - } - - - if (LuaAPI.xlua_is_eq_str(L, 2, "-")) { - gen_to_be_invoked.OnInterstitialAdShowFailedDemandOnly -= gen_delegate; - return 0; - } - - } - } catch(System.Exception gen_e) { - return LuaAPI.luaL_error(L, "c# exception:" + gen_e); - } - LuaAPI.luaL_error(L, "invalid arguments to IronSourceInterstitialAndroid.OnInterstitialAdShowFailedDemandOnly!"); - return 0; - } - - - - } -} diff --git a/Assets/XLua/Gen/IronSourceInterstitialLevelPlayAndroidWrap.cs b/Assets/XLua/Gen/IronSourceInterstitialLevelPlayAndroidWrap.cs deleted file mode 100644 index 23ac0e36a..000000000 --- a/Assets/XLua/Gen/IronSourceInterstitialLevelPlayAndroidWrap.cs +++ /dev/null @@ -1,329 +0,0 @@ -#if USE_UNI_LUA -using LuaAPI = UniLua.Lua; -using RealStatePtr = UniLua.ILuaState; -using LuaCSFunction = UniLua.CSharpFunctionDelegate; -#else -using LuaAPI = XLua.LuaDLL.Lua; -using RealStatePtr = System.IntPtr; -using LuaCSFunction = XLua.LuaDLL.lua_CSFunction; -#endif - -using XLua; -using System.Collections.Generic; - - -namespace XLua.CSObjectWrap -{ - using Utils = XLua.Utils; - public class IronSourceInterstitialLevelPlayAndroidWrap - { - public static void __Register(RealStatePtr L) - { - ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); - System.Type type = typeof(IronSourceInterstitialLevelPlayAndroid); - Utils.BeginObjectRegister(type, L, translator, 0, 7, 0, 0); - - - Utils.RegisterFunc(L, Utils.METHOD_IDX, "OnAdShowFailed", _e_OnAdShowFailed); - Utils.RegisterFunc(L, Utils.METHOD_IDX, "OnAdLoadFailed", _e_OnAdLoadFailed); - Utils.RegisterFunc(L, Utils.METHOD_IDX, "OnAdReady", _e_OnAdReady); - Utils.RegisterFunc(L, Utils.METHOD_IDX, "OnAdOpened", _e_OnAdOpened); - Utils.RegisterFunc(L, Utils.METHOD_IDX, "OnAdClosed", _e_OnAdClosed); - Utils.RegisterFunc(L, Utils.METHOD_IDX, "OnAdShowSucceeded", _e_OnAdShowSucceeded); - Utils.RegisterFunc(L, Utils.METHOD_IDX, "OnAdClicked", _e_OnAdClicked); - - - - - Utils.EndObjectRegister(type, L, translator, null, null, - null, null, null); - - Utils.BeginClassRegister(type, L, __CreateInstance, 1, 0, 0); - - - - - - - Utils.EndClassRegister(type, L, translator); - } - - [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] - static int __CreateInstance(RealStatePtr L) - { - - try { - ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); - if(LuaAPI.lua_gettop(L) == 1) - { - - var gen_ret = new IronSourceInterstitialLevelPlayAndroid(); - translator.Push(L, gen_ret); - - return 1; - } - - } - catch(System.Exception gen_e) { - return LuaAPI.luaL_error(L, "c# exception:" + gen_e); - } - return LuaAPI.luaL_error(L, "invalid arguments to IronSourceInterstitialLevelPlayAndroid constructor!"); - - } - - - - - - - - - - - - - - - - [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] - static int _e_OnAdShowFailed(RealStatePtr L) - { - try { - ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); - int gen_param_count = LuaAPI.lua_gettop(L); - IronSourceInterstitialLevelPlayAndroid gen_to_be_invoked = (IronSourceInterstitialLevelPlayAndroid)translator.FastGetCSObj(L, 1); - System.Action gen_delegate = translator.GetDelegate>(L, 3); - if (gen_delegate == null) { - return LuaAPI.luaL_error(L, "#3 need System.Action!"); - } - - if (gen_param_count == 3) - { - - if (LuaAPI.xlua_is_eq_str(L, 2, "+")) { - gen_to_be_invoked.OnAdShowFailed += gen_delegate; - return 0; - } - - - if (LuaAPI.xlua_is_eq_str(L, 2, "-")) { - gen_to_be_invoked.OnAdShowFailed -= gen_delegate; - return 0; - } - - } - } catch(System.Exception gen_e) { - return LuaAPI.luaL_error(L, "c# exception:" + gen_e); - } - LuaAPI.luaL_error(L, "invalid arguments to IronSourceInterstitialLevelPlayAndroid.OnAdShowFailed!"); - return 0; - } - - [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] - static int _e_OnAdLoadFailed(RealStatePtr L) - { - try { - ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); - int gen_param_count = LuaAPI.lua_gettop(L); - IronSourceInterstitialLevelPlayAndroid gen_to_be_invoked = (IronSourceInterstitialLevelPlayAndroid)translator.FastGetCSObj(L, 1); - System.Action gen_delegate = translator.GetDelegate>(L, 3); - if (gen_delegate == null) { - return LuaAPI.luaL_error(L, "#3 need System.Action!"); - } - - if (gen_param_count == 3) - { - - if (LuaAPI.xlua_is_eq_str(L, 2, "+")) { - gen_to_be_invoked.OnAdLoadFailed += gen_delegate; - return 0; - } - - - if (LuaAPI.xlua_is_eq_str(L, 2, "-")) { - gen_to_be_invoked.OnAdLoadFailed -= gen_delegate; - return 0; - } - - } - } catch(System.Exception gen_e) { - return LuaAPI.luaL_error(L, "c# exception:" + gen_e); - } - LuaAPI.luaL_error(L, "invalid arguments to IronSourceInterstitialLevelPlayAndroid.OnAdLoadFailed!"); - return 0; - } - - [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] - static int _e_OnAdReady(RealStatePtr L) - { - try { - ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); - int gen_param_count = LuaAPI.lua_gettop(L); - IronSourceInterstitialLevelPlayAndroid gen_to_be_invoked = (IronSourceInterstitialLevelPlayAndroid)translator.FastGetCSObj(L, 1); - System.Action gen_delegate = translator.GetDelegate>(L, 3); - if (gen_delegate == null) { - return LuaAPI.luaL_error(L, "#3 need System.Action!"); - } - - if (gen_param_count == 3) - { - - if (LuaAPI.xlua_is_eq_str(L, 2, "+")) { - gen_to_be_invoked.OnAdReady += gen_delegate; - return 0; - } - - - if (LuaAPI.xlua_is_eq_str(L, 2, "-")) { - gen_to_be_invoked.OnAdReady -= gen_delegate; - return 0; - } - - } - } catch(System.Exception gen_e) { - return LuaAPI.luaL_error(L, "c# exception:" + gen_e); - } - LuaAPI.luaL_error(L, "invalid arguments to IronSourceInterstitialLevelPlayAndroid.OnAdReady!"); - return 0; - } - - [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] - static int _e_OnAdOpened(RealStatePtr L) - { - try { - ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); - int gen_param_count = LuaAPI.lua_gettop(L); - IronSourceInterstitialLevelPlayAndroid gen_to_be_invoked = (IronSourceInterstitialLevelPlayAndroid)translator.FastGetCSObj(L, 1); - System.Action gen_delegate = translator.GetDelegate>(L, 3); - if (gen_delegate == null) { - return LuaAPI.luaL_error(L, "#3 need System.Action!"); - } - - if (gen_param_count == 3) - { - - if (LuaAPI.xlua_is_eq_str(L, 2, "+")) { - gen_to_be_invoked.OnAdOpened += gen_delegate; - return 0; - } - - - if (LuaAPI.xlua_is_eq_str(L, 2, "-")) { - gen_to_be_invoked.OnAdOpened -= gen_delegate; - return 0; - } - - } - } catch(System.Exception gen_e) { - return LuaAPI.luaL_error(L, "c# exception:" + gen_e); - } - LuaAPI.luaL_error(L, "invalid arguments to IronSourceInterstitialLevelPlayAndroid.OnAdOpened!"); - return 0; - } - - [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] - static int _e_OnAdClosed(RealStatePtr L) - { - try { - ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); - int gen_param_count = LuaAPI.lua_gettop(L); - IronSourceInterstitialLevelPlayAndroid gen_to_be_invoked = (IronSourceInterstitialLevelPlayAndroid)translator.FastGetCSObj(L, 1); - System.Action gen_delegate = translator.GetDelegate>(L, 3); - if (gen_delegate == null) { - return LuaAPI.luaL_error(L, "#3 need System.Action!"); - } - - if (gen_param_count == 3) - { - - if (LuaAPI.xlua_is_eq_str(L, 2, "+")) { - gen_to_be_invoked.OnAdClosed += gen_delegate; - return 0; - } - - - if (LuaAPI.xlua_is_eq_str(L, 2, "-")) { - gen_to_be_invoked.OnAdClosed -= gen_delegate; - return 0; - } - - } - } catch(System.Exception gen_e) { - return LuaAPI.luaL_error(L, "c# exception:" + gen_e); - } - LuaAPI.luaL_error(L, "invalid arguments to IronSourceInterstitialLevelPlayAndroid.OnAdClosed!"); - return 0; - } - - [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] - static int _e_OnAdShowSucceeded(RealStatePtr L) - { - try { - ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); - int gen_param_count = LuaAPI.lua_gettop(L); - IronSourceInterstitialLevelPlayAndroid gen_to_be_invoked = (IronSourceInterstitialLevelPlayAndroid)translator.FastGetCSObj(L, 1); - System.Action gen_delegate = translator.GetDelegate>(L, 3); - if (gen_delegate == null) { - return LuaAPI.luaL_error(L, "#3 need System.Action!"); - } - - if (gen_param_count == 3) - { - - if (LuaAPI.xlua_is_eq_str(L, 2, "+")) { - gen_to_be_invoked.OnAdShowSucceeded += gen_delegate; - return 0; - } - - - if (LuaAPI.xlua_is_eq_str(L, 2, "-")) { - gen_to_be_invoked.OnAdShowSucceeded -= gen_delegate; - return 0; - } - - } - } catch(System.Exception gen_e) { - return LuaAPI.luaL_error(L, "c# exception:" + gen_e); - } - LuaAPI.luaL_error(L, "invalid arguments to IronSourceInterstitialLevelPlayAndroid.OnAdShowSucceeded!"); - return 0; - } - - [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] - static int _e_OnAdClicked(RealStatePtr L) - { - try { - ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); - int gen_param_count = LuaAPI.lua_gettop(L); - IronSourceInterstitialLevelPlayAndroid gen_to_be_invoked = (IronSourceInterstitialLevelPlayAndroid)translator.FastGetCSObj(L, 1); - System.Action gen_delegate = translator.GetDelegate>(L, 3); - if (gen_delegate == null) { - return LuaAPI.luaL_error(L, "#3 need System.Action!"); - } - - if (gen_param_count == 3) - { - - if (LuaAPI.xlua_is_eq_str(L, 2, "+")) { - gen_to_be_invoked.OnAdClicked += gen_delegate; - return 0; - } - - - if (LuaAPI.xlua_is_eq_str(L, 2, "-")) { - gen_to_be_invoked.OnAdClicked -= gen_delegate; - return 0; - } - - } - } catch(System.Exception gen_e) { - return LuaAPI.luaL_error(L, "c# exception:" + gen_e); - } - LuaAPI.luaL_error(L, "invalid arguments to IronSourceInterstitialLevelPlayAndroid.OnAdClicked!"); - return 0; - } - - - - } -} diff --git a/Assets/XLua/Gen/IronSourceOfferwallAndroidWrap.cs b/Assets/XLua/Gen/IronSourceOfferwallAndroidWrap.cs deleted file mode 100644 index bf4e1a258..000000000 --- a/Assets/XLua/Gen/IronSourceOfferwallAndroidWrap.cs +++ /dev/null @@ -1,466 +0,0 @@ -#if USE_UNI_LUA -using LuaAPI = UniLua.Lua; -using RealStatePtr = UniLua.ILuaState; -using LuaCSFunction = UniLua.CSharpFunctionDelegate; -#else -using LuaAPI = XLua.LuaDLL.Lua; -using RealStatePtr = System.IntPtr; -using LuaCSFunction = XLua.LuaDLL.lua_CSFunction; -#endif - -using XLua; -using System.Collections.Generic; - - -namespace XLua.CSObjectWrap -{ - using Utils = XLua.Utils; - public class IronSourceOfferwallAndroidWrap - { - public static void __Register(RealStatePtr L) - { - ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); - System.Type type = typeof(IronSourceOfferwallAndroid); - Utils.BeginObjectRegister(type, L, translator, 0, 12, 0, 0); - - Utils.RegisterFunc(L, Utils.METHOD_IDX, "onOfferwallOpened", _m_onOfferwallOpened); - Utils.RegisterFunc(L, Utils.METHOD_IDX, "onOfferwallShowFailed", _m_onOfferwallShowFailed); - Utils.RegisterFunc(L, Utils.METHOD_IDX, "onOfferwallClosed", _m_onOfferwallClosed); - Utils.RegisterFunc(L, Utils.METHOD_IDX, "onGetOfferwallCreditsFailed", _m_onGetOfferwallCreditsFailed); - Utils.RegisterFunc(L, Utils.METHOD_IDX, "onOfferwallAdCredited", _m_onOfferwallAdCredited); - Utils.RegisterFunc(L, Utils.METHOD_IDX, "onOfferwallAvailable", _m_onOfferwallAvailable); - - Utils.RegisterFunc(L, Utils.METHOD_IDX, "OnOfferwallShowFailed", _e_OnOfferwallShowFailed); - Utils.RegisterFunc(L, Utils.METHOD_IDX, "OnOfferwallOpened", _e_OnOfferwallOpened); - Utils.RegisterFunc(L, Utils.METHOD_IDX, "OnOfferwallClosed", _e_OnOfferwallClosed); - Utils.RegisterFunc(L, Utils.METHOD_IDX, "OnGetOfferwallCreditsFailed", _e_OnGetOfferwallCreditsFailed); - Utils.RegisterFunc(L, Utils.METHOD_IDX, "OnOfferwallAdCredited", _e_OnOfferwallAdCredited); - Utils.RegisterFunc(L, Utils.METHOD_IDX, "OnOfferwallAvailable", _e_OnOfferwallAvailable); - - - - - Utils.EndObjectRegister(type, L, translator, null, null, - null, null, null); - - Utils.BeginClassRegister(type, L, __CreateInstance, 1, 0, 0); - - - - - - - Utils.EndClassRegister(type, L, translator); - } - - [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] - static int __CreateInstance(RealStatePtr L) - { - - try { - ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); - if(LuaAPI.lua_gettop(L) == 1) - { - - var gen_ret = new IronSourceOfferwallAndroid(); - translator.Push(L, gen_ret); - - return 1; - } - - } - catch(System.Exception gen_e) { - return LuaAPI.luaL_error(L, "c# exception:" + gen_e); - } - return LuaAPI.luaL_error(L, "invalid arguments to IronSourceOfferwallAndroid constructor!"); - - } - - - - - - - - - [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] - static int _m_onOfferwallOpened(RealStatePtr L) - { - try { - - ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); - - - IronSourceOfferwallAndroid gen_to_be_invoked = (IronSourceOfferwallAndroid)translator.FastGetCSObj(L, 1); - - - - { - - gen_to_be_invoked.onOfferwallOpened( ); - - - - return 0; - } - - } catch(System.Exception gen_e) { - return LuaAPI.luaL_error(L, "c# exception:" + gen_e); - } - - } - - [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] - static int _m_onOfferwallShowFailed(RealStatePtr L) - { - try { - - ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); - - - IronSourceOfferwallAndroid gen_to_be_invoked = (IronSourceOfferwallAndroid)translator.FastGetCSObj(L, 1); - - - - { - string _description = LuaAPI.lua_tostring(L, 2); - - gen_to_be_invoked.onOfferwallShowFailed( _description ); - - - - return 0; - } - - } catch(System.Exception gen_e) { - return LuaAPI.luaL_error(L, "c# exception:" + gen_e); - } - - } - - [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] - static int _m_onOfferwallClosed(RealStatePtr L) - { - try { - - ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); - - - IronSourceOfferwallAndroid gen_to_be_invoked = (IronSourceOfferwallAndroid)translator.FastGetCSObj(L, 1); - - - - { - - gen_to_be_invoked.onOfferwallClosed( ); - - - - return 0; - } - - } catch(System.Exception gen_e) { - return LuaAPI.luaL_error(L, "c# exception:" + gen_e); - } - - } - - [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] - static int _m_onGetOfferwallCreditsFailed(RealStatePtr L) - { - try { - - ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); - - - IronSourceOfferwallAndroid gen_to_be_invoked = (IronSourceOfferwallAndroid)translator.FastGetCSObj(L, 1); - - - - { - string _description = LuaAPI.lua_tostring(L, 2); - - gen_to_be_invoked.onGetOfferwallCreditsFailed( _description ); - - - - return 0; - } - - } catch(System.Exception gen_e) { - return LuaAPI.luaL_error(L, "c# exception:" + gen_e); - } - - } - - [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] - static int _m_onOfferwallAdCredited(RealStatePtr L) - { - try { - - ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); - - - IronSourceOfferwallAndroid gen_to_be_invoked = (IronSourceOfferwallAndroid)translator.FastGetCSObj(L, 1); - - - - { - string _json = LuaAPI.lua_tostring(L, 2); - - gen_to_be_invoked.onOfferwallAdCredited( _json ); - - - - return 0; - } - - } catch(System.Exception gen_e) { - return LuaAPI.luaL_error(L, "c# exception:" + gen_e); - } - - } - - [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] - static int _m_onOfferwallAvailable(RealStatePtr L) - { - try { - - ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); - - - IronSourceOfferwallAndroid gen_to_be_invoked = (IronSourceOfferwallAndroid)translator.FastGetCSObj(L, 1); - - - - { - string _stringAvailable = LuaAPI.lua_tostring(L, 2); - - gen_to_be_invoked.onOfferwallAvailable( _stringAvailable ); - - - - return 0; - } - - } catch(System.Exception gen_e) { - return LuaAPI.luaL_error(L, "c# exception:" + gen_e); - } - - } - - - - - - - - - [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] - static int _e_OnOfferwallShowFailed(RealStatePtr L) - { - try { - ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); - int gen_param_count = LuaAPI.lua_gettop(L); - IronSourceOfferwallAndroid gen_to_be_invoked = (IronSourceOfferwallAndroid)translator.FastGetCSObj(L, 1); - System.Action gen_delegate = translator.GetDelegate>(L, 3); - if (gen_delegate == null) { - return LuaAPI.luaL_error(L, "#3 need System.Action!"); - } - - if (gen_param_count == 3) - { - - if (LuaAPI.xlua_is_eq_str(L, 2, "+")) { - gen_to_be_invoked.OnOfferwallShowFailed += gen_delegate; - return 0; - } - - - if (LuaAPI.xlua_is_eq_str(L, 2, "-")) { - gen_to_be_invoked.OnOfferwallShowFailed -= gen_delegate; - return 0; - } - - } - } catch(System.Exception gen_e) { - return LuaAPI.luaL_error(L, "c# exception:" + gen_e); - } - LuaAPI.luaL_error(L, "invalid arguments to IronSourceOfferwallAndroid.OnOfferwallShowFailed!"); - return 0; - } - - [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] - static int _e_OnOfferwallOpened(RealStatePtr L) - { - try { - ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); - int gen_param_count = LuaAPI.lua_gettop(L); - IronSourceOfferwallAndroid gen_to_be_invoked = (IronSourceOfferwallAndroid)translator.FastGetCSObj(L, 1); - System.Action gen_delegate = translator.GetDelegate(L, 3); - if (gen_delegate == null) { - return LuaAPI.luaL_error(L, "#3 need System.Action!"); - } - - if (gen_param_count == 3) - { - - if (LuaAPI.xlua_is_eq_str(L, 2, "+")) { - gen_to_be_invoked.OnOfferwallOpened += gen_delegate; - return 0; - } - - - if (LuaAPI.xlua_is_eq_str(L, 2, "-")) { - gen_to_be_invoked.OnOfferwallOpened -= gen_delegate; - return 0; - } - - } - } catch(System.Exception gen_e) { - return LuaAPI.luaL_error(L, "c# exception:" + gen_e); - } - LuaAPI.luaL_error(L, "invalid arguments to IronSourceOfferwallAndroid.OnOfferwallOpened!"); - return 0; - } - - [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] - static int _e_OnOfferwallClosed(RealStatePtr L) - { - try { - ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); - int gen_param_count = LuaAPI.lua_gettop(L); - IronSourceOfferwallAndroid gen_to_be_invoked = (IronSourceOfferwallAndroid)translator.FastGetCSObj(L, 1); - System.Action gen_delegate = translator.GetDelegate(L, 3); - if (gen_delegate == null) { - return LuaAPI.luaL_error(L, "#3 need System.Action!"); - } - - if (gen_param_count == 3) - { - - if (LuaAPI.xlua_is_eq_str(L, 2, "+")) { - gen_to_be_invoked.OnOfferwallClosed += gen_delegate; - return 0; - } - - - if (LuaAPI.xlua_is_eq_str(L, 2, "-")) { - gen_to_be_invoked.OnOfferwallClosed -= gen_delegate; - return 0; - } - - } - } catch(System.Exception gen_e) { - return LuaAPI.luaL_error(L, "c# exception:" + gen_e); - } - LuaAPI.luaL_error(L, "invalid arguments to IronSourceOfferwallAndroid.OnOfferwallClosed!"); - return 0; - } - - [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] - static int _e_OnGetOfferwallCreditsFailed(RealStatePtr L) - { - try { - ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); - int gen_param_count = LuaAPI.lua_gettop(L); - IronSourceOfferwallAndroid gen_to_be_invoked = (IronSourceOfferwallAndroid)translator.FastGetCSObj(L, 1); - System.Action gen_delegate = translator.GetDelegate>(L, 3); - if (gen_delegate == null) { - return LuaAPI.luaL_error(L, "#3 need System.Action!"); - } - - if (gen_param_count == 3) - { - - if (LuaAPI.xlua_is_eq_str(L, 2, "+")) { - gen_to_be_invoked.OnGetOfferwallCreditsFailed += gen_delegate; - return 0; - } - - - if (LuaAPI.xlua_is_eq_str(L, 2, "-")) { - gen_to_be_invoked.OnGetOfferwallCreditsFailed -= gen_delegate; - return 0; - } - - } - } catch(System.Exception gen_e) { - return LuaAPI.luaL_error(L, "c# exception:" + gen_e); - } - LuaAPI.luaL_error(L, "invalid arguments to IronSourceOfferwallAndroid.OnGetOfferwallCreditsFailed!"); - return 0; - } - - [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] - static int _e_OnOfferwallAdCredited(RealStatePtr L) - { - try { - ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); - int gen_param_count = LuaAPI.lua_gettop(L); - IronSourceOfferwallAndroid gen_to_be_invoked = (IronSourceOfferwallAndroid)translator.FastGetCSObj(L, 1); - System.Action> gen_delegate = translator.GetDelegate>>(L, 3); - if (gen_delegate == null) { - return LuaAPI.luaL_error(L, "#3 need System.Action>!"); - } - - if (gen_param_count == 3) - { - - if (LuaAPI.xlua_is_eq_str(L, 2, "+")) { - gen_to_be_invoked.OnOfferwallAdCredited += gen_delegate; - return 0; - } - - - if (LuaAPI.xlua_is_eq_str(L, 2, "-")) { - gen_to_be_invoked.OnOfferwallAdCredited -= gen_delegate; - return 0; - } - - } - } catch(System.Exception gen_e) { - return LuaAPI.luaL_error(L, "c# exception:" + gen_e); - } - LuaAPI.luaL_error(L, "invalid arguments to IronSourceOfferwallAndroid.OnOfferwallAdCredited!"); - return 0; - } - - [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] - static int _e_OnOfferwallAvailable(RealStatePtr L) - { - try { - ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); - int gen_param_count = LuaAPI.lua_gettop(L); - IronSourceOfferwallAndroid gen_to_be_invoked = (IronSourceOfferwallAndroid)translator.FastGetCSObj(L, 1); - System.Action gen_delegate = translator.GetDelegate>(L, 3); - if (gen_delegate == null) { - return LuaAPI.luaL_error(L, "#3 need System.Action!"); - } - - if (gen_param_count == 3) - { - - if (LuaAPI.xlua_is_eq_str(L, 2, "+")) { - gen_to_be_invoked.OnOfferwallAvailable += gen_delegate; - return 0; - } - - - if (LuaAPI.xlua_is_eq_str(L, 2, "-")) { - gen_to_be_invoked.OnOfferwallAvailable -= gen_delegate; - return 0; - } - - } - } catch(System.Exception gen_e) { - return LuaAPI.luaL_error(L, "c# exception:" + gen_e); - } - LuaAPI.luaL_error(L, "invalid arguments to IronSourceOfferwallAndroid.OnOfferwallAvailable!"); - return 0; - } - - - - } -} diff --git a/Assets/XLua/Gen/IronSourceRewardedVideoAndroidWrap.cs b/Assets/XLua/Gen/IronSourceRewardedVideoAndroidWrap.cs deleted file mode 100644 index 008c5187b..000000000 --- a/Assets/XLua/Gen/IronSourceRewardedVideoAndroidWrap.cs +++ /dev/null @@ -1,609 +0,0 @@ -#if USE_UNI_LUA -using LuaAPI = UniLua.Lua; -using RealStatePtr = UniLua.ILuaState; -using LuaCSFunction = UniLua.CSharpFunctionDelegate; -#else -using LuaAPI = XLua.LuaDLL.Lua; -using RealStatePtr = System.IntPtr; -using LuaCSFunction = XLua.LuaDLL.lua_CSFunction; -#endif - -using XLua; -using System.Collections.Generic; - - -namespace XLua.CSObjectWrap -{ - using Utils = XLua.Utils; - public class IronSourceRewardedVideoAndroidWrap - { - public static void __Register(RealStatePtr L) - { - ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); - System.Type type = typeof(IronSourceRewardedVideoAndroid); - Utils.BeginObjectRegister(type, L, translator, 0, 15, 0, 0); - - - Utils.RegisterFunc(L, Utils.METHOD_IDX, "OnRewardedVideoAdShowFailed", _e_OnRewardedVideoAdShowFailed); - Utils.RegisterFunc(L, Utils.METHOD_IDX, "OnRewardedVideoAdOpened", _e_OnRewardedVideoAdOpened); - Utils.RegisterFunc(L, Utils.METHOD_IDX, "OnRewardedVideoAdClosed", _e_OnRewardedVideoAdClosed); - Utils.RegisterFunc(L, Utils.METHOD_IDX, "OnRewardedVideoAdStarted", _e_OnRewardedVideoAdStarted); - Utils.RegisterFunc(L, Utils.METHOD_IDX, "OnRewardedVideoAdEnded", _e_OnRewardedVideoAdEnded); - Utils.RegisterFunc(L, Utils.METHOD_IDX, "OnRewardedVideoAdRewarded", _e_OnRewardedVideoAdRewarded); - Utils.RegisterFunc(L, Utils.METHOD_IDX, "OnRewardedVideoAdClicked", _e_OnRewardedVideoAdClicked); - Utils.RegisterFunc(L, Utils.METHOD_IDX, "OnRewardedVideoAvailabilityChanged", _e_OnRewardedVideoAvailabilityChanged); - Utils.RegisterFunc(L, Utils.METHOD_IDX, "OnRewardedVideoAdOpenedDemandOnlyEvent", _e_OnRewardedVideoAdOpenedDemandOnlyEvent); - Utils.RegisterFunc(L, Utils.METHOD_IDX, "OnRewardedVideoAdClosedDemandOnlyEvent", _e_OnRewardedVideoAdClosedDemandOnlyEvent); - Utils.RegisterFunc(L, Utils.METHOD_IDX, "OnRewardedVideoAdLoadedDemandOnlyEvent", _e_OnRewardedVideoAdLoadedDemandOnlyEvent); - Utils.RegisterFunc(L, Utils.METHOD_IDX, "OnRewardedVideoAdRewardedDemandOnlyEvent", _e_OnRewardedVideoAdRewardedDemandOnlyEvent); - Utils.RegisterFunc(L, Utils.METHOD_IDX, "OnRewardedVideoAdShowFailedDemandOnlyEvent", _e_OnRewardedVideoAdShowFailedDemandOnlyEvent); - Utils.RegisterFunc(L, Utils.METHOD_IDX, "OnRewardedVideoAdClickedDemandOnlyEvent", _e_OnRewardedVideoAdClickedDemandOnlyEvent); - Utils.RegisterFunc(L, Utils.METHOD_IDX, "OnRewardedVideoAdLoadFailedDemandOnlyEvent", _e_OnRewardedVideoAdLoadFailedDemandOnlyEvent); - - - - - Utils.EndObjectRegister(type, L, translator, null, null, - null, null, null); - - Utils.BeginClassRegister(type, L, __CreateInstance, 1, 0, 0); - - - - - - - Utils.EndClassRegister(type, L, translator); - } - - [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] - static int __CreateInstance(RealStatePtr L) - { - - try { - ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); - if(LuaAPI.lua_gettop(L) == 1) - { - - var gen_ret = new IronSourceRewardedVideoAndroid(); - translator.Push(L, gen_ret); - - return 1; - } - - } - catch(System.Exception gen_e) { - return LuaAPI.luaL_error(L, "c# exception:" + gen_e); - } - return LuaAPI.luaL_error(L, "invalid arguments to IronSourceRewardedVideoAndroid constructor!"); - - } - - - - - - - - - - - - - - - - [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] - static int _e_OnRewardedVideoAdShowFailed(RealStatePtr L) - { - try { - ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); - int gen_param_count = LuaAPI.lua_gettop(L); - IronSourceRewardedVideoAndroid gen_to_be_invoked = (IronSourceRewardedVideoAndroid)translator.FastGetCSObj(L, 1); - System.Action gen_delegate = translator.GetDelegate>(L, 3); - if (gen_delegate == null) { - return LuaAPI.luaL_error(L, "#3 need System.Action!"); - } - - if (gen_param_count == 3) - { - - if (LuaAPI.xlua_is_eq_str(L, 2, "+")) { - gen_to_be_invoked.OnRewardedVideoAdShowFailed += gen_delegate; - return 0; - } - - - if (LuaAPI.xlua_is_eq_str(L, 2, "-")) { - gen_to_be_invoked.OnRewardedVideoAdShowFailed -= gen_delegate; - return 0; - } - - } - } catch(System.Exception gen_e) { - return LuaAPI.luaL_error(L, "c# exception:" + gen_e); - } - LuaAPI.luaL_error(L, "invalid arguments to IronSourceRewardedVideoAndroid.OnRewardedVideoAdShowFailed!"); - return 0; - } - - [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] - static int _e_OnRewardedVideoAdOpened(RealStatePtr L) - { - try { - ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); - int gen_param_count = LuaAPI.lua_gettop(L); - IronSourceRewardedVideoAndroid gen_to_be_invoked = (IronSourceRewardedVideoAndroid)translator.FastGetCSObj(L, 1); - System.Action gen_delegate = translator.GetDelegate(L, 3); - if (gen_delegate == null) { - return LuaAPI.luaL_error(L, "#3 need System.Action!"); - } - - if (gen_param_count == 3) - { - - if (LuaAPI.xlua_is_eq_str(L, 2, "+")) { - gen_to_be_invoked.OnRewardedVideoAdOpened += gen_delegate; - return 0; - } - - - if (LuaAPI.xlua_is_eq_str(L, 2, "-")) { - gen_to_be_invoked.OnRewardedVideoAdOpened -= gen_delegate; - return 0; - } - - } - } catch(System.Exception gen_e) { - return LuaAPI.luaL_error(L, "c# exception:" + gen_e); - } - LuaAPI.luaL_error(L, "invalid arguments to IronSourceRewardedVideoAndroid.OnRewardedVideoAdOpened!"); - return 0; - } - - [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] - static int _e_OnRewardedVideoAdClosed(RealStatePtr L) - { - try { - ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); - int gen_param_count = LuaAPI.lua_gettop(L); - IronSourceRewardedVideoAndroid gen_to_be_invoked = (IronSourceRewardedVideoAndroid)translator.FastGetCSObj(L, 1); - System.Action gen_delegate = translator.GetDelegate(L, 3); - if (gen_delegate == null) { - return LuaAPI.luaL_error(L, "#3 need System.Action!"); - } - - if (gen_param_count == 3) - { - - if (LuaAPI.xlua_is_eq_str(L, 2, "+")) { - gen_to_be_invoked.OnRewardedVideoAdClosed += gen_delegate; - return 0; - } - - - if (LuaAPI.xlua_is_eq_str(L, 2, "-")) { - gen_to_be_invoked.OnRewardedVideoAdClosed -= gen_delegate; - return 0; - } - - } - } catch(System.Exception gen_e) { - return LuaAPI.luaL_error(L, "c# exception:" + gen_e); - } - LuaAPI.luaL_error(L, "invalid arguments to IronSourceRewardedVideoAndroid.OnRewardedVideoAdClosed!"); - return 0; - } - - [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] - static int _e_OnRewardedVideoAdStarted(RealStatePtr L) - { - try { - ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); - int gen_param_count = LuaAPI.lua_gettop(L); - IronSourceRewardedVideoAndroid gen_to_be_invoked = (IronSourceRewardedVideoAndroid)translator.FastGetCSObj(L, 1); - System.Action gen_delegate = translator.GetDelegate(L, 3); - if (gen_delegate == null) { - return LuaAPI.luaL_error(L, "#3 need System.Action!"); - } - - if (gen_param_count == 3) - { - - if (LuaAPI.xlua_is_eq_str(L, 2, "+")) { - gen_to_be_invoked.OnRewardedVideoAdStarted += gen_delegate; - return 0; - } - - - if (LuaAPI.xlua_is_eq_str(L, 2, "-")) { - gen_to_be_invoked.OnRewardedVideoAdStarted -= gen_delegate; - return 0; - } - - } - } catch(System.Exception gen_e) { - return LuaAPI.luaL_error(L, "c# exception:" + gen_e); - } - LuaAPI.luaL_error(L, "invalid arguments to IronSourceRewardedVideoAndroid.OnRewardedVideoAdStarted!"); - return 0; - } - - [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] - static int _e_OnRewardedVideoAdEnded(RealStatePtr L) - { - try { - ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); - int gen_param_count = LuaAPI.lua_gettop(L); - IronSourceRewardedVideoAndroid gen_to_be_invoked = (IronSourceRewardedVideoAndroid)translator.FastGetCSObj(L, 1); - System.Action gen_delegate = translator.GetDelegate(L, 3); - if (gen_delegate == null) { - return LuaAPI.luaL_error(L, "#3 need System.Action!"); - } - - if (gen_param_count == 3) - { - - if (LuaAPI.xlua_is_eq_str(L, 2, "+")) { - gen_to_be_invoked.OnRewardedVideoAdEnded += gen_delegate; - return 0; - } - - - if (LuaAPI.xlua_is_eq_str(L, 2, "-")) { - gen_to_be_invoked.OnRewardedVideoAdEnded -= gen_delegate; - return 0; - } - - } - } catch(System.Exception gen_e) { - return LuaAPI.luaL_error(L, "c# exception:" + gen_e); - } - LuaAPI.luaL_error(L, "invalid arguments to IronSourceRewardedVideoAndroid.OnRewardedVideoAdEnded!"); - return 0; - } - - [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] - static int _e_OnRewardedVideoAdRewarded(RealStatePtr L) - { - try { - ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); - int gen_param_count = LuaAPI.lua_gettop(L); - IronSourceRewardedVideoAndroid gen_to_be_invoked = (IronSourceRewardedVideoAndroid)translator.FastGetCSObj(L, 1); - System.Action gen_delegate = translator.GetDelegate>(L, 3); - if (gen_delegate == null) { - return LuaAPI.luaL_error(L, "#3 need System.Action!"); - } - - if (gen_param_count == 3) - { - - if (LuaAPI.xlua_is_eq_str(L, 2, "+")) { - gen_to_be_invoked.OnRewardedVideoAdRewarded += gen_delegate; - return 0; - } - - - if (LuaAPI.xlua_is_eq_str(L, 2, "-")) { - gen_to_be_invoked.OnRewardedVideoAdRewarded -= gen_delegate; - return 0; - } - - } - } catch(System.Exception gen_e) { - return LuaAPI.luaL_error(L, "c# exception:" + gen_e); - } - LuaAPI.luaL_error(L, "invalid arguments to IronSourceRewardedVideoAndroid.OnRewardedVideoAdRewarded!"); - return 0; - } - - [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] - static int _e_OnRewardedVideoAdClicked(RealStatePtr L) - { - try { - ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); - int gen_param_count = LuaAPI.lua_gettop(L); - IronSourceRewardedVideoAndroid gen_to_be_invoked = (IronSourceRewardedVideoAndroid)translator.FastGetCSObj(L, 1); - System.Action gen_delegate = translator.GetDelegate>(L, 3); - if (gen_delegate == null) { - return LuaAPI.luaL_error(L, "#3 need System.Action!"); - } - - if (gen_param_count == 3) - { - - if (LuaAPI.xlua_is_eq_str(L, 2, "+")) { - gen_to_be_invoked.OnRewardedVideoAdClicked += gen_delegate; - return 0; - } - - - if (LuaAPI.xlua_is_eq_str(L, 2, "-")) { - gen_to_be_invoked.OnRewardedVideoAdClicked -= gen_delegate; - return 0; - } - - } - } catch(System.Exception gen_e) { - return LuaAPI.luaL_error(L, "c# exception:" + gen_e); - } - LuaAPI.luaL_error(L, "invalid arguments to IronSourceRewardedVideoAndroid.OnRewardedVideoAdClicked!"); - return 0; - } - - [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] - static int _e_OnRewardedVideoAvailabilityChanged(RealStatePtr L) - { - try { - ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); - int gen_param_count = LuaAPI.lua_gettop(L); - IronSourceRewardedVideoAndroid gen_to_be_invoked = (IronSourceRewardedVideoAndroid)translator.FastGetCSObj(L, 1); - System.Action gen_delegate = translator.GetDelegate>(L, 3); - if (gen_delegate == null) { - return LuaAPI.luaL_error(L, "#3 need System.Action!"); - } - - if (gen_param_count == 3) - { - - if (LuaAPI.xlua_is_eq_str(L, 2, "+")) { - gen_to_be_invoked.OnRewardedVideoAvailabilityChanged += gen_delegate; - return 0; - } - - - if (LuaAPI.xlua_is_eq_str(L, 2, "-")) { - gen_to_be_invoked.OnRewardedVideoAvailabilityChanged -= gen_delegate; - return 0; - } - - } - } catch(System.Exception gen_e) { - return LuaAPI.luaL_error(L, "c# exception:" + gen_e); - } - LuaAPI.luaL_error(L, "invalid arguments to IronSourceRewardedVideoAndroid.OnRewardedVideoAvailabilityChanged!"); - return 0; - } - - [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] - static int _e_OnRewardedVideoAdOpenedDemandOnlyEvent(RealStatePtr L) - { - try { - ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); - int gen_param_count = LuaAPI.lua_gettop(L); - IronSourceRewardedVideoAndroid gen_to_be_invoked = (IronSourceRewardedVideoAndroid)translator.FastGetCSObj(L, 1); - System.Action gen_delegate = translator.GetDelegate>(L, 3); - if (gen_delegate == null) { - return LuaAPI.luaL_error(L, "#3 need System.Action!"); - } - - if (gen_param_count == 3) - { - - if (LuaAPI.xlua_is_eq_str(L, 2, "+")) { - gen_to_be_invoked.OnRewardedVideoAdOpenedDemandOnlyEvent += gen_delegate; - return 0; - } - - - if (LuaAPI.xlua_is_eq_str(L, 2, "-")) { - gen_to_be_invoked.OnRewardedVideoAdOpenedDemandOnlyEvent -= gen_delegate; - return 0; - } - - } - } catch(System.Exception gen_e) { - return LuaAPI.luaL_error(L, "c# exception:" + gen_e); - } - LuaAPI.luaL_error(L, "invalid arguments to IronSourceRewardedVideoAndroid.OnRewardedVideoAdOpenedDemandOnlyEvent!"); - return 0; - } - - [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] - static int _e_OnRewardedVideoAdClosedDemandOnlyEvent(RealStatePtr L) - { - try { - ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); - int gen_param_count = LuaAPI.lua_gettop(L); - IronSourceRewardedVideoAndroid gen_to_be_invoked = (IronSourceRewardedVideoAndroid)translator.FastGetCSObj(L, 1); - System.Action gen_delegate = translator.GetDelegate>(L, 3); - if (gen_delegate == null) { - return LuaAPI.luaL_error(L, "#3 need System.Action!"); - } - - if (gen_param_count == 3) - { - - if (LuaAPI.xlua_is_eq_str(L, 2, "+")) { - gen_to_be_invoked.OnRewardedVideoAdClosedDemandOnlyEvent += gen_delegate; - return 0; - } - - - if (LuaAPI.xlua_is_eq_str(L, 2, "-")) { - gen_to_be_invoked.OnRewardedVideoAdClosedDemandOnlyEvent -= gen_delegate; - return 0; - } - - } - } catch(System.Exception gen_e) { - return LuaAPI.luaL_error(L, "c# exception:" + gen_e); - } - LuaAPI.luaL_error(L, "invalid arguments to IronSourceRewardedVideoAndroid.OnRewardedVideoAdClosedDemandOnlyEvent!"); - return 0; - } - - [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] - static int _e_OnRewardedVideoAdLoadedDemandOnlyEvent(RealStatePtr L) - { - try { - ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); - int gen_param_count = LuaAPI.lua_gettop(L); - IronSourceRewardedVideoAndroid gen_to_be_invoked = (IronSourceRewardedVideoAndroid)translator.FastGetCSObj(L, 1); - System.Action gen_delegate = translator.GetDelegate>(L, 3); - if (gen_delegate == null) { - return LuaAPI.luaL_error(L, "#3 need System.Action!"); - } - - if (gen_param_count == 3) - { - - if (LuaAPI.xlua_is_eq_str(L, 2, "+")) { - gen_to_be_invoked.OnRewardedVideoAdLoadedDemandOnlyEvent += gen_delegate; - return 0; - } - - - if (LuaAPI.xlua_is_eq_str(L, 2, "-")) { - gen_to_be_invoked.OnRewardedVideoAdLoadedDemandOnlyEvent -= gen_delegate; - return 0; - } - - } - } catch(System.Exception gen_e) { - return LuaAPI.luaL_error(L, "c# exception:" + gen_e); - } - LuaAPI.luaL_error(L, "invalid arguments to IronSourceRewardedVideoAndroid.OnRewardedVideoAdLoadedDemandOnlyEvent!"); - return 0; - } - - [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] - static int _e_OnRewardedVideoAdRewardedDemandOnlyEvent(RealStatePtr L) - { - try { - ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); - int gen_param_count = LuaAPI.lua_gettop(L); - IronSourceRewardedVideoAndroid gen_to_be_invoked = (IronSourceRewardedVideoAndroid)translator.FastGetCSObj(L, 1); - System.Action gen_delegate = translator.GetDelegate>(L, 3); - if (gen_delegate == null) { - return LuaAPI.luaL_error(L, "#3 need System.Action!"); - } - - if (gen_param_count == 3) - { - - if (LuaAPI.xlua_is_eq_str(L, 2, "+")) { - gen_to_be_invoked.OnRewardedVideoAdRewardedDemandOnlyEvent += gen_delegate; - return 0; - } - - - if (LuaAPI.xlua_is_eq_str(L, 2, "-")) { - gen_to_be_invoked.OnRewardedVideoAdRewardedDemandOnlyEvent -= gen_delegate; - return 0; - } - - } - } catch(System.Exception gen_e) { - return LuaAPI.luaL_error(L, "c# exception:" + gen_e); - } - LuaAPI.luaL_error(L, "invalid arguments to IronSourceRewardedVideoAndroid.OnRewardedVideoAdRewardedDemandOnlyEvent!"); - return 0; - } - - [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] - static int _e_OnRewardedVideoAdShowFailedDemandOnlyEvent(RealStatePtr L) - { - try { - ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); - int gen_param_count = LuaAPI.lua_gettop(L); - IronSourceRewardedVideoAndroid gen_to_be_invoked = (IronSourceRewardedVideoAndroid)translator.FastGetCSObj(L, 1); - System.Action gen_delegate = translator.GetDelegate>(L, 3); - if (gen_delegate == null) { - return LuaAPI.luaL_error(L, "#3 need System.Action!"); - } - - if (gen_param_count == 3) - { - - if (LuaAPI.xlua_is_eq_str(L, 2, "+")) { - gen_to_be_invoked.OnRewardedVideoAdShowFailedDemandOnlyEvent += gen_delegate; - return 0; - } - - - if (LuaAPI.xlua_is_eq_str(L, 2, "-")) { - gen_to_be_invoked.OnRewardedVideoAdShowFailedDemandOnlyEvent -= gen_delegate; - return 0; - } - - } - } catch(System.Exception gen_e) { - return LuaAPI.luaL_error(L, "c# exception:" + gen_e); - } - LuaAPI.luaL_error(L, "invalid arguments to IronSourceRewardedVideoAndroid.OnRewardedVideoAdShowFailedDemandOnlyEvent!"); - return 0; - } - - [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] - static int _e_OnRewardedVideoAdClickedDemandOnlyEvent(RealStatePtr L) - { - try { - ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); - int gen_param_count = LuaAPI.lua_gettop(L); - IronSourceRewardedVideoAndroid gen_to_be_invoked = (IronSourceRewardedVideoAndroid)translator.FastGetCSObj(L, 1); - System.Action gen_delegate = translator.GetDelegate>(L, 3); - if (gen_delegate == null) { - return LuaAPI.luaL_error(L, "#3 need System.Action!"); - } - - if (gen_param_count == 3) - { - - if (LuaAPI.xlua_is_eq_str(L, 2, "+")) { - gen_to_be_invoked.OnRewardedVideoAdClickedDemandOnlyEvent += gen_delegate; - return 0; - } - - - if (LuaAPI.xlua_is_eq_str(L, 2, "-")) { - gen_to_be_invoked.OnRewardedVideoAdClickedDemandOnlyEvent -= gen_delegate; - return 0; - } - - } - } catch(System.Exception gen_e) { - return LuaAPI.luaL_error(L, "c# exception:" + gen_e); - } - LuaAPI.luaL_error(L, "invalid arguments to IronSourceRewardedVideoAndroid.OnRewardedVideoAdClickedDemandOnlyEvent!"); - return 0; - } - - [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] - static int _e_OnRewardedVideoAdLoadFailedDemandOnlyEvent(RealStatePtr L) - { - try { - ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); - int gen_param_count = LuaAPI.lua_gettop(L); - IronSourceRewardedVideoAndroid gen_to_be_invoked = (IronSourceRewardedVideoAndroid)translator.FastGetCSObj(L, 1); - System.Action gen_delegate = translator.GetDelegate>(L, 3); - if (gen_delegate == null) { - return LuaAPI.luaL_error(L, "#3 need System.Action!"); - } - - if (gen_param_count == 3) - { - - if (LuaAPI.xlua_is_eq_str(L, 2, "+")) { - gen_to_be_invoked.OnRewardedVideoAdLoadFailedDemandOnlyEvent += gen_delegate; - return 0; - } - - - if (LuaAPI.xlua_is_eq_str(L, 2, "-")) { - gen_to_be_invoked.OnRewardedVideoAdLoadFailedDemandOnlyEvent -= gen_delegate; - return 0; - } - - } - } catch(System.Exception gen_e) { - return LuaAPI.luaL_error(L, "c# exception:" + gen_e); - } - LuaAPI.luaL_error(L, "invalid arguments to IronSourceRewardedVideoAndroid.OnRewardedVideoAdLoadFailedDemandOnlyEvent!"); - return 0; - } - - - - } -} diff --git a/Assets/XLua/Gen/IronSourceRewardedVideoLevelPlayAndroidWrap.cs b/Assets/XLua/Gen/IronSourceRewardedVideoLevelPlayAndroidWrap.cs deleted file mode 100644 index c51898b15..000000000 --- a/Assets/XLua/Gen/IronSourceRewardedVideoLevelPlayAndroidWrap.cs +++ /dev/null @@ -1,329 +0,0 @@ -#if USE_UNI_LUA -using LuaAPI = UniLua.Lua; -using RealStatePtr = UniLua.ILuaState; -using LuaCSFunction = UniLua.CSharpFunctionDelegate; -#else -using LuaAPI = XLua.LuaDLL.Lua; -using RealStatePtr = System.IntPtr; -using LuaCSFunction = XLua.LuaDLL.lua_CSFunction; -#endif - -using XLua; -using System.Collections.Generic; - - -namespace XLua.CSObjectWrap -{ - using Utils = XLua.Utils; - public class IronSourceRewardedVideoLevelPlayAndroidWrap - { - public static void __Register(RealStatePtr L) - { - ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); - System.Type type = typeof(IronSourceRewardedVideoLevelPlayAndroid); - Utils.BeginObjectRegister(type, L, translator, 0, 7, 0, 0); - - - Utils.RegisterFunc(L, Utils.METHOD_IDX, "OnAdShowFailed", _e_OnAdShowFailed); - Utils.RegisterFunc(L, Utils.METHOD_IDX, "OnAdOpened", _e_OnAdOpened); - Utils.RegisterFunc(L, Utils.METHOD_IDX, "OnAdClosed", _e_OnAdClosed); - Utils.RegisterFunc(L, Utils.METHOD_IDX, "OnAdRewarded", _e_OnAdRewarded); - Utils.RegisterFunc(L, Utils.METHOD_IDX, "OnAdClicked", _e_OnAdClicked); - Utils.RegisterFunc(L, Utils.METHOD_IDX, "OnAdAvailable", _e_OnAdAvailable); - Utils.RegisterFunc(L, Utils.METHOD_IDX, "OnAdUnavailable", _e_OnAdUnavailable); - - - - - Utils.EndObjectRegister(type, L, translator, null, null, - null, null, null); - - Utils.BeginClassRegister(type, L, __CreateInstance, 1, 0, 0); - - - - - - - Utils.EndClassRegister(type, L, translator); - } - - [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] - static int __CreateInstance(RealStatePtr L) - { - - try { - ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); - if(LuaAPI.lua_gettop(L) == 1) - { - - var gen_ret = new IronSourceRewardedVideoLevelPlayAndroid(); - translator.Push(L, gen_ret); - - return 1; - } - - } - catch(System.Exception gen_e) { - return LuaAPI.luaL_error(L, "c# exception:" + gen_e); - } - return LuaAPI.luaL_error(L, "invalid arguments to IronSourceRewardedVideoLevelPlayAndroid constructor!"); - - } - - - - - - - - - - - - - - - - [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] - static int _e_OnAdShowFailed(RealStatePtr L) - { - try { - ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); - int gen_param_count = LuaAPI.lua_gettop(L); - IronSourceRewardedVideoLevelPlayAndroid gen_to_be_invoked = (IronSourceRewardedVideoLevelPlayAndroid)translator.FastGetCSObj(L, 1); - System.Action gen_delegate = translator.GetDelegate>(L, 3); - if (gen_delegate == null) { - return LuaAPI.luaL_error(L, "#3 need System.Action!"); - } - - if (gen_param_count == 3) - { - - if (LuaAPI.xlua_is_eq_str(L, 2, "+")) { - gen_to_be_invoked.OnAdShowFailed += gen_delegate; - return 0; - } - - - if (LuaAPI.xlua_is_eq_str(L, 2, "-")) { - gen_to_be_invoked.OnAdShowFailed -= gen_delegate; - return 0; - } - - } - } catch(System.Exception gen_e) { - return LuaAPI.luaL_error(L, "c# exception:" + gen_e); - } - LuaAPI.luaL_error(L, "invalid arguments to IronSourceRewardedVideoLevelPlayAndroid.OnAdShowFailed!"); - return 0; - } - - [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] - static int _e_OnAdOpened(RealStatePtr L) - { - try { - ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); - int gen_param_count = LuaAPI.lua_gettop(L); - IronSourceRewardedVideoLevelPlayAndroid gen_to_be_invoked = (IronSourceRewardedVideoLevelPlayAndroid)translator.FastGetCSObj(L, 1); - System.Action gen_delegate = translator.GetDelegate>(L, 3); - if (gen_delegate == null) { - return LuaAPI.luaL_error(L, "#3 need System.Action!"); - } - - if (gen_param_count == 3) - { - - if (LuaAPI.xlua_is_eq_str(L, 2, "+")) { - gen_to_be_invoked.OnAdOpened += gen_delegate; - return 0; - } - - - if (LuaAPI.xlua_is_eq_str(L, 2, "-")) { - gen_to_be_invoked.OnAdOpened -= gen_delegate; - return 0; - } - - } - } catch(System.Exception gen_e) { - return LuaAPI.luaL_error(L, "c# exception:" + gen_e); - } - LuaAPI.luaL_error(L, "invalid arguments to IronSourceRewardedVideoLevelPlayAndroid.OnAdOpened!"); - return 0; - } - - [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] - static int _e_OnAdClosed(RealStatePtr L) - { - try { - ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); - int gen_param_count = LuaAPI.lua_gettop(L); - IronSourceRewardedVideoLevelPlayAndroid gen_to_be_invoked = (IronSourceRewardedVideoLevelPlayAndroid)translator.FastGetCSObj(L, 1); - System.Action gen_delegate = translator.GetDelegate>(L, 3); - if (gen_delegate == null) { - return LuaAPI.luaL_error(L, "#3 need System.Action!"); - } - - if (gen_param_count == 3) - { - - if (LuaAPI.xlua_is_eq_str(L, 2, "+")) { - gen_to_be_invoked.OnAdClosed += gen_delegate; - return 0; - } - - - if (LuaAPI.xlua_is_eq_str(L, 2, "-")) { - gen_to_be_invoked.OnAdClosed -= gen_delegate; - return 0; - } - - } - } catch(System.Exception gen_e) { - return LuaAPI.luaL_error(L, "c# exception:" + gen_e); - } - LuaAPI.luaL_error(L, "invalid arguments to IronSourceRewardedVideoLevelPlayAndroid.OnAdClosed!"); - return 0; - } - - [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] - static int _e_OnAdRewarded(RealStatePtr L) - { - try { - ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); - int gen_param_count = LuaAPI.lua_gettop(L); - IronSourceRewardedVideoLevelPlayAndroid gen_to_be_invoked = (IronSourceRewardedVideoLevelPlayAndroid)translator.FastGetCSObj(L, 1); - System.Action gen_delegate = translator.GetDelegate>(L, 3); - if (gen_delegate == null) { - return LuaAPI.luaL_error(L, "#3 need System.Action!"); - } - - if (gen_param_count == 3) - { - - if (LuaAPI.xlua_is_eq_str(L, 2, "+")) { - gen_to_be_invoked.OnAdRewarded += gen_delegate; - return 0; - } - - - if (LuaAPI.xlua_is_eq_str(L, 2, "-")) { - gen_to_be_invoked.OnAdRewarded -= gen_delegate; - return 0; - } - - } - } catch(System.Exception gen_e) { - return LuaAPI.luaL_error(L, "c# exception:" + gen_e); - } - LuaAPI.luaL_error(L, "invalid arguments to IronSourceRewardedVideoLevelPlayAndroid.OnAdRewarded!"); - return 0; - } - - [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] - static int _e_OnAdClicked(RealStatePtr L) - { - try { - ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); - int gen_param_count = LuaAPI.lua_gettop(L); - IronSourceRewardedVideoLevelPlayAndroid gen_to_be_invoked = (IronSourceRewardedVideoLevelPlayAndroid)translator.FastGetCSObj(L, 1); - System.Action gen_delegate = translator.GetDelegate>(L, 3); - if (gen_delegate == null) { - return LuaAPI.luaL_error(L, "#3 need System.Action!"); - } - - if (gen_param_count == 3) - { - - if (LuaAPI.xlua_is_eq_str(L, 2, "+")) { - gen_to_be_invoked.OnAdClicked += gen_delegate; - return 0; - } - - - if (LuaAPI.xlua_is_eq_str(L, 2, "-")) { - gen_to_be_invoked.OnAdClicked -= gen_delegate; - return 0; - } - - } - } catch(System.Exception gen_e) { - return LuaAPI.luaL_error(L, "c# exception:" + gen_e); - } - LuaAPI.luaL_error(L, "invalid arguments to IronSourceRewardedVideoLevelPlayAndroid.OnAdClicked!"); - return 0; - } - - [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] - static int _e_OnAdAvailable(RealStatePtr L) - { - try { - ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); - int gen_param_count = LuaAPI.lua_gettop(L); - IronSourceRewardedVideoLevelPlayAndroid gen_to_be_invoked = (IronSourceRewardedVideoLevelPlayAndroid)translator.FastGetCSObj(L, 1); - System.Action gen_delegate = translator.GetDelegate>(L, 3); - if (gen_delegate == null) { - return LuaAPI.luaL_error(L, "#3 need System.Action!"); - } - - if (gen_param_count == 3) - { - - if (LuaAPI.xlua_is_eq_str(L, 2, "+")) { - gen_to_be_invoked.OnAdAvailable += gen_delegate; - return 0; - } - - - if (LuaAPI.xlua_is_eq_str(L, 2, "-")) { - gen_to_be_invoked.OnAdAvailable -= gen_delegate; - return 0; - } - - } - } catch(System.Exception gen_e) { - return LuaAPI.luaL_error(L, "c# exception:" + gen_e); - } - LuaAPI.luaL_error(L, "invalid arguments to IronSourceRewardedVideoLevelPlayAndroid.OnAdAvailable!"); - return 0; - } - - [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] - static int _e_OnAdUnavailable(RealStatePtr L) - { - try { - ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); - int gen_param_count = LuaAPI.lua_gettop(L); - IronSourceRewardedVideoLevelPlayAndroid gen_to_be_invoked = (IronSourceRewardedVideoLevelPlayAndroid)translator.FastGetCSObj(L, 1); - System.Action gen_delegate = translator.GetDelegate(L, 3); - if (gen_delegate == null) { - return LuaAPI.luaL_error(L, "#3 need System.Action!"); - } - - if (gen_param_count == 3) - { - - if (LuaAPI.xlua_is_eq_str(L, 2, "+")) { - gen_to_be_invoked.OnAdUnavailable += gen_delegate; - return 0; - } - - - if (LuaAPI.xlua_is_eq_str(L, 2, "-")) { - gen_to_be_invoked.OnAdUnavailable -= gen_delegate; - return 0; - } - - } - } catch(System.Exception gen_e) { - return LuaAPI.luaL_error(L, "c# exception:" + gen_e); - } - LuaAPI.luaL_error(L, "invalid arguments to IronSourceRewardedVideoLevelPlayAndroid.OnAdUnavailable!"); - return 0; - } - - - - } -} diff --git a/Assets/XLua/Gen/IronSourceRewardedVideoLevelPlayManualAndroidWrap.cs b/Assets/XLua/Gen/IronSourceRewardedVideoLevelPlayManualAndroidWrap.cs deleted file mode 100644 index ae47d2e90..000000000 --- a/Assets/XLua/Gen/IronSourceRewardedVideoLevelPlayManualAndroidWrap.cs +++ /dev/null @@ -1,154 +0,0 @@ -#if USE_UNI_LUA -using LuaAPI = UniLua.Lua; -using RealStatePtr = UniLua.ILuaState; -using LuaCSFunction = UniLua.CSharpFunctionDelegate; -#else -using LuaAPI = XLua.LuaDLL.Lua; -using RealStatePtr = System.IntPtr; -using LuaCSFunction = XLua.LuaDLL.lua_CSFunction; -#endif - -using XLua; -using System.Collections.Generic; - - -namespace XLua.CSObjectWrap -{ - using Utils = XLua.Utils; - public class IronSourceRewardedVideoLevelPlayManualAndroidWrap - { - public static void __Register(RealStatePtr L) - { - ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); - System.Type type = typeof(IronSourceRewardedVideoLevelPlayManualAndroid); - Utils.BeginObjectRegister(type, L, translator, 0, 2, 0, 0); - - - Utils.RegisterFunc(L, Utils.METHOD_IDX, "OnAdLoadFailed", _e_OnAdLoadFailed); - Utils.RegisterFunc(L, Utils.METHOD_IDX, "OnAdReady", _e_OnAdReady); - - - - - Utils.EndObjectRegister(type, L, translator, null, null, - null, null, null); - - Utils.BeginClassRegister(type, L, __CreateInstance, 1, 0, 0); - - - - - - - Utils.EndClassRegister(type, L, translator); - } - - [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] - static int __CreateInstance(RealStatePtr L) - { - - try { - ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); - if(LuaAPI.lua_gettop(L) == 1) - { - - var gen_ret = new IronSourceRewardedVideoLevelPlayManualAndroid(); - translator.Push(L, gen_ret); - - return 1; - } - - } - catch(System.Exception gen_e) { - return LuaAPI.luaL_error(L, "c# exception:" + gen_e); - } - return LuaAPI.luaL_error(L, "invalid arguments to IronSourceRewardedVideoLevelPlayManualAndroid constructor!"); - - } - - - - - - - - - - - - - - - - [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] - static int _e_OnAdLoadFailed(RealStatePtr L) - { - try { - ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); - int gen_param_count = LuaAPI.lua_gettop(L); - IronSourceRewardedVideoLevelPlayManualAndroid gen_to_be_invoked = (IronSourceRewardedVideoLevelPlayManualAndroid)translator.FastGetCSObj(L, 1); - System.Action gen_delegate = translator.GetDelegate>(L, 3); - if (gen_delegate == null) { - return LuaAPI.luaL_error(L, "#3 need System.Action!"); - } - - if (gen_param_count == 3) - { - - if (LuaAPI.xlua_is_eq_str(L, 2, "+")) { - gen_to_be_invoked.OnAdLoadFailed += gen_delegate; - return 0; - } - - - if (LuaAPI.xlua_is_eq_str(L, 2, "-")) { - gen_to_be_invoked.OnAdLoadFailed -= gen_delegate; - return 0; - } - - } - } catch(System.Exception gen_e) { - return LuaAPI.luaL_error(L, "c# exception:" + gen_e); - } - LuaAPI.luaL_error(L, "invalid arguments to IronSourceRewardedVideoLevelPlayManualAndroid.OnAdLoadFailed!"); - return 0; - } - - [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] - static int _e_OnAdReady(RealStatePtr L) - { - try { - ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); - int gen_param_count = LuaAPI.lua_gettop(L); - IronSourceRewardedVideoLevelPlayManualAndroid gen_to_be_invoked = (IronSourceRewardedVideoLevelPlayManualAndroid)translator.FastGetCSObj(L, 1); - System.Action gen_delegate = translator.GetDelegate>(L, 3); - if (gen_delegate == null) { - return LuaAPI.luaL_error(L, "#3 need System.Action!"); - } - - if (gen_param_count == 3) - { - - if (LuaAPI.xlua_is_eq_str(L, 2, "+")) { - gen_to_be_invoked.OnAdReady += gen_delegate; - return 0; - } - - - if (LuaAPI.xlua_is_eq_str(L, 2, "-")) { - gen_to_be_invoked.OnAdReady -= gen_delegate; - return 0; - } - - } - } catch(System.Exception gen_e) { - return LuaAPI.luaL_error(L, "c# exception:" + gen_e); - } - LuaAPI.luaL_error(L, "invalid arguments to IronSourceRewardedVideoLevelPlayManualAndroid.OnAdReady!"); - return 0; - } - - - - } -} diff --git a/Assets/XLua/Gen/IronSourceRewardedVideoManualAndroidWrap.cs b/Assets/XLua/Gen/IronSourceRewardedVideoManualAndroidWrap.cs deleted file mode 100644 index 5a61a975c..000000000 --- a/Assets/XLua/Gen/IronSourceRewardedVideoManualAndroidWrap.cs +++ /dev/null @@ -1,154 +0,0 @@ -#if USE_UNI_LUA -using LuaAPI = UniLua.Lua; -using RealStatePtr = UniLua.ILuaState; -using LuaCSFunction = UniLua.CSharpFunctionDelegate; -#else -using LuaAPI = XLua.LuaDLL.Lua; -using RealStatePtr = System.IntPtr; -using LuaCSFunction = XLua.LuaDLL.lua_CSFunction; -#endif - -using XLua; -using System.Collections.Generic; - - -namespace XLua.CSObjectWrap -{ - using Utils = XLua.Utils; - public class IronSourceRewardedVideoManualAndroidWrap - { - public static void __Register(RealStatePtr L) - { - ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); - System.Type type = typeof(IronSourceRewardedVideoManualAndroid); - Utils.BeginObjectRegister(type, L, translator, 0, 2, 0, 0); - - - Utils.RegisterFunc(L, Utils.METHOD_IDX, "OnRewardedVideoAdLoadFailed", _e_OnRewardedVideoAdLoadFailed); - Utils.RegisterFunc(L, Utils.METHOD_IDX, "OnRewardedVideoAdReady", _e_OnRewardedVideoAdReady); - - - - - Utils.EndObjectRegister(type, L, translator, null, null, - null, null, null); - - Utils.BeginClassRegister(type, L, __CreateInstance, 1, 0, 0); - - - - - - - Utils.EndClassRegister(type, L, translator); - } - - [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] - static int __CreateInstance(RealStatePtr L) - { - - try { - ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); - if(LuaAPI.lua_gettop(L) == 1) - { - - var gen_ret = new IronSourceRewardedVideoManualAndroid(); - translator.Push(L, gen_ret); - - return 1; - } - - } - catch(System.Exception gen_e) { - return LuaAPI.luaL_error(L, "c# exception:" + gen_e); - } - return LuaAPI.luaL_error(L, "invalid arguments to IronSourceRewardedVideoManualAndroid constructor!"); - - } - - - - - - - - - - - - - - - - [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] - static int _e_OnRewardedVideoAdLoadFailed(RealStatePtr L) - { - try { - ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); - int gen_param_count = LuaAPI.lua_gettop(L); - IronSourceRewardedVideoManualAndroid gen_to_be_invoked = (IronSourceRewardedVideoManualAndroid)translator.FastGetCSObj(L, 1); - System.Action gen_delegate = translator.GetDelegate>(L, 3); - if (gen_delegate == null) { - return LuaAPI.luaL_error(L, "#3 need System.Action!"); - } - - if (gen_param_count == 3) - { - - if (LuaAPI.xlua_is_eq_str(L, 2, "+")) { - gen_to_be_invoked.OnRewardedVideoAdLoadFailed += gen_delegate; - return 0; - } - - - if (LuaAPI.xlua_is_eq_str(L, 2, "-")) { - gen_to_be_invoked.OnRewardedVideoAdLoadFailed -= gen_delegate; - return 0; - } - - } - } catch(System.Exception gen_e) { - return LuaAPI.luaL_error(L, "c# exception:" + gen_e); - } - LuaAPI.luaL_error(L, "invalid arguments to IronSourceRewardedVideoManualAndroid.OnRewardedVideoAdLoadFailed!"); - return 0; - } - - [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] - static int _e_OnRewardedVideoAdReady(RealStatePtr L) - { - try { - ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); - int gen_param_count = LuaAPI.lua_gettop(L); - IronSourceRewardedVideoManualAndroid gen_to_be_invoked = (IronSourceRewardedVideoManualAndroid)translator.FastGetCSObj(L, 1); - System.Action gen_delegate = translator.GetDelegate(L, 3); - if (gen_delegate == null) { - return LuaAPI.luaL_error(L, "#3 need System.Action!"); - } - - if (gen_param_count == 3) - { - - if (LuaAPI.xlua_is_eq_str(L, 2, "+")) { - gen_to_be_invoked.OnRewardedVideoAdReady += gen_delegate; - return 0; - } - - - if (LuaAPI.xlua_is_eq_str(L, 2, "-")) { - gen_to_be_invoked.OnRewardedVideoAdReady -= gen_delegate; - return 0; - } - - } - } catch(System.Exception gen_e) { - return LuaAPI.luaL_error(L, "c# exception:" + gen_e); - } - LuaAPI.luaL_error(L, "invalid arguments to IronSourceRewardedVideoManualAndroid.OnRewardedVideoAdReady!"); - return 0; - } - - - - } -} diff --git a/Assets/XLua/Gen/XLuaGenAutoRegister.cs b/Assets/XLua/Gen/XLuaGenAutoRegister.cs index 5dae1873b..b330d7b54 100644 --- a/Assets/XLua/Gen/XLuaGenAutoRegister.cs +++ b/Assets/XLua/Gen/XLuaGenAutoRegister.cs @@ -2328,9 +2328,6 @@ namespace XLua.CSObjectWrap translator.DelayWrapLoader(typeof(AdFormat), AdFormatWrap.__Register); - translator.DelayWrapLoader(typeof(AndroidAgent), AndroidAgentWrap.__Register); - - translator.DelayWrapLoader(typeof(IUnityBanner), IUnityBannerWrap.__Register); @@ -2372,20 +2369,14 @@ namespace XLua.CSObjectWrap translator.DelayWrapLoader(typeof(IronSourceAdInfo), IronSourceAdInfoWrap.__Register); + + translator.DelayWrapLoader(typeof(IronSourceBannerEvents), IronSourceBannerEventsWrap.__Register); + } static void wrapInit15(LuaEnv luaenv, ObjectTranslator translator) { - translator.DelayWrapLoader(typeof(IronSourceBannerAndroid), IronSourceBannerAndroidWrap.__Register); - - - translator.DelayWrapLoader(typeof(IronSourceBannerEvents), IronSourceBannerEventsWrap.__Register); - - - translator.DelayWrapLoader(typeof(IronSourceBannerLevelPlayAndroid), IronSourceBannerLevelPlayAndroidWrap.__Register); - - translator.DelayWrapLoader(typeof(IronSourceConfig), IronSourceConfigWrap.__Register); @@ -2419,48 +2410,21 @@ namespace XLua.CSObjectWrap translator.DelayWrapLoader(typeof(IronSourceImpressionData), IronSourceImpressionDataWrap.__Register); - translator.DelayWrapLoader(typeof(IronSourceImpressionDataAndroid), IronSourceImpressionDataAndroidWrap.__Register); - - - translator.DelayWrapLoader(typeof(IronSourceInitializationAndroid), IronSourceInitializationAndroidWrap.__Register); - - translator.DelayWrapLoader(typeof(IronSourceInitilizer), IronSourceInitilizerWrap.__Register); - translator.DelayWrapLoader(typeof(IronSourceInterstitialAndroid), IronSourceInterstitialAndroidWrap.__Register); - - translator.DelayWrapLoader(typeof(IronSourceInterstitialEvents), IronSourceInterstitialEventsWrap.__Register); - translator.DelayWrapLoader(typeof(IronSourceInterstitialLevelPlayAndroid), IronSourceInterstitialLevelPlayAndroidWrap.__Register); - - translator.DelayWrapLoader(typeof(IronSourceMediationSettings), IronSourceMediationSettingsWrap.__Register); - translator.DelayWrapLoader(typeof(IronSourceOfferwallAndroid), IronSourceOfferwallAndroidWrap.__Register); - - translator.DelayWrapLoader(typeof(IronSourcePlacement), IronSourcePlacementWrap.__Register); - translator.DelayWrapLoader(typeof(IronSourceRewardedVideoAndroid), IronSourceRewardedVideoAndroidWrap.__Register); - - translator.DelayWrapLoader(typeof(IronSourceRewardedVideoEvents), IronSourceRewardedVideoEventsWrap.__Register); - translator.DelayWrapLoader(typeof(IronSourceRewardedVideoLevelPlayAndroid), IronSourceRewardedVideoLevelPlayAndroidWrap.__Register); - - - translator.DelayWrapLoader(typeof(IronSourceRewardedVideoLevelPlayManualAndroid), IronSourceRewardedVideoLevelPlayManualAndroidWrap.__Register); - - - translator.DelayWrapLoader(typeof(IronSourceRewardedVideoManualAndroid), IronSourceRewardedVideoManualAndroidWrap.__Register); - - translator.DelayWrapLoader(typeof(IronSourceSegment), IronSourceSegmentWrap.__Register); @@ -2482,9 +2446,6 @@ namespace XLua.CSObjectWrap translator.DelayWrapLoader(typeof(ISAdQualityAdType), ISAdQualityAdTypeWrap.__Register); - translator.DelayWrapLoader(typeof(ISAdQualityAndroidInitHandler), ISAdQualityAndroidInitHandlerWrap.__Register); - - translator.DelayWrapLoader(typeof(ISAdQualityConfig), ISAdQualityConfigWrap.__Register); @@ -2529,10 +2490,6 @@ namespace XLua.CSObjectWrap translator.DelayWrapLoader(typeof(BaseBehaviour), BaseBehaviourWrap.__Register); - } - - static void wrapInit16(LuaEnv luaenv, ObjectTranslator translator) - { translator.DelayWrapLoader(typeof(CodeGeneratedSingleton), CodeGeneratedSingletonWrap.__Register); @@ -2572,6 +2529,10 @@ namespace XLua.CSObjectWrap translator.DelayWrapLoader(typeof(ThinkingAnalytics.TDPresetProperties), ThinkingAnalyticsTDPresetPropertiesWrap.__Register); + } + + static void wrapInit16(LuaEnv luaenv, ObjectTranslator translator) + { translator.DelayWrapLoader(typeof(ThinkingAnalytics.ThinkingAnalyticsAPI), ThinkingAnalyticsThinkingAnalyticsAPIWrap.__Register); @@ -2686,10 +2647,6 @@ namespace XLua.CSObjectWrap translator.DelayWrapLoader(typeof(Facebook.MiniJSON.MiniJsonUtil), FacebookMiniJSONMiniJsonUtilWrap.__Register); - } - - static void wrapInit17(LuaEnv luaenv, ObjectTranslator translator) - { translator.DelayWrapLoader(typeof(BF.NativeCore.ThirdPlatform.AppsFlyerSdk), BFNativeCoreThirdPlatformAppsFlyerSdkWrap.__Register); @@ -2729,6 +2686,10 @@ namespace XLua.CSObjectWrap translator.DelayWrapLoader(typeof(System.Enum), SystemEnumWrap.__Register); + } + + static void wrapInit17(LuaEnv luaenv, ObjectTranslator translator) + { translator.DelayWrapLoader(typeof(System.DateTime), SystemDateTimeWrap.__Register); @@ -2843,10 +2804,6 @@ namespace XLua.CSObjectWrap translator.DelayWrapLoader(typeof(UnityEngine.Playables.PlayableAsset), UnityEnginePlayablesPlayableAssetWrap.__Register); - } - - static void wrapInit18(LuaEnv luaenv, ObjectTranslator translator) - { translator.DelayWrapLoader(typeof(UnityEngine.Playables.Playable), UnityEnginePlayablesPlayableWrap.__Register); @@ -2886,6 +2843,10 @@ namespace XLua.CSObjectWrap translator.DelayWrapLoader(typeof(UnityEngine.Video.VideoPlayer), UnityEngineVideoVideoPlayerWrap.__Register); + } + + static void wrapInit18(LuaEnv luaenv, ObjectTranslator translator) + { translator.DelayWrapLoader(typeof(UnityEngine.Camera.GateFitMode), UnityEngineCameraGateFitModeWrap.__Register); @@ -3000,10 +2961,6 @@ namespace XLua.CSObjectWrap translator.DelayWrapLoader(typeof(Spine.AnimationState), SpineAnimationStateWrap.__Register); - } - - static void wrapInit19(LuaEnv luaenv, ObjectTranslator translator) - { translator.DelayWrapLoader(typeof(Spine.AnimationStateData), SpineAnimationStateDataWrap.__Register); @@ -3043,6 +3000,10 @@ namespace XLua.CSObjectWrap translator.DelayWrapLoader(typeof(Spine.Unity.BoneFollower.AxisOrientation), SpineUnityBoneFollowerAxisOrientationWrap.__Register); + } + + static void wrapInit19(LuaEnv luaenv, ObjectTranslator translator) + { translator.DelayWrapLoader(typeof(TMPro.TextAlignmentOptions), TMProTextAlignmentOptionsWrap.__Register); @@ -3157,10 +3118,6 @@ namespace XLua.CSObjectWrap translator.DelayWrapLoader(typeof(BF.ScrollRectBaseOld.ScrollbarVisibility), BFScrollRectBaseOldScrollbarVisibilityWrap.__Register); - } - - static void wrapInit20(LuaEnv luaenv, ObjectTranslator translator) - { translator.DelayWrapLoader(typeof(BF.NetServiceType), BFNetServiceTypeWrap.__Register); @@ -3220,8 +3177,6 @@ namespace XLua.CSObjectWrap wrapInit19(luaenv, translator); - wrapInit20(luaenv, translator); - } diff --git a/Assets/XLua/Gen/com_adjust_sdk_AdjustUtilsWrap.cs b/Assets/XLua/Gen/com_adjust_sdk_AdjustUtilsWrap.cs index 092500ebe..0a27ea9b0 100644 --- a/Assets/XLua/Gen/com_adjust_sdk_AdjustUtilsWrap.cs +++ b/Assets/XLua/Gen/com_adjust_sdk_AdjustUtilsWrap.cs @@ -31,7 +31,7 @@ namespace XLua.CSObjectWrap Utils.EndObjectRegister(type, L, translator, null, null, null, null, null); - Utils.BeginClassRegister(type, L, __CreateInstance, 15, 37, 37); + Utils.BeginClassRegister(type, L, __CreateInstance, 14, 37, 37); Utils.RegisterFunc(L, Utils.CLS_IDX, "ConvertLogLevel", _m_ConvertLogLevel_xlua_st_); Utils.RegisterFunc(L, Utils.CLS_IDX, "ConvertBool", _m_ConvertBool_xlua_st_); Utils.RegisterFunc(L, Utils.CLS_IDX, "ConvertDouble", _m_ConvertDouble_xlua_st_); @@ -45,7 +45,6 @@ namespace XLua.CSObjectWrap Utils.RegisterFunc(L, Utils.CLS_IDX, "GetSkad4ConversionValue", _m_GetSkad4ConversionValue_xlua_st_); Utils.RegisterFunc(L, Utils.CLS_IDX, "GetSkad4CoarseValue", _m_GetSkad4CoarseValue_xlua_st_); Utils.RegisterFunc(L, Utils.CLS_IDX, "GetSkad4LockWindow", _m_GetSkad4LockWindow_xlua_st_); - Utils.RegisterFunc(L, Utils.CLS_IDX, "TestOptionsMap2AndroidJavaObject", _m_TestOptionsMap2AndroidJavaObject_xlua_st_); @@ -506,34 +505,6 @@ namespace XLua.CSObjectWrap } - [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] - static int _m_TestOptionsMap2AndroidJavaObject_xlua_st_(RealStatePtr L) - { - try { - - ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); - - - - - { - System.Collections.Generic.Dictionary _testOptionsMap = (System.Collections.Generic.Dictionary)translator.GetObject(L, 1, typeof(System.Collections.Generic.Dictionary)); - UnityEngine.AndroidJavaObject _ajoCurrentActivity = (UnityEngine.AndroidJavaObject)translator.GetObject(L, 2, typeof(UnityEngine.AndroidJavaObject)); - - var gen_ret = com.adjust.sdk.AdjustUtils.TestOptionsMap2AndroidJavaObject( _testOptionsMap, _ajoCurrentActivity ); - translator.Push(L, gen_ret); - - - - return 1; - } - - } catch(System.Exception gen_e) { - return LuaAPI.luaL_error(L, "c# exception:" + gen_e); - } - - } - diff --git a/Assets/XLua/Gen/link.xml b/Assets/XLua/Gen/link.xml index 0956b0e53..eaa9a0d4d 100644 --- a/Assets/XLua/Gen/link.xml +++ b/Assets/XLua/Gen/link.xml @@ -220,7 +220,6 @@ - @@ -235,9 +234,7 @@ - - @@ -249,20 +246,11 @@ - - - - - - - - - @@ -270,7 +258,6 @@ - From 45ab702c1c29de56c5122954ed7fd0380735660d Mon Sep 17 00:00:00 2001 From: xiekaidong Date: Mon, 4 Sep 2023 21:00:23 +0800 Subject: [PATCH 3/7] =?UTF-8?q?maxSDK=E5=8D=87=E7=BA=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Assets/Editor/Package.cs | 1173 +++++++++-------- .../MaxSdk/AppLovin/Editor/Dependencies.xml | 4 +- .../AppLovin/Plugins/iOS/MAUnityAdManager.h | 13 +- .../Plugins/iOS/MAUnityAdManager.h.meta | 3 +- .../AppLovin/Plugins/iOS/MAUnityAdManager.m | 219 ++- .../Plugins/iOS/MAUnityAdManager.m.meta | 3 +- .../AppLovin/Plugins/iOS/MAUnityPlugin.mm | 287 +++- .../Plugins/iOS/MAUnityPlugin.mm.meta | 3 +- Assets/ThirdParty/MaxSdk/Mediation.meta | 1 - .../AdColony/Editor/Dependencies.xml | 4 +- .../AdColony/Editor/Dependencies.xml.meta | 1 - .../MaxSdk/Mediation/ByteDance/Editor.meta | 1 - .../ByteDance/Editor/Dependencies.xml | 4 +- .../ByteDance/Editor/Dependencies.xml.meta | 1 - .../MaxSdk/Mediation/Chartboost/Editor.meta | 1 - .../Chartboost/Editor/Dependencies.xml | 8 +- .../Chartboost/Editor/Dependencies.xml.meta | 1 - .../MaxSdk/Mediation/Facebook/Editor.meta | 1 - .../Facebook/Editor/Dependencies.xml | 4 +- .../Facebook/Editor/Dependencies.xml.meta | 1 - .../MaxSdk/Mediation/Fyber/Editor.meta | 1 - .../Mediation/Fyber/Editor/Dependencies.xml | 4 +- .../Fyber/Editor/Dependencies.xml.meta | 1 - .../MaxSdk/Mediation/Google/Editor.meta | 1 - .../Mediation/Google/Editor/Dependencies.xml | 4 +- .../Google/Editor/Dependencies.xml.meta | 1 - .../Google/Editor/MaxGoogleInitialize.cs | 38 - .../Google/Editor/MaxGoogleInitialize.cs.meta | 15 - .../Google/Editor/MaxMediationGoogleUtils.cs | 59 - .../Editor/MaxMediationGoogleUtils.cs.meta | 15 - .../Mediation/Google/Editor/PostProcessor.cs | 48 - .../Mediation/Google/Editor/PreProcessor.cs | 115 -- .../MaxSdk/Mediation/InMobi/Editor.meta | 1 - .../Mediation/InMobi/Editor/Dependencies.xml | 4 +- .../InMobi/Editor/Dependencies.xml.meta | 1 - .../MaxSdk/Mediation/IronSource/Editor.meta | 1 - .../IronSource/Editor/Dependencies.xml | 4 +- .../IronSource/Editor/Dependencies.xml.meta | 1 - .../MaxSdk/Mediation/Mintegral/Editor.meta | 1 - .../Mintegral/Editor/Dependencies.xml | 4 +- .../Mintegral/Editor/Dependencies.xml.meta | 1 - .../MaxSdk/Mediation/Tapjoy/Editor.meta | 1 - .../Mediation/Tapjoy/Editor/Dependencies.xml | 4 +- .../Tapjoy/Editor/Dependencies.xml.meta | 1 - .../MaxSdk/Mediation/UnityAds/Editor.meta | 1 - .../UnityAds/Editor/Dependencies.xml | 4 +- .../UnityAds/Editor/Dependencies.xml.meta | 1 - .../MaxSdk/Mediation/Vungle/Editor.meta | 1 - .../Mediation/Vungle/Editor/Dependencies.xml | 4 +- .../Vungle/Editor/Dependencies.xml.meta | 1 - .../MaxSdk/Prefabs/BannerBottom.prefab.meta | 1 - .../MaxSdk/Prefabs/BannerTop.prefab.meta | 1 - .../MaxSdk/Prefabs/Interstitial.prefab | 15 +- .../MaxSdk/Prefabs/Interstitial.prefab.meta | 1 - .../ThirdParty/MaxSdk/Prefabs/Rewarded.prefab | 15 +- .../MaxSdk/Prefabs/Rewarded.prefab.meta | 1 - .../MaxSdk/Resources/AppLovinSettings.asset | 3 +- .../Resources/Images/alert_icon.png.meta | 20 +- .../Resources/Images/uninstall_icon.png.meta | 20 +- .../Resources/Images/warning_icon.png.meta | 27 +- Assets/ThirdParty/MaxSdk/Scripts/Editor.meta | 1 - .../Scripts/Editor/MaxInitialization.cs | 89 +- .../Scripts/Editor/MaxInitialization.cs.meta | 1 - .../Editor/MaxPostProcessBuildAndroid.cs | 148 ++- .../Editor/MaxPostProcessBuildAndroid.cs.meta | 1 - .../Scripts/Editor/MaxPostProcessBuildiOS.cs | 409 +++--- .../Editor/MaxPostProcessBuildiOS.cs.meta | 1 - .../Editor/MaxSdk.Scripts.Editor.asmdef.meta | 7 +- .../MaxSdk/Scripts/IntegrationManager.meta | 1 - .../Scripts/IntegrationManager/Editor.meta | 1 - .../Editor/AppLovinAutoUpdater.cs | 28 + .../Editor/AppLovinAutoUpdater.cs.meta | 1 - .../Editor/AppLovinCommandLine.cs.meta | 1 - .../Editor/AppLovinDownloadHandler.cs.meta | 1 - .../Editor/AppLovinEditorCoroutine.cs | 37 +- .../Editor/AppLovinEditorCoroutine.cs.meta | 1 - .../Editor/AppLovinIntegrationManager.cs | 115 +- .../Editor/AppLovinIntegrationManager.cs.meta | 1 - .../AppLovinIntegrationManagerWindow.cs | 457 ++++--- .../AppLovinIntegrationManagerWindow.cs.meta | 1 - .../Editor/AppLovinInternalSettings.cs | 329 +++++ .../Editor/AppLovinInternalSettings.cs.meta} | 5 +- .../Editor/AppLovinMenuItems.cs.meta | 1 - .../AppLovinPostProcessAndroidGradle.cs | 15 +- .../AppLovinPostProcessAndroidGradle.cs.meta | 1 - .../Editor/AppLovinPostProcessiOS.cs | 63 +- .../Editor/AppLovinPostProcessiOS.cs.meta | 1 - .../Editor/AppLovinPreProcessAndroid.cs | 137 ++ .../Editor/AppLovinPreProcessAndroid.cs.meta | 1 - .../Editor/AppLovinProcessGradleBuildFile.cs | 187 ++- .../AppLovinProcessGradleBuildFile.cs.meta | 1 - .../Editor/AppLovinSettings.cs | 61 +- .../Editor/AppLovinSettings.cs.meta | 1 - ...xSdk.IntegrationManager.Editor.asmdef.meta | 7 +- .../MaxSdk/Scripts/MaxEventSystemChecker.cs | 37 + .../MaxEventSystemChecker.cs.meta} | 5 +- .../MaxSdk/Scripts/MaxEvents.cs.meta | 1 - .../MaxSdk/Scripts/MaxSdk.Scripts.asmdef.meta | 1 - Assets/ThirdParty/MaxSdk/Scripts/MaxSdk.cs | 2 +- .../ThirdParty/MaxSdk/Scripts/MaxSdk.cs.meta | 1 - .../MaxSdk/Scripts/MaxSdkAndroid.cs | 137 +- .../MaxSdk/Scripts/MaxSdkAndroid.cs.meta | 1 - .../ThirdParty/MaxSdk/Scripts/MaxSdkBase.cs | 231 +++- .../MaxSdk/Scripts/MaxSdkBase.cs.meta | 1 - .../MaxSdk/Scripts/MaxSdkCallbacks.cs | 565 ++++++-- .../MaxSdk/Scripts/MaxSdkCallbacks.cs.meta | 1 - .../MaxSdk/Scripts/MaxSdkLogger.cs.meta | 1 - .../MaxSdk/Scripts/MaxSdkUnityEditor.cs | 203 ++- .../MaxSdk/Scripts/MaxSdkUnityEditor.cs.meta | 1 - .../ThirdParty/MaxSdk/Scripts/MaxSdkUtils.cs | 15 +- .../MaxSdk/Scripts/MaxSdkUtils.cs.meta | 1 - Assets/ThirdParty/MaxSdk/Scripts/MaxSdkiOS.cs | 159 ++- .../MaxSdk/Scripts/MaxSdkiOS.cs.meta | 1 - .../MaxSdk/Scripts/MaxTargetingData.cs.meta | 1 - .../MaxSdk/Scripts/MaxUserSegment.cs.meta | 1 - .../MaxSdk/Scripts/MaxUserServiceAndroid.cs | 5 +- .../Scripts/MaxUserServiceAndroid.cs.meta | 1 - .../Scripts/MaxUserServiceUnityEditor.cs | 4 +- .../Scripts/MaxUserServiceUnityEditor.cs.meta | 1 - .../MaxSdk/Scripts/MaxUserServiceiOS.cs | 6 +- .../MaxSdk/Scripts/MaxUserServiceiOS.cs.meta | 1 - .../Scripts/MaxVariableServiceAndroid.cs | 17 +- .../Scripts/MaxVariableServiceAndroid.cs.meta | 11 +- .../Scripts/MaxVariableServiceUnityEditor.cs | 11 +- .../MaxVariableServiceUnityEditor.cs.meta | 11 +- .../MaxSdk/Scripts/MaxVariableServiceiOS.cs | 21 +- .../Scripts/MaxVariableServiceiOS.cs.meta | 11 +- .../ThirdParty/MaxSdk/Scripts/ThirdParty.meta | 1 - .../Scripts/ThirdParty/MiniJSON.cs.meta | 1 - ProjectSettings/AppLovinInternalSettings.json | 1 + 130 files changed, 3965 insertions(+), 1791 deletions(-) delete mode 100644 Assets/ThirdParty/MaxSdk/Mediation/Google/Editor/MaxGoogleInitialize.cs delete mode 100644 Assets/ThirdParty/MaxSdk/Mediation/Google/Editor/MaxGoogleInitialize.cs.meta delete mode 100644 Assets/ThirdParty/MaxSdk/Mediation/Google/Editor/MaxMediationGoogleUtils.cs delete mode 100644 Assets/ThirdParty/MaxSdk/Mediation/Google/Editor/MaxMediationGoogleUtils.cs.meta delete mode 100644 Assets/ThirdParty/MaxSdk/Mediation/Google/Editor/PostProcessor.cs delete mode 100644 Assets/ThirdParty/MaxSdk/Mediation/Google/Editor/PreProcessor.cs create mode 100644 Assets/ThirdParty/MaxSdk/Scripts/IntegrationManager/Editor/AppLovinInternalSettings.cs rename Assets/ThirdParty/MaxSdk/{Mediation/Google/Editor/PreProcessor.cs.meta => Scripts/IntegrationManager/Editor/AppLovinInternalSettings.cs.meta} (55%) create mode 100644 Assets/ThirdParty/MaxSdk/Scripts/MaxEventSystemChecker.cs rename Assets/ThirdParty/MaxSdk/{Mediation/Google/Editor/PostProcessor.cs.meta => Scripts/MaxEventSystemChecker.cs.meta} (55%) create mode 100644 ProjectSettings/AppLovinInternalSettings.json diff --git a/Assets/Editor/Package.cs b/Assets/Editor/Package.cs index 5b7cdd100..cb49fc7c5 100644 --- a/Assets/Editor/Package.cs +++ b/Assets/Editor/Package.cs @@ -171,547 +171,642 @@ public class Package { // "; // list.AddKey(UnityNotificationRequestAuthorizationOnAppLaunch); + // max专用的SKAdNetworkIdentifiers,可以直接覆盖替换 + string SKAdNetworkIdentifiersForMAX = @" + + SKAdNetworkIdentifier + 22mmun2rn5.skadnetwork + + + SKAdNetworkIdentifier + 238da6jt44.skadnetwork + + + SKAdNetworkIdentifier + 24t9a8vw3c.skadnetwork + + + SKAdNetworkIdentifier + 24zw6aqk47.skadnetwork + + + SKAdNetworkIdentifier + 252b5q8x7y.skadnetwork + + + SKAdNetworkIdentifier + 275upjj5gd.skadnetwork + + + SKAdNetworkIdentifier + 294l99pt4k.skadnetwork + + + SKAdNetworkIdentifier + 2fnua5tdw4.skadnetwork + + + SKAdNetworkIdentifier + 2u9pt9hc89.skadnetwork + + + SKAdNetworkIdentifier + 32z4fx6l9h.skadnetwork + + + SKAdNetworkIdentifier + 3l6bd9hu43.skadnetwork + + + SKAdNetworkIdentifier + 3qcr597p9d.skadnetwork + + + SKAdNetworkIdentifier + 3qy4746246.skadnetwork + + + SKAdNetworkIdentifier + 3rd42ekr43.skadnetwork + + + SKAdNetworkIdentifier + 3sh42y64q3.skadnetwork + + + SKAdNetworkIdentifier + 424m5254lk.skadnetwork + + + SKAdNetworkIdentifier + 4468km3ulz.skadnetwork + + + SKAdNetworkIdentifier + 44jx6755aq.skadnetwork + + + SKAdNetworkIdentifier + 44n7hlldy6.skadnetwork + + + SKAdNetworkIdentifier + 47vhws6wlr.skadnetwork + + + SKAdNetworkIdentifier + 488r3q3dtq.skadnetwork + + + SKAdNetworkIdentifier + 4dzt52r2t5.skadnetwork + + + SKAdNetworkIdentifier + 4fzdc2evr5.skadnetwork + + + SKAdNetworkIdentifier + 4mn522wn87.skadnetwork + + + SKAdNetworkIdentifier + 4pfyvq9l8r.skadnetwork + + + SKAdNetworkIdentifier + 4w7y6s5ca2.skadnetwork + + + SKAdNetworkIdentifier + 523jb4fst2.skadnetwork + + + SKAdNetworkIdentifier + 52fl2v3hgk.skadnetwork + + + SKAdNetworkIdentifier + 54nzkqm89y.skadnetwork + + + SKAdNetworkIdentifier + 578prtvx9j.skadnetwork + + + SKAdNetworkIdentifier + 5a6flpkh64.skadnetwork + + + SKAdNetworkIdentifier + 5l3tpt7t6e.skadnetwork + + + SKAdNetworkIdentifier + 5lm9lj6jb7.skadnetwork + + + SKAdNetworkIdentifier + 5tjdwbrq8w.skadnetwork + + + SKAdNetworkIdentifier + 6964rsfnh4.skadnetwork + + + SKAdNetworkIdentifier + 6g9af3uyq4.skadnetwork + + + SKAdNetworkIdentifier + 6p4ks3rnbw.skadnetwork + + + SKAdNetworkIdentifier + 6v7lgmsu45.skadnetwork + + + SKAdNetworkIdentifier + 6xzpu9s2p8.skadnetwork + + + SKAdNetworkIdentifier + 737z793b9f.skadnetwork + + + SKAdNetworkIdentifier + 74b6s63p6l.skadnetwork + + + SKAdNetworkIdentifier + 7953jerfzd.skadnetwork + + + SKAdNetworkIdentifier + 79pbpufp6p.skadnetwork + + + SKAdNetworkIdentifier + 7fmhfwg9en.skadnetwork + + + SKAdNetworkIdentifier + 7rz58n8ntl.skadnetwork + + + SKAdNetworkIdentifier + 7ug5zh24hu.skadnetwork + + + SKAdNetworkIdentifier + 84993kbrcf.skadnetwork + + + SKAdNetworkIdentifier + 89z7zv988g.skadnetwork + + + SKAdNetworkIdentifier + 8c4e2ghe7u.skadnetwork + + + SKAdNetworkIdentifier + 8m87ys6875.skadnetwork + + + SKAdNetworkIdentifier + 8r8llnkz5a.skadnetwork + + + SKAdNetworkIdentifier + 8s468mfl3y.skadnetwork + + + SKAdNetworkIdentifier + 97r2b46745.skadnetwork + + + SKAdNetworkIdentifier + 9b89h5y424.skadnetwork + + + SKAdNetworkIdentifier + 9g2aggbj52.skadnetwork + + + SKAdNetworkIdentifier + 9nlqeag3gk.skadnetwork + + + SKAdNetworkIdentifier + 9rd848q2bz.skadnetwork + + + SKAdNetworkIdentifier + 9t245vhmpl.skadnetwork + + + SKAdNetworkIdentifier + 9vvzujtq5s.skadnetwork + + + SKAdNetworkIdentifier + 9yg77x724h.skadnetwork + + + SKAdNetworkIdentifier + a2p9lx4jpn.skadnetwork + + + SKAdNetworkIdentifier + a7xqa6mtl2.skadnetwork + + + SKAdNetworkIdentifier + a8cz6cu7e5.skadnetwork + + + SKAdNetworkIdentifier + av6w8kgt66.skadnetwork + + + SKAdNetworkIdentifier + b9bk5wbcq9.skadnetwork + + + SKAdNetworkIdentifier + bxvub5ada5.skadnetwork + + + SKAdNetworkIdentifier + c3frkrj4fj.skadnetwork + + + SKAdNetworkIdentifier + c6k4g5qg8m.skadnetwork + + + SKAdNetworkIdentifier + cg4yq2srnc.skadnetwork + + + SKAdNetworkIdentifier + cj5566h2ga.skadnetwork + + + SKAdNetworkIdentifier + cp8zw746q7.skadnetwork + + + SKAdNetworkIdentifier + cs644xg564.skadnetwork + + + SKAdNetworkIdentifier + cstr6suwn9.skadnetwork + + + SKAdNetworkIdentifier + dbu4b84rxf.skadnetwork + + + SKAdNetworkIdentifier + dkc879ngq3.skadnetwork + + + SKAdNetworkIdentifier + dzg6xy7pwj.skadnetwork + + + SKAdNetworkIdentifier + e5fvkxwrpn.skadnetwork + + + SKAdNetworkIdentifier + ecpz2srf59.skadnetwork + + + SKAdNetworkIdentifier + eh6m2bh4zr.skadnetwork + + + SKAdNetworkIdentifier + ejvt5qm6ak.skadnetwork + + + SKAdNetworkIdentifier + f38h382jlk.skadnetwork + + + SKAdNetworkIdentifier + f73kdq92p3.skadnetwork + + + SKAdNetworkIdentifier + f7s53z58qe.skadnetwork + + + SKAdNetworkIdentifier + feyaarzu9v.skadnetwork + + + SKAdNetworkIdentifier + g28c52eehv.skadnetwork + + + SKAdNetworkIdentifier + g2y4y55b64.skadnetwork + + + SKAdNetworkIdentifier + ggvn48r87g.skadnetwork + + + SKAdNetworkIdentifier + glqzh8vgby.skadnetwork + + + SKAdNetworkIdentifier + gta8lk7p23.skadnetwork + + + SKAdNetworkIdentifier + gta9lk7p23.skadnetwork + + + SKAdNetworkIdentifier + gvmwg8q7h5.skadnetwork + + + SKAdNetworkIdentifier + h65wbv5k3f.skadnetwork + + + SKAdNetworkIdentifier + hb56zgv37p.skadnetwork + + + SKAdNetworkIdentifier + hdw39hrw9y.skadnetwork + + + SKAdNetworkIdentifier + hs6bdukanm.skadnetwork + + + SKAdNetworkIdentifier + k674qkevps.skadnetwork + + + SKAdNetworkIdentifier + kbd757ywx3.skadnetwork + + + SKAdNetworkIdentifier + kbmxgpxpgc.skadnetwork + + + SKAdNetworkIdentifier + klf5c3l5u5.skadnetwork + + + SKAdNetworkIdentifier + krvm3zuq6h.skadnetwork + + + SKAdNetworkIdentifier + lr83yxwka7.skadnetwork + + + SKAdNetworkIdentifier + ludvb6z3bs.skadnetwork + + + SKAdNetworkIdentifier + m297p6643m.skadnetwork + + + SKAdNetworkIdentifier + m5mvw97r93.skadnetwork + + + SKAdNetworkIdentifier + m8dbw4sv7c.skadnetwork + + + SKAdNetworkIdentifier + mlmmfzh3r3.skadnetwork + + + SKAdNetworkIdentifier + mls7yz5dvl.skadnetwork + + + SKAdNetworkIdentifier + mp6xlyr22a.skadnetwork + + + SKAdNetworkIdentifier + mtkv5xtk9e.skadnetwork + + + SKAdNetworkIdentifier + n38lu8286q.skadnetwork + + + SKAdNetworkIdentifier + n66cz3y3bx.skadnetwork + + + SKAdNetworkIdentifier + n6fk4nfna4.skadnetwork + + + SKAdNetworkIdentifier + n9x2a789qt.skadnetwork + + + SKAdNetworkIdentifier + nzq8sh4pbs.skadnetwork + + + SKAdNetworkIdentifier + p78axxw29g.skadnetwork + + + SKAdNetworkIdentifier + ppxm28t8ap.skadnetwork + + + SKAdNetworkIdentifier + prcb7njmu6.skadnetwork + + + SKAdNetworkIdentifier + pu4na253f3.skadnetwork + + + SKAdNetworkIdentifier + pwa73g5rt2.skadnetwork + + + SKAdNetworkIdentifier + pwdxu55a5a.skadnetwork + + + SKAdNetworkIdentifier + qqp299437r.skadnetwork + + + SKAdNetworkIdentifier + qu637u8glc.skadnetwork + + + SKAdNetworkIdentifier + r45fhb6rf7.skadnetwork + + + SKAdNetworkIdentifier + rvh3l7un93.skadnetwork + + + SKAdNetworkIdentifier + rx5hdcabgc.skadnetwork + + + SKAdNetworkIdentifier + s39g8k73mm.skadnetwork + + + SKAdNetworkIdentifier + s69wq72ugq.skadnetwork + + + SKAdNetworkIdentifier + su67r6k2v3.skadnetwork + + + SKAdNetworkIdentifier + t38b2kh725.skadnetwork + + + SKAdNetworkIdentifier + t6d3zquu66.skadnetwork + + + SKAdNetworkIdentifier + tl55sbb4fm.skadnetwork + + + SKAdNetworkIdentifier + u679fj5vs4.skadnetwork + + + SKAdNetworkIdentifier + uw77j35x4d.skadnetwork + + + SKAdNetworkIdentifier + v4nxqhlyqp.skadnetwork + + + SKAdNetworkIdentifier + v72qych5uu.skadnetwork + + + SKAdNetworkIdentifier + v79kvwwj4g.skadnetwork + + + SKAdNetworkIdentifier + v9wttpbfk9.skadnetwork + + + SKAdNetworkIdentifier + vcra2ehyfk.skadnetwork + + + SKAdNetworkIdentifier + vutu7akeur.skadnetwork + + + SKAdNetworkIdentifier + w9q455wk68.skadnetwork + + + SKAdNetworkIdentifier + wg4vff78zm.skadnetwork + + + SKAdNetworkIdentifier + wzmmz9fp6w.skadnetwork + + + SKAdNetworkIdentifier + x44k69ngh6.skadnetwork + + + SKAdNetworkIdentifier + x5l83yy675.skadnetwork + + + SKAdNetworkIdentifier + x8jxxk4ff5.skadnetwork + + + SKAdNetworkIdentifier + x8uqf25wch.skadnetwork + + + SKAdNetworkIdentifier + xy9t38ct57.skadnetwork + + + SKAdNetworkIdentifier + y45688jllp.skadnetwork + + + SKAdNetworkIdentifier + y5ghdn5j9k.skadnetwork + + + SKAdNetworkIdentifier + yclnxrl5pm.skadnetwork + + + SKAdNetworkIdentifier + ydx93a7ass.skadnetwork + + + SKAdNetworkIdentifier + yrqqpx2mcb.skadnetwork + + + SKAdNetworkIdentifier + z4gj7hsk7h.skadnetwork + + + SKAdNetworkIdentifier + z959bm4gru.skadnetwork + + + SKAdNetworkIdentifier + zmvfpc5aq8.skadnetwork + + + SKAdNetworkIdentifier + zq492l623r.skadnetwork + "; + string SKAdNetworkIdentifiers = @" SKAdNetworkItems - - - SKAdNetworkIdentifier - 2fnua5tdw4.skadnetwork - - - SKAdNetworkIdentifier - 2u9pt9hc89.skadnetwork - - - SKAdNetworkIdentifier - 3qcr597p9d.skadnetwork - - - SKAdNetworkIdentifier - 3qy4746246.skadnetwork - - - SKAdNetworkIdentifier - 3sh42y64q3.skadnetwork - - - SKAdNetworkIdentifier - 424m5254lk.skadnetwork - - - SKAdNetworkIdentifier - 4468km3ulz.skadnetwork - - - SKAdNetworkIdentifier - 4dzt52r2t5.skadnetwork - - - SKAdNetworkIdentifier - 4fzdc2evr5.skadnetwork - - - SKAdNetworkIdentifier - 578prtvx9j.skadnetwork - - - SKAdNetworkIdentifier - 5a6flpkh64.skadnetwork - - - SKAdNetworkIdentifier - 7ug5zh24hu.skadnetwork - - - SKAdNetworkIdentifier - 8c4e2ghe7u.skadnetwork - - - SKAdNetworkIdentifier - 8s468mfl3y.skadnetwork - - - SKAdNetworkIdentifier - 9rd848q2bz.skadnetwork - - - SKAdNetworkIdentifier - 9t245vhmpl.skadnetwork - - - SKAdNetworkIdentifier - av6w8kgt66.skadnetwork - - - SKAdNetworkIdentifier - c6k4g5qg8m.skadnetwork - - - SKAdNetworkIdentifier - cstr6suwn9.skadnetwork - - - SKAdNetworkIdentifier - e5fvkxwrpn.skadnetwork - - - SKAdNetworkIdentifier - f38h382jlk.skadnetwork - - - SKAdNetworkIdentifier - hs6bdukanm.skadnetwork - - - SKAdNetworkIdentifier - kbd757ywx3.skadnetwork - - - SKAdNetworkIdentifier - klf5c3l5u5.skadnetwork - - - SKAdNetworkIdentifier - n6fk4nfna4.skadnetwork - - - SKAdNetworkIdentifier - p78axxw29g.skadnetwork - - - SKAdNetworkIdentifier - ppxm28t8ap.skadnetwork - - - SKAdNetworkIdentifier - prcb7njmu6.skadnetwork - - - SKAdNetworkIdentifier - s39g8k73mm.skadnetwork - - - SKAdNetworkIdentifier - t38b2kh725.skadnetwork - - - SKAdNetworkIdentifier - uw77j35x4d.skadnetwork - - - SKAdNetworkIdentifier - v4nxqhlyqp.skadnetwork - - - SKAdNetworkIdentifier - v72qych5uu.skadnetwork - - - SKAdNetworkIdentifier - wzmmz9fp6w.skadnetwork - - - SKAdNetworkIdentifier - yclnxrl5pm.skadnetwork - - - SKAdNetworkIdentifier - ydx93a7ass.skadnetwork - - - SKAdNetworkIdentifier - zq492l623r.skadnetwork - - - SKAdNetworkIdentifier - 22mmun2rn5.skadnetwork - - - SKAdNetworkIdentifier - 24t9a8vw3c.skadnetwork - - - SKAdNetworkIdentifier - 275upjj5gd.skadnetwork - - - SKAdNetworkIdentifier - 294l99pt4k.skadnetwork - - - SKAdNetworkIdentifier - 32z4fx6l9h.skadnetwork - - - SKAdNetworkIdentifier - 3l6bd9hu43.skadnetwork - - - SKAdNetworkIdentifier - 3rd42ekr43.skadnetwork - - - SKAdNetworkIdentifier - 4pfyvq9l8r.skadnetwork - - - SKAdNetworkIdentifier - 523jb4fst2.skadnetwork - - - SKAdNetworkIdentifier - 52fl2v3hgk.skadnetwork - - - SKAdNetworkIdentifier - 54nzkqm89y.skadnetwork - - - SKAdNetworkIdentifier - 5l3tpt7t6e.skadnetwork - - - SKAdNetworkIdentifier - 5lm9lj6jb7.skadnetwork - - - SKAdNetworkIdentifier - 5tjdwbrq8w.skadnetwork - - - SKAdNetworkIdentifier - 6g9af3uyq4.skadnetwork - - - SKAdNetworkIdentifier - 6xzpu9s2p8.skadnetwork - - - SKAdNetworkIdentifier - 79pbpufp6p.skadnetwork - - - SKAdNetworkIdentifier - 7rz58n8ntl.skadnetwork - - - SKAdNetworkIdentifier - 9b89h5y424.skadnetwork - - - SKAdNetworkIdentifier - 9nlqeag3gk.skadnetwork - - - SKAdNetworkIdentifier - 9yg77x724h.skadnetwork - - - SKAdNetworkIdentifier - a8cz6cu7e5.skadnetwork - - - SKAdNetworkIdentifier - c3frkrj4fj.skadnetwork - - - SKAdNetworkIdentifier - cg4yq2srnc.skadnetwork - - - SKAdNetworkIdentifier - cj5566h2ga.skadnetwork - - - SKAdNetworkIdentifier - dkc879ngq3.skadnetwork - - - SKAdNetworkIdentifier - ejvt5qm6ak.skadnetwork - - - SKAdNetworkIdentifier - feyaarzu9v.skadnetwork - - - SKAdNetworkIdentifier - g28c52eehv.skadnetwork - - - SKAdNetworkIdentifier - ggvn48r87g.skadnetwork - - - SKAdNetworkIdentifier - glqzh8vgby.skadnetwork - - - SKAdNetworkIdentifier - gta9lk7p23.skadnetwork - - - SKAdNetworkIdentifier - k674qkevps.skadnetwork - - - SKAdNetworkIdentifier - kbmxgpxpgc.skadnetwork - - - SKAdNetworkIdentifier - ludvb6z3bs.skadnetwork - - - SKAdNetworkIdentifier - m5mvw97r93.skadnetwork - - - SKAdNetworkIdentifier - m8dbw4sv7c.skadnetwork - - - SKAdNetworkIdentifier - mlmmfzh3r3.skadnetwork - - - SKAdNetworkIdentifier - mtkv5xtk9e.skadnetwork - - - SKAdNetworkIdentifier - n66cz3y3bx.skadnetwork - - - SKAdNetworkIdentifier - n9x2a789qt.skadnetwork - - - SKAdNetworkIdentifier - nzq8sh4pbs.skadnetwork - - - SKAdNetworkIdentifier - pwa73g5rt2.skadnetwork - - - SKAdNetworkIdentifier - qqp299437r.skadnetwork - - - SKAdNetworkIdentifier - r45fhb6rf7.skadnetwork - - - SKAdNetworkIdentifier - rvh3l7un93.skadnetwork - - - SKAdNetworkIdentifier - tl55sbb4fm.skadnetwork - - - SKAdNetworkIdentifier - vcra2ehyfk.skadnetwork - - - SKAdNetworkIdentifier - wg4vff78zm.skadnetwork - - - SKAdNetworkIdentifier - x44k69ngh6.skadnetwork - - - SKAdNetworkIdentifier - x5l83yy675.skadnetwork - - - SKAdNetworkIdentifier - x8jxxk4ff5.skadnetwork - - - SKAdNetworkIdentifier - x8uqf25wch.skadnetwork - - - SKAdNetworkIdentifier - xy9t38ct57.skadnetwork - - - SKAdNetworkIdentifier - zmvfpc5aq8.skadnetwork - - - SKAdNetworkIdentifier - 44jx6755aq.skadnetwork - - - SKAdNetworkIdentifier - 44n7hlldy6.skadnetwork - - - SKAdNetworkIdentifier - 4w7y6s5ca2.skadnetwork - - - SKAdNetworkIdentifier - 6964rsfnh4.skadnetwork - - - SKAdNetworkIdentifier - 6p4ks3rnbw.skadnetwork - - - SKAdNetworkIdentifier - 737z793b9f.skadnetwork - - - SKAdNetworkIdentifier - 74b6s63p6l.skadnetwork - - - SKAdNetworkIdentifier - 84993kbrcf.skadnetwork - - - SKAdNetworkIdentifier - 97r2b46745.skadnetwork - - - SKAdNetworkIdentifier - a2p9lx4jpn.skadnetwork - - - SKAdNetworkIdentifier - a7xqa6mtl2.skadnetwork - - - SKAdNetworkIdentifier - b9bk5wbcq9.skadnetwork - - - SKAdNetworkIdentifier - bxvub5ada5.skadnetwork - - - SKAdNetworkIdentifier - dzg6xy7pwj.skadnetwork - - - SKAdNetworkIdentifier - f73kdq92p3.skadnetwork - - - SKAdNetworkIdentifier - g2y4y55b64.skadnetwork - - - SKAdNetworkIdentifier - hdw39hrw9y.skadnetwork - - - SKAdNetworkIdentifier - krvm3zuq6h.skadnetwork - - - SKAdNetworkIdentifier - lr83yxwka7.skadnetwork - - - SKAdNetworkIdentifier - mls7yz5dvl.skadnetwork - - - SKAdNetworkIdentifier - mp6xlyr22a.skadnetwork - - - SKAdNetworkIdentifier - pwdxu55a5a.skadnetwork - - - SKAdNetworkIdentifier - rx5hdcabgc.skadnetwork - - - SKAdNetworkIdentifier - s69wq72ugq.skadnetwork - - - SKAdNetworkIdentifier - su67r6k2v3.skadnetwork - - - SKAdNetworkIdentifier - u679fj5vs4.skadnetwork - - - SKAdNetworkIdentifier - w9q455wk68.skadnetwork - - - SKAdNetworkIdentifier - y45688jllp.skadnetwork - - - SKAdNetworkIdentifier - n38lu8286q.skadnetwork - - - SKAdNetworkIdentifier - v9wttpbfk9.skadnetwork - - - SKAdNetworkIdentifier - 252b5q8x7y.skadnetwork - - - SKAdNetworkIdentifier - 9g2aggbj52.skadnetwork - - - SKAdNetworkIdentifier - 238da6jt44.skadnetwork - - - SKAdNetworkIdentifier - x2jnk7ly8j.skadnetwork - - - SKAdNetworkIdentifier - 488r3q3dtq.skadnetwork - - - SKAdNetworkIdentifier - f7s53z58qe.skadnetwork - - - SKAdNetworkIdentifier - v79kvwwj4g.skadnetwork - - - SKAdNetworkIdentifier - ecpz2srf59.skadnetwork - - - SKAdNetworkIdentifier - gvmwg8q7h5.skadnetwork - - - SKAdNetworkIdentifier - pu4na253f3.skadnetwork - - - SKAdNetworkIdentifier - yrqqpx2mcb.skadnetwork - - - SKAdNetworkIdentifier - z4gj7hsk7h.skadnetwork - - - "; + " + + SKAdNetworkIdentifiersForMAX + + @" + SKAdNetworkIdentifier + x2jnk7ly8j.skadnetwork + " // 不知道哪儿来的,但是不删除 + + ""; list.AddKey(SKAdNetworkIdentifiers); ///*/facebook 深度连接 diff --git a/Assets/ThirdParty/MaxSdk/AppLovin/Editor/Dependencies.xml b/Assets/ThirdParty/MaxSdk/AppLovin/Editor/Dependencies.xml index cd1ad3ea2..961447f0b 100644 --- a/Assets/ThirdParty/MaxSdk/AppLovin/Editor/Dependencies.xml +++ b/Assets/ThirdParty/MaxSdk/AppLovin/Editor/Dependencies.xml @@ -1,9 +1,9 @@ - + - + diff --git a/Assets/ThirdParty/MaxSdk/AppLovin/Plugins/iOS/MAUnityAdManager.h b/Assets/ThirdParty/MaxSdk/AppLovin/Plugins/iOS/MAUnityAdManager.h index 87e5b6803..ef99b5ab9 100644 --- a/Assets/ThirdParty/MaxSdk/AppLovin/Plugins/iOS/MAUnityAdManager.h +++ b/Assets/ThirdParty/MaxSdk/AppLovin/Plugins/iOS/MAUnityAdManager.h @@ -16,6 +16,7 @@ typedef void (*ALUnityBackgroundCallback)(const char* args); - (void)createBannerWithAdUnitIdentifier:(NSString *)adUnitIdentifier atPosition:(NSString *)bannerPosition; - (void)createBannerWithAdUnitIdentifier:(NSString *)adUnitIdentifier x:(CGFloat)xOffset y:(CGFloat)yOffset; +- (void)loadBannerWithAdUnitIdentifier:(NSString *)adUnitIdentifier; - (void)setBannerBackgroundColorForAdUnitIdentifier:(NSString *)adUnitIdentifier hexColorCode:(NSString *)hexColorCode; - (void)setBannerPlacement:(nullable NSString *)placement forAdUnitIdentifier:(NSString *)adUnitIdentifier; - (void)startBannerAutoRefreshForAdUnitIdentifier:(NSString *)adUnitIdentifier; @@ -34,6 +35,7 @@ typedef void (*ALUnityBackgroundCallback)(const char* args); - (void)createMRecWithAdUnitIdentifier:(NSString *)adUnitIdentifier atPosition:(NSString *)mrecPosition; - (void)createMRecWithAdUnitIdentifier:(NSString *)adUnitIdentifier x:(CGFloat)xOffset y:(CGFloat)yOffset; +- (void)loadMRecWithAdUnitIdentifier:(NSString *)adUnitIdentifier; - (void)setMRecPlacement:(nullable NSString *)placement forAdUnitIdentifier:(NSString *)adUnitIdentifier; - (void)startMRecAutoRefreshForAdUnitIdentifier:(NSString *)adUnitIdentifier; - (void)stopMRecAutoRefreshForAdUnitIdentifier:(NSString *)adUnitIdentifer; @@ -61,6 +63,12 @@ typedef void (*ALUnityBackgroundCallback)(const char* args); - (void)setInterstitialExtraParameterForAdUnitIdentifier:(NSString *)adUnitIdentifier key:(NSString *)key value:(nullable NSString *)value; - (void)setInterstitialLocalExtraParameterForAdUnitIdentifier:(NSString *)adUnitIdentifier key:(NSString *)key value:(nullable id)value; +- (void)loadAppOpenAdWithAdUnitIdentifier:(NSString *)adUnitIdentifier; +- (BOOL)isAppOpenAdReadyWithAdUnitIdentifier:(NSString *)adUnitIdentifier; +- (void)showAppOpenAdWithAdUnitIdentifier:(NSString *)adUnitIdentifier placement:(nullable NSString *)placement customData:(nullable NSString *)customData; +- (void)setAppOpenAdExtraParameterForAdUnitIdentifier:(NSString *)adUnitIdentifier key:(NSString *)key value:(nullable NSString *)value; +- (void)setAppOpenAdLocalExtraParameterForAdUnitIdentifier:(NSString *)adUnitIdentifier key:(NSString *)key value:(nullable id)value; + - (void)loadRewardedAdWithAdUnitIdentifier:(NSString *)adUnitIdentifier; - (BOOL)isRewardedAdReadyWithAdUnitIdentifier:(NSString *)adUnitIdentifier; - (void)showRewardedAdWithAdUnitIdentifier:(NSString *)adUnitIdentifier placement:(nullable NSString *)placement customData:(nullable NSString *)customData; @@ -85,8 +93,11 @@ typedef void (*ALUnityBackgroundCallback)(const char* args); // User Service - (void)didDismissUserConsentDialog; +// Consent Flow +- (void)startConsentFlow; + // Utils -+ (NSString *)serializeParameters:(NSDictionary *)dict; ++ (NSString *)serializeParameters:(NSDictionary *)dict; /** * Creates an instance of @c MAUnityAdManager if needed and returns the singleton instance. diff --git a/Assets/ThirdParty/MaxSdk/AppLovin/Plugins/iOS/MAUnityAdManager.h.meta b/Assets/ThirdParty/MaxSdk/AppLovin/Plugins/iOS/MAUnityAdManager.h.meta index 30ef626d9..aef1db553 100644 --- a/Assets/ThirdParty/MaxSdk/AppLovin/Plugins/iOS/MAUnityAdManager.h.meta +++ b/Assets/ThirdParty/MaxSdk/AppLovin/Plugins/iOS/MAUnityAdManager.h.meta @@ -3,7 +3,6 @@ guid: 4209563f82b8a4f7dabf03705ab761c6 labels: - al_max - al_max_export_path-MaxSdk/AppLovin/Plugins/iOS/MAUnityAdManager.h -- al_max_export_path-MaxSdk\AppLovin\Plugins\iOS\MAUnityAdManager.h PluginImporter: externalObjects: {} serializedVersion: 2 @@ -16,7 +15,7 @@ PluginImporter: validateReferences: 1 platformData: - first: - : Any + '': Any second: enabled: 0 settings: diff --git a/Assets/ThirdParty/MaxSdk/AppLovin/Plugins/iOS/MAUnityAdManager.m b/Assets/ThirdParty/MaxSdk/AppLovin/Plugins/iOS/MAUnityAdManager.m index 70e86a6dc..ca86eb997 100644 --- a/Assets/ThirdParty/MaxSdk/AppLovin/Plugins/iOS/MAUnityAdManager.m +++ b/Assets/ThirdParty/MaxSdk/AppLovin/Plugins/iOS/MAUnityAdManager.m @@ -5,7 +5,7 @@ #import "MAUnityAdManager.h" -#define VERSION @"5.4.5" +#define VERSION @"5.10.1" #define KEY_WINDOW [UIApplication sharedApplication].keyWindow #define DEVICE_SPECIFIC_ADVIEW_AD_FORMAT ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPad) ? MAAdFormat.leader : MAAdFormat.banner @@ -42,13 +42,14 @@ extern "C" { } #endif -@interface MAUnityAdManager() +@interface MAUnityAdManager() // Parent Fields @property (nonatomic, weak) ALSdk *sdk; // Fullscreen Ad Fields @property (nonatomic, strong) NSMutableDictionary *interstitials; +@property (nonatomic, strong) NSMutableDictionary *appOpenAds; @property (nonatomic, strong) NSMutableDictionary *rewardedAds; @property (nonatomic, strong) NSMutableDictionary *rewardedInterstitialAds; @@ -67,6 +68,7 @@ extern "C" { @property (nonatomic, strong) NSMutableDictionary *adViewCustomDataToSetAfterCreate; @property (nonatomic, strong) NSMutableArray *adUnitIdentifiersToShowAfterCreate; @property (nonatomic, strong) NSMutableSet *disabledAdaptiveBannerAdUnitIdentifiers; +@property (nonatomic, strong) NSMutableSet *disabledAutoRefreshAdViewAdUnitIdentifiers; @property (nonatomic, strong) UIView *safeAreaBackground; @property (nonatomic, strong, nullable) UIColor *publisherBannerBackgroundColor; @@ -107,6 +109,7 @@ static ALUnityBackgroundCallback backgroundCallback; if ( self ) { self.interstitials = [NSMutableDictionary dictionaryWithCapacity: 2]; + self.appOpenAds = [NSMutableDictionary dictionaryWithCapacity: 2]; self.rewardedAds = [NSMutableDictionary dictionaryWithCapacity: 2]; self.rewardedInterstitialAds = [NSMutableDictionary dictionaryWithCapacity: 2]; self.adViews = [NSMutableDictionary dictionaryWithCapacity: 2]; @@ -123,6 +126,7 @@ static ALUnityBackgroundCallback backgroundCallback; self.adViewCustomDataToSetAfterCreate = [NSMutableDictionary dictionaryWithCapacity: 1]; self.adUnitIdentifiersToShowAfterCreate = [NSMutableArray arrayWithCapacity: 2]; self.disabledAdaptiveBannerAdUnitIdentifiers = [NSMutableSet setWithCapacity: 2]; + self.disabledAutoRefreshAdViewAdUnitIdentifiers = [NSMutableSet setWithCapacity: 2]; self.adInfoDict = [NSMutableDictionary dictionary]; self.adInfoDictLock = [[NSObject alloc] init]; @@ -172,7 +176,15 @@ static ALUnityBackgroundCallback backgroundCallback; backgroundCallback = unityBackgroundCallback; NSDictionary *infoDict = [[NSBundle mainBundle] infoDictionary]; NSString *sdkKey = infoDict[@"AppLovinSdkKey"]; - self.sdk = [ALSdk sharedWithKey: sdkKey settings: [self generateSDKSettingsForAdUnitIdentifiers: serializedAdUnitIdentifiers metaData: serializedMetaData]]; + if ( [sdkKey al_isValidString] ) + { + self.sdk = [ALSdk sharedWithKey: sdkKey settings: [self generateSDKSettingsForAdUnitIdentifiers: serializedAdUnitIdentifiers metaData: serializedMetaData]]; + } + else + { + self.sdk = [ALSdk sharedWithSettings:[self generateSDKSettingsForAdUnitIdentifiers:serializedAdUnitIdentifiers metaData:serializedMetaData]]; + } + self.sdk.variableService.delegate = self; [self.sdk setPluginVersion: [@"Max-Unity-" stringByAppendingString: VERSION]]; self.sdk.mediationProvider = @"max"; @@ -187,7 +199,8 @@ static ALUnityBackgroundCallback backgroundCallback; @"consentDialogState" : consentDialogStateStr, @"countryCode" : configuration.countryCode, @"appTrackingStatus" : appTrackingStatus, - @"isSuccessfullyInitialized" : ([self.sdk isInitialized] ? @"true" : @"false")}]; + @"isSuccessfullyInitialized" : @([self.sdk isInitialized]), + @"isTestModeEnabled" : @([configuration isTestModeEnabled])}]; }]; return self.sdk; @@ -205,6 +218,11 @@ static ALUnityBackgroundCallback backgroundCallback; [self createAdViewWithAdUnitIdentifier: adUnitIdentifier adFormat: [self adViewAdFormatForAdUnitIdentifier: adUnitIdentifier] atPosition: DEFAULT_AD_VIEW_POSITION withOffset: CGPointMake(xOffset, yOffset)]; } +- (void)loadBannerWithAdUnitIdentifier:(NSString *)adUnitIdentifier +{ + [self loadAdViewWithAdUnitIdentifier: adUnitIdentifier adFormat: [self adViewAdFormatForAdUnitIdentifier: adUnitIdentifier]]; +} + - (void)setBannerBackgroundColorForAdUnitIdentifier:(NSString *)adUnitIdentifier hexColorCode:(NSString *)hexColorCode { [self setAdViewBackgroundColorForAdUnitIdentifier: adUnitIdentifier adFormat: [self adViewAdFormatForAdUnitIdentifier: adUnitIdentifier] hexColorCode: hexColorCode]; @@ -292,6 +310,11 @@ static ALUnityBackgroundCallback backgroundCallback; [self createAdViewWithAdUnitIdentifier: adUnitIdentifier adFormat: MAAdFormat.mrec atPosition: DEFAULT_AD_VIEW_POSITION withOffset: CGPointMake(xOffset, yOffset)]; } +- (void)loadMRecWithAdUnitIdentifier:(NSString *)adUnitIdentifier +{ + [self loadAdViewWithAdUnitIdentifier: adUnitIdentifier adFormat: MAAdFormat.mrec]; +} + - (void)setMRecPlacement:(nullable NSString *)placement forAdUnitIdentifier:(NSString *)adUnitIdentifier { [self setAdViewPlacement: placement forAdUnitIdentifier: adUnitIdentifier adFormat: MAAdFormat.mrec]; @@ -302,9 +325,9 @@ static ALUnityBackgroundCallback backgroundCallback; [self startAdViewAutoRefreshForAdUnitIdentifier: adUnitIdentifier adFormat: MAAdFormat.mrec]; } -- (void)stopMRecAutoRefreshForAdUnitIdentifier:(NSString *)adUnitIdentifer +- (void)stopMRecAutoRefreshForAdUnitIdentifier:(NSString *)adUnitIdentifier { - [self stopAdViewAutoRefreshForAdUnitIdentifier: adUnitIdentifer adFormat: MAAdFormat.mrec]; + [self stopAdViewAutoRefreshForAdUnitIdentifier: adUnitIdentifier adFormat: MAAdFormat.mrec]; } - (void)updateMRecPosition:(NSString *)mrecPosition forAdUnitIdentifier:(NSString *)adUnitIdentifier @@ -427,6 +450,38 @@ static ALUnityBackgroundCallback backgroundCallback; [interstitial setLocalExtraParameterForKey: key value: value]; } +#pragma mark - App Open Ads + +- (void)loadAppOpenAdWithAdUnitIdentifier:(NSString *)adUnitIdentifier +{ + MAAppOpenAd *appOpenAd = [self retrieveAppOpenAdForAdUnitIdentifier: adUnitIdentifier]; + [appOpenAd loadAd]; +} + +- (BOOL)isAppOpenAdReadyWithAdUnitIdentifier:(NSString *)adUnitIdentifier +{ + MAAppOpenAd *appOpenAd = [self retrieveAppOpenAdForAdUnitIdentifier: adUnitIdentifier]; + return [appOpenAd isReady]; +} + +- (void)showAppOpenAdWithAdUnitIdentifier:(NSString *)adUnitIdentifier placement:(nullable NSString *)placement customData:(nullable NSString *)customData +{ + MAAppOpenAd *appOpenAd = [self retrieveAppOpenAdForAdUnitIdentifier: adUnitIdentifier]; + [appOpenAd showAdForPlacement: placement customData: customData]; +} + +- (void)setAppOpenAdExtraParameterForAdUnitIdentifier:(NSString *)adUnitIdentifier key:(NSString *)key value:(nullable NSString *)value +{ + MAAppOpenAd *appOpenAd = [self retrieveAppOpenAdForAdUnitIdentifier: adUnitIdentifier]; + [appOpenAd setExtraParameterForKey: key value: value]; +} + +- (void)setAppOpenAdLocalExtraParameterForAdUnitIdentifier:(NSString *)adUnitIdentifier key:(NSString *)key value:(nullable id)value +{ + MAAppOpenAd *appOpenAd = [self retrieveAppOpenAdForAdUnitIdentifier: adUnitIdentifier]; + [appOpenAd setLocalExtraParameterForKey: key value: value]; +} + #pragma mark - Rewarded - (void)loadRewardedAdWithAdUnitIdentifier:(NSString *)adUnitIdentifier @@ -568,6 +623,7 @@ static ALUnityBackgroundCallback backgroundCallback; } networkResponseDict[@"credentials"] = response.credentials; + networkResponseDict[@"isBidding"] = @([response isBidding]); MAError *error = response.error; if ( error ) @@ -636,6 +692,10 @@ static ALUnityBackgroundCallback backgroundCallback; { name = @"OnInterstitialLoadedEvent"; } + else if ( MAAdFormat.appOpen == adFormat ) + { + name = @"OnAppOpenAdLoadedEvent"; + } else if ( MAAdFormat.rewarded == adFormat ) { name = @"OnRewardedAdLoadedEvent"; @@ -688,6 +748,10 @@ static ALUnityBackgroundCallback backgroundCallback; { name = @"OnInterstitialLoadFailedEvent"; } + else if ( self.appOpenAds[adUnitIdentifier] ) + { + name = @"OnAppOpenAdLoadFailedEvent"; + } else if ( self.rewardedAds[adUnitIdentifier] ) { name = @"OnRewardedAdLoadFailedEvent"; @@ -735,6 +799,10 @@ static ALUnityBackgroundCallback backgroundCallback; { name = @"OnInterstitialClickedEvent"; } + else if ( MAAdFormat.appOpen == adFormat ) + { + name = @"OnAppOpenAdClickedEvent"; + } else if ( MAAdFormat.rewarded == adFormat ) { name = @"OnRewardedAdClickedEvent"; @@ -768,6 +836,10 @@ static ALUnityBackgroundCallback backgroundCallback; { name = @"OnInterstitialDisplayedEvent"; } + else if ( MAAdFormat.appOpen == adFormat ) + { + name = @"OnAppOpenAdDisplayedEvent"; + } else if ( MAAdFormat.rewarded == adFormat ) { name = @"OnRewardedAdDisplayedEvent"; @@ -792,6 +864,10 @@ static ALUnityBackgroundCallback backgroundCallback; { name = @"OnInterstitialAdFailedToDisplayEvent"; } + else if ( MAAdFormat.appOpen == adFormat ) + { + name = @"OnAppOpenAdFailedToDisplayEvent"; + } else if ( MAAdFormat.rewarded == adFormat ) { name = @"OnRewardedAdFailedToDisplayEvent"; @@ -825,6 +901,10 @@ static ALUnityBackgroundCallback backgroundCallback; { name = @"OnInterstitialHiddenEvent"; } + else if ( MAAdFormat.appOpen == adFormat ) + { + name = @"OnAppOpenAdHiddenEvent"; + } else if ( MAAdFormat.rewarded == adFormat ) { name = @"OnRewardedAdHiddenEvent"; @@ -952,6 +1032,10 @@ static ALUnityBackgroundCallback backgroundCallback; { name = @"OnInterstitialAdRevenuePaidEvent"; } + else if ( MAAdFormat.appOpen == adFormat ) + { + name = @"OnAppOpenAdRevenuePaidEvent"; + } else if ( MAAdFormat.rewarded == adFormat ) { name = @"OnRewardedAdRevenuePaidEvent"; @@ -970,6 +1054,41 @@ static ALUnityBackgroundCallback backgroundCallback; [MAUnityAdManager forwardUnityEventWithArgs: args forwardInBackground: [adFormat isFullscreenAd]]; } +- (void)didGenerateCreativeIdentifier:(NSString *)creativeIdentifier forAd:(MAAd *)ad +{ + NSString *name; + MAAdFormat *adFormat = ad.format; + if ( MAAdFormat.banner == adFormat || MAAdFormat.leader == adFormat ) + { + name = @"OnBannerAdReviewCreativeIdGeneratedEvent"; + } + else if ( MAAdFormat.mrec == adFormat ) + { + name = @"OnMRecAdReviewCreativeIdGeneratedEvent"; + } + else if ( MAAdFormat.interstitial == adFormat ) + { + name = @"OnInterstitialAdReviewCreativeIdGeneratedEvent"; + } + else if ( MAAdFormat.rewarded == adFormat ) + { + name = @"OnRewardedAdReviewCreativeIdGeneratedEvent"; + } + else if ( MAAdFormat.rewardedInterstitial == adFormat ) + { + name = @"OnRewardedInterstitialAdReviewCreativeIdGeneratedEvent"; + } + else + { + [self logInvalidAdFormat: adFormat]; + return; + } + + NSMutableDictionary *args = [self defaultAdEventParametersForName: name withAd: ad]; + args[@"adReviewCreativeId"] = creativeIdentifier; + [MAUnityAdManager forwardUnityEventWithArgs: args]; +} + - (NSMutableDictionary *)defaultAdEventParametersForName:(NSString *)name withAd:(MAAd *)ad { NSMutableDictionary *args = [[self adInfoForAd: ad] mutableCopy]; @@ -985,6 +1104,11 @@ static ALUnityBackgroundCallback backgroundCallback; max_unity_dispatch_on_main_thread(^{ [self log: @"Creating %@ with ad unit identifier \"%@\" and position: \"%@\"", adFormat, adUnitIdentifier, adViewPosition]; + if ( self.adViews[adUnitIdentifier] ) + { + [self log: @"Trying to create a %@ that was already created. This will cause the current ad to be hidden.", adFormat.label]; + } + // Retrieve ad view from the map MAAdView *adView = [self retrieveAdViewForAdUnitIdentifier: adUnitIdentifier adFormat: adFormat atPosition: adViewPosition withOffset: offset]; adView.hidden = YES; @@ -1040,6 +1164,12 @@ static ALUnityBackgroundCallback backgroundCallback; [adView loadAd]; + // Disable auto-refresh if publisher sets it before creating the ad view. + if ( [self.disabledAutoRefreshAdViewAdUnitIdentifiers containsObject: adUnitIdentifier] ) + { + [adView stopAutoRefresh]; + } + // The publisher may have requested to show the banner before it was created. Now that the banner is created, show it. if ( [self.adUnitIdentifiersToShowAfterCreate containsObject: adUnitIdentifier] ) { @@ -1049,6 +1179,32 @@ static ALUnityBackgroundCallback backgroundCallback; }); } +- (void)loadAdViewWithAdUnitIdentifier:(NSString *)adUnitIdentifier adFormat:(MAAdFormat *)adFormat +{ + max_unity_dispatch_on_main_thread(^{ + MAAdView *adView = [self retrieveAdViewForAdUnitIdentifier: adUnitIdentifier adFormat: adFormat]; + if ( !adView ) + { + [self log: @"%@ does not exist for ad unit identifier %@.", adFormat.label, adUnitIdentifier]; + return; + } + + if ( ![self.disabledAutoRefreshAdViewAdUnitIdentifiers containsObject: adUnitIdentifier] ) + { + if ( [adView isHidden] ) + { + [self log: @"Auto-refresh will resume when the %@ ad is shown. You should only call LoadBanner() or LoadMRec() if you explicitly pause auto-refresh and want to manually load an ad.", adFormat.label]; + return; + } + + [self log: @"You must stop auto-refresh if you want to manually load %@ ads.", adFormat.label]; + return; + } + + [adView loadAd]; + }); +} + - (void)setAdViewBackgroundColorForAdUnitIdentifier:(NSString *)adUnitIdentifier adFormat:(MAAdFormat *)adFormat hexColorCode:(NSString *)hexColorCode { max_unity_dispatch_on_main_thread(^{ @@ -1082,6 +1238,8 @@ static ALUnityBackgroundCallback backgroundCallback; max_unity_dispatch_on_main_thread(^{ [self log: @"Starting %@ auto refresh for ad unit identifier \"%@\"", adFormat.label, adUnitIdentifier]; + [self.disabledAutoRefreshAdViewAdUnitIdentifiers removeObject: adUnitIdentifier]; + MAAdView *adView = [self retrieveAdViewForAdUnitIdentifier: adUnitIdentifier adFormat: adFormat]; if ( !adView ) { @@ -1098,6 +1256,8 @@ static ALUnityBackgroundCallback backgroundCallback; max_unity_dispatch_on_main_thread(^{ [self log: @"Stopping %@ auto refresh for ad unit identifier \"%@\"", adFormat.label, adUnitIdentifier]; + [self.disabledAutoRefreshAdViewAdUnitIdentifiers addObject: adUnitIdentifier]; + MAAdView *adView = [self retrieveAdViewForAdUnitIdentifier: adUnitIdentifier adFormat: adFormat]; if ( !adView ) { @@ -1272,7 +1432,10 @@ static ALUnityBackgroundCallback backgroundCallback; self.safeAreaBackground.hidden = NO; view.hidden = NO; - [view startAutoRefresh]; + if ( ![self.disabledAutoRefreshAdViewAdUnitIdentifiers containsObject: adUnitIdentifier] ) + { + [view startAutoRefresh]; + } }); } @@ -1317,6 +1480,7 @@ static ALUnityBackgroundCallback backgroundCallback; MAAdView *view = [self retrieveAdViewForAdUnitIdentifier: adUnitIdentifier adFormat: adFormat]; view.delegate = nil; view.revenueDelegate = nil; + view.adReviewDelegate = nil; [view removeFromSuperview]; @@ -1355,6 +1519,7 @@ static ALUnityBackgroundCallback backgroundCallback; result = [[MAInterstitialAd alloc] initWithAdUnitIdentifier: adUnitIdentifier sdk: self.sdk]; result.delegate = self; result.revenueDelegate = self; + result.adReviewDelegate = self; self.interstitials[adUnitIdentifier] = result; } @@ -1362,6 +1527,21 @@ static ALUnityBackgroundCallback backgroundCallback; return result; } +- (MAAppOpenAd *)retrieveAppOpenAdForAdUnitIdentifier:(NSString *)adUnitIdentifier +{ + MAAppOpenAd *result = self.appOpenAds[adUnitIdentifier]; + if ( !result ) + { + result = [[MAAppOpenAd alloc] initWithAdUnitIdentifier: adUnitIdentifier sdk: self.sdk]; + result.delegate = self; + result.revenueDelegate = self; + + self.appOpenAds[adUnitIdentifier] = result; + } + + return result; +} + - (MARewardedAd *)retrieveRewardedAdForAdUnitIdentifier:(NSString *)adUnitIdentifier { MARewardedAd *result = self.rewardedAds[adUnitIdentifier]; @@ -1370,6 +1550,7 @@ static ALUnityBackgroundCallback backgroundCallback; result = [MARewardedAd sharedWithAdUnitIdentifier: adUnitIdentifier sdk: self.sdk]; result.delegate = self; result.revenueDelegate = self; + result.adReviewDelegate = self; self.rewardedAds[adUnitIdentifier] = result; } @@ -1385,6 +1566,7 @@ static ALUnityBackgroundCallback backgroundCallback; result = [[MARewardedInterstitialAd alloc] initWithAdUnitIdentifier: adUnitIdentifier sdk: self.sdk]; result.delegate = self; result.revenueDelegate = self; + result.adReviewDelegate = self; self.rewardedInterstitialAds[adUnitIdentifier] = result; } @@ -1408,6 +1590,7 @@ static ALUnityBackgroundCallback backgroundCallback; result.translatesAutoresizingMaskIntoConstraints = NO; result.delegate = self; result.revenueDelegate = self; + result.adReviewDelegate = self; self.adViews[adUnitIdentifier] = result; self.adViewPositions[adUnitIdentifier] = adViewPosition; @@ -1415,6 +1598,9 @@ static ALUnityBackgroundCallback backgroundCallback; UIViewController *rootViewController = [self unityViewController]; [rootViewController.view addSubview: result]; + + // Allow pubs to pause auto-refresh immediately, by default. + [result setExtraParameterForKey: @"allow_pause_auto_refresh_immediately" value: @"true"]; } return result; @@ -1829,6 +2015,25 @@ static ALUnityBackgroundCallback backgroundCallback; [MAUnityAdManager forwardUnityEventWithArgs: @{@"name" : @"OnSdkConsentDialogDismissedEvent"}]; } +#pragma mark - Consent Flow + +- (void)startConsentFlow +{ + [self.sdk.cfService scfWithCompletionHander:^(ALCFError * _Nullable error) { + + NSMutableDictionary *args = [NSMutableDictionary dictionaryWithCapacity: 3]; + args[@"name"] = @"OnSdkConsentFlowCompletedEvent"; + + if ( error ) + { + args[@"code"] = @(error.code); + args[@"message"] = error.message; + } + + [MAUnityAdManager forwardUnityEventWithArgs: args]; + }]; +} + #pragma mark - Variable Service (Deprecated) - (void)loadVariables diff --git a/Assets/ThirdParty/MaxSdk/AppLovin/Plugins/iOS/MAUnityAdManager.m.meta b/Assets/ThirdParty/MaxSdk/AppLovin/Plugins/iOS/MAUnityAdManager.m.meta index c8812d615..8c3581e8b 100644 --- a/Assets/ThirdParty/MaxSdk/AppLovin/Plugins/iOS/MAUnityAdManager.m.meta +++ b/Assets/ThirdParty/MaxSdk/AppLovin/Plugins/iOS/MAUnityAdManager.m.meta @@ -3,7 +3,6 @@ guid: 2973e70bd2fa74984b35aea07ae9db52 labels: - al_max - al_max_export_path-MaxSdk/AppLovin/Plugins/iOS/MAUnityAdManager.m -- al_max_export_path-MaxSdk\AppLovin\Plugins\iOS\MAUnityAdManager.m PluginImporter: externalObjects: {} serializedVersion: 2 @@ -16,7 +15,7 @@ PluginImporter: validateReferences: 1 platformData: - first: - : Any + '': Any second: enabled: 0 settings: diff --git a/Assets/ThirdParty/MaxSdk/AppLovin/Plugins/iOS/MAUnityPlugin.mm b/Assets/ThirdParty/MaxSdk/AppLovin/Plugins/iOS/MAUnityPlugin.mm index c905bbac4..f4be2fc6a 100644 --- a/Assets/ThirdParty/MaxSdk/AppLovin/Plugins/iOS/MAUnityPlugin.mm +++ b/Assets/ThirdParty/MaxSdk/AppLovin/Plugins/iOS/MAUnityPlugin.mm @@ -37,11 +37,20 @@ extern "C" static NSNumber *_creativeDebuggerEnabledToSet; static NSNumber *_exceptionHandlerEnabledToSet; static NSNumber *_locationCollectionEnabledToSet; + static NSNumber *_targetingYearOfBirth; + static NSString *_targetingGender; + static NSNumber *_targetingMaximumAdContentRating; + static NSString *_targetingEmail; + static NSString *_targetingPhoneNumber; + static NSArray *_targetingKeywords; + static NSArray *_targetingInterests; static NSMutableDictionary *_extraParametersToSet = [NSMutableDictionary dictionary]; static NSObject *_extraParametersToSetLock = [[NSObject alloc] init]; // Helper method to create C string copy static const char * cStringCopy(NSString *string); + // Helper method to log errors + void logUninitializedAccessError(char *callingMethod); bool isPluginInitialized() { @@ -66,6 +75,42 @@ extern "C" return array; } + + ALGender getAppLovinGender(NSString *genderString) + { + if ( [@"F" al_isEqualToStringIgnoringCase: genderString] ) + { + return ALGenderFemale; + } + else if ( [@"M" al_isEqualToStringIgnoringCase: genderString] ) + { + return ALGenderMale; + } + else if ( [@"O" al_isEqualToStringIgnoringCase: genderString] ) + { + return ALGenderOther; + } + + return ALGenderUnknown; + } + + ALAdContentRating getAppLovinAdContentRating(int maximumAdContentRating) + { + if ( maximumAdContentRating == 1 ) + { + return ALAdContentRatingAllAudiences; + } + else if ( maximumAdContentRating == 2 ) + { + return ALAdContentRatingEveryoneOverTwelve; + } + else if ( maximumAdContentRating == 3 ) + { + return ALAdContentRatingMatureAudiences; + } + + return ALAdContentRatingNone; + } void setPendingExtraParametersIfNeeded(ALSdkSettings *settings) { @@ -129,7 +174,7 @@ extern "C" if ( _verboseLoggingToSet ) { - _sdk.settings.isVerboseLogging = _verboseLoggingToSet.boolValue; + _sdk.settings.verboseLoggingEnabled = _verboseLoggingToSet.boolValue; _verboseLoggingToSet = nil; } @@ -151,6 +196,48 @@ extern "C" _locationCollectionEnabledToSet = nil; } + if ( _targetingYearOfBirth ) + { + _sdk.targetingData.yearOfBirth = _targetingYearOfBirth.intValue <= 0 ? nil : _targetingYearOfBirth; + _targetingYearOfBirth = nil; + } + + if ( _targetingGender ) + { + _sdk.targetingData.gender = getAppLovinGender(_targetingGender); + _targetingGender = nil; + } + + if ( _targetingMaximumAdContentRating ) + { + _sdk.targetingData.maximumAdContentRating = getAppLovinAdContentRating(_targetingMaximumAdContentRating.intValue); + _targetingMaximumAdContentRating = nil; + } + + if ( _targetingEmail ) + { + _sdk.targetingData.email = _targetingEmail; + _targetingEmail = nil; + } + + if ( _targetingPhoneNumber ) + { + _sdk.targetingData.phoneNumber = _targetingPhoneNumber; + _targetingPhoneNumber = nil; + } + + if ( _targetingKeywords ) + { + _sdk.targetingData.keywords = _targetingKeywords; + _targetingKeywords = nil; + } + + if ( _targetingInterests ) + { + _sdk.targetingData.interests = _targetingInterests; + _targetingInterests = nil; + } + setPendingExtraParametersIfNeeded( _sdk.settings ); } @@ -195,6 +282,17 @@ extern "C" [_sdk showMediationDebugger]; } + void _MaxShowCreativeDebugger() + { + if ( !_sdk ) + { + NSLog(@"[%@] Failed to show creative debugger - please ensure the AppLovin MAX Unity Plugin has been initialized by calling 'MaxSdk.InitializeSdk();'!", TAG); + return; + } + + [_sdk showCreativeDebugger]; + } + void _MaxShowConsentDialog() { NSLog(@"[%@] Failed to show consent dialog - Unavailable on iOS, please use the consent flow: https://dash.applovin.com/documentation/mediation/unity/getting-started/consent-flow", TAG); @@ -236,82 +334,98 @@ extern "C" void _MaxSetTargetingDataYearOfBirth(const int yearOfBirth) { - if ( !isPluginInitialized() ) return; + if ( !_sdk ) + { + _targetingYearOfBirth = @(yearOfBirth); + return; + } + _sdk.targetingData.yearOfBirth = yearOfBirth <= 0 ? nil : @(yearOfBirth); } - void _MaxSetTargetingDataGender(const char *gender) + void _MaxSetTargetingDataGender(char *gender) { - if ( !isPluginInitialized() ) return; + if ( !_sdk ) + { + _targetingGender = NSSTRING(gender); + return; + } NSString *genderString = NSSTRING(gender); - ALGender alGender = ALGenderUnknown; - - if ( [genderString isEqualToString: @"F"] ) - { - alGender = ALGenderFemale; - } - else if ( [genderString isEqualToString: @"M"] ) - { - alGender = ALGenderMale; - } - else if ( [genderString isEqualToString: @"O"] ) - { - alGender = ALGenderOther; - } - - _sdk.targetingData.gender = alGender; + _sdk.targetingData.gender = getAppLovinGender(genderString); } void _MaxSetTargetingDataMaximumAdContentRating(const int maximumAdContentRating) { - if ( !isPluginInitialized() ) return; - - ALAdContentRating rating = ALAdContentRatingNone; - - if ( maximumAdContentRating == 1 ) + if ( !_sdk ) { - rating = ALAdContentRatingAllAudiences; - } - else if ( maximumAdContentRating == 2 ) - { - rating = ALAdContentRatingEveryoneOverTwelve; - } - else if ( maximumAdContentRating == 3 ) - { - rating = ALAdContentRatingMatureAudiences; + _targetingMaximumAdContentRating = @(maximumAdContentRating); + return; } - _sdk.targetingData.maximumAdContentRating = rating; + _sdk.targetingData.maximumAdContentRating = getAppLovinAdContentRating(maximumAdContentRating); } - void _MaxSetTargetingDataEmail(const char *email) + void _MaxSetTargetingDataEmail(char *email) { - if ( !isPluginInitialized() ) return; + if ( !_sdk ) + { + _targetingEmail = NSSTRING(email); + return; + } + _sdk.targetingData.email = NSSTRING(email); } - void _MaxSetTargetingDataPhoneNumber(const char *phoneNumber) + void _MaxSetTargetingDataPhoneNumber(char *phoneNumber) { - if ( !isPluginInitialized() ) return; + if ( !_sdk ) + { + _targetingPhoneNumber = NSSTRING(phoneNumber); + return; + } + _sdk.targetingData.phoneNumber = NSSTRING(phoneNumber); } void _MaxSetTargetingDataKeywords(char **keywords, int size) { - if ( !isPluginInitialized() ) return; - _sdk.targetingData.keywords = toStringArray(keywords, size); + NSArray *keywordsArray = keywords ? toStringArray(keywords, size) : nil; + if ( !_sdk ) + { + _targetingKeywords = keywordsArray; + return; + } + + _sdk.targetingData.keywords = keywordsArray; } void _MaxSetTargetingDataInterests(char **interests, int size) { - if ( !isPluginInitialized() ) return; - _sdk.targetingData.interests = toStringArray(interests, size); + NSArray *interestsArray = interests ? toStringArray(interests, size) : nil; + if ( !_sdk ) + { + _targetingInterests = interestsArray; + return; + } + + _sdk.targetingData.interests = interestsArray; } void _MaxClearAllTargetingData() { - if ( !isPluginInitialized() ) return; + if ( !_sdk ) + { + _targetingYearOfBirth = nil; + _targetingGender = nil; + _targetingMaximumAdContentRating = nil; + _targetingEmail = nil; + _targetingPhoneNumber = nil; + _targetingKeywords = nil; + _targetingInterests = nil; + return; + } + [_sdk.targetingData clearAll]; } @@ -319,7 +433,7 @@ extern "C" { if ( !_sdk ) { - NSLog(@"[%@] Failed to get SDK configuration - please ensure the AppLovin MAX Unity Plugin has been initialized by calling 'MaxSdk.InitializeSdk();'!", TAG); + logUninitializedAccessError("_MaxGetSdkConfiguration"); return cStringCopy(@""); } @@ -329,7 +443,8 @@ extern "C" return cStringCopy([MAUnityAdManager serializeParameters: @{@"consentDialogState" : consentDialogStateStr, @"countryCode" : _sdk.configuration.countryCode, @"appTrackingStatus" : appTrackingStatus, - @"isSuccessfullyInitialized" : ([_sdk isInitialized] ? @"true" : @"false")}]); + @"isSuccessfullyInitialized" : @([_sdk isInitialized]), + @"isTestModeEnabled" : @([_sdk.configuration isTestModeEnabled])}]); } void _MaxSetHasUserConsent(bool hasUserConsent) @@ -391,6 +506,13 @@ extern "C" [_adManager createBannerWithAdUnitIdentifier: NSSTRING(adUnitIdentifier) x: x y: y]; } + void _MaxLoadBanner(const char *adUnitIdentifier) + { + if (!isPluginInitialized()) return; + + [_adManager loadBannerWithAdUnitIdentifier: NSSTRING(adUnitIdentifier)]; + } + void _MaxSetBannerBackgroundColor(const char *adUnitIdentifier, const char *hexColorCode) { if (!isPluginInitialized()) return; @@ -493,6 +615,13 @@ extern "C" [_adManager createMRecWithAdUnitIdentifier: NSSTRING(adUnitIdentifier) x: x y: y]; } + void _MaxLoadMRec(const char *adUnitIdentifier) + { + if (!isPluginInitialized()) return; + + [_adManager loadMRecWithAdUnitIdentifier: NSSTRING(adUnitIdentifier)]; + } + void _MaxSetMRecPlacement(const char *adUnitIdentifier, const char *placement) { [_adManager setMRecPlacement: NSSTRING(placement) forAdUnitIdentifier: NSSTRING(adUnitIdentifier)]; @@ -649,6 +778,41 @@ extern "C" [_adManager showInterstitialWithAdUnitIdentifier: NSSTRING(adUnitIdentifier) placement: NSSTRING(placement) customData: NSSTRING(customData)]; } + void _MaxLoadAppOpenAd(const char *adUnitIdentifier) + { + if (!isPluginInitialized()) return; + + [_adManager loadAppOpenAdWithAdUnitIdentifier: NSSTRING(adUnitIdentifier)]; + } + + void _MaxSetAppOpenAdExtraParameter(const char *adUnitIdentifier, const char *key, const char *value) + { + [_adManager setAppOpenAdExtraParameterForAdUnitIdentifier: NSSTRING(adUnitIdentifier) + key: NSSTRING(key) + value: NSSTRING(value)]; + } + + void _MaxSetAppOpenAdLocalExtraParameter(const char *adUnitIdentifier, const char *key, MAUnityRef value) + { + [_adManager setAppOpenAdLocalExtraParameterForAdUnitIdentifier: NSSTRING(adUnitIdentifier) + key: NSSTRING(key) + value: (__bridge id)value]; + } + + bool _MaxIsAppOpenAdReady(const char *adUnitIdentifier) + { + if (!isPluginInitialized()) return false; + + return [_adManager isAppOpenAdReadyWithAdUnitIdentifier: NSSTRING(adUnitIdentifier)]; + } + + void _MaxShowAppOpenAd(const char *adUnitIdentifier, const char *placement, const char *customData) + { + if (!isPluginInitialized()) return; + + [_adManager showAppOpenAdWithAdUnitIdentifier: NSSTRING(adUnitIdentifier) placement: NSSTRING(placement) customData: NSSTRING(customData)]; + } + void _MaxLoadRewardedAd(const char *adUnitIdentifier) { if (!isPluginInitialized()) return; @@ -789,7 +953,7 @@ extern "C" { if ( _sdk ) { - _sdk.settings.isVerboseLogging = enabled; + _sdk.settings.verboseLoggingEnabled = enabled; _verboseLoggingToSet = nil; } else @@ -802,7 +966,7 @@ extern "C" { if ( _sdk ) { - return _sdk.settings.isVerboseLogging; + return [_sdk.settings isVerboseLoggingEnabled]; } else if ( _verboseLoggingToSet ) { @@ -890,11 +1054,38 @@ extern "C" } } + const char * _MaxGetCFType() + { + if ( !_sdk ) + { + NSLog(@"[%@] Failed to get available mediated networks - please ensure the AppLovin MAX Unity Plugin has been initialized by calling 'MaxSdk.InitializeSdk();'!", TAG); + return cStringCopy(@(ALCFTypeUnknown).stringValue); + } + + return cStringCopy(@(_sdk.cfService.cfType).stringValue); + } + + void _MaxStartConsentFlow() + { + if (!isPluginInitialized()) + { + logUninitializedAccessError("_MaxStartConsentFlow"); + return; + } + + [_adManager startConsentFlow]; + } + float _MaxGetAdaptiveBannerHeight(const float width) { return [MAUnityAdManager adaptiveBannerHeightForWidth: width]; } + void logUninitializedAccessError(char *callingMethod) + { + NSLog(@"[%@] Failed to execute: %s - please ensure the AppLovin MAX Unity Plugin has been initialized by calling 'MaxSdk.InitializeSdk();'!", TAG, callingMethod); + } + [[deprecated("This API has been deprecated. Please use our SDK's initialization callback to retrieve variables instead.")]] void _MaxLoadVariables() { diff --git a/Assets/ThirdParty/MaxSdk/AppLovin/Plugins/iOS/MAUnityPlugin.mm.meta b/Assets/ThirdParty/MaxSdk/AppLovin/Plugins/iOS/MAUnityPlugin.mm.meta index 8bfbf4d22..5ea08ff04 100644 --- a/Assets/ThirdParty/MaxSdk/AppLovin/Plugins/iOS/MAUnityPlugin.mm.meta +++ b/Assets/ThirdParty/MaxSdk/AppLovin/Plugins/iOS/MAUnityPlugin.mm.meta @@ -3,7 +3,6 @@ guid: 7e373ed7168b243e6b706e991ab5a643 labels: - al_max - al_max_export_path-MaxSdk/AppLovin/Plugins/iOS/MAUnityPlugin.mm -- al_max_export_path-MaxSdk\AppLovin\Plugins\iOS\MAUnityPlugin.mm PluginImporter: externalObjects: {} serializedVersion: 2 @@ -16,7 +15,7 @@ PluginImporter: validateReferences: 1 platformData: - first: - : Any + '': Any second: enabled: 0 settings: diff --git a/Assets/ThirdParty/MaxSdk/Mediation.meta b/Assets/ThirdParty/MaxSdk/Mediation.meta index 4d03dfc9a..103dd6f48 100644 --- a/Assets/ThirdParty/MaxSdk/Mediation.meta +++ b/Assets/ThirdParty/MaxSdk/Mediation.meta @@ -3,7 +3,6 @@ guid: dcf2020c4018447c9b91170c0f62d799 labels: - al_max - al_max_export_path-MaxSdk/Mediation -- al_max_export_path-MaxSdk\Mediation folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/Assets/ThirdParty/MaxSdk/Mediation/AdColony/Editor/Dependencies.xml b/Assets/ThirdParty/MaxSdk/Mediation/AdColony/Editor/Dependencies.xml index 18353020c..d2aa21cfa 100644 --- a/Assets/ThirdParty/MaxSdk/Mediation/AdColony/Editor/Dependencies.xml +++ b/Assets/ThirdParty/MaxSdk/Mediation/AdColony/Editor/Dependencies.xml @@ -1,9 +1,9 @@ - + diff --git a/Assets/ThirdParty/MaxSdk/Mediation/AdColony/Editor/Dependencies.xml.meta b/Assets/ThirdParty/MaxSdk/Mediation/AdColony/Editor/Dependencies.xml.meta index f20150d5e..e1bb2a859 100644 --- a/Assets/ThirdParty/MaxSdk/Mediation/AdColony/Editor/Dependencies.xml.meta +++ b/Assets/ThirdParty/MaxSdk/Mediation/AdColony/Editor/Dependencies.xml.meta @@ -3,7 +3,6 @@ guid: a351b114cfc11494ba8c131833b1bf74 labels: - al_max - al_max_export_path-MaxSdk/Mediation/AdColony/Editor/Dependencies.xml -- al_max_export_path-MaxSdk\Mediation\AdColony\Editor\Dependencies.xml TextScriptImporter: externalObjects: {} userData: diff --git a/Assets/ThirdParty/MaxSdk/Mediation/ByteDance/Editor.meta b/Assets/ThirdParty/MaxSdk/Mediation/ByteDance/Editor.meta index 4d1f83987..e54a76641 100644 --- a/Assets/ThirdParty/MaxSdk/Mediation/ByteDance/Editor.meta +++ b/Assets/ThirdParty/MaxSdk/Mediation/ByteDance/Editor.meta @@ -3,7 +3,6 @@ guid: ef8467ffb0e4447b79a8804884a7520a labels: - al_max - al_max_export_path-MaxSdk/Mediation/ByteDance/Editor -- al_max_export_path-MaxSdk\Mediation\ByteDance\Editor folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/Assets/ThirdParty/MaxSdk/Mediation/ByteDance/Editor/Dependencies.xml b/Assets/ThirdParty/MaxSdk/Mediation/ByteDance/Editor/Dependencies.xml index dbef7e9e3..781d16e2c 100644 --- a/Assets/ThirdParty/MaxSdk/Mediation/ByteDance/Editor/Dependencies.xml +++ b/Assets/ThirdParty/MaxSdk/Mediation/ByteDance/Editor/Dependencies.xml @@ -1,13 +1,13 @@ - + diff --git a/Assets/ThirdParty/MaxSdk/Mediation/ByteDance/Editor/Dependencies.xml.meta b/Assets/ThirdParty/MaxSdk/Mediation/ByteDance/Editor/Dependencies.xml.meta index e4c832ce3..520523321 100644 --- a/Assets/ThirdParty/MaxSdk/Mediation/ByteDance/Editor/Dependencies.xml.meta +++ b/Assets/ThirdParty/MaxSdk/Mediation/ByteDance/Editor/Dependencies.xml.meta @@ -3,7 +3,6 @@ guid: 0828555cb1ce94702a4af6f3dce3d735 labels: - al_max - al_max_export_path-MaxSdk/Mediation/ByteDance/Editor/Dependencies.xml -- al_max_export_path-MaxSdk\Mediation\ByteDance\Editor\Dependencies.xml TextScriptImporter: externalObjects: {} userData: diff --git a/Assets/ThirdParty/MaxSdk/Mediation/Chartboost/Editor.meta b/Assets/ThirdParty/MaxSdk/Mediation/Chartboost/Editor.meta index bd878bc4b..38bff8d54 100644 --- a/Assets/ThirdParty/MaxSdk/Mediation/Chartboost/Editor.meta +++ b/Assets/ThirdParty/MaxSdk/Mediation/Chartboost/Editor.meta @@ -3,7 +3,6 @@ guid: a90f13141c35746f5a2996c8ad068fe9 labels: - al_max - al_max_export_path-MaxSdk/Mediation/Chartboost/Editor -- al_max_export_path-MaxSdk\Mediation\Chartboost\Editor folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/Assets/ThirdParty/MaxSdk/Mediation/Chartboost/Editor/Dependencies.xml b/Assets/ThirdParty/MaxSdk/Mediation/Chartboost/Editor/Dependencies.xml index 408de7fe8..40bd08071 100644 --- a/Assets/ThirdParty/MaxSdk/Mediation/Chartboost/Editor/Dependencies.xml +++ b/Assets/ThirdParty/MaxSdk/Mediation/Chartboost/Editor/Dependencies.xml @@ -1,10 +1,14 @@ - + diff --git a/Assets/ThirdParty/MaxSdk/Mediation/Chartboost/Editor/Dependencies.xml.meta b/Assets/ThirdParty/MaxSdk/Mediation/Chartboost/Editor/Dependencies.xml.meta index 593706387..02628eb04 100644 --- a/Assets/ThirdParty/MaxSdk/Mediation/Chartboost/Editor/Dependencies.xml.meta +++ b/Assets/ThirdParty/MaxSdk/Mediation/Chartboost/Editor/Dependencies.xml.meta @@ -3,7 +3,6 @@ guid: 93b0a4618bd884871af0981a7867bb2f labels: - al_max - al_max_export_path-MaxSdk/Mediation/Chartboost/Editor/Dependencies.xml -- al_max_export_path-MaxSdk\Mediation\Chartboost\Editor\Dependencies.xml TextScriptImporter: externalObjects: {} userData: diff --git a/Assets/ThirdParty/MaxSdk/Mediation/Facebook/Editor.meta b/Assets/ThirdParty/MaxSdk/Mediation/Facebook/Editor.meta index 7d238a6c9..4beff5e4c 100644 --- a/Assets/ThirdParty/MaxSdk/Mediation/Facebook/Editor.meta +++ b/Assets/ThirdParty/MaxSdk/Mediation/Facebook/Editor.meta @@ -3,7 +3,6 @@ guid: 28880992a399a48b7abe95b66649d711 labels: - al_max - al_max_export_path-MaxSdk/Mediation/Facebook/Editor -- al_max_export_path-MaxSdk\Mediation\Facebook\Editor folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/Assets/ThirdParty/MaxSdk/Mediation/Facebook/Editor/Dependencies.xml b/Assets/ThirdParty/MaxSdk/Mediation/Facebook/Editor/Dependencies.xml index 8160079dd..f867a945a 100644 --- a/Assets/ThirdParty/MaxSdk/Mediation/Facebook/Editor/Dependencies.xml +++ b/Assets/ThirdParty/MaxSdk/Mediation/Facebook/Editor/Dependencies.xml @@ -5,9 +5,9 @@ Since FAN SDK depends on older versions of a few support and play service versions `com.applovin.mediation:facebook-adapter:x.y.z.a` resolves to `com.applovin.mediation:facebook-adapter:+` which pulls down the beta versions of FAN SDK. Note that forcing the adapter is enough to stop Jar Resolver from pulling the latest FAN SDK. --> - + - + diff --git a/Assets/ThirdParty/MaxSdk/Mediation/Facebook/Editor/Dependencies.xml.meta b/Assets/ThirdParty/MaxSdk/Mediation/Facebook/Editor/Dependencies.xml.meta index f9e6d001e..69b5d2c8c 100644 --- a/Assets/ThirdParty/MaxSdk/Mediation/Facebook/Editor/Dependencies.xml.meta +++ b/Assets/ThirdParty/MaxSdk/Mediation/Facebook/Editor/Dependencies.xml.meta @@ -3,7 +3,6 @@ guid: aea9bdf974328420db5ae118ef0d2b87 labels: - al_max - al_max_export_path-MaxSdk/Mediation/Facebook/Editor/Dependencies.xml -- al_max_export_path-MaxSdk\Mediation\Facebook\Editor\Dependencies.xml TextScriptImporter: externalObjects: {} userData: diff --git a/Assets/ThirdParty/MaxSdk/Mediation/Fyber/Editor.meta b/Assets/ThirdParty/MaxSdk/Mediation/Fyber/Editor.meta index 688cd8bc4..315e8c8e0 100644 --- a/Assets/ThirdParty/MaxSdk/Mediation/Fyber/Editor.meta +++ b/Assets/ThirdParty/MaxSdk/Mediation/Fyber/Editor.meta @@ -3,7 +3,6 @@ guid: e076e4ef7e2874ba69b108cc7a346c2a labels: - al_max - al_max_export_path-MaxSdk/Mediation/Fyber/Editor -- al_max_export_path-MaxSdk\Mediation\Fyber\Editor folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/Assets/ThirdParty/MaxSdk/Mediation/Fyber/Editor/Dependencies.xml b/Assets/ThirdParty/MaxSdk/Mediation/Fyber/Editor/Dependencies.xml index 235b092da..77c160fcf 100644 --- a/Assets/ThirdParty/MaxSdk/Mediation/Fyber/Editor/Dependencies.xml +++ b/Assets/ThirdParty/MaxSdk/Mediation/Fyber/Editor/Dependencies.xml @@ -1,9 +1,9 @@ - + diff --git a/Assets/ThirdParty/MaxSdk/Mediation/Fyber/Editor/Dependencies.xml.meta b/Assets/ThirdParty/MaxSdk/Mediation/Fyber/Editor/Dependencies.xml.meta index 03f1ae972..fd0bbbf22 100644 --- a/Assets/ThirdParty/MaxSdk/Mediation/Fyber/Editor/Dependencies.xml.meta +++ b/Assets/ThirdParty/MaxSdk/Mediation/Fyber/Editor/Dependencies.xml.meta @@ -3,7 +3,6 @@ guid: 5e123cdc08e804dffb2c40c4fbc83caf labels: - al_max - al_max_export_path-MaxSdk/Mediation/Fyber/Editor/Dependencies.xml -- al_max_export_path-MaxSdk\Mediation\Fyber\Editor\Dependencies.xml TextScriptImporter: externalObjects: {} userData: diff --git a/Assets/ThirdParty/MaxSdk/Mediation/Google/Editor.meta b/Assets/ThirdParty/MaxSdk/Mediation/Google/Editor.meta index 9e2371a75..ea8dd5579 100644 --- a/Assets/ThirdParty/MaxSdk/Mediation/Google/Editor.meta +++ b/Assets/ThirdParty/MaxSdk/Mediation/Google/Editor.meta @@ -3,7 +3,6 @@ guid: e8015bd045cea462c8f39c8a05867d08 labels: - al_max - al_max_export_path-MaxSdk/Mediation/Google/Editor -- al_max_export_path-MaxSdk\Mediation\Google\Editor folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/Assets/ThirdParty/MaxSdk/Mediation/Google/Editor/Dependencies.xml b/Assets/ThirdParty/MaxSdk/Mediation/Google/Editor/Dependencies.xml index 99ff89042..baa767d8c 100644 --- a/Assets/ThirdParty/MaxSdk/Mediation/Google/Editor/Dependencies.xml +++ b/Assets/ThirdParty/MaxSdk/Mediation/Google/Editor/Dependencies.xml @@ -2,9 +2,9 @@ - - + diff --git a/Assets/ThirdParty/MaxSdk/Mediation/Google/Editor/Dependencies.xml.meta b/Assets/ThirdParty/MaxSdk/Mediation/Google/Editor/Dependencies.xml.meta index b95c37826..36bef7225 100644 --- a/Assets/ThirdParty/MaxSdk/Mediation/Google/Editor/Dependencies.xml.meta +++ b/Assets/ThirdParty/MaxSdk/Mediation/Google/Editor/Dependencies.xml.meta @@ -3,7 +3,6 @@ guid: 053b810d3594744e38b6fd0fa378fb57 labels: - al_max - al_max_export_path-MaxSdk/Mediation/Google/Editor/Dependencies.xml -- al_max_export_path-MaxSdk\Mediation\Google\Editor\Dependencies.xml TextScriptImporter: externalObjects: {} userData: diff --git a/Assets/ThirdParty/MaxSdk/Mediation/Google/Editor/MaxGoogleInitialize.cs b/Assets/ThirdParty/MaxSdk/Mediation/Google/Editor/MaxGoogleInitialize.cs deleted file mode 100644 index c5cc077c4..000000000 --- a/Assets/ThirdParty/MaxSdk/Mediation/Google/Editor/MaxGoogleInitialize.cs +++ /dev/null @@ -1,38 +0,0 @@ -// -// MaxGoogleInitialize.cs -// AppLovin MAX Unity Plugin -// -// Created by Santosh Bagadi on 10/5/20. -// Copyright © 2020 AppLovin. All rights reserved. -// - -using System.IO; -using UnityEditor; -using UnityEngine; - -namespace AppLovinMax.Mediation.Google.Editor -{ - [InitializeOnLoad] - public class MaxGoogleInitialize - { - private static readonly string LegacyMaxMediationGoogleDir = Path.Combine("Assets", "Plugins/Android/MaxMediationGoogle"); - - static MaxGoogleInitialize() - { - // 安卓不处理 - if (true) - { - return; - } - // Check if the MaxMediationGoogle directory exists and append .androidlib to it. - if (Directory.Exists(LegacyMaxMediationGoogleDir)) - { - Debug.Log("[AppLovin MAX] Updating Google Android library directory name to make it compatible with Unity 2020+ versions."); - - FileUtil.MoveFileOrDirectory(LegacyMaxMediationGoogleDir, LegacyMaxMediationGoogleDir + ".androidlib"); - FileUtil.MoveFileOrDirectory(LegacyMaxMediationGoogleDir + ".meta", LegacyMaxMediationGoogleDir + ".androidlib" + ".meta"); - AssetDatabase.Refresh(); - } - } - } -} diff --git a/Assets/ThirdParty/MaxSdk/Mediation/Google/Editor/MaxGoogleInitialize.cs.meta b/Assets/ThirdParty/MaxSdk/Mediation/Google/Editor/MaxGoogleInitialize.cs.meta deleted file mode 100644 index 21e40e7d2..000000000 --- a/Assets/ThirdParty/MaxSdk/Mediation/Google/Editor/MaxGoogleInitialize.cs.meta +++ /dev/null @@ -1,15 +0,0 @@ -fileFormatVersion: 2 -guid: 2376824a26af1414bbc62440698ccc89 -labels: -- al_max -- al_max_export_path-MaxSdk/Mediation/Google/Editor/MaxGoogleInitialize.cs -- al_max_export_path-MaxSdk\Mediation\Google\Editor\MaxGoogleInitialize.cs -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ThirdParty/MaxSdk/Mediation/Google/Editor/MaxMediationGoogleUtils.cs b/Assets/ThirdParty/MaxSdk/Mediation/Google/Editor/MaxMediationGoogleUtils.cs deleted file mode 100644 index 3647aff8e..000000000 --- a/Assets/ThirdParty/MaxSdk/Mediation/Google/Editor/MaxMediationGoogleUtils.cs +++ /dev/null @@ -1,59 +0,0 @@ -// -// MaxMediationGoogleUtils.cs -// AppLovin MAX Unity Plugin -// -// Created by Santosh Bagadi on 11/7/19. -// Copyright © 2019 AppLovin. All rights reserved. -// - -using System; -using System.IO; -using UnityEditor; -using UnityEngine; - -namespace AppLovinMax.Mediation.Google.Editor -{ - /// - /// An Utils class containing shared convenience methods. - /// - public static class MaxMediationGoogleUtils - { - private const string AppLovinSettingsExportPath = "MaxSdk/Resources/AppLovinSettings.asset"; - - /// - /// Loads the AppLovin Settings asset if it is available and returns the value for the given property name. - /// - /// The name of the property for which to get the value of from AppLovinSettings.asset file. - /// The string value of the property if found. - public static string GetAppIdFromAppLovinSettings(string property) - { - var settingsFileName = GetAppLovinSettingsAssetPath(); - if (!File.Exists(settingsFileName)) - { - Debug.LogError("[AppLovin MAX] The current plugin version is incompatible with the AdMob adapter. Please update the AppLovin MAX plugin to version 2.4.0 or higher."); - return null; - } - - var instance = AssetDatabase.LoadAssetAtPath(settingsFileName, Type.GetType("AppLovinSettings, MaxSdk.Scripts.IntegrationManager.Editor")); - if (instance == null) - { - Debug.LogError("[AppLovin MAX] The current plugin version is incompatible with the AdMob adapter. Please update the AppLovin MAX plugin to version 2.4.15 or higher"); - return null; - } - - var adMobAppIdProperty = instance.GetType().GetProperty(property); - return adMobAppIdProperty == null ? null : adMobAppIdProperty.GetValue(instance, null).ToString(); - } - - private static string GetAppLovinSettingsAssetPath() - { - // Since the settings asset is generated during compile time, the asset label will contain platform specific path separator. So, use platform specific export path. - var assetLabel = "l:al_max_export_path-" + AppLovinSettingsExportPath.Replace(Path.AltDirectorySeparatorChar, Path.DirectorySeparatorChar); - var guids = AssetDatabase.FindAssets(assetLabel); - - var defaultPath = Path.Combine("Assets", AppLovinSettingsExportPath); - - return guids.Length > 0 ? AssetDatabase.GUIDToAssetPath(guids[0]) : defaultPath; - } - } -} diff --git a/Assets/ThirdParty/MaxSdk/Mediation/Google/Editor/MaxMediationGoogleUtils.cs.meta b/Assets/ThirdParty/MaxSdk/Mediation/Google/Editor/MaxMediationGoogleUtils.cs.meta deleted file mode 100644 index ece03b3e8..000000000 --- a/Assets/ThirdParty/MaxSdk/Mediation/Google/Editor/MaxMediationGoogleUtils.cs.meta +++ /dev/null @@ -1,15 +0,0 @@ -fileFormatVersion: 2 -guid: 6de4e4d420b14431a7d169724e23361e -labels: -- al_max -- al_max_export_path-MaxSdk/Mediation/Google/Editor/MaxMediationGoogleUtils.cs -- al_max_export_path-MaxSdk\Mediation\Google\Editor\MaxMediationGoogleUtils.cs -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ThirdParty/MaxSdk/Mediation/Google/Editor/PostProcessor.cs b/Assets/ThirdParty/MaxSdk/Mediation/Google/Editor/PostProcessor.cs deleted file mode 100644 index 833ccc2ae..000000000 --- a/Assets/ThirdParty/MaxSdk/Mediation/Google/Editor/PostProcessor.cs +++ /dev/null @@ -1,48 +0,0 @@ -// -// PostProcessor.cs -// AppLovin MAX Unity Plugin -// -// Created by Santosh Bagadi on 6/4/19. -// Copyright © 2019 AppLovin. All rights reserved. -// - -#if UNITY_IPHONE || UNITY_IOS - -using System.IO; -using UnityEditor; -using UnityEditor.Callbacks; -using UnityEditor.iOS.Xcode; -using UnityEngine; - -namespace AppLovinMax.Mediation.Google.Editor -{ - /// - /// A post processor that will add the AdMob App ID to the info.plist file. - /// - public class PostProcessor - { - [PostProcessBuild] - public static void OnPostProcessBuild(BuildTarget buildTarget, string buildPath) - { - var appId = MaxMediationGoogleUtils.GetAppIdFromAppLovinSettings("AdMobIosAppId"); - - // Log error if the App ID is not set. - if (string.IsNullOrEmpty(appId) || !appId.StartsWith("ca-app-pub-")) - { - Debug.LogError("[AppLovin MAX] AdMob App ID is not set. Please enter a valid app ID within the AppLovin Integration Manager window."); - return; - } - - var plistPath = Path.Combine(buildPath, "Info.plist"); - var plist = new PlistDocument(); - plist.ReadFromFile(plistPath); - - // Actually set (then write) AdMob app id to Info.plist if valid - plist.root.SetString("GADApplicationIdentifier", appId); - - File.WriteAllText(plistPath, plist.WriteToString()); - } - } -} - -#endif diff --git a/Assets/ThirdParty/MaxSdk/Mediation/Google/Editor/PreProcessor.cs b/Assets/ThirdParty/MaxSdk/Mediation/Google/Editor/PreProcessor.cs deleted file mode 100644 index 28ea32fde..000000000 --- a/Assets/ThirdParty/MaxSdk/Mediation/Google/Editor/PreProcessor.cs +++ /dev/null @@ -1,115 +0,0 @@ -// -// PreProcessor.cs -// AppLovin MAX Unity Plugin -// -// Created by Santosh Bagadi on 11/7/19. -// Copyright © 2019 AppLovin. All rights reserved. -// - -#if UNITY_ANDROID - -using System.IO; -using System.Linq; -using System.Xml.Linq; -using UnityEditor; -using UnityEditor.Build; -#if UNITY_2018_1_OR_NEWER -using UnityEditor.Build.Reporting; -#endif -using UnityEngine; - -namespace AppLovinMax.Mediation.Google.Editor -{ - /// - /// A pre processor that will add the AdMob App ID to the AndroidManifest.xml file. - /// - public class PreProcessor : -#if UNITY_2018_1_OR_NEWER - IPreprocessBuildWithReport -#else - IPreprocessBuild -#endif - { -#if UNITY_2018_1_OR_NEWER - public void OnPreprocessBuild(BuildReport report) -#else - public void OnPreprocessBuild(BuildTarget target, string path) -#endif - { - // 安卓先不处理 - if (true) - { - return; - } - var appId = MaxMediationGoogleUtils.GetAppIdFromAppLovinSettings("AdMobAndroidAppId"); - if (string.IsNullOrEmpty(appId)) - { - Debug.LogError("[AppLovin MAX] AdMob App ID is not set. Please enter a valid app ID within the "); - return; - } - - var manifestPath = Path.Combine(Application.dataPath, "Plugins/Android/MaxMediationGoogle.androidlib/AndroidManifest.xml"); - - XDocument manifest; - try - { - manifest = XDocument.Load(manifestPath); - } -#pragma warning disable 0168 - catch (IOException exception) -#pragma warning restore 0168 - { - Debug.LogError("[AppLovin MAX] Google mediation AndroidManifest.xml is missing. Ensure that MAX Google mediation plugin is imported correctly."); - return; - } - - // Get the `manifest` element. - var elementManifest = manifest.Element("manifest"); - if (elementManifest == null) - { - Debug.LogError("[AppLovin MAX] Google mediation AndroidManifest.xml is invalid. Ensure that MAX Google mediation plugin is imported correctly."); - return; - } - - // Get the `application` element under `manifest`. - var elementApplication = elementManifest.Element("application"); - if (elementApplication == null) - { - Debug.LogError("[AppLovin MAX] Google mediation AndroidManifest.xml is invalid. Ensure that MAX Google mediation plugin is imported correctly."); - return; - } - - // Get all the `meta-data` elements under `application`. - var adMobMetaData = elementApplication.Descendants().First(element => element.Name.LocalName.Equals("meta-data")); - XNamespace androidNamespace = "http://schemas.android.com/apk/res/android"; - - if (!adMobMetaData.FirstAttribute.Name.Namespace.Equals(androidNamespace) || - !adMobMetaData.FirstAttribute.Name.LocalName.Equals("name") || - !adMobMetaData.FirstAttribute.Value.Equals("com.google.android.gms.ads.APPLICATION_ID")) - { - Debug.LogError("[AppLovin MAX] Google mediation AndroidManifest.xml is invalid. Ensure that MAX Google mediation plugin is imported correctly."); - return; - } - - var lastAttribute = adMobMetaData.LastAttribute; - // Log error if the AdMob App ID is not set. - if (!lastAttribute.Name.LocalName.Equals("value")) - { - Debug.LogError("[AppLovin MAX] Google mediation AndroidManifest.xml is invalid. Ensure that MAX Google mediation plugin is imported correctly."); - } - - // Set the App ID value. - lastAttribute.Value = appId; - - // Save the updated manifest file. - manifest.Save(manifestPath); - } - - public int callbackOrder - { - get { return 0; } - } - } -} - -#endif \ No newline at end of file diff --git a/Assets/ThirdParty/MaxSdk/Mediation/InMobi/Editor.meta b/Assets/ThirdParty/MaxSdk/Mediation/InMobi/Editor.meta index 532f49af6..a998cfd2e 100644 --- a/Assets/ThirdParty/MaxSdk/Mediation/InMobi/Editor.meta +++ b/Assets/ThirdParty/MaxSdk/Mediation/InMobi/Editor.meta @@ -3,7 +3,6 @@ guid: a141703acd55a48c2a3e6e6599f90c64 labels: - al_max - al_max_export_path-MaxSdk/Mediation/InMobi/Editor -- al_max_export_path-MaxSdk\Mediation\InMobi\Editor folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/Assets/ThirdParty/MaxSdk/Mediation/InMobi/Editor/Dependencies.xml b/Assets/ThirdParty/MaxSdk/Mediation/InMobi/Editor/Dependencies.xml index 94e655462..593d704b5 100644 --- a/Assets/ThirdParty/MaxSdk/Mediation/InMobi/Editor/Dependencies.xml +++ b/Assets/ThirdParty/MaxSdk/Mediation/InMobi/Editor/Dependencies.xml @@ -1,12 +1,12 @@ - + diff --git a/Assets/ThirdParty/MaxSdk/Mediation/InMobi/Editor/Dependencies.xml.meta b/Assets/ThirdParty/MaxSdk/Mediation/InMobi/Editor/Dependencies.xml.meta index 9c00820c5..1b62e827c 100644 --- a/Assets/ThirdParty/MaxSdk/Mediation/InMobi/Editor/Dependencies.xml.meta +++ b/Assets/ThirdParty/MaxSdk/Mediation/InMobi/Editor/Dependencies.xml.meta @@ -3,7 +3,6 @@ guid: bc66a0ef4503843ee9b1bf1b1e867367 labels: - al_max - al_max_export_path-MaxSdk/Mediation/InMobi/Editor/Dependencies.xml -- al_max_export_path-MaxSdk\Mediation\InMobi\Editor\Dependencies.xml TextScriptImporter: externalObjects: {} userData: diff --git a/Assets/ThirdParty/MaxSdk/Mediation/IronSource/Editor.meta b/Assets/ThirdParty/MaxSdk/Mediation/IronSource/Editor.meta index 2add572db..327f5d6b4 100644 --- a/Assets/ThirdParty/MaxSdk/Mediation/IronSource/Editor.meta +++ b/Assets/ThirdParty/MaxSdk/Mediation/IronSource/Editor.meta @@ -3,7 +3,6 @@ guid: 531d860cac61f47d19e32f526470ae43 labels: - al_max - al_max_export_path-MaxSdk/Mediation/IronSource/Editor -- al_max_export_path-MaxSdk\Mediation\IronSource\Editor folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/Assets/ThirdParty/MaxSdk/Mediation/IronSource/Editor/Dependencies.xml b/Assets/ThirdParty/MaxSdk/Mediation/IronSource/Editor/Dependencies.xml index e31bb7f37..e583d657a 100644 --- a/Assets/ThirdParty/MaxSdk/Mediation/IronSource/Editor/Dependencies.xml +++ b/Assets/ThirdParty/MaxSdk/Mediation/IronSource/Editor/Dependencies.xml @@ -1,13 +1,13 @@ - + diff --git a/Assets/ThirdParty/MaxSdk/Mediation/IronSource/Editor/Dependencies.xml.meta b/Assets/ThirdParty/MaxSdk/Mediation/IronSource/Editor/Dependencies.xml.meta index fc9a532ad..f77e6f040 100644 --- a/Assets/ThirdParty/MaxSdk/Mediation/IronSource/Editor/Dependencies.xml.meta +++ b/Assets/ThirdParty/MaxSdk/Mediation/IronSource/Editor/Dependencies.xml.meta @@ -3,7 +3,6 @@ guid: 19262406303f04f05b14b31b3c734d35 labels: - al_max - al_max_export_path-MaxSdk/Mediation/IronSource/Editor/Dependencies.xml -- al_max_export_path-MaxSdk\Mediation\IronSource\Editor\Dependencies.xml TextScriptImporter: externalObjects: {} userData: diff --git a/Assets/ThirdParty/MaxSdk/Mediation/Mintegral/Editor.meta b/Assets/ThirdParty/MaxSdk/Mediation/Mintegral/Editor.meta index 1277a36e2..d189ce000 100644 --- a/Assets/ThirdParty/MaxSdk/Mediation/Mintegral/Editor.meta +++ b/Assets/ThirdParty/MaxSdk/Mediation/Mintegral/Editor.meta @@ -3,7 +3,6 @@ guid: db1de4066dc4e4290b3879b34fa87de2 labels: - al_max - al_max_export_path-MaxSdk/Mediation/Mintegral/Editor -- al_max_export_path-MaxSdk\Mediation\Mintegral\Editor folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/Assets/ThirdParty/MaxSdk/Mediation/Mintegral/Editor/Dependencies.xml b/Assets/ThirdParty/MaxSdk/Mediation/Mintegral/Editor/Dependencies.xml index 078fd407c..2009654ae 100644 --- a/Assets/ThirdParty/MaxSdk/Mediation/Mintegral/Editor/Dependencies.xml +++ b/Assets/ThirdParty/MaxSdk/Mediation/Mintegral/Editor/Dependencies.xml @@ -1,7 +1,7 @@ - + diff --git a/Assets/ThirdParty/MaxSdk/Mediation/Mintegral/Editor/Dependencies.xml.meta b/Assets/ThirdParty/MaxSdk/Mediation/Mintegral/Editor/Dependencies.xml.meta index 678876140..415c4aba6 100644 --- a/Assets/ThirdParty/MaxSdk/Mediation/Mintegral/Editor/Dependencies.xml.meta +++ b/Assets/ThirdParty/MaxSdk/Mediation/Mintegral/Editor/Dependencies.xml.meta @@ -3,7 +3,6 @@ guid: 221b2a20a58a04f2cb4afb0779587206 labels: - al_max - al_max_export_path-MaxSdk/Mediation/Mintegral/Editor/Dependencies.xml -- al_max_export_path-MaxSdk\Mediation\Mintegral\Editor\Dependencies.xml TextScriptImporter: externalObjects: {} userData: diff --git a/Assets/ThirdParty/MaxSdk/Mediation/Tapjoy/Editor.meta b/Assets/ThirdParty/MaxSdk/Mediation/Tapjoy/Editor.meta index d723bf56f..bce5c4961 100644 --- a/Assets/ThirdParty/MaxSdk/Mediation/Tapjoy/Editor.meta +++ b/Assets/ThirdParty/MaxSdk/Mediation/Tapjoy/Editor.meta @@ -3,7 +3,6 @@ guid: 6b21a711d751f4e1d9c77b5fb984e112 labels: - al_max - al_max_export_path-MaxSdk/Mediation/Tapjoy/Editor -- al_max_export_path-MaxSdk\Mediation\Tapjoy\Editor folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/Assets/ThirdParty/MaxSdk/Mediation/Tapjoy/Editor/Dependencies.xml b/Assets/ThirdParty/MaxSdk/Mediation/Tapjoy/Editor/Dependencies.xml index 87ef82f69..9ab257a52 100644 --- a/Assets/ThirdParty/MaxSdk/Mediation/Tapjoy/Editor/Dependencies.xml +++ b/Assets/ThirdParty/MaxSdk/Mediation/Tapjoy/Editor/Dependencies.xml @@ -1,13 +1,13 @@ - + diff --git a/Assets/ThirdParty/MaxSdk/Mediation/Tapjoy/Editor/Dependencies.xml.meta b/Assets/ThirdParty/MaxSdk/Mediation/Tapjoy/Editor/Dependencies.xml.meta index 087df67f2..14fe3dd2e 100644 --- a/Assets/ThirdParty/MaxSdk/Mediation/Tapjoy/Editor/Dependencies.xml.meta +++ b/Assets/ThirdParty/MaxSdk/Mediation/Tapjoy/Editor/Dependencies.xml.meta @@ -3,7 +3,6 @@ guid: c5268a136291a461aad1c0175bccb266 labels: - al_max - al_max_export_path-MaxSdk/Mediation/Tapjoy/Editor/Dependencies.xml -- al_max_export_path-MaxSdk\Mediation\Tapjoy\Editor\Dependencies.xml TextScriptImporter: externalObjects: {} userData: diff --git a/Assets/ThirdParty/MaxSdk/Mediation/UnityAds/Editor.meta b/Assets/ThirdParty/MaxSdk/Mediation/UnityAds/Editor.meta index 4c3f69772..b66e84693 100644 --- a/Assets/ThirdParty/MaxSdk/Mediation/UnityAds/Editor.meta +++ b/Assets/ThirdParty/MaxSdk/Mediation/UnityAds/Editor.meta @@ -3,7 +3,6 @@ guid: 30751f2dc322a40e588edfb7c978c9c0 labels: - al_max - al_max_export_path-MaxSdk/Mediation/UnityAds/Editor -- al_max_export_path-MaxSdk\Mediation\UnityAds\Editor folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/Assets/ThirdParty/MaxSdk/Mediation/UnityAds/Editor/Dependencies.xml b/Assets/ThirdParty/MaxSdk/Mediation/UnityAds/Editor/Dependencies.xml index 6c7850488..a59b7de12 100644 --- a/Assets/ThirdParty/MaxSdk/Mediation/UnityAds/Editor/Dependencies.xml +++ b/Assets/ThirdParty/MaxSdk/Mediation/UnityAds/Editor/Dependencies.xml @@ -1,9 +1,9 @@ - + diff --git a/Assets/ThirdParty/MaxSdk/Mediation/UnityAds/Editor/Dependencies.xml.meta b/Assets/ThirdParty/MaxSdk/Mediation/UnityAds/Editor/Dependencies.xml.meta index 3072dfa69..937df6e2a 100644 --- a/Assets/ThirdParty/MaxSdk/Mediation/UnityAds/Editor/Dependencies.xml.meta +++ b/Assets/ThirdParty/MaxSdk/Mediation/UnityAds/Editor/Dependencies.xml.meta @@ -3,7 +3,6 @@ guid: 9950f1cb0da1e43efbeca604db142076 labels: - al_max - al_max_export_path-MaxSdk/Mediation/UnityAds/Editor/Dependencies.xml -- al_max_export_path-MaxSdk\Mediation\UnityAds\Editor\Dependencies.xml TextScriptImporter: externalObjects: {} userData: diff --git a/Assets/ThirdParty/MaxSdk/Mediation/Vungle/Editor.meta b/Assets/ThirdParty/MaxSdk/Mediation/Vungle/Editor.meta index 26930deb8..1ea75cceb 100644 --- a/Assets/ThirdParty/MaxSdk/Mediation/Vungle/Editor.meta +++ b/Assets/ThirdParty/MaxSdk/Mediation/Vungle/Editor.meta @@ -3,7 +3,6 @@ guid: 77b6ea05736a9458f8ef8762ee9b64bb labels: - al_max - al_max_export_path-MaxSdk/Mediation/Vungle/Editor -- al_max_export_path-MaxSdk\Mediation\Vungle\Editor folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/Assets/ThirdParty/MaxSdk/Mediation/Vungle/Editor/Dependencies.xml b/Assets/ThirdParty/MaxSdk/Mediation/Vungle/Editor/Dependencies.xml index f2ee0d2ee..3157552f3 100644 --- a/Assets/ThirdParty/MaxSdk/Mediation/Vungle/Editor/Dependencies.xml +++ b/Assets/ThirdParty/MaxSdk/Mediation/Vungle/Editor/Dependencies.xml @@ -1,9 +1,9 @@ - + diff --git a/Assets/ThirdParty/MaxSdk/Mediation/Vungle/Editor/Dependencies.xml.meta b/Assets/ThirdParty/MaxSdk/Mediation/Vungle/Editor/Dependencies.xml.meta index 614bb1de6..7038186f8 100644 --- a/Assets/ThirdParty/MaxSdk/Mediation/Vungle/Editor/Dependencies.xml.meta +++ b/Assets/ThirdParty/MaxSdk/Mediation/Vungle/Editor/Dependencies.xml.meta @@ -3,7 +3,6 @@ guid: 0d8ad3a6ddc4f44fab2efe607fe14f26 labels: - al_max - al_max_export_path-MaxSdk/Mediation/Vungle/Editor/Dependencies.xml -- al_max_export_path-MaxSdk\Mediation\Vungle\Editor\Dependencies.xml TextScriptImporter: externalObjects: {} userData: diff --git a/Assets/ThirdParty/MaxSdk/Prefabs/BannerBottom.prefab.meta b/Assets/ThirdParty/MaxSdk/Prefabs/BannerBottom.prefab.meta index 59cf96ad0..153cfcf5f 100644 --- a/Assets/ThirdParty/MaxSdk/Prefabs/BannerBottom.prefab.meta +++ b/Assets/ThirdParty/MaxSdk/Prefabs/BannerBottom.prefab.meta @@ -3,7 +3,6 @@ guid: 54c062c0526b148efa2ea2e9489b3aa0 labels: - al_max - al_max_export_path-MaxSdk/Prefabs/BannerBottom.prefab -- al_max_export_path-MaxSdk\Prefabs\BannerBottom.prefab PrefabImporter: externalObjects: {} userData: diff --git a/Assets/ThirdParty/MaxSdk/Prefabs/BannerTop.prefab.meta b/Assets/ThirdParty/MaxSdk/Prefabs/BannerTop.prefab.meta index e45cd6527..52ef4649e 100644 --- a/Assets/ThirdParty/MaxSdk/Prefabs/BannerTop.prefab.meta +++ b/Assets/ThirdParty/MaxSdk/Prefabs/BannerTop.prefab.meta @@ -3,7 +3,6 @@ guid: 6521750c87fd14f709d09a1e38ffde47 labels: - al_max - al_max_export_path-MaxSdk/Prefabs/BannerTop.prefab -- al_max_export_path-MaxSdk\Prefabs\BannerTop.prefab PrefabImporter: externalObjects: {} userData: diff --git a/Assets/ThirdParty/MaxSdk/Prefabs/Interstitial.prefab b/Assets/ThirdParty/MaxSdk/Prefabs/Interstitial.prefab index ad0c1e5de..10c7c7ba2 100644 --- a/Assets/ThirdParty/MaxSdk/Prefabs/Interstitial.prefab +++ b/Assets/ThirdParty/MaxSdk/Prefabs/Interstitial.prefab @@ -199,6 +199,7 @@ GameObject: - component: {fileID: 1672649117655046507} - component: {fileID: 2484422763836779945} - component: {fileID: 1332063313327512547} + - component: {fileID: 9160434328933334999} m_Layer: 5 m_Name: EventSystem m_TagString: Untagged @@ -227,7 +228,7 @@ MonoBehaviour: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 6155160063690407013} - m_Enabled: 1 + m_Enabled: 0 m_EditorHideFlags: 0 m_Script: {fileID: -619905303, guid: f70555f144d8491a825f0804e09c671c, type: 3} m_Name: @@ -254,6 +255,18 @@ MonoBehaviour: m_InputActionsPerSecond: 10 m_RepeatDelay: 0.5 m_ForceModuleActive: 0 +--- !u!114 &9160434328933334999 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6155160063690407013} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: e0acf281ba86b4929a6942ecd998395b, type: 3} + m_Name: + m_EditorClassIdentifier: --- !u!1 &6462551400748024402 GameObject: m_ObjectHideFlags: 0 diff --git a/Assets/ThirdParty/MaxSdk/Prefabs/Interstitial.prefab.meta b/Assets/ThirdParty/MaxSdk/Prefabs/Interstitial.prefab.meta index 98b54c31e..4fa240bcf 100644 --- a/Assets/ThirdParty/MaxSdk/Prefabs/Interstitial.prefab.meta +++ b/Assets/ThirdParty/MaxSdk/Prefabs/Interstitial.prefab.meta @@ -3,7 +3,6 @@ guid: 3fc0c2627ce8a4490b8e319326f8a535 labels: - al_max - al_max_export_path-MaxSdk/Prefabs/Interstitial.prefab -- al_max_export_path-MaxSdk\Prefabs\Interstitial.prefab PrefabImporter: externalObjects: {} userData: diff --git a/Assets/ThirdParty/MaxSdk/Prefabs/Rewarded.prefab b/Assets/ThirdParty/MaxSdk/Prefabs/Rewarded.prefab index 1d85a9b9e..dd3457eff 100644 --- a/Assets/ThirdParty/MaxSdk/Prefabs/Rewarded.prefab +++ b/Assets/ThirdParty/MaxSdk/Prefabs/Rewarded.prefab @@ -355,6 +355,7 @@ GameObject: - component: {fileID: 3074011789293951898} - component: {fileID: 301935380126337495} - component: {fileID: 535359239537776472} + - component: {fileID: 1463999766055390634} m_Layer: 5 m_Name: EventSystem m_TagString: Untagged @@ -383,7 +384,7 @@ MonoBehaviour: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 4010021198786516228} - m_Enabled: 1 + m_Enabled: 0 m_EditorHideFlags: 0 m_Script: {fileID: -619905303, guid: f70555f144d8491a825f0804e09c671c, type: 3} m_Name: @@ -410,6 +411,18 @@ MonoBehaviour: m_InputActionsPerSecond: 10 m_RepeatDelay: 0.5 m_ForceModuleActive: 0 +--- !u!114 &1463999766055390634 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4010021198786516228} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: e0acf281ba86b4929a6942ecd998395b, type: 3} + m_Name: + m_EditorClassIdentifier: --- !u!1 &5668641863723001099 GameObject: m_ObjectHideFlags: 0 diff --git a/Assets/ThirdParty/MaxSdk/Prefabs/Rewarded.prefab.meta b/Assets/ThirdParty/MaxSdk/Prefabs/Rewarded.prefab.meta index 28c3fc07a..214bea119 100644 --- a/Assets/ThirdParty/MaxSdk/Prefabs/Rewarded.prefab.meta +++ b/Assets/ThirdParty/MaxSdk/Prefabs/Rewarded.prefab.meta @@ -3,7 +3,6 @@ guid: a28c1544d6f094d5eafc8da2343c9119 labels: - al_max - al_max_export_path-MaxSdk/Prefabs/Rewarded.prefab -- al_max_export_path-MaxSdk\Prefabs\Rewarded.prefab PrefabImporter: externalObjects: {} userData: diff --git a/Assets/ThirdParty/MaxSdk/Resources/AppLovinSettings.asset b/Assets/ThirdParty/MaxSdk/Resources/AppLovinSettings.asset index 476470d58..9a0add4bb 100644 --- a/Assets/ThirdParty/MaxSdk/Resources/AppLovinSettings.asset +++ b/Assets/ThirdParty/MaxSdk/Resources/AppLovinSettings.asset @@ -16,6 +16,7 @@ MonoBehaviour: sdkKey: 9uHgeBwag3NXva9MC23ToO3q11Ve59bF1uwg4qGltdGmCQ7OSByFZ_3b1ZF7krMlkHQo5gXzIokVDsvg1rwbr- setAttributionReportEndpoint: 0 consentFlowEnabled: 0 + consentFlowPlatform: 0 consentFlowPrivacyPolicyUrl: consentFlowTermsOfServiceUrl: userTrackingUsageDescriptionEn: @@ -29,4 +30,4 @@ MonoBehaviour: userTrackingUsageDescriptionZhHant: adMobAndroidAppId: adMobIosAppId: ca-app-pub-8252390069143459~7358844489 - snapAppStoreAppId: 0 + showInternalSettingsInIntegrationManager: 0 diff --git a/Assets/ThirdParty/MaxSdk/Resources/Images/alert_icon.png.meta b/Assets/ThirdParty/MaxSdk/Resources/Images/alert_icon.png.meta index c6c04ba73..634d2904d 100644 --- a/Assets/ThirdParty/MaxSdk/Resources/Images/alert_icon.png.meta +++ b/Assets/ThirdParty/MaxSdk/Resources/Images/alert_icon.png.meta @@ -3,11 +3,10 @@ guid: 572fee4574afa4f6dbf2846e0c152fe8 labels: - al_max - al_max_export_path-MaxSdk/Resources/Images/alert_icon.png -- al_max_export_path-MaxSdk\Resources\Images\alert_icon.png TextureImporter: internalIDToNameTable: [] externalObjects: {} - serializedVersion: 11 + serializedVersion: 10 mipmaps: mipMapMode: 0 enableMipMap: 1 @@ -27,7 +26,6 @@ TextureImporter: isReadable: 0 streamingMipmaps: 0 streamingMipmapsPriority: 0 - vTOnly: 0 grayScaleToAlpha: 0 generateCubemap: 6 cubemapConvolution: 0 @@ -36,12 +34,12 @@ TextureImporter: maxTextureSize: 2048 textureSettings: serializedVersion: 2 - filterMode: 1 - aniso: 1 - mipBias: 0 - wrapU: 0 - wrapV: 0 - wrapW: 0 + filterMode: -1 + aniso: -1 + mipBias: -100 + wrapU: -1 + wrapV: -1 + wrapW: -1 nPOTScale: 1 lightmap: 0 compressionQuality: 50 @@ -59,13 +57,9 @@ TextureImporter: textureType: 0 textureShape: 1 singleChannelComponent: 0 - flipbookRows: 1 - flipbookColumns: 1 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 - ignorePngGamma: 0 - applyGammaDecoding: 1 platformSettings: - serializedVersion: 3 buildTarget: DefaultTexturePlatform diff --git a/Assets/ThirdParty/MaxSdk/Resources/Images/uninstall_icon.png.meta b/Assets/ThirdParty/MaxSdk/Resources/Images/uninstall_icon.png.meta index d6689c7cc..0f398163b 100644 --- a/Assets/ThirdParty/MaxSdk/Resources/Images/uninstall_icon.png.meta +++ b/Assets/ThirdParty/MaxSdk/Resources/Images/uninstall_icon.png.meta @@ -3,11 +3,10 @@ guid: d24994f48fdd0430692e3d49279cd782 labels: - al_max - al_max_export_path-MaxSdk/Resources/Images/uninstall_icon.png -- al_max_export_path-MaxSdk\Resources\Images\uninstall_icon.png TextureImporter: internalIDToNameTable: [] externalObjects: {} - serializedVersion: 11 + serializedVersion: 10 mipmaps: mipMapMode: 0 enableMipMap: 1 @@ -27,7 +26,6 @@ TextureImporter: isReadable: 0 streamingMipmaps: 0 streamingMipmapsPriority: 0 - vTOnly: 0 grayScaleToAlpha: 0 generateCubemap: 6 cubemapConvolution: 0 @@ -36,12 +34,12 @@ TextureImporter: maxTextureSize: 2048 textureSettings: serializedVersion: 2 - filterMode: 1 - aniso: 1 - mipBias: 0 - wrapU: 0 - wrapV: 0 - wrapW: 0 + filterMode: -1 + aniso: -1 + mipBias: -100 + wrapU: -1 + wrapV: -1 + wrapW: -1 nPOTScale: 1 lightmap: 0 compressionQuality: 50 @@ -59,13 +57,9 @@ TextureImporter: textureType: 0 textureShape: 1 singleChannelComponent: 0 - flipbookRows: 1 - flipbookColumns: 1 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 - ignorePngGamma: 0 - applyGammaDecoding: 1 platformSettings: - serializedVersion: 3 buildTarget: DefaultTexturePlatform diff --git a/Assets/ThirdParty/MaxSdk/Resources/Images/warning_icon.png.meta b/Assets/ThirdParty/MaxSdk/Resources/Images/warning_icon.png.meta index 50a37a83e..ee4941c37 100644 --- a/Assets/ThirdParty/MaxSdk/Resources/Images/warning_icon.png.meta +++ b/Assets/ThirdParty/MaxSdk/Resources/Images/warning_icon.png.meta @@ -3,11 +3,10 @@ guid: b504c956e7ed744b6b0e7f014e1cac5a labels: - al_max - al_max_export_path-MaxSdk/Resources/Images/warning_icon.png -- al_max_export_path-MaxSdk\Resources\Images\warning_icon.png TextureImporter: - internalIDToNameTable: [] + fileIDToRecycleName: {} externalObjects: {} - serializedVersion: 11 + serializedVersion: 9 mipmaps: mipMapMode: 0 enableMipMap: 1 @@ -27,7 +26,6 @@ TextureImporter: isReadable: 0 streamingMipmaps: 0 streamingMipmapsPriority: 0 - vTOnly: 0 grayScaleToAlpha: 0 generateCubemap: 6 cubemapConvolution: 0 @@ -36,12 +34,12 @@ TextureImporter: maxTextureSize: 2048 textureSettings: serializedVersion: 2 - filterMode: 1 - aniso: 1 - mipBias: 0 - wrapU: 0 - wrapV: 0 - wrapW: 0 + filterMode: -1 + aniso: -1 + mipBias: -100 + wrapU: -1 + wrapV: -1 + wrapW: -1 nPOTScale: 1 lightmap: 0 compressionQuality: 50 @@ -59,15 +57,11 @@ TextureImporter: textureType: 0 textureShape: 1 singleChannelComponent: 0 - flipbookRows: 1 - flipbookColumns: 1 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 - ignorePngGamma: 0 - applyGammaDecoding: 1 platformSettings: - - serializedVersion: 3 + - serializedVersion: 2 buildTarget: DefaultTexturePlatform maxTextureSize: 2048 resizeAlgorithm: 0 @@ -78,7 +72,6 @@ TextureImporter: allowsAlphaSplitting: 0 overridden: 0 androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 1 spriteSheet: serializedVersion: 2 sprites: [] @@ -86,12 +79,10 @@ TextureImporter: physicsShape: [] bones: [] spriteID: - internalID: 0 vertices: [] indices: edges: [] weights: [] - secondaryTextures: [] spritePackingTag: pSDRemoveMatte: 0 pSDShowRemoveMatteOption: 0 diff --git a/Assets/ThirdParty/MaxSdk/Scripts/Editor.meta b/Assets/ThirdParty/MaxSdk/Scripts/Editor.meta index 1bcbeed7c..7adfefb8b 100644 --- a/Assets/ThirdParty/MaxSdk/Scripts/Editor.meta +++ b/Assets/ThirdParty/MaxSdk/Scripts/Editor.meta @@ -3,7 +3,6 @@ guid: b6903b66cb8984df289e6d66f9c52ddc labels: - al_max - al_max_export_path-MaxSdk/Scripts/Editor -- al_max_export_path-MaxSdk\Scripts\Editor folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/Assets/ThirdParty/MaxSdk/Scripts/Editor/MaxInitialization.cs b/Assets/ThirdParty/MaxSdk/Scripts/Editor/MaxInitialization.cs index 20f5f175f..709ec0009 100644 --- a/Assets/ThirdParty/MaxSdk/Scripts/Editor/MaxInitialization.cs +++ b/Assets/ThirdParty/MaxSdk/Scripts/Editor/MaxInitialization.cs @@ -17,39 +17,45 @@ namespace AppLovinMax.Scripts.Editor [InitializeOnLoad] public class MaxInitialize { - private const string AndroidChangelog = "ANDROID_CHANGELOG.md"; - private const string IosChangelog = "IOS_CHANGELOG.md"; - - private static readonly List Networks = new List - { - "AdColony", - "Amazon", - "ByteDance", - "Chartboost", - "Facebook", - "Fyber", - "Google", - "InMobi", - "IronSource", - "Maio", - "Mintegral", - "MyTarget", - "Nend", - "Ogury", - "Smaato", - "Tapjoy", - "TencentGDT", - "UnityAds", - "VerizonAds", - "Vungle", - "Yandex" - }; - private static readonly List ObsoleteNetworks = new List { + "Snap", "VoodooAds" }; +#if UNITY_2018_2_OR_NEWER + private static readonly List ObsoleteFileExportPathsToDelete = new List + { + // The `EventSystemChecker` has been renamed to `MaxEventSystemChecker`. + "MaxSdk/Scripts/EventSystemChecker.cs", + "MaxSdk/Scripts/EventSystemChecker.cs.meta", + + // Google AdMob adapter pre/post process scripts. The logic has been migrated to the main plugin. + "MaxSdk/Mediation/Google/Editor/MaxGoogleInitialize.cs", + "MaxSdk/Mediation/Google/Editor/MaxGoogleInitialize.cs.meta", + "MaxSdk/Mediation/Google/Editor/MaxMediationGoogleUtils.cs", + "MaxSdk/Mediation/Google/Editor/MaxMediationGoogleUtils.cs.meta", + "MaxSdk/Mediation/Google/Editor/PostProcessor.cs", + "MaxSdk/Mediation/Google/Editor/PostProcessor.cs.meta", + "MaxSdk/Mediation/Google/Editor/PreProcessor.cs", + "MaxSdk/Mediation/Google/Editor/PreProcessor.cs.meta", + "MaxSdk/Mediation/Google/Editor/MaxSdk.Mediation.Google.Editor.asmdef", + "MaxSdk/Mediation/Google/MaxSdk.Mediation.Google.Editor.asmdef.meta", + "Plugins/Android/MaxMediationGoogle.androidlib", + "Plugins/Android/MaxMediationGoogle.androidlib.meta", + + // Google Ad Manager adapter pre/post process scripts. The logic has been migrated to the main plugin + "MaxSdk/Mediation/GoogleAdManager/Editor/MaxGoogleAdManagerInitialize.cs", + "MaxSdk/Mediation/GoogleAdManager/Editor/MaxGoogleAdManagerInitialize.cs.meta", + "MaxSdk/Mediation/GoogleAdManager/Editor/PostProcessor.cs", + "MaxSdk/Mediation/GoogleAdManager/Editor/PostProcessor.cs.meta", + "MaxSdk/Mediation/GoogleAdManager/Editor/MaxSdk.Mediation.GoogleAdManager.Editor.asmdef", + "MaxSdk/Mediation/GoogleAdManager/Editor/MaxSdk.Mediation.GoogleAdManager.Editor.asmdef.meta", + "Plugins/Android/MaxMediationGoogleAdManager.androidlib", + "Plugins/Android/MaxMediationGoogleAdManager.androidlib.meta" + }; +#endif + static MaxInitialize() { #if UNITY_IOS @@ -77,29 +83,18 @@ namespace AppLovinMax.Scripts.Editor AppLovinIntegrationManager.AddLabelsToAssetsIfNeeded(pluginParentDir, isPluginOutsideAssetsDir); - // Check if we have legacy adapter CHANGELOGs. - foreach (var network in Networks) +#if UNITY_2018_2_OR_NEWER + foreach (var obsoleteFileExportPathToDelete in ObsoleteFileExportPathsToDelete) { - var mediationAdapterDir = Path.Combine(pluginParentDir, "MaxSdk/Mediation/" + network); - - // If new directory exists - if (CheckExistence(mediationAdapterDir)) + var pathToDelete = MaxSdkUtils.GetAssetPathForExportPath(obsoleteFileExportPathToDelete); + if (CheckExistence(pathToDelete)) { - var androidChangelogFile = Path.Combine(mediationAdapterDir, AndroidChangelog); - if (CheckExistence(androidChangelogFile)) - { - FileUtil.DeleteFileOrDirectory(androidChangelogFile); - changesMade = true; - } - - var iosChangelogFile = Path.Combine(mediationAdapterDir, IosChangelog); - if (CheckExistence(iosChangelogFile)) - { - FileUtil.DeleteFileOrDirectory(iosChangelogFile); - changesMade = true; - } + MaxSdkLogger.UserDebug("Deleting obsolete file '" + pathToDelete + "' that are no longer needed."); + FileUtil.DeleteFileOrDirectory(pathToDelete); + changesMade = true; } } +#endif // Check if any obsolete networks are installed foreach (var obsoleteNetwork in ObsoleteNetworks) diff --git a/Assets/ThirdParty/MaxSdk/Scripts/Editor/MaxInitialization.cs.meta b/Assets/ThirdParty/MaxSdk/Scripts/Editor/MaxInitialization.cs.meta index 8a1a24450..a96a57714 100644 --- a/Assets/ThirdParty/MaxSdk/Scripts/Editor/MaxInitialization.cs.meta +++ b/Assets/ThirdParty/MaxSdk/Scripts/Editor/MaxInitialization.cs.meta @@ -3,7 +3,6 @@ guid: bc0c5693335e0408a95293c0d7b61137 labels: - al_max - al_max_export_path-MaxSdk/Scripts/Editor/MaxInitialization.cs -- al_max_export_path-MaxSdk\Scripts\Editor\MaxInitialization.cs MonoImporter: externalObjects: {} serializedVersion: 2 diff --git a/Assets/ThirdParty/MaxSdk/Scripts/Editor/MaxPostProcessBuildAndroid.cs b/Assets/ThirdParty/MaxSdk/Scripts/Editor/MaxPostProcessBuildAndroid.cs index 6a8d58021..8ad8aee9c 100644 --- a/Assets/ThirdParty/MaxSdk/Scripts/Editor/MaxPostProcessBuildAndroid.cs +++ b/Assets/ThirdParty/MaxSdk/Scripts/Editor/MaxPostProcessBuildAndroid.cs @@ -7,14 +7,16 @@ // #if UNITY_ANDROID && UNITY_2018_2_OR_NEWER - +using AppLovinMax.Scripts.IntegrationManager.Editor; using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Xml.Linq; +using AppLovinMax.ThirdParty.MiniJson; using UnityEditor; using UnityEditor.Android; +using UnityEngine; namespace AppLovinMax.Scripts.Editor { @@ -30,7 +32,22 @@ namespace AppLovinMax.Scripts.Editor #endif private const string PropertyDexingArtifactTransform = "android.enableDexingArtifactTransform"; private const string DisableProperty = "=false"; - private const string AppLovinVerboseLoggingOnKey = "applovin.sdk.verbose_logging"; + + private const string KeyMetaDataAppLovinSdkKey = "applovin.sdk.key"; + private const string KeyMetaDataAppLovinVerboseLoggingOn = "applovin.sdk.verbose_logging"; + private const string KeyMetaDataGoogleApplicationId = "com.google.android.gms.ads.APPLICATION_ID"; + private const string KeyMetaDataGoogleAdManagerApp = "com.google.android.gms.ads.AD_MANAGER_APP"; + + private static readonly XNamespace AndroidNamespace = "http://schemas.android.com/apk/res/android"; + + private static string PluginMediationDirectory + { + get + { + var pluginParentDir = AppLovinIntegrationManager.MediationSpecificPluginParentDirectory; + return Path.Combine(pluginParentDir, "MaxSdk/Mediation/"); + } + } public void OnPostGenerateGradleAndroidProject(string path) { @@ -56,7 +73,7 @@ namespace AppLovinMax.Scripts.Editor } #if UNITY_2019_3_OR_NEWER - // Enable AndroidX and Jetifier properties + // Enable AndroidX and Jetifier properties gradlePropertiesUpdated.Add(PropertyAndroidX + EnableProperty); gradlePropertiesUpdated.Add(PropertyJetifier + EnableProperty); #endif @@ -72,8 +89,19 @@ namespace AppLovinMax.Scripts.Editor MaxSdkLogger.UserError("Failed to enable AndroidX and Jetifier. gradle.properties file write failed."); Console.WriteLine(exception); } - - EnableVerboseLoggingIfNeeded(path); + + ProcessAndroidManifest(path); + + var rawResourceDirectory = Path.Combine(path, "src/main/res/raw"); + if (AppLovinSettings.Instance.ShowInternalSettingsInIntegrationManager) + { + // For Unity 2018.1 or older, the consent flow is enabled in AppLovinPreProcessAndroid. + AppLovinPreProcessAndroid.EnableConsentFlowIfNeeded(rawResourceDirectory); + } + else + { + AppLovinPreProcessAndroid.EnableTermsFlowIfNeeded(rawResourceDirectory); + } } public int callbackOrder @@ -81,11 +109,8 @@ namespace AppLovinMax.Scripts.Editor get { return int.MaxValue; } } - private static void EnableVerboseLoggingIfNeeded(string path) + private static void ProcessAndroidManifest(string path) { - if (!EditorPrefs.HasKey(MaxSdkLogger.KeyVerboseLoggingEnabled)) return; - - var enabled = EditorPrefs.GetBool(MaxSdkLogger.KeyVerboseLoggingEnabled); var manifestPath = Path.Combine(path, "src/main/AndroidManifest.xml"); XDocument manifest; try @@ -115,13 +140,52 @@ namespace AppLovinMax.Scripts.Editor return; } + var metaDataElements = elementApplication.Descendants().Where(element => element.Name.LocalName.Equals("meta-data")); + + AddSdkKeyIfNeeded(elementApplication); + EnableVerboseLoggingIfNeeded(elementApplication); + AddGoogleApplicationIdIfNeeded(elementApplication, metaDataElements); + + // Save the updated manifest file. + manifest.Save(manifestPath); + } + + private static void AddSdkKeyIfNeeded(XElement elementApplication) + { + var sdkKey = AppLovinSettings.Instance.SdkKey; + if (string.IsNullOrEmpty(sdkKey)) return; + + var descendants = elementApplication.Descendants(); + var sdkKeyMetaData = descendants.FirstOrDefault(descendant => descendant.FirstAttribute != null && + descendant.FirstAttribute.Name.LocalName.Equals("name") && + descendant.FirstAttribute.Value.Equals(KeyMetaDataAppLovinSdkKey) && + descendant.LastAttribute != null && + descendant.LastAttribute.Name.LocalName.Equals("value")); + + // check if applovin.sdk.key meta data exists. + if (sdkKeyMetaData != null) + { + sdkKeyMetaData.LastAttribute.Value = sdkKey; + } + else + { + // add applovin.sdk.key meta data if it does not exist. + var metaData = CreateMetaDataElement(KeyMetaDataAppLovinSdkKey, sdkKey); + elementApplication.Add(metaData); + } + } + + private static void EnableVerboseLoggingIfNeeded(XElement elementApplication) + { + var enabled = EditorPrefs.GetBool(MaxSdkLogger.KeyVerboseLoggingEnabled, false); + var descendants = elementApplication.Descendants(); var verboseLoggingMetaData = descendants.FirstOrDefault(descendant => descendant.FirstAttribute != null && descendant.FirstAttribute.Name.LocalName.Equals("name") && - descendant.FirstAttribute.Value.Equals(AppLovinVerboseLoggingOnKey) && + descendant.FirstAttribute.Value.Equals(KeyMetaDataAppLovinVerboseLoggingOn) && descendant.LastAttribute != null && descendant.LastAttribute.Name.LocalName.Equals("value")); - + // check if applovin.sdk.verbose_logging meta data exists. if (verboseLoggingMetaData != null) { @@ -141,16 +205,66 @@ namespace AppLovinMax.Scripts.Editor if (enabled) { // add applovin.sdk.verbose_logging meta data if it does not exist. - var metaData = new XElement("meta-data"); - XNamespace androidNamespace = "http://schemas.android.com/apk/res/android"; - metaData.Add(new XAttribute(androidNamespace + "name", AppLovinVerboseLoggingOnKey)); - metaData.Add(new XAttribute(androidNamespace + "value", enabled.ToString())); + var metaData = CreateMetaDataElement(KeyMetaDataAppLovinVerboseLoggingOn, enabled.ToString()); elementApplication.Add(metaData); } } + } - // Save the updated manifest file. - manifest.Save(manifestPath); + private static void AddGoogleApplicationIdIfNeeded(XElement elementApplication, IEnumerable metaDataElements) + { + if (!AppLovinIntegrationManager.IsAdapterInstalled("Google") && !AppLovinIntegrationManager.IsAdapterInstalled("GoogleAdManager")) return; + + var googleApplicationIdMetaData = GetMetaDataElement(metaDataElements, KeyMetaDataGoogleApplicationId); + var appId = AppLovinSettings.Instance.AdMobAndroidAppId; + // Log error if the App ID is not set. + if (string.IsNullOrEmpty(appId) || !appId.StartsWith("ca-app-pub-")) + { + MaxSdkLogger.UserError("Google App ID is not set. Please enter a valid app ID within the AppLovin Integration Manager window."); + return; + } + + // Check if the Google App ID meta data already exists. Update if it already exists. + if (googleApplicationIdMetaData != null) + { + googleApplicationIdMetaData.SetAttributeValue(AndroidNamespace + "value", appId); + } + // Meta data doesn't exist, add it. + else + { + elementApplication.Add(CreateMetaDataElement(KeyMetaDataGoogleApplicationId, appId)); + } + } + + /// + /// Creates and returns a meta-data element with the given name and value. + /// + private static XElement CreateMetaDataElement(string name, object value) + { + var metaData = new XElement("meta-data"); + metaData.Add(new XAttribute(AndroidNamespace + "name", name)); + metaData.Add(new XAttribute(AndroidNamespace + "value", value)); + + return metaData; + } + + /// + /// Looks through all the given meta-data elements to check if the required one exists. Returns null if it doesn't exist. + /// + private static XElement GetMetaDataElement(IEnumerable metaDataElements, string metaDataName) + { + foreach (var metaDataElement in metaDataElements) + { + var attributes = metaDataElement.Attributes(); + if (attributes.Any(attribute => attribute.Name.Namespace.Equals(AndroidNamespace) + && attribute.Name.LocalName.Equals("name") + && attribute.Value.Equals(metaDataName))) + { + return metaDataElement; + } + } + + return null; } } } diff --git a/Assets/ThirdParty/MaxSdk/Scripts/Editor/MaxPostProcessBuildAndroid.cs.meta b/Assets/ThirdParty/MaxSdk/Scripts/Editor/MaxPostProcessBuildAndroid.cs.meta index 2ed7bd92f..07e4133b4 100644 --- a/Assets/ThirdParty/MaxSdk/Scripts/Editor/MaxPostProcessBuildAndroid.cs.meta +++ b/Assets/ThirdParty/MaxSdk/Scripts/Editor/MaxPostProcessBuildAndroid.cs.meta @@ -3,7 +3,6 @@ guid: 75fed160a41749d4990cee871ee618a4 labels: - al_max - al_max_export_path-MaxSdk/Scripts/Editor/MaxPostProcessBuildAndroid.cs -- al_max_export_path-MaxSdk\Scripts\Editor\MaxPostProcessBuildAndroid.cs MonoImporter: externalObjects: {} serializedVersion: 2 diff --git a/Assets/ThirdParty/MaxSdk/Scripts/Editor/MaxPostProcessBuildiOS.cs b/Assets/ThirdParty/MaxSdk/Scripts/Editor/MaxPostProcessBuildiOS.cs index 8b251adae..9dd3d7d3e 100644 --- a/Assets/ThirdParty/MaxSdk/Scripts/Editor/MaxPostProcessBuildiOS.cs +++ b/Assets/ThirdParty/MaxSdk/Scripts/Editor/MaxPostProcessBuildiOS.cs @@ -40,63 +40,44 @@ namespace AppLovinMax.Scripts.Editor private const string AppLovinMaxResourcesDirectoryName = "AppLovinMAXResources"; private const string AppLovinAdvertisingAttributionEndpoint = "https://postbacks-app.com"; - private static readonly List AtsRequiringNetworks = new List + private const string AppLovinSettingsPlistFileName = "AppLovin-Settings.plist"; + private const string KeyConsentFlowInfo = "ConsentFlowInfo"; + private const string KeyConsentFlowEnabled = "ConsentFlowEnabled"; + private const string KeyConsentFlowTermsOfService = "ConsentFlowTermsOfService"; + private const string KeyConsentFlowPrivacyPolicy = "ConsentFlowPrivacyPolicy"; + private const string KeyConsentFlowAdvertisingPartners = "ConsentFlowAdvertisingPartners"; + private const string KeyConsentFlowIncludeDefaultAdvertisingPartners = "ConsentFlowIncludeDefaultAdvertisingPartners"; + private const string KeyConsentFlowAnalyticsPartners = "ConsentFlowAnalyticsPartners"; + private const string KeyConsentFlowIncludeDefaultAnalyticsPartners = "ConsentFlowIncludeDefaultAnalyticsPartners"; + + private static readonly List DynamicLibrariesToEmbed = new List { - "AdColony", - "ByteDance", - "Fyber", - "Google", - "GoogleAdManager", - "HyprMX", - "InMobi", - "IronSource", - "Smaato" + "DTBiOSSDK.xcframework", + "FBSDKCoreKit_Basics.xcframework", + "HyprMX.xcframework", + "IASDKCore.xcframework", + "MobileFuseSDK.xcframework", + "OMSDK_Appodeal.xcframework", + "OMSDK_Ogury.xcframework", + "OMSDK_Pubnativenet.xcframework", + "OMSDK_Smaato.xcframework" }; - private static List DynamicLibraryPathsToEmbed - { - get - { - var dynamicLibraryPathsToEmbed = new List(2); - dynamicLibraryPathsToEmbed.Add(Path.Combine("Pods/", "HyprMX/HyprMX.xcframework")); - dynamicLibraryPathsToEmbed.Add(Path.Combine("Pods/", "smaato-ios-sdk/vendor/OMSDK_Smaato.xcframework")); - dynamicLibraryPathsToEmbed.Add(Path.Combine("Pods/", "FBSDKCoreKit_Basics/XCFrameworks/FBSDKCoreKit_Basics.xcframework")); - dynamicLibraryPathsToEmbed.Add(Path.Combine("Pods/", "OguryAds/OguryAds/OMSDK_Ogury.xcframework")); - - if (ShouldEmbedSnapSdk()) - { - dynamicLibraryPathsToEmbed.Add(Path.Combine("Pods/", "SAKSDK/SAKSDK.framework")); - dynamicLibraryPathsToEmbed.Add(Path.Combine("Pods/", "SAKSDK/SAKSDK.xcframework")); - } - - return dynamicLibraryPathsToEmbed; - } - } - - /// - /// Some library paths might contain versions and can't be hardcoded. So, we'll instead search for these libraries in the Pods/ directory. - /// - private static List DynamicLibrariesToSearchToEmbed - { - get - { - return new List() - { - "OMSDK_Pubnativenet.xcframework" - }; - } - } - private static List SwiftLanguageNetworks { get { - var swiftLanguageNetworks = new List(1); - if (ShouldAddSwiftSupportForFacebook()) + var swiftLanguageNetworks = new List(); + if (AppLovinIntegrationManager.IsAdapterInstalled("Facebook", "6.9.0.0")) { swiftLanguageNetworks.Add("Facebook"); } + if (AppLovinIntegrationManager.IsAdapterInstalled("UnityAds", "4.4.0.0")) + { + swiftLanguageNetworks.Add("UnityAds"); + } + return swiftLanguageNetworks; } } @@ -104,6 +85,7 @@ namespace AppLovinMax.Scripts.Editor private static readonly List EmbedSwiftStandardLibrariesNetworks = new List { "Facebook", + "UnityAds" }; private static string PluginMediationDirectory @@ -131,38 +113,48 @@ namespace AppLovinMax.Scripts.Editor #endif EmbedDynamicLibrariesIfNeeded(buildPath, project, unityMainTargetGuid); - LocalizeUserTrackingDescriptionIfNeeded(AppLovinSettings.Instance.UserTrackingUsageDescriptionDe, "de", buildPath, project, unityMainTargetGuid); - LocalizeUserTrackingDescriptionIfNeeded(AppLovinSettings.Instance.UserTrackingUsageDescriptionEn, "en", buildPath, project, unityMainTargetGuid); - LocalizeUserTrackingDescriptionIfNeeded(AppLovinSettings.Instance.UserTrackingUsageDescriptionEs, "es", buildPath, project, unityMainTargetGuid); - LocalizeUserTrackingDescriptionIfNeeded(AppLovinSettings.Instance.UserTrackingUsageDescriptionFr, "fr", buildPath, project, unityMainTargetGuid); - LocalizeUserTrackingDescriptionIfNeeded(AppLovinSettings.Instance.UserTrackingUsageDescriptionJa, "ja", buildPath, project, unityMainTargetGuid); - LocalizeUserTrackingDescriptionIfNeeded(AppLovinSettings.Instance.UserTrackingUsageDescriptionKo, "ko", buildPath, project, unityMainTargetGuid); - LocalizeUserTrackingDescriptionIfNeeded(AppLovinSettings.Instance.UserTrackingUsageDescriptionZhHans, "zh-Hans", buildPath, project, unityMainTargetGuid); - LocalizeUserTrackingDescriptionIfNeeded(AppLovinSettings.Instance.UserTrackingUsageDescriptionZhHant, "zh-Hant", buildPath, project, unityMainTargetGuid); + var internalSettingsEnabled = AppLovinSettings.Instance.ShowInternalSettingsInIntegrationManager; + var userTrackingUsageDescriptionDe = internalSettingsEnabled ? AppLovinInternalSettings.Instance.UserTrackingUsageDescriptionDe : AppLovinSettings.Instance.UserTrackingUsageDescriptionDe; + LocalizeUserTrackingDescriptionIfNeeded(userTrackingUsageDescriptionDe, "de", buildPath, project, unityMainTargetGuid); + var userTrackingUsageDescriptionEn = internalSettingsEnabled ? AppLovinInternalSettings.Instance.UserTrackingUsageDescriptionEn : AppLovinSettings.Instance.UserTrackingUsageDescriptionEn; + LocalizeUserTrackingDescriptionIfNeeded(userTrackingUsageDescriptionEn, "en", buildPath, project, unityMainTargetGuid); + var userTrackingUsageDescriptionEs = internalSettingsEnabled ? AppLovinInternalSettings.Instance.UserTrackingUsageDescriptionEs : AppLovinSettings.Instance.UserTrackingUsageDescriptionEs; + LocalizeUserTrackingDescriptionIfNeeded(userTrackingUsageDescriptionEs, "es", buildPath, project, unityMainTargetGuid); + var userTrackingUsageDescriptionFr = internalSettingsEnabled ? AppLovinInternalSettings.Instance.UserTrackingUsageDescriptionFr : AppLovinSettings.Instance.UserTrackingUsageDescriptionFr; + LocalizeUserTrackingDescriptionIfNeeded(userTrackingUsageDescriptionFr, "fr", buildPath, project, unityMainTargetGuid); + var userTrackingUsageDescriptionJa = internalSettingsEnabled ? AppLovinInternalSettings.Instance.UserTrackingUsageDescriptionJa : AppLovinSettings.Instance.UserTrackingUsageDescriptionJa; + LocalizeUserTrackingDescriptionIfNeeded(userTrackingUsageDescriptionJa, "ja", buildPath, project, unityMainTargetGuid); + var userTrackingUsageDescriptionKo = internalSettingsEnabled ? AppLovinInternalSettings.Instance.UserTrackingUsageDescriptionKo : AppLovinSettings.Instance.UserTrackingUsageDescriptionKo; + LocalizeUserTrackingDescriptionIfNeeded(userTrackingUsageDescriptionKo, "ko", buildPath, project, unityMainTargetGuid); + var userTrackingUsageDescriptionZhHans = internalSettingsEnabled ? AppLovinInternalSettings.Instance.UserTrackingUsageDescriptionZhHans : AppLovinSettings.Instance.UserTrackingUsageDescriptionZhHans; + LocalizeUserTrackingDescriptionIfNeeded(userTrackingUsageDescriptionZhHans, "zh-Hans", buildPath, project, unityMainTargetGuid); + var userTrackingUsageDescriptionZhHant = internalSettingsEnabled ? AppLovinInternalSettings.Instance.UserTrackingUsageDescriptionZhHant : AppLovinSettings.Instance.UserTrackingUsageDescriptionZhHant; + LocalizeUserTrackingDescriptionIfNeeded(userTrackingUsageDescriptionZhHant, "zh-Hant", buildPath, project, unityMainTargetGuid); AddSwiftSupportIfNeeded(buildPath, project, unityFrameworkTargetGuid); EmbedSwiftStandardLibrariesIfNeeded(buildPath, project, unityMainTargetGuid); + AddYandexSettingsIfNeeded(project, unityMainTargetGuid); project.WriteToFile(projectPath); } private static void EmbedDynamicLibrariesIfNeeded(string buildPath, PBXProject project, string targetGuid) { - var dynamicLibraryPathsPresentInProject = DynamicLibraryPathsToEmbed.Where(dynamicLibraryPath => Directory.Exists(Path.Combine(buildPath, dynamicLibraryPath))).ToList(); - var podsDirectory = Path.Combine(buildPath, "Pods"); // Check that the Pods directory exists (it might not if a publisher is building with Generate Podfile setting disabled in EDM). - if (Directory.Exists(podsDirectory)) - { - foreach (var dynamicLibraryToSearch in DynamicLibrariesToSearchToEmbed) - { - // both .framework and .xcframework are directories, not files - var directories = Directory.GetDirectories(podsDirectory, dynamicLibraryToSearch, SearchOption.AllDirectories); - if (directories.Length <= 0) continue; + var podsDirectory = Path.Combine(buildPath, "Pods"); + if (!Directory.Exists(podsDirectory)) return; - var index = directories[0].LastIndexOf("Pods"); - var relativePath = directories[0].Substring(index); - dynamicLibraryPathsPresentInProject.Add(relativePath); - } + var dynamicLibraryPathsPresentInProject = new List(); + foreach (var dynamicLibraryToSearch in DynamicLibrariesToEmbed) + { + // both .framework and .xcframework are directories, not files + var directories = Directory.GetDirectories(podsDirectory, dynamicLibraryToSearch, SearchOption.AllDirectories); + if (directories.Length <= 0) continue; + + var dynamicLibraryAbsolutePath = directories[0]; + var index = dynamicLibraryAbsolutePath.LastIndexOf("Pods"); + var relativePath = dynamicLibraryAbsolutePath.Substring(index); + dynamicLibraryPathsPresentInProject.Add(relativePath); } if (dynamicLibraryPathsPresentInProject.Count <= 0) return; @@ -192,12 +184,6 @@ namespace AppLovinMax.Scripts.Editor runpathSearchPaths += "@executable_path/Frameworks"; project.SetBuildProperty(targetGuid, "LD_RUNPATH_SEARCH_PATHS", runpathSearchPaths); #endif - - if (ShouldEmbedSnapSdk()) - { - // Needed to build successfully on Xcode 12+, as Snap was build with latest Xcode but not as an xcframework - project.AddBuildProperty(targetGuid, "VALIDATE_WORKSPACE", "YES"); - } } private static void LocalizeUserTrackingDescriptionIfNeeded(string localizedUserTrackingDescription, string localeCode, string buildPath, PBXProject project, string targetGuid) @@ -210,8 +196,7 @@ namespace AppLovinMax.Scripts.Editor var infoPlistStringsFilePath = Path.Combine(localeSpecificDirectoryPath, "InfoPlist.strings"); // Check if localization has been disabled between builds, and remove them as needed. - var settings = AppLovinSettings.Instance; - if (!settings.ConsentFlowEnabled || !settings.UserTrackingUsageLocalizationEnabled || string.IsNullOrEmpty(localizedUserTrackingDescription)) + if (ShouldRemoveLocalization(localizedUserTrackingDescription)) { if (!File.Exists(infoPlistStringsFilePath)) return; @@ -268,6 +253,21 @@ namespace AppLovinMax.Scripts.Editor project.AddFileToBuild(targetGuid, guid); } + private static bool ShouldRemoveLocalization(string localizedUserTrackingDescription) + { + if (string.IsNullOrEmpty(localizedUserTrackingDescription)) return true; + + var settings = AppLovinSettings.Instance; + var internalSettingsEnabled = settings.ShowInternalSettingsInIntegrationManager; + if (internalSettingsEnabled) + { + var internalSettings = AppLovinInternalSettings.Instance; + return !internalSettings.ConsentFlowEnabled || !internalSettings.UserTrackingUsageLocalizationEnabled; + } + + return !settings.ConsentFlowEnabled || !settings.UserTrackingUsageLocalizationEnabled; + } + private static void AddSwiftSupportIfNeeded(string buildPath, PBXProject project, string targetGuid) { var swiftFileRelativePath = "Classes/MAXSwiftSupport.swift"; @@ -353,19 +353,30 @@ namespace AppLovinMax.Scripts.Editor var plist = new PlistDocument(); plist.ReadFromFile(plistPath); + SetSdkKeyIfNeeded(plist); SetAttributionReportEndpointIfNeeded(plist); #if UNITY_2018_2_OR_NEWER EnableVerboseLoggingIfNeeded(plist); + AddGoogleApplicationIdIfNeeded(plist); #endif - EnableConsentFlowIfNeeded(plist); + + AddSdkSettingsIfNeeded(plist, path); + EnableTermsFlowIfNeeded(plist); AddSkAdNetworksInfoIfNeeded(plist); - UpdateAppTransportSecuritySettingsIfNeeded(plist); - AddSnapAppStoreAppIdIfNeeded(plist); plist.WriteToFile(plistPath); } + private static void SetSdkKeyIfNeeded(PlistDocument plist) + { + var sdkKey = AppLovinSettings.Instance.SdkKey; + if (string.IsNullOrEmpty(sdkKey)) return; + + const string AppLovinVerboseLoggingOnKey = "AppLovinSdkKey"; + plist.root.SetString(AppLovinVerboseLoggingOnKey, sdkKey); + } + private static void SetAttributionReportEndpointIfNeeded(PlistDocument plist) { if (AppLovinSettings.Instance.SetAttributionReportEndpoint) @@ -401,14 +412,135 @@ namespace AppLovinMax.Scripts.Editor plist.root.values.Remove(AppLovinVerboseLoggingOnKey); } } + + private static void AddGoogleApplicationIdIfNeeded(PlistDocument plist) + { + if (!AppLovinIntegrationManager.IsAdapterInstalled("Google") && !AppLovinIntegrationManager.IsAdapterInstalled("GoogleAdManager")) return; + + const string googleApplicationIdentifier = "GADApplicationIdentifier"; + var appId = AppLovinSettings.Instance.AdMobIosAppId; + // Log error if the App ID is not set. + if (string.IsNullOrEmpty(appId) || !appId.StartsWith("ca-app-pub-")) + { + Debug.LogError("[AppLovin MAX] Google App ID is not set. Please enter a valid app ID within the AppLovin Integration Manager window."); + return; + } + + plist.root.SetString(googleApplicationIdentifier, appId); + } #endif - private static void EnableConsentFlowIfNeeded(PlistDocument plist) + private static void AddYandexSettingsIfNeeded(PBXProject project, string unityMainTargetGuid) { - // Check if consent flow is enabled. No need to update info.plist if consent flow is disabled. + if (!AppLovinIntegrationManager.IsAdapterInstalled("Yandex")) return; + + if (MaxSdkUtils.CompareVersions(PlayerSettings.iOS.targetOSVersionString, "12.0") == MaxSdkUtils.VersionComparisonResult.Lesser) + { + Debug.LogWarning("Your iOS target version is under the minimum required version by Yandex. Please update it to 12.0 or newer in your ProjectSettings and rebuild your project."); + return; + } + + project.SetBuildProperty(unityMainTargetGuid, "GENERATE_INFOPLIST_FILE", "NO"); + } + + private static void AddSdkSettingsIfNeeded(PlistDocument infoPlist, string buildPath) + { + if (!AppLovinSettings.Instance.ShowInternalSettingsInIntegrationManager) return; + + // Right now internal settings is only needed for Consent Flow. Remove this setting once we add more settings. + if (!AppLovinInternalSettings.Instance.ConsentFlowEnabled) return; + + var sdkSettingsPlistPath = Path.Combine(buildPath, AppLovinSettingsPlistFileName); + var sdkSettingsPlist = new PlistDocument(); + if (File.Exists(sdkSettingsPlistPath)) + { + sdkSettingsPlist.ReadFromFile(sdkSettingsPlistPath); + } + + EnableConsentFlowIfNeeded(sdkSettingsPlist, infoPlist); + + sdkSettingsPlist.WriteToFile(sdkSettingsPlistPath); + + var projectPath = PBXProject.GetPBXProjectPath(buildPath); + var project = new PBXProject(); + project.ReadFromFile(projectPath); + +#if UNITY_2019_3_OR_NEWER + var unityMainTargetGuid = project.GetUnityMainTargetGuid(); +#else + var unityMainTargetGuid = project.TargetGuidByName(UnityMainTargetName); +#endif + + var guid = project.AddFile(AppLovinSettingsPlistFileName, AppLovinSettingsPlistFileName, PBXSourceTree.Source); + project.AddFileToBuild(unityMainTargetGuid, guid); + project.WriteToFile(projectPath); + } + + private static void EnableConsentFlowIfNeeded(PlistDocument applovinSettingsPlist, PlistDocument infoPlist) + { + var consentFlowEnabled = AppLovinInternalSettings.Instance.ConsentFlowEnabled; + var userTrackingUsageDescription = AppLovinInternalSettings.Instance.UserTrackingUsageDescriptionEn; + var privacyPolicyUrl = AppLovinInternalSettings.Instance.ConsentFlowPrivacyPolicyUrl; + if (string.IsNullOrEmpty(userTrackingUsageDescription) || string.IsNullOrEmpty(privacyPolicyUrl)) + { + AppLovinIntegrationManager.ShowBuildFailureDialog("You cannot use the AppLovin SDK's consent flow without defining a Privacy Policy URL and the `User Tracking Usage Description` in the AppLovin Integration Manager. \n\n" + + "Both values must be included to enable the SDK's consent flow."); + + // No need to update the info.plist here. Default consent flow state will be determined on the SDK side. + return; + } + + var consentFlowInfoRoot = applovinSettingsPlist.root.CreateDict(KeyConsentFlowInfo); + consentFlowInfoRoot.SetBoolean(KeyConsentFlowEnabled, consentFlowEnabled); + consentFlowInfoRoot.SetString(KeyConsentFlowPrivacyPolicy, privacyPolicyUrl); + + var termsOfServiceUrl = AppLovinInternalSettings.Instance.ConsentFlowTermsOfServiceUrl; + if (!string.IsNullOrEmpty(termsOfServiceUrl)) + { + consentFlowInfoRoot.SetString(KeyConsentFlowTermsOfService, termsOfServiceUrl); + } + + var advertisingPartnerUrls = AppLovinInternalSettings.Instance.ConsentFlowAdvertisingPartnerUrls; + if (MaxSdkUtils.IsValidString(advertisingPartnerUrls)) + { + var advertisingPartnerUrlsList = advertisingPartnerUrls.Split(','); + var advertisingPartnersArray = consentFlowInfoRoot.CreateArray(KeyConsentFlowAdvertisingPartners); + foreach (var advertisingPartner in advertisingPartnerUrlsList) + { + advertisingPartnersArray.AddString(advertisingPartner); + } + } + + consentFlowInfoRoot.SetBoolean(KeyConsentFlowIncludeDefaultAdvertisingPartners, AppLovinInternalSettings.Instance.ConsentFlowIncludeDefaultAdvertisingPartnerUrls); + + var analyticsPartnerUrls = AppLovinInternalSettings.Instance.ConsentFlowAnalyticsPartnerUrls; + if (MaxSdkUtils.IsValidString(analyticsPartnerUrls)) + { + var analyticsPartnerUrlsList = analyticsPartnerUrls.Split(','); + var analyticsPartnersArray = consentFlowInfoRoot.CreateArray(KeyConsentFlowAnalyticsPartners); + foreach (var analyticsPartnerUrl in analyticsPartnerUrlsList) + { + analyticsPartnersArray.AddString(analyticsPartnerUrl); + } + } + + consentFlowInfoRoot.SetBoolean(KeyConsentFlowIncludeDefaultAnalyticsPartners, AppLovinInternalSettings.Instance.ConsentFlowIncludeDefaultAnalyticsPartnerUrls); + + infoPlist.root.SetString("NSUserTrackingUsageDescription", userTrackingUsageDescription); + } + + private static void EnableTermsFlowIfNeeded(PlistDocument plist) + { + if (AppLovinSettings.Instance.ShowInternalSettingsInIntegrationManager) return; + + // Check if terms flow is enabled. No need to update info.plist if consent flow is disabled. var consentFlowEnabled = AppLovinSettings.Instance.ConsentFlowEnabled; if (!consentFlowEnabled) return; + // Check if terms flow is enabled for this format. + var consentFlowPlatform = AppLovinSettings.Instance.ConsentFlowPlatform; + if (consentFlowPlatform != Platform.All && consentFlowPlatform != Platform.iOS) return; + var userTrackingUsageDescription = AppLovinSettings.Instance.UserTrackingUsageDescriptionEn; var privacyPolicyUrl = AppLovinSettings.Instance.ConsentFlowPrivacyPolicyUrl; if (string.IsNullOrEmpty(userTrackingUsageDescription) || string.IsNullOrEmpty(privacyPolicyUrl)) @@ -508,109 +640,38 @@ namespace AppLovinMax.Scripts.Editor } } - var unityWebRequest = UnityWebRequest.Get(uriBuilder.ToString()); - + using (var unityWebRequest = UnityWebRequest.Get(uriBuilder.ToString())) + { #if UNITY_2017_2_OR_NEWER - var operation = unityWebRequest.SendWebRequest(); + var operation = unityWebRequest.SendWebRequest(); #else - var operation = unityWebRequest.Send(); + var operation = unityWebRequest.Send(); #endif - // Wait for the download to complete or the request to timeout. - while (!operation.isDone) { } - + // Wait for the download to complete or the request to timeout. + while (!operation.isDone) { } #if UNITY_2020_1_OR_NEWER - if (unityWebRequest.result != UnityWebRequest.Result.Success) + if (unityWebRequest.result != UnityWebRequest.Result.Success) #elif UNITY_2017_2_OR_NEWER - if (unityWebRequest.isNetworkError || unityWebRequest.isHttpError) + if (unityWebRequest.isNetworkError || unityWebRequest.isHttpError) #else - if (unityWebRequest.isError) + if (unityWebRequest.isError) #endif - { - MaxSdkLogger.UserError("Failed to retrieve SKAdNetwork IDs with error: " + unityWebRequest.error); - return new SkAdNetworkData(); + { + MaxSdkLogger.UserError("Failed to retrieve SKAdNetwork IDs with error: " + unityWebRequest.error); + return new SkAdNetworkData(); + } + + try + { + return JsonUtility.FromJson(unityWebRequest.downloadHandler.text); + } + catch (Exception exception) + { + MaxSdkLogger.UserError("Failed to parse data '" + unityWebRequest.downloadHandler.text + "' with exception: " + exception); + return new SkAdNetworkData(); + } } - - try - { - return JsonUtility.FromJson(unityWebRequest.downloadHandler.text); - } - catch (Exception exception) - { - MaxSdkLogger.UserError("Failed to parse data '" + unityWebRequest.downloadHandler.text + "' with exception: " + exception); - return new SkAdNetworkData(); - } - } - - private static void UpdateAppTransportSecuritySettingsIfNeeded(PlistDocument plist) - { - var mediationDir = PluginMediationDirectory; - var projectHasAtsRequiringNetworks = AtsRequiringNetworks.Any(atsRequiringNetwork => Directory.Exists(Path.Combine(mediationDir, atsRequiringNetwork))); - if (!projectHasAtsRequiringNetworks) return; - - var root = plist.root.values; - PlistElement atsRoot; - root.TryGetValue("NSAppTransportSecurity", out atsRoot); - - if (atsRoot == null || atsRoot.GetType() != typeof(PlistElementDict)) - { - // Add the missing App Transport Security settings for publishers if needed. - MaxSdkLogger.UserDebug("Adding App Transport Security settings..."); - atsRoot = plist.root.CreateDict("NSAppTransportSecurity"); - atsRoot.AsDict().SetBoolean("NSAllowsArbitraryLoads", true); - } - - var atsRootDict = atsRoot.AsDict().values; - // Check if both NSAllowsArbitraryLoads and NSAllowsArbitraryLoadsInWebContent are present and remove NSAllowsArbitraryLoadsInWebContent if both are present. - if (atsRootDict.ContainsKey("NSAllowsArbitraryLoads") && atsRootDict.ContainsKey("NSAllowsArbitraryLoadsInWebContent")) - { - MaxSdkLogger.UserDebug("Removing NSAllowsArbitraryLoadsInWebContent"); - atsRootDict.Remove("NSAllowsArbitraryLoadsInWebContent"); - } - } - - private static void AddSnapAppStoreAppIdIfNeeded(PlistDocument plist) - { - var snapDependencyPath = Path.Combine(PluginMediationDirectory, "Snap/Editor/Dependencies.xml"); - if (!File.Exists(snapDependencyPath)) return; - - // App Store App ID is only needed for iOS versions 2.0.0.0 or newer. - var currentVersion = AppLovinIntegrationManager.GetCurrentVersions(snapDependencyPath); - var iosVersionComparison = MaxSdkUtils.CompareVersions(currentVersion.Ios, AppLovinSettings.SnapAppStoreAppIdMinVersion); - if (iosVersionComparison == MaxSdkUtils.VersionComparisonResult.Lesser) return; - - if (AppLovinSettings.Instance.SnapAppStoreAppId <= 0) - { - MaxSdkLogger.UserError("Snap App Store App ID is not set. Please enter a valid App ID within the AppLovin Integration Manager window."); - return; - } - - plist.root.SetInteger("SCAppStoreAppID", AppLovinSettings.Instance.SnapAppStoreAppId); - } - - private static bool ShouldAddSwiftSupportForFacebook() - { - var facebookDependencyPath = Path.Combine(PluginMediationDirectory, "Facebook/Editor/Dependencies.xml"); - if (!File.Exists(facebookDependencyPath)) return false; - - var currentVersion = AppLovinIntegrationManager.GetCurrentVersions(facebookDependencyPath); - var iosVersionComparison = MaxSdkUtils.CompareVersions(currentVersion.Ios, "6.9.0.0"); - return iosVersionComparison != MaxSdkUtils.VersionComparisonResult.Lesser; - } - - private static bool ShouldEmbedSnapSdk() - { - var snapDependencyPath = Path.Combine(PluginMediationDirectory, "Snap/Editor/Dependencies.xml"); - if (!File.Exists(snapDependencyPath)) return false; - - // Return true for UNITY_2019_3_OR_NEWER because app will crash on launch unless embedded. -#if UNITY_2019_3_OR_NEWER - return true; -#else - var currentVersion = AppLovinIntegrationManager.GetCurrentVersions(snapDependencyPath); - var iosVersionComparison = MaxSdkUtils.CompareVersions(currentVersion.Ios, "1.0.7.2"); - return iosVersionComparison != MaxSdkUtils.VersionComparisonResult.Lesser; -#endif } #if UNITY_2019_3_OR_NEWER diff --git a/Assets/ThirdParty/MaxSdk/Scripts/Editor/MaxPostProcessBuildiOS.cs.meta b/Assets/ThirdParty/MaxSdk/Scripts/Editor/MaxPostProcessBuildiOS.cs.meta index 43b19c281..78d2f6d56 100644 --- a/Assets/ThirdParty/MaxSdk/Scripts/Editor/MaxPostProcessBuildiOS.cs.meta +++ b/Assets/ThirdParty/MaxSdk/Scripts/Editor/MaxPostProcessBuildiOS.cs.meta @@ -3,7 +3,6 @@ guid: 29959b3cd36c484a9d57d6b7ca7f7bfa labels: - al_max - al_max_export_path-MaxSdk/Scripts/Editor/MaxPostProcessBuildiOS.cs -- al_max_export_path-MaxSdk\Scripts\Editor\MaxPostProcessBuildiOS.cs MonoImporter: externalObjects: {} serializedVersion: 2 diff --git a/Assets/ThirdParty/MaxSdk/Scripts/Editor/MaxSdk.Scripts.Editor.asmdef.meta b/Assets/ThirdParty/MaxSdk/Scripts/Editor/MaxSdk.Scripts.Editor.asmdef.meta index 954f5327d..b13c71a33 100644 --- a/Assets/ThirdParty/MaxSdk/Scripts/Editor/MaxSdk.Scripts.Editor.asmdef.meta +++ b/Assets/ThirdParty/MaxSdk/Scripts/Editor/MaxSdk.Scripts.Editor.asmdef.meta @@ -3,9 +3,4 @@ guid: 691e0eb4b7a542dba2219d48c3254f1c labels: - al_max - al_max_export_path-MaxSdk/Scripts/Editor/MaxSdk.Scripts.Editor.asmdef -- al_max_export_path-MaxSdk\Scripts\Editor\MaxSdk.Scripts.Editor.asmdef -AssemblyDefinitionImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: +timeCreated: 1591749791 diff --git a/Assets/ThirdParty/MaxSdk/Scripts/IntegrationManager.meta b/Assets/ThirdParty/MaxSdk/Scripts/IntegrationManager.meta index 9834ed9c0..39f65ccda 100644 --- a/Assets/ThirdParty/MaxSdk/Scripts/IntegrationManager.meta +++ b/Assets/ThirdParty/MaxSdk/Scripts/IntegrationManager.meta @@ -3,7 +3,6 @@ guid: e01816bc45c944d03afb95d035caf0e1 labels: - al_max - al_max_export_path-MaxSdk/Scripts/IntegrationManager -- al_max_export_path-MaxSdk\Scripts\IntegrationManager folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/Assets/ThirdParty/MaxSdk/Scripts/IntegrationManager/Editor.meta b/Assets/ThirdParty/MaxSdk/Scripts/IntegrationManager/Editor.meta index 0a73f6957..1d8400ae3 100644 --- a/Assets/ThirdParty/MaxSdk/Scripts/IntegrationManager/Editor.meta +++ b/Assets/ThirdParty/MaxSdk/Scripts/IntegrationManager/Editor.meta @@ -3,7 +3,6 @@ guid: 0da229e279400497786c39933fe02e52 labels: - al_max - al_max_export_path-MaxSdk/Scripts/IntegrationManager/Editor -- al_max_export_path-MaxSdk\Scripts\IntegrationManager\Editor folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/Assets/ThirdParty/MaxSdk/Scripts/IntegrationManager/Editor/AppLovinAutoUpdater.cs b/Assets/ThirdParty/MaxSdk/Scripts/IntegrationManager/Editor/AppLovinAutoUpdater.cs index 6f5dd66bc..01cc63978 100644 --- a/Assets/ThirdParty/MaxSdk/Scripts/IntegrationManager/Editor/AppLovinAutoUpdater.cs +++ b/Assets/ThirdParty/MaxSdk/Scripts/IntegrationManager/Editor/AppLovinAutoUpdater.cs @@ -19,6 +19,9 @@ namespace AppLovinMax.Scripts.IntegrationManager.Editor public class AppLovinAutoUpdater { public const string KeyAutoUpdateEnabled = "com.applovin.auto_update_enabled"; +#if !UNITY_2018_2_OR_NEWER + private const string KeyOldUnityVersionWarningShown = "com.applovin.old_unity_version_warning_shown"; +#endif private const string KeyLastUpdateCheckTime = "com.applovin.last_update_check_time_v2"; // Updated to v2 to force adapter version checks in plugin version 3.1.10. private static readonly DateTime EpochTime = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc); private static readonly int SecondsInADay = (int) TimeSpan.FromDays(1).TotalSeconds; @@ -61,6 +64,10 @@ namespace AppLovinMax.Scripts.IntegrationManager.Editor // Update last checked time. EditorPrefs.SetInt(KeyLastUpdateCheckTime, now); +#if !UNITY_2018_2_OR_NEWER + ShowNotSupportingOldUnityVersionsIfNeeded(); +#endif + // Load the plugin data AppLovinEditorCoroutine.StartCoroutine(AppLovinIntegrationManager.Instance.LoadPluginData(data => { @@ -149,6 +156,27 @@ namespace AppLovinMax.Scripts.IntegrationManager.Editor AppLovinIntegrationManager.ShowBuildFailureDialog(message); } +#if !UNITY_2018_2_OR_NEWER + private static void ShowNotSupportingOldUnityVersionsIfNeeded() + { + // Check if publisher has seen the warning before + if (EditorPrefs.GetBool(KeyOldUnityVersionWarningShown, false)) return; + + // Show a dialog if they haven't seen the warning yet. + var option = EditorUtility.DisplayDialog( + "WARNING: Old Unity Version Detected", + "AppLovin MAX Unity plugin will soon require Unity 2018.2 or newer to function. Please upgrade to a newer Unity version.", + "Ok", + "Don't Ask Again" + ); + + if (!option) // 'false' means `Don't Ask Again` was clicked. + { + EditorPrefs.SetBool(KeyOldUnityVersionWarningShown, true); + } + } +#endif + private static bool GoogleNetworkAdaptersCompatible(string googleVersion, string googleAdManagerVersion, string breakingVersion) { var googleResult = MaxSdkUtils.CompareVersions(googleVersion, breakingVersion); diff --git a/Assets/ThirdParty/MaxSdk/Scripts/IntegrationManager/Editor/AppLovinAutoUpdater.cs.meta b/Assets/ThirdParty/MaxSdk/Scripts/IntegrationManager/Editor/AppLovinAutoUpdater.cs.meta index b210611f6..0070e745c 100644 --- a/Assets/ThirdParty/MaxSdk/Scripts/IntegrationManager/Editor/AppLovinAutoUpdater.cs.meta +++ b/Assets/ThirdParty/MaxSdk/Scripts/IntegrationManager/Editor/AppLovinAutoUpdater.cs.meta @@ -3,7 +3,6 @@ guid: 8bcdd5226273242c5bd9ec79568202e6 labels: - al_max - al_max_export_path-MaxSdk/Scripts/IntegrationManager/Editor/AppLovinAutoUpdater.cs -- al_max_export_path-MaxSdk\Scripts\IntegrationManager\Editor\AppLovinAutoUpdater.cs MonoImporter: externalObjects: {} serializedVersion: 2 diff --git a/Assets/ThirdParty/MaxSdk/Scripts/IntegrationManager/Editor/AppLovinCommandLine.cs.meta b/Assets/ThirdParty/MaxSdk/Scripts/IntegrationManager/Editor/AppLovinCommandLine.cs.meta index 4479579e6..2c3ff20ed 100644 --- a/Assets/ThirdParty/MaxSdk/Scripts/IntegrationManager/Editor/AppLovinCommandLine.cs.meta +++ b/Assets/ThirdParty/MaxSdk/Scripts/IntegrationManager/Editor/AppLovinCommandLine.cs.meta @@ -3,7 +3,6 @@ guid: 2d0aa55f9a7d2440f871dfb256372a33 labels: - al_max - al_max_export_path-MaxSdk/Scripts/IntegrationManager/Editor/AppLovinCommandLine.cs -- al_max_export_path-MaxSdk\Scripts\IntegrationManager\Editor\AppLovinCommandLine.cs MonoImporter: externalObjects: {} serializedVersion: 2 diff --git a/Assets/ThirdParty/MaxSdk/Scripts/IntegrationManager/Editor/AppLovinDownloadHandler.cs.meta b/Assets/ThirdParty/MaxSdk/Scripts/IntegrationManager/Editor/AppLovinDownloadHandler.cs.meta index 8d5d0cd51..5a697759c 100644 --- a/Assets/ThirdParty/MaxSdk/Scripts/IntegrationManager/Editor/AppLovinDownloadHandler.cs.meta +++ b/Assets/ThirdParty/MaxSdk/Scripts/IntegrationManager/Editor/AppLovinDownloadHandler.cs.meta @@ -3,7 +3,6 @@ guid: c85c3812a13e04838951767c1285e4da labels: - al_max - al_max_export_path-MaxSdk/Scripts/IntegrationManager/Editor/AppLovinDownloadHandler.cs -- al_max_export_path-MaxSdk\Scripts\IntegrationManager\Editor\AppLovinDownloadHandler.cs MonoImporter: externalObjects: {} serializedVersion: 2 diff --git a/Assets/ThirdParty/MaxSdk/Scripts/IntegrationManager/Editor/AppLovinEditorCoroutine.cs b/Assets/ThirdParty/MaxSdk/Scripts/IntegrationManager/Editor/AppLovinEditorCoroutine.cs index 1cc63d9ba..f5be9398e 100644 --- a/Assets/ThirdParty/MaxSdk/Scripts/IntegrationManager/Editor/AppLovinEditorCoroutine.cs +++ b/Assets/ThirdParty/MaxSdk/Scripts/IntegrationManager/Editor/AppLovinEditorCoroutine.cs @@ -7,6 +7,7 @@ // using System.Collections; +using System.Collections.Generic; using UnityEditor; namespace AppLovinMax.Scripts.IntegrationManager.Editor @@ -16,7 +17,15 @@ namespace AppLovinMax.Scripts.IntegrationManager.Editor /// public class AppLovinEditorCoroutine { - private readonly IEnumerator enumerator; + /// + /// Keeps track of the coroutine currently running. + /// + private IEnumerator enumerator; + + /// + /// Keeps track of coroutines that have yielded to the current enumerator. + /// + private readonly List history = new List(); private AppLovinEditorCoroutine(IEnumerator enumerator) { @@ -52,10 +61,30 @@ namespace AppLovinMax.Scripts.IntegrationManager.Editor private void OnEditorUpdate() { - // Coroutine has ended, stop updating. - if (!enumerator.MoveNext()) + if (enumerator.MoveNext()) { - Stop(); + // If there is a coroutine to yield for inside the coroutine, add the initial one to history and continue the second one + if (enumerator.Current is IEnumerator) + { + history.Add(enumerator); + enumerator = (IEnumerator) enumerator.Current; + } + } + else + { + // Current coroutine has ended, check if we have more coroutines in history to be run. + if (history.Count == 0) + { + // No more coroutines to run, stop updating. + Stop(); + } + // Step out and finish the code in the coroutine that yielded to it + else + { + var index = history.Count - 1; + enumerator = history[index]; + history.RemoveAt(index); + } } } } diff --git a/Assets/ThirdParty/MaxSdk/Scripts/IntegrationManager/Editor/AppLovinEditorCoroutine.cs.meta b/Assets/ThirdParty/MaxSdk/Scripts/IntegrationManager/Editor/AppLovinEditorCoroutine.cs.meta index 3318d92eb..c622babf1 100644 --- a/Assets/ThirdParty/MaxSdk/Scripts/IntegrationManager/Editor/AppLovinEditorCoroutine.cs.meta +++ b/Assets/ThirdParty/MaxSdk/Scripts/IntegrationManager/Editor/AppLovinEditorCoroutine.cs.meta @@ -3,7 +3,6 @@ guid: 95747c688378548eeb92aeb528ac96ff labels: - al_max - al_max_export_path-MaxSdk/Scripts/IntegrationManager/Editor/AppLovinEditorCoroutine.cs -- al_max_export_path-MaxSdk\Scripts\IntegrationManager\Editor\AppLovinEditorCoroutine.cs MonoImporter: externalObjects: {} serializedVersion: 2 diff --git a/Assets/ThirdParty/MaxSdk/Scripts/IntegrationManager/Editor/AppLovinIntegrationManager.cs b/Assets/ThirdParty/MaxSdk/Scripts/IntegrationManager/Editor/AppLovinIntegrationManager.cs index 94719e3b2..4eb0805a7 100644 --- a/Assets/ThirdParty/MaxSdk/Scripts/IntegrationManager/Editor/AppLovinIntegrationManager.cs +++ b/Assets/ThirdParty/MaxSdk/Scripts/IntegrationManager/Editor/AppLovinIntegrationManager.cs @@ -121,8 +121,7 @@ namespace AppLovinMax.Scripts.IntegrationManager.Editor public static readonly string GradleTemplatePath = Path.Combine("Assets/Plugins/Android", "mainTemplate.gradle"); public static readonly string DefaultPluginExportPath = Path.Combine("Assets", "MaxSdk"); - private const string DefaultMaxSdkAssetExportPath = "MaxSdk/Scripts/MaxSdk.cs"; - private static readonly string MaxSdkAssetExportPath = Path.Combine("MaxSdk", "Scripts/MaxSdk.cs"); + private const string MaxSdkAssetExportPath = "MaxSdk/Scripts/MaxSdk.cs"; /// /// Some publishers might re-export our plugin via Unity Package Manager and the plugin will not be under the Assets folder. This means that the mediation adapters, settings files should not be moved to the packages folder, @@ -164,16 +163,10 @@ namespace AppLovinMax.Scripts.IntegrationManager.Editor { // Search for the asset with the default exported path first, In most cases, we should be able to find the asset. // In some cases where we don't, use the platform specific export path to search for the asset (in case of migrating a project from Windows to Mac or vice versa). - var maxSdkScriptAssetPath = MaxSdkUtils.GetAssetPathForExportPath(DefaultMaxSdkAssetExportPath); - if (File.Exists(maxSdkScriptAssetPath)) - { - // maxSdkScriptAssetPath will always have AltDirectorySeparatorChar (/) as the path separator. Convert to platform specific path. - return maxSdkScriptAssetPath.Replace(DefaultMaxSdkAssetExportPath, "") - .Replace(Path.AltDirectorySeparatorChar, Path.DirectorySeparatorChar); - } - - // We should never reach this line but leaving this in out of paranoia. - return MaxSdkUtils.GetAssetPathForExportPath(MaxSdkAssetExportPath).Replace(MaxSdkAssetExportPath, "") + var maxSdkScriptAssetPath = MaxSdkUtils.GetAssetPathForExportPath(MaxSdkAssetExportPath); + + // maxSdkScriptAssetPath will always have AltDirectorySeparatorChar (/) as the path separator. Convert to platform specific path. + return maxSdkScriptAssetPath.Replace(MaxSdkAssetExportPath, "") .Replace(Path.AltDirectorySeparatorChar, Path.DirectorySeparatorChar); } } @@ -287,54 +280,55 @@ namespace AppLovinMax.Scripts.IntegrationManager.Editor public IEnumerator LoadPluginData(Action callback) { var url = string.Format("https://dash.applovin.com/docs/v1/unity_integration_manager?plugin_version={0}", GetPluginVersionForUrl()); - var www = UnityWebRequest.Get(url); - + using (var www = UnityWebRequest.Get(url)) + { #if UNITY_2017_2_OR_NEWER - var operation = www.SendWebRequest(); + var operation = www.SendWebRequest(); #else - var operation = www.Send(); + var operation = www.Send(); #endif - while (!operation.isDone) yield return new WaitForSeconds(0.1f); // Just wait till www is done. Our coroutine is pretty rudimentary. + while (!operation.isDone) yield return new WaitForSeconds(0.1f); // Just wait till www is done. Our coroutine is pretty rudimentary. #if UNITY_2020_1_OR_NEWER - if (www.result != UnityWebRequest.Result.Success) + if (www.result != UnityWebRequest.Result.Success) #elif UNITY_2017_2_OR_NEWER - if (www.isNetworkError || www.isHttpError) + if (www.isNetworkError || www.isHttpError) #else - if (www.isError) + if (www.isError) #endif - { - callback(null); - } - else - { - PluginData pluginData; - try { - pluginData = JsonUtility.FromJson(www.downloadHandler.text); + callback(null); } - catch (Exception exception) + else { - Console.WriteLine(exception); - pluginData = null; - } - - if (pluginData != null) - { - // Get current version of the plugin - var appLovinMax = pluginData.AppLovinMax; - UpdateCurrentVersions(appLovinMax, PluginParentDirectory); - - // Get current versions for all the mediation networks. - var mediationPluginParentDirectory = MediationSpecificPluginParentDirectory; - foreach (var network in pluginData.MediatedNetworks) + PluginData pluginData; + try { - UpdateCurrentVersions(network, mediationPluginParentDirectory); + pluginData = JsonUtility.FromJson(www.downloadHandler.text); + } + catch (Exception exception) + { + Console.WriteLine(exception); + pluginData = null; } - } - callback(pluginData); + if (pluginData != null) + { + // Get current version of the plugin + var appLovinMax = pluginData.AppLovinMax; + UpdateCurrentVersions(appLovinMax, PluginParentDirectory); + + // Get current versions for all the mediation networks. + var mediationPluginParentDirectory = MediationSpecificPluginParentDirectory; + foreach (var network in pluginData.MediatedNetworks) + { + UpdateCurrentVersions(network, mediationPluginParentDirectory); + } + } + + callback(pluginData); + } } } @@ -407,8 +401,9 @@ namespace AppLovinMax.Scripts.IntegrationManager.Editor /// Downloads the plugin file for a given network. /// /// Network for which to download the current version. + /// Whether or not to show the import window when downloading. Defaults to true. /// - public IEnumerator DownloadPlugin(Network network) + public IEnumerator DownloadPlugin(Network network, bool showImport = true) { var path = Path.Combine(Application.temporaryCachePath, GetPluginFileName(network)); // TODO: Maybe delete plugin file after finishing import. #if UNITY_2017_2_OR_NEWER @@ -425,16 +420,14 @@ namespace AppLovinMax.Scripts.IntegrationManager.Editor #if UNITY_2017_2_OR_NEWER var operation = webRequest.SendWebRequest(); #else - var operation = webRequest.Send(); + var operation = webRequest.Send(); #endif - while (!operation.isDone) { yield return new WaitForSeconds(0.1f); // Just wait till webRequest is completed. Our coroutine is pretty rudimentary. CallDownloadPluginProgressCallback(network.DisplayName, operation.progress, operation.isDone); } - #if UNITY_2020_1_OR_NEWER if (webRequest.result != UnityWebRequest.Result.Success) #elif UNITY_2017_2_OR_NEWER @@ -448,9 +441,10 @@ namespace AppLovinMax.Scripts.IntegrationManager.Editor else { importingNetwork = network; - AssetDatabase.ImportPackage(path, true); + AssetDatabase.ImportPackage(path, showImport); } + webRequest.Dispose(); webRequest = null; } @@ -479,6 +473,25 @@ namespace AppLovinMax.Scripts.IntegrationManager.Editor MaxSdkLogger.UserError(message); } + /// + /// Checks whether or not an adapter with the given version or newer exists. + /// + /// The name of the network (the root adapter folder name in "MaxSdk/Mediation/" folder. + /// The min adapter version to check for. Can be null if we want to check for any version. + /// true if an adapter with the min version is installed. + public static bool IsAdapterInstalled(string adapterName, string version = null) + { + var dependencyFilePath = MaxSdkUtils.GetAssetPathForExportPath("MaxSdk/Mediation/" + adapterName + "/Editor/Dependencies.xml"); + if (!File.Exists(dependencyFilePath)) return false; + + // If version is null, we just need the adapter installed. We don't have to check for a specific version. + if (version == null) return true; + + var currentVersion = AppLovinIntegrationManager.GetCurrentVersions(dependencyFilePath); + var iosVersionComparison = MaxSdkUtils.CompareVersions(currentVersion.Ios, version); + return iosVersionComparison != MaxSdkUtils.VersionComparisonResult.Lesser; + } + #region Utility Methods /// @@ -640,7 +653,7 @@ namespace AppLovinMax.Scripts.IntegrationManager.Editor didAddLabels = true; } - var exportPathLabel = "al_max_export_path-" + assetPath.Replace(pluginParentDir, ""); + var exportPathLabel = "al_max_export_path-" + assetPath.Replace(pluginParentDir, "").Replace(Path.DirectorySeparatorChar, Path.AltDirectorySeparatorChar); if (!labels.Contains(exportPathLabel)) { labelsToAdd.Add(exportPathLabel); diff --git a/Assets/ThirdParty/MaxSdk/Scripts/IntegrationManager/Editor/AppLovinIntegrationManager.cs.meta b/Assets/ThirdParty/MaxSdk/Scripts/IntegrationManager/Editor/AppLovinIntegrationManager.cs.meta index 9286246f1..e9e360309 100644 --- a/Assets/ThirdParty/MaxSdk/Scripts/IntegrationManager/Editor/AppLovinIntegrationManager.cs.meta +++ b/Assets/ThirdParty/MaxSdk/Scripts/IntegrationManager/Editor/AppLovinIntegrationManager.cs.meta @@ -3,7 +3,6 @@ guid: c5b874c1e65274159bcc0dc15d9458cc labels: - al_max - al_max_export_path-MaxSdk/Scripts/IntegrationManager/Editor/AppLovinIntegrationManager.cs -- al_max_export_path-MaxSdk\Scripts\IntegrationManager\Editor\AppLovinIntegrationManager.cs MonoImporter: externalObjects: {} serializedVersion: 2 diff --git a/Assets/ThirdParty/MaxSdk/Scripts/IntegrationManager/Editor/AppLovinIntegrationManagerWindow.cs b/Assets/ThirdParty/MaxSdk/Scripts/IntegrationManager/Editor/AppLovinIntegrationManagerWindow.cs index 98b198b34..59a3911e0 100644 --- a/Assets/ThirdParty/MaxSdk/Scripts/IntegrationManager/Editor/AppLovinIntegrationManagerWindow.cs +++ b/Assets/ThirdParty/MaxSdk/Scripts/IntegrationManager/Editor/AppLovinIntegrationManagerWindow.cs @@ -7,6 +7,7 @@ // using System; +using System.Collections; using System.IO; using System.Linq; using UnityEditor; @@ -32,23 +33,25 @@ namespace AppLovinMax.Scripts.IntegrationManager.Editor private const string qualityServiceRequiresGradleBuildErrorMsg = "AppLovin Quality Service integration via AppLovin Integration Manager requires Custom Gradle Template enabled or Unity 2018.2 or higher.\n" + "If you would like to continue using your existing setup, please add Quality Service Plugin to your build.gradle manually."; + + private readonly string[] termsFlowPlatforms = new string[3] {"Both", "Android", "iOS"}; private Vector2 scrollPosition; private static readonly Vector2 windowMinSize = new Vector2(750, 750); private const float actionFieldWidth = 60f; + private const float upgradeAllButtonWidth = 80f; private const float networkFieldMinWidth = 100f; private const float versionFieldMinWidth = 190f; - private const float privacySettingLabelWidth = 200f; + private const float privacySettingLabelWidth = 250f; private const float networkFieldWidthPercentage = 0.22f; private const float versionFieldWidthPercentage = 0.36f; // There are two version fields. Each take 40% of the width, network field takes the remaining 20%. private static float previousWindowWidth = windowMinSize.x; private static GUILayoutOption networkWidthOption = GUILayout.Width(networkFieldMinWidth); private static GUILayoutOption versionWidthOption = GUILayout.Width(versionFieldMinWidth); - private static GUILayoutOption sdkKeyTextFieldWidthOption = GUILayout.Width(520); - private static GUILayoutOption privacySettingFieldWidthOption = GUILayout.Width(400); private static readonly GUILayoutOption fieldWidth = GUILayout.Width(actionFieldWidth); + private static readonly GUILayoutOption upgradeAllButtonFieldWidth = GUILayout.Width(upgradeAllButtonWidth); private static readonly Color darkModeTextColor = new Color(0.29f, 0.6f, 0.8f); @@ -62,8 +65,8 @@ namespace AppLovinMax.Scripts.IntegrationManager.Editor private PluginData pluginData; private bool pluginDataLoadFailed; private bool isPluginMoved; - private bool shouldMarkNewLocalizations; private bool shouldShowGoogleWarning; + private bool networkButtonsEnabled = true; private AppLovinEditorCoroutine loadDataCoroutine; private Texture2D uninstallIcon; @@ -138,24 +141,22 @@ namespace AppLovinMax.Scripts.IntegrationManager.Editor private void OnEnable() { - shouldMarkNewLocalizations = !EditorPrefs.GetBool(keyNewLocalizationsMarked, false); - AppLovinIntegrationManager.downloadPluginProgressCallback = OnDownloadPluginProgress; // Plugin downloaded and imported. Update current versions for the imported package. AppLovinIntegrationManager.importPackageCompletedCallback = OnImportPackageCompleted; + // Disable old consent flow if internal settings are enabled. + if (AppLovinSettings.Instance.ShowInternalSettingsInIntegrationManager) + { + AppLovinSettings.Instance.ConsentFlowEnabled = false; + } + Load(); } private void OnDisable() { - // New localizations have been shown to the publisher, now remove them. - if (shouldMarkNewLocalizations) - { - EditorPrefs.SetBool(keyNewLocalizationsMarked, true); - } - if (loadDataCoroutine != null) { loadDataCoroutine.Stop(); @@ -190,11 +191,16 @@ namespace AppLovinMax.Scripts.IntegrationManager.Editor DrawPluginDetails(); // Draw mediated networks - EditorGUILayout.LabelField("Mediated Networks", titleLabelStyle); + using (new EditorGUILayout.HorizontalScope(GUILayout.ExpandHeight(false))) + { + EditorGUILayout.LabelField("Mediated Networks", titleLabelStyle); + DrawUpgradeAllButton(); + } + DrawMediatedNetworks(); // Draw AppLovin Quality Service settings - EditorGUILayout.LabelField("AppLovin Quality Service", titleLabelStyle); + EditorGUILayout.LabelField("SDK Settings", titleLabelStyle); DrawQualityServiceSettings(); EditorGUILayout.LabelField("Privacy Settings", titleLabelStyle); @@ -218,6 +224,7 @@ namespace AppLovinMax.Scripts.IntegrationManager.Editor if (GUI.changed) { AppLovinSettings.Instance.SaveAsync(); + AppLovinInternalSettings.Instance.Save(); } } @@ -306,6 +313,10 @@ namespace AppLovinMax.Scripts.IntegrationManager.Editor GUILayout.Space(5); } + +#if !UNITY_2018_2_OR_NEWER + EditorGUILayout.HelpBox("AppLovin MAX Unity plugin will soon require Unity 2018.2 or newer to function. Please upgrade to a newer Unity version.", MessageType.Warning); +#endif } GUILayout.Space(5); @@ -378,7 +389,7 @@ namespace AppLovinMax.Scripts.IntegrationManager.Editor DrawNetworkDetailRow(network); } - GUILayout.Space(5); + GUILayout.Space(10); } } @@ -448,7 +459,7 @@ namespace AppLovinMax.Scripts.IntegrationManager.Editor GUILayout.Label(new GUIContent {image = warningIcon, tooltip = "You may see unexpected errors if you use different versions of the AdMob and Google Ad Manager adapter SDKs."}, iconStyle); } - GUI.enabled = isActionEnabled; + GUI.enabled = networkButtonsEnabled && isActionEnabled; if (GUILayout.Button(new GUIContent(action), fieldWidth)) { // Download the plugin. @@ -458,7 +469,7 @@ namespace AppLovinMax.Scripts.IntegrationManager.Editor GUI.enabled = true; GUILayout.Space(2); - GUI.enabled = isInstalled; + GUI.enabled = networkButtonsEnabled && isInstalled; if (GUILayout.Button(new GUIContent {image = uninstallIcon, tooltip = "Uninstall"}, iconStyle)) { EditorUtility.DisplayProgressBar("Integration Manager", "Deleting " + network.Name + "...", 0.5f); @@ -481,68 +492,60 @@ namespace AppLovinMax.Scripts.IntegrationManager.Editor if (isInstalled) { - // Custom integration for AdMob where the user can enter the Android and iOS App IDs. - if (network.Name.Equals("ADMOB_NETWORK")) - { - // Custom integration requires Google AdMob adapter version newer than android_19.0.1.0_ios_7.57.0.0. - if (MaxSdkUtils.CompareUnityMediationVersions(network.CurrentVersions.Unity, "android_19.0.1.0_ios_7.57.0.0") == VersionComparisonResult.Greater) - { - GUILayout.BeginHorizontal(); - GUILayout.Space(20); - using (new EditorGUILayout.VerticalScope("box")) - { - string requiredVersion; - string warningMessage; - if (isPluginMoved) - { - requiredVersion = "android_19.6.0.1_ios_7.69.0.0"; - warningMessage = "Looks like the MAX plugin has been moved to a different directory. This requires Google adapter version newer than " + requiredVersion + " for auto-export of AdMob App ID to work correctly."; - } - else - { - requiredVersion = "android_19.2.0.0_ios_7.61.0.0"; - warningMessage = "The current version of AppLovin MAX plugin requires Google adapter version newer than " + requiredVersion + " to enable auto-export of AdMob App ID."; - } - - GUILayout.Space(2); - if (MaxSdkUtils.CompareUnityMediationVersions(network.CurrentVersions.Unity, requiredVersion) == VersionComparisonResult.Greater) - { - AppLovinSettings.Instance.AdMobAndroidAppId = DrawTextField("App ID (Android)", AppLovinSettings.Instance.AdMobAndroidAppId, networkWidthOption); - AppLovinSettings.Instance.AdMobIosAppId = DrawTextField("App ID (iOS)", AppLovinSettings.Instance.AdMobIosAppId, networkWidthOption); - } - else - { - EditorGUILayout.HelpBox(warningMessage, MessageType.Warning); - } - } - - GUILayout.EndHorizontal(); - } - } - // Snap requires SCAppStoreAppID to be set starting adapter version 2.0.0.0 or newer. Show a text field for the publisher to input the App ID. - else if (network.Name.Equals("SNAP_NETWORK") && - MaxSdkUtils.CompareVersions(network.CurrentVersions.Ios, AppLovinSettings.SnapAppStoreAppIdMinVersion) != VersionComparisonResult.Lesser) - { - GUILayout.BeginHorizontal(); - GUILayout.Space(20); - using (new EditorGUILayout.VerticalScope("box")) - { - GUILayout.Space(2); - GUILayout.BeginHorizontal(); - GUILayout.Space(4); - EditorGUILayout.LabelField(new GUIContent("App Store App ID (iOS)"), networkWidthOption); - GUILayout.Space(4); - AppLovinSettings.Instance.SnapAppStoreAppId = EditorGUILayout.IntField(AppLovinSettings.Instance.SnapAppStoreAppId); - GUILayout.Space(4); - GUILayout.EndHorizontal(); - GUILayout.Space(2); - } - - GUILayout.EndHorizontal(); - } + DrawGoogleAppIdTextBoxIfNeeded(network); } } + private void DrawGoogleAppIdTextBoxIfNeeded(Network network) + { + // Custom integration for AdMob where the user can enter the Android and iOS App IDs. + if (network.Name.Equals("ADMOB_NETWORK")) + { + // Show only one set of text boxes if both ADMOB and GAM are installed + if (AppLovinIntegrationManager.IsAdapterInstalled("GoogleAdManager")) return; + + DrawGoogleAppIdTextBox(); + } + + // Custom integration for GAM where the user can enter the Android and iOS App IDs. + else if (network.Name.Equals("GOOGLE_AD_MANAGER_NETWORK")) + { + DrawGoogleAppIdTextBox(); + } + } + + /// + /// Draws the text box for GAM or ADMOB to input the App ID + /// + private void DrawGoogleAppIdTextBox() + { + GUILayout.BeginHorizontal(); + GUILayout.Space(20); + using (new EditorGUILayout.VerticalScope("box")) + { + GUILayout.Space(2); + AppLovinSettings.Instance.AdMobAndroidAppId = DrawTextField("App ID (Android)", AppLovinSettings.Instance.AdMobAndroidAppId, networkWidthOption); + AppLovinSettings.Instance.AdMobIosAppId = DrawTextField("App ID (iOS)", AppLovinSettings.Instance.AdMobIosAppId, networkWidthOption); + } + + GUILayout.EndHorizontal(); + } + + /// + /// Draws the upgrade all button + /// + private void DrawUpgradeAllButton() + { + GUI.enabled = NetworksRequireUpgrade(); + if (GUILayout.Button(new GUIContent("Upgrade All"), upgradeAllButtonFieldWidth)) + { + AppLovinEditorCoroutine.StartCoroutine(UpgradeAllNetworks()); + } + + GUI.enabled = true; + GUILayout.Space(10); + } + private void DrawQualityServiceSettings() { GUILayout.BeginHorizontal(); @@ -550,15 +553,9 @@ namespace AppLovinMax.Scripts.IntegrationManager.Editor using (new EditorGUILayout.VerticalScope("box")) { GUILayout.Space(4); - GUILayout.BeginHorizontal(); - GUILayout.Space(4); - AppLovinSettings.Instance.QualityServiceEnabled = GUILayout.Toggle(AppLovinSettings.Instance.QualityServiceEnabled, " Enable MAX Ad Review"); - GUILayout.EndHorizontal(); - GUILayout.Space(4); - if (!AppLovinIntegrationManager.CanProcessAndroidQualityServiceSettings) { - GUILayout.Space(2); + GUILayout.Space(4); GUILayout.BeginHorizontal(); GUILayout.Space(4); EditorGUILayout.HelpBox(qualityServiceRequiresGradleBuildErrorMsg, MessageType.Warning); @@ -568,8 +565,7 @@ namespace AppLovinMax.Scripts.IntegrationManager.Editor GUILayout.Space(4); } - GUI.enabled = AppLovinSettings.Instance.QualityServiceEnabled; - AppLovinSettings.Instance.SdkKey = DrawTextField("AppLovin SDK Key", AppLovinSettings.Instance.SdkKey, networkWidthOption, sdkKeyTextFieldWidthOption); + AppLovinSettings.Instance.SdkKey = DrawTextField("AppLovin SDK Key", AppLovinSettings.Instance.SdkKey, GUILayout.Width(privacySettingLabelWidth), privacySettingFieldWidthOption); GUILayout.BeginHorizontal(); GUILayout.Space(4); GUILayout.Button("You can find your SDK key here: ", wrapTextLabelStyle, GUILayout.Width(185)); // Setting a fixed width since Unity adds arbitrary padding at the end leaving a space between link and text. @@ -580,7 +576,13 @@ namespace AppLovinMax.Scripts.IntegrationManager.Editor GUILayout.FlexibleSpace(); GUILayout.EndHorizontal(); - GUI.enabled = true; + + GUILayout.Space(4); + GUILayout.BeginHorizontal(); + GUILayout.Space(4); + AppLovinSettings.Instance.QualityServiceEnabled = GUILayout.Toggle(AppLovinSettings.Instance.QualityServiceEnabled, " Enable MAX Ad Review"); + GUILayout.EndHorizontal(); + GUILayout.Space(4); GUILayout.Space(4); } @@ -589,13 +591,28 @@ namespace AppLovinMax.Scripts.IntegrationManager.Editor GUILayout.EndHorizontal(); } - private string DrawTextField(string fieldTitle, string text, GUILayoutOption labelWidth, GUILayoutOption textFieldWidthOption = null) + private string DrawTextField(string fieldTitle, string text, GUILayoutOption labelWidth, GUILayoutOption textFieldWidthOption = null, bool isTextFieldEditable = true) { GUILayout.BeginHorizontal(); GUILayout.Space(4); EditorGUILayout.LabelField(new GUIContent(fieldTitle), labelWidth); GUILayout.Space(4); - text = (textFieldWidthOption == null) ? GUILayout.TextField(text) : GUILayout.TextField(text, textFieldWidthOption); + if (isTextFieldEditable) + { + text = (textFieldWidthOption == null) ? GUILayout.TextField(text) : GUILayout.TextField(text, textFieldWidthOption); + } + else + { + if (textFieldWidthOption == null) + { + GUILayout.Label(text); + } + else + { + GUILayout.Label(text, textFieldWidthOption); + } + } + GUILayout.Space(4); GUILayout.EndHorizontal(); GUILayout.Space(4); @@ -609,74 +626,183 @@ namespace AppLovinMax.Scripts.IntegrationManager.Editor GUILayout.Space(10); using (new EditorGUILayout.VerticalScope("box")) { - GUILayout.Space(4); - GUILayout.BeginHorizontal(); - GUILayout.Space(4); - AppLovinSettings.Instance.ConsentFlowEnabled = GUILayout.Toggle(AppLovinSettings.Instance.ConsentFlowEnabled, " Enable Consent Flow (iOS Only)"); - GUILayout.EndHorizontal(); - GUILayout.Space(4); - - GUI.enabled = AppLovinSettings.Instance.ConsentFlowEnabled; - - AppLovinSettings.Instance.ConsentFlowPrivacyPolicyUrl = DrawTextField("Privacy Policy URL", AppLovinSettings.Instance.ConsentFlowPrivacyPolicyUrl, GUILayout.Width(privacySettingLabelWidth), privacySettingFieldWidthOption); - AppLovinSettings.Instance.ConsentFlowTermsOfServiceUrl = DrawTextField("Terms of Service URL (optional)", AppLovinSettings.Instance.ConsentFlowTermsOfServiceUrl, GUILayout.Width(privacySettingLabelWidth), privacySettingFieldWidthOption); - AppLovinSettings.Instance.UserTrackingUsageDescriptionEn = DrawTextField("User Tracking Usage Description", AppLovinSettings.Instance.UserTrackingUsageDescriptionEn, GUILayout.Width(privacySettingLabelWidth), privacySettingFieldWidthOption); - - GUILayout.BeginHorizontal(); - GUILayout.Space(4); - AppLovinSettings.Instance.UserTrackingUsageLocalizationEnabled = GUILayout.Toggle(AppLovinSettings.Instance.UserTrackingUsageLocalizationEnabled, " Localize User Tracking Usage Description"); - GUILayout.EndHorizontal(); - GUILayout.Space(4); - - if (AppLovinSettings.Instance.UserTrackingUsageLocalizationEnabled) + var shouldDrawInternalSettings = AppLovinSettings.Instance.ShowInternalSettingsInIntegrationManager; + if (shouldDrawInternalSettings) { - AppLovinSettings.Instance.UserTrackingUsageDescriptionZhHans = DrawTextField("Chinese, Simplified (zh-Hans)", AppLovinSettings.Instance.UserTrackingUsageDescriptionZhHans, GUILayout.Width(privacySettingLabelWidth), privacySettingFieldWidthOption); - AppLovinSettings.Instance.UserTrackingUsageDescriptionZhHant = DrawTextField("Chinese, Traditional (zh-Hant)" + (shouldMarkNewLocalizations ? " *" : ""), AppLovinSettings.Instance.UserTrackingUsageDescriptionZhHant, GUILayout.Width(privacySettingLabelWidth), privacySettingFieldWidthOption); // TODO: Remove new mark for next release. - AppLovinSettings.Instance.UserTrackingUsageDescriptionFr = DrawTextField("French (fr)", AppLovinSettings.Instance.UserTrackingUsageDescriptionFr, GUILayout.Width(privacySettingLabelWidth), privacySettingFieldWidthOption); - AppLovinSettings.Instance.UserTrackingUsageDescriptionDe = DrawTextField("German (de)", AppLovinSettings.Instance.UserTrackingUsageDescriptionDe, GUILayout.Width(privacySettingLabelWidth), privacySettingFieldWidthOption); - AppLovinSettings.Instance.UserTrackingUsageDescriptionJa = DrawTextField("Japanese (ja)", AppLovinSettings.Instance.UserTrackingUsageDescriptionJa, GUILayout.Width(privacySettingLabelWidth), privacySettingFieldWidthOption); - AppLovinSettings.Instance.UserTrackingUsageDescriptionKo = DrawTextField("Korean (ko)", AppLovinSettings.Instance.UserTrackingUsageDescriptionKo, GUILayout.Width(privacySettingLabelWidth), privacySettingFieldWidthOption); - AppLovinSettings.Instance.UserTrackingUsageDescriptionEs = DrawTextField("Spanish (es)", AppLovinSettings.Instance.UserTrackingUsageDescriptionEs, GUILayout.Width(privacySettingLabelWidth), privacySettingFieldWidthOption); - - GUILayout.Space(4); - GUILayout.BeginHorizontal(); - GUILayout.Space(4); - EditorGUILayout.HelpBox((shouldMarkNewLocalizations ? "* " : "") + "MAX may add more localized strings to this list in the future, which will set the default value of the User Tracking Usage Description string for more locales. If you are overriding these with your own custom translations, you may want to review this list whenever you upgrade the plugin to see if there are new entries you may want to customize.", MessageType.Info); - GUILayout.Space(4); - GUILayout.EndHorizontal(); - - GUILayout.Space(4); - GUILayout.BeginHorizontal(); - GUILayout.Space(4); - EditorGUILayout.HelpBox("If you have your own implementation of InfoPlist.strings localization implementation, please use that instead. Using both at the same time may cause conflicts.", MessageType.Info); - GUILayout.Space(4); - GUILayout.EndHorizontal(); + DrawConsentFlowSettings(); } - - GUI.enabled = true; - - GUILayout.Space(4); - GUILayout.BeginHorizontal(); - GUILayout.Space(4); - GUILayout.Button("Click the link below for more information about User Tracking Usage Description: ", wrapTextLabelStyle); - GUILayout.Space(4); - GUILayout.EndHorizontal(); - GUILayout.BeginHorizontal(); - GUILayout.Space(4); - if (GUILayout.Button(new GUIContent(userTrackingUsageDescriptionDocsLink), linkLabelStyle)) + else { - Application.OpenURL(userTrackingUsageDescriptionDocsLink); + DrawTermsFlowSettings(); } - - GUILayout.Space(4); - GUILayout.EndHorizontal(); - GUILayout.Space(4); } GUILayout.Space(5); GUILayout.EndHorizontal(); } + private void DrawTermsFlowSettings() + { + GUILayout.BeginHorizontal(); + GUILayout.Space(4); + AppLovinSettings.Instance.ConsentFlowEnabled = GUILayout.Toggle(AppLovinSettings.Instance.ConsentFlowEnabled, " Enable Terms Flow"); + GUILayout.FlexibleSpace(); + GUI.enabled = AppLovinSettings.Instance.ConsentFlowEnabled; + AppLovinSettings.Instance.ConsentFlowPlatform = (Platform) EditorGUILayout.Popup((int) AppLovinSettings.Instance.ConsentFlowPlatform, termsFlowPlatforms); + GUILayout.EndHorizontal(); + GUILayout.Space(4); + + AppLovinSettings.Instance.ConsentFlowPrivacyPolicyUrl = DrawTextField("Privacy Policy URL", AppLovinSettings.Instance.ConsentFlowPrivacyPolicyUrl, GUILayout.Width(privacySettingLabelWidth), privacySettingFieldWidthOption); + AppLovinSettings.Instance.ConsentFlowTermsOfServiceUrl = DrawTextField("Terms of Service URL (optional)", AppLovinSettings.Instance.ConsentFlowTermsOfServiceUrl, GUILayout.Width(privacySettingLabelWidth), privacySettingFieldWidthOption); + AppLovinSettings.Instance.UserTrackingUsageDescriptionEn = DrawTextField("User Tracking Usage Description (iOS only)", AppLovinSettings.Instance.UserTrackingUsageDescriptionEn, GUILayout.Width(privacySettingLabelWidth), privacySettingFieldWidthOption); + + GUILayout.BeginHorizontal(); + GUILayout.Space(4); + AppLovinSettings.Instance.UserTrackingUsageLocalizationEnabled = GUILayout.Toggle(AppLovinSettings.Instance.UserTrackingUsageLocalizationEnabled, " Localize User Tracking Usage Description (iOS only)"); + GUILayout.EndHorizontal(); + GUILayout.Space(4); + + if (AppLovinSettings.Instance.UserTrackingUsageLocalizationEnabled) + { + AppLovinSettings.Instance.UserTrackingUsageDescriptionZhHans = DrawTextField("Chinese, Simplified (zh-Hans)", AppLovinSettings.Instance.UserTrackingUsageDescriptionZhHans, GUILayout.Width(privacySettingLabelWidth), privacySettingFieldWidthOption); + AppLovinSettings.Instance.UserTrackingUsageDescriptionZhHant = DrawTextField("Chinese, Traditional (zh-Hant)", AppLovinSettings.Instance.UserTrackingUsageDescriptionZhHant, GUILayout.Width(privacySettingLabelWidth), privacySettingFieldWidthOption); // TODO: Remove new mark for next release. + AppLovinSettings.Instance.UserTrackingUsageDescriptionFr = DrawTextField("French (fr)", AppLovinSettings.Instance.UserTrackingUsageDescriptionFr, GUILayout.Width(privacySettingLabelWidth), privacySettingFieldWidthOption); + AppLovinSettings.Instance.UserTrackingUsageDescriptionDe = DrawTextField("German (de)", AppLovinSettings.Instance.UserTrackingUsageDescriptionDe, GUILayout.Width(privacySettingLabelWidth), privacySettingFieldWidthOption); + AppLovinSettings.Instance.UserTrackingUsageDescriptionJa = DrawTextField("Japanese (ja)", AppLovinSettings.Instance.UserTrackingUsageDescriptionJa, GUILayout.Width(privacySettingLabelWidth), privacySettingFieldWidthOption); + AppLovinSettings.Instance.UserTrackingUsageDescriptionKo = DrawTextField("Korean (ko)", AppLovinSettings.Instance.UserTrackingUsageDescriptionKo, GUILayout.Width(privacySettingLabelWidth), privacySettingFieldWidthOption); + AppLovinSettings.Instance.UserTrackingUsageDescriptionEs = DrawTextField("Spanish (es)", AppLovinSettings.Instance.UserTrackingUsageDescriptionEs, GUILayout.Width(privacySettingLabelWidth), privacySettingFieldWidthOption); + + GUILayout.Space(4); + GUILayout.BeginHorizontal(); + GUILayout.Space(4); + EditorGUILayout.HelpBox("MAX may add more localized strings to this list in the future, which will set the default value of the User Tracking Usage Description string for more locales. If you are overriding these with your own custom translations, you may want to review this list whenever you upgrade the plugin to see if there are new entries you may want to customize.", MessageType.Info); + GUILayout.Space(4); + GUILayout.EndHorizontal(); + + GUILayout.Space(4); + GUILayout.BeginHorizontal(); + GUILayout.Space(4); + EditorGUILayout.HelpBox("If you have your own implementation of InfoPlist.strings localization implementation, please use that instead. Using both at the same time may cause conflicts.", MessageType.Info); + GUILayout.Space(4); + GUILayout.EndHorizontal(); + } + + GUI.enabled = true; + + GUILayout.Space(4); + GUILayout.BeginHorizontal(); + GUILayout.Space(4); + GUILayout.Button("Click the link below for more information about User Tracking Usage Description: ", wrapTextLabelStyle); + GUILayout.Space(4); + GUILayout.EndHorizontal(); + GUILayout.BeginHorizontal(); + GUILayout.Space(4); + if (GUILayout.Button(new GUIContent(userTrackingUsageDescriptionDocsLink), linkLabelStyle)) + { + Application.OpenURL(userTrackingUsageDescriptionDocsLink); + } + + GUILayout.Space(4); + GUILayout.EndHorizontal(); + GUILayout.Space(4); + } + + private void DrawConsentFlowSettings() + { + GUILayout.BeginHorizontal(); + GUILayout.Space(4); + AppLovinInternalSettings.Instance.ConsentFlowEnabled = GUILayout.Toggle(AppLovinInternalSettings.Instance.ConsentFlowEnabled, " Enable Consent Flow"); + GUILayout.EndHorizontal(); + GUILayout.Space(4); + GUI.enabled = true; + + if (!AppLovinInternalSettings.Instance.ConsentFlowEnabled) return; + + AppLovinInternalSettings.Instance.ConsentFlowPrivacyPolicyUrl = DrawTextField("Privacy Policy URL", AppLovinInternalSettings.Instance.ConsentFlowPrivacyPolicyUrl, GUILayout.Width(privacySettingLabelWidth), privacySettingFieldWidthOption); + AppLovinInternalSettings.Instance.ConsentFlowTermsOfServiceUrl = DrawTextField("Terms of Service URL (optional)", AppLovinInternalSettings.Instance.ConsentFlowTermsOfServiceUrl, GUILayout.Width(privacySettingLabelWidth), privacySettingFieldWidthOption); + + GUILayout.Space(4); + GUILayout.BeginHorizontal(); + GUILayout.Space(4); + AppLovinInternalSettings.Instance.ConsentFlowIncludeDefaultAdvertisingPartnerUrls = GUILayout.Toggle(AppLovinInternalSettings.Instance.ConsentFlowIncludeDefaultAdvertisingPartnerUrls, " Include Default Advertising Partner URLs"); + GUILayout.EndHorizontal(); + + GUILayout.Space(4); + GUILayout.BeginHorizontal(); + GUILayout.Space(4); + AppLovinInternalSettings.Instance.ConsentFlowAdvertisingPartnerUrls = DrawTextField("Advertising Partner URLs (CSV)", AppLovinInternalSettings.Instance.ConsentFlowAdvertisingPartnerUrls, GUILayout.Width(privacySettingLabelWidth), privacySettingFieldWidthOption); + GUILayout.EndHorizontal(); + + GUILayout.Space(4); + GUILayout.BeginHorizontal(); + GUILayout.Space(4); + AppLovinInternalSettings.Instance.ConsentFlowIncludeDefaultAnalyticsPartnerUrls = GUILayout.Toggle(AppLovinInternalSettings.Instance.ConsentFlowIncludeDefaultAnalyticsPartnerUrls, " Include Default Analytics Partner URLs"); + GUILayout.EndHorizontal(); + + GUILayout.Space(4); + GUILayout.BeginHorizontal(); + GUILayout.Space(4); + AppLovinInternalSettings.Instance.ConsentFlowAnalyticsPartnerUrls = DrawTextField("Analytics Partner URLs (CSV)", AppLovinInternalSettings.Instance.ConsentFlowAnalyticsPartnerUrls, GUILayout.Width(privacySettingLabelWidth), privacySettingFieldWidthOption); + GUILayout.EndHorizontal(); + GUILayout.Space(4); + GUILayout.BeginHorizontal(); + GUILayout.Space(4); + EditorGUILayout.LabelField("iOS specific settings:", headerLabelStyle); + GUILayout.EndHorizontal(); + + var isEditableTextField = AppLovinInternalSettings.Instance.OverrideDefaultUserTrackingUsageDescriptions; + + GUILayout.BeginHorizontal(); + GUILayout.Space(4); + AppLovinInternalSettings.Instance.OverrideDefaultUserTrackingUsageDescriptions = GUILayout.Toggle(AppLovinInternalSettings.Instance.OverrideDefaultUserTrackingUsageDescriptions, " Override Default User Tracking Usage Description"); + GUILayout.EndHorizontal(); + GUILayout.Space(4); + + GUILayout.Space(4); + AppLovinInternalSettings.Instance.UserTrackingUsageDescriptionEn = DrawTextField("User Tracking Usage Description", AppLovinInternalSettings.Instance.UserTrackingUsageDescriptionEn, GUILayout.Width(privacySettingLabelWidth), privacySettingFieldWidthOption, isEditableTextField); + + GUILayout.BeginHorizontal(); + GUILayout.Space(4); + AppLovinInternalSettings.Instance.UserTrackingUsageLocalizationEnabled = GUILayout.Toggle(AppLovinInternalSettings.Instance.UserTrackingUsageLocalizationEnabled, " Localize User Tracking Usage Description"); + GUILayout.EndHorizontal(); + GUILayout.Space(4); + + if (AppLovinInternalSettings.Instance.UserTrackingUsageLocalizationEnabled) + { + AppLovinInternalSettings.Instance.UserTrackingUsageDescriptionZhHans = DrawTextField("Chinese, Simplified (zh-Hans)", AppLovinInternalSettings.Instance.UserTrackingUsageDescriptionZhHans, GUILayout.Width(privacySettingLabelWidth), privacySettingFieldWidthOption, isEditableTextField); + AppLovinInternalSettings.Instance.UserTrackingUsageDescriptionZhHant = DrawTextField("Chinese, Traditional (zh-Hant)", AppLovinInternalSettings.Instance.UserTrackingUsageDescriptionZhHant, GUILayout.Width(privacySettingLabelWidth), privacySettingFieldWidthOption, isEditableTextField); + AppLovinInternalSettings.Instance.UserTrackingUsageDescriptionFr = DrawTextField("French (fr)", AppLovinInternalSettings.Instance.UserTrackingUsageDescriptionFr, GUILayout.Width(privacySettingLabelWidth), privacySettingFieldWidthOption, isEditableTextField); + AppLovinInternalSettings.Instance.UserTrackingUsageDescriptionDe = DrawTextField("German (de)", AppLovinInternalSettings.Instance.UserTrackingUsageDescriptionDe, GUILayout.Width(privacySettingLabelWidth), privacySettingFieldWidthOption, isEditableTextField); + AppLovinInternalSettings.Instance.UserTrackingUsageDescriptionJa = DrawTextField("Japanese (ja)", AppLovinInternalSettings.Instance.UserTrackingUsageDescriptionJa, GUILayout.Width(privacySettingLabelWidth), privacySettingFieldWidthOption, isEditableTextField); + AppLovinInternalSettings.Instance.UserTrackingUsageDescriptionKo = DrawTextField("Korean (ko)", AppLovinInternalSettings.Instance.UserTrackingUsageDescriptionKo, GUILayout.Width(privacySettingLabelWidth), privacySettingFieldWidthOption, isEditableTextField); + AppLovinInternalSettings.Instance.UserTrackingUsageDescriptionEs = DrawTextField("Spanish (es)", AppLovinInternalSettings.Instance.UserTrackingUsageDescriptionEs, GUILayout.Width(privacySettingLabelWidth), privacySettingFieldWidthOption, isEditableTextField); + + GUILayout.Space(4); + GUILayout.BeginHorizontal(); + GUILayout.Space(4); + EditorGUILayout.HelpBox("If you have your own implementation of InfoPlist.strings localization implementation, please use that instead. Using both at the same time may cause conflicts.", MessageType.Info); + GUILayout.Space(4); + GUILayout.EndHorizontal(); + } + + GUILayout.Space(4); + GUILayout.BeginHorizontal(); + GUILayout.Space(4); + GUILayout.Button("Click the link below for more information about User Tracking Usage Description: ", wrapTextLabelStyle); + GUILayout.Space(4); + GUILayout.EndHorizontal(); + GUILayout.BeginHorizontal(); + GUILayout.Space(4); + if (GUILayout.Button(new GUIContent(userTrackingUsageDescriptionDocsLink), linkLabelStyle)) + { + Application.OpenURL(userTrackingUsageDescriptionDocsLink); + } + + GUILayout.Space(4); + GUILayout.EndHorizontal(); + GUILayout.Space(4); + } + private void DrawOtherSettings() { GUILayout.BeginHorizontal(); @@ -761,9 +887,6 @@ namespace AppLovinMax.Scripts.IntegrationManager.Editor versionWidthOption = GUILayout.Width(versionLabelWidth); const int textFieldOtherUiElementsWidth = 45; // NOTE: Magic number alert. This is the sum of all the spacing the fields and other UI elements. - var availableTextFieldWidth = currentWidth - networkLabelWidth - textFieldOtherUiElementsWidth; - sdkKeyTextFieldWidthOption = GUILayout.Width(availableTextFieldWidth); - var availableUserDescriptionTextFieldWidth = currentWidth - privacySettingLabelWidth - textFieldOtherUiElementsWidth; privacySettingFieldWidthOption = GUILayout.Width(availableUserDescriptionTextFieldWidth); } @@ -849,6 +972,42 @@ namespace AppLovinMax.Scripts.IntegrationManager.Editor } } + /// + /// Upgrades all outdated networks + /// + private IEnumerator UpgradeAllNetworks() + { + networkButtonsEnabled = false; + EditorApplication.LockReloadAssemblies(); + var networks = pluginData.MediatedNetworks; + foreach (var network in networks) + { + var comparison = network.CurrentToLatestVersionComparisonResult; + // A newer version is available + if (!string.IsNullOrEmpty(network.CurrentVersions.Unity) && comparison == VersionComparisonResult.Lesser) + { + yield return AppLovinIntegrationManager.Instance.DownloadPlugin(network, false); + } + } + + EditorApplication.UnlockReloadAssemblies(); + networkButtonsEnabled = true; + + // The pluginData becomes stale after the networks have been updated, and we should re-load it. + Load(); + } + + /// + /// Returns whether any network adapter needs to be upgraded + /// + private bool NetworksRequireUpgrade() + { + if (pluginData == null || pluginData.AppLovinMax.CurrentVersions == null) return false; + + var networks = pluginData.MediatedNetworks; + return networks.Any(network => !string.IsNullOrEmpty(network.CurrentVersions.Unity) && network.CurrentToLatestVersionComparisonResult == VersionComparisonResult.Lesser); + } + #endregion } } diff --git a/Assets/ThirdParty/MaxSdk/Scripts/IntegrationManager/Editor/AppLovinIntegrationManagerWindow.cs.meta b/Assets/ThirdParty/MaxSdk/Scripts/IntegrationManager/Editor/AppLovinIntegrationManagerWindow.cs.meta index 75b29e466..d7996fddb 100644 --- a/Assets/ThirdParty/MaxSdk/Scripts/IntegrationManager/Editor/AppLovinIntegrationManagerWindow.cs.meta +++ b/Assets/ThirdParty/MaxSdk/Scripts/IntegrationManager/Editor/AppLovinIntegrationManagerWindow.cs.meta @@ -3,7 +3,6 @@ guid: 84c61b4c05e114cec91df447d1b585f8 labels: - al_max - al_max_export_path-MaxSdk/Scripts/IntegrationManager/Editor/AppLovinIntegrationManagerWindow.cs -- al_max_export_path-MaxSdk\Scripts\IntegrationManager\Editor\AppLovinIntegrationManagerWindow.cs MonoImporter: externalObjects: {} serializedVersion: 2 diff --git a/Assets/ThirdParty/MaxSdk/Scripts/IntegrationManager/Editor/AppLovinInternalSettings.cs b/Assets/ThirdParty/MaxSdk/Scripts/IntegrationManager/Editor/AppLovinInternalSettings.cs new file mode 100644 index 000000000..61962f3b6 --- /dev/null +++ b/Assets/ThirdParty/MaxSdk/Scripts/IntegrationManager/Editor/AppLovinInternalSettings.cs @@ -0,0 +1,329 @@ +// +// AppLovinInternalSettigns.cs +// AppLovin User Engagement Unity Plugin +// +// Created by Santosh Bagadi on 9/15/22. +// Copyright © 2022 AppLovin. All rights reserved. +// + +using System; +using System.Collections.Generic; +using System.IO; +using UnityEngine; + +namespace AppLovinMax.Scripts.IntegrationManager.Editor +{ + /// + /// A representing the AppLovin internal settings that can be set in the Integration Manager Window. + /// + /// The scriptable object asset is saved under ProjectSettings as AppLovinInternalSettings.json. + /// + public class AppLovinInternalSettings : ScriptableObject + { + private static AppLovinInternalSettings instance; + + public const string DefaultUserTrackingDescriptionEn = "This uses device info for more personalized ads and content"; + public const string DefaultUserTrackingDescriptionDe = "Dies benutzt Gerätinformationen für relevantere Werbeinhalte"; + public const string DefaultUserTrackingDescriptionEs = "Esto utiliza la información del dispositivo para anuncios y contenido más personalizados"; + public const string DefaultUserTrackingDescriptionFr = "Cela permet d'utiliser les informations du téléphone pour afficher des contenus publicitaires plus pertinents."; + public const string DefaultUserTrackingDescriptionJa = "これはユーザーデータをもとに、より関連性の高い広告コンテンツをお客様に提供します"; + public const string DefaultUserTrackingDescriptionKo = "보다 개인화된 광고 및 콘텐츠를 위해 기기 정보를 사용합니다."; + public const string DefaultUserTrackingDescriptionZhHans = "我们使用设备信息来提供个性化的广告和内容。"; + public const string DefaultUserTrackingDescriptionZhHant = "我們使用設備信息來提供個性化的廣告和內容。"; + + [SerializeField] private bool consentFlowEnabled; + [SerializeField] private string consentFlowPrivacyPolicyUrl = string.Empty; + [SerializeField] private string consentFlowTermsOfServiceUrl = string.Empty; + [SerializeField] private string consentFlowAdvertisingPartnerUrls = string.Empty; + [SerializeField] private bool includeDefaultAdvertisingPartnerUrls = true; + [SerializeField] private string consentFlowAnalyticsPartnerUrls = string.Empty; + [SerializeField] private bool consentFlowIncludeDefaultAnalyticsPartnerUrls = true; + [SerializeField] private bool overrideDefaultUserTrackingUsageDescriptions; + [SerializeField] private string userTrackingUsageDescriptionEn = string.Empty; + [SerializeField] private bool userTrackingUsageLocalizationEnabled; + [SerializeField] private string userTrackingUsageDescriptionDe = string.Empty; + [SerializeField] private string userTrackingUsageDescriptionEs = string.Empty; + [SerializeField] private string userTrackingUsageDescriptionFr = string.Empty; + [SerializeField] private string userTrackingUsageDescriptionJa = string.Empty; + [SerializeField] private string userTrackingUsageDescriptionKo = string.Empty; + [SerializeField] private string userTrackingUsageDescriptionZhHans = string.Empty; + [SerializeField] private string userTrackingUsageDescriptionZhHant = string.Empty; + + private const string SettingsFilePath = "ProjectSettings/AppLovinInternalSettings.json"; + + public static AppLovinInternalSettings Instance + { + get + { + if (instance != null) return instance; + + instance = CreateInstance(); + + var projectRootPath = Path.GetDirectoryName(Application.dataPath); + var settingsFilePath = Path.Combine(projectRootPath, SettingsFilePath); + if (!File.Exists(settingsFilePath)) + { + instance.Save(); + return instance; + } + + var settingsJson = File.ReadAllText(settingsFilePath); + if (string.IsNullOrEmpty(settingsJson)) + { + instance.Save(); + return instance; + } + + JsonUtility.FromJsonOverwrite(settingsJson, instance); + return instance; + } + } + + public void Save() + { + var settingsJson = JsonUtility.ToJson(instance); + try + { + var projectRootPath = Path.GetDirectoryName(Application.dataPath); + var settingsFilePath = Path.Combine(projectRootPath, SettingsFilePath); + File.WriteAllText(settingsFilePath, settingsJson); + } + catch (Exception exception) + { + MaxSdkLogger.UserError("Failed to save internal settings."); + Console.WriteLine(exception); + } + } + + /// + /// Whether or not AppLovin Consent Flow is enabled. + /// + public bool ConsentFlowEnabled + { + get { return consentFlowEnabled; } + set + { + var previousValue = consentFlowEnabled; + consentFlowEnabled = value; + + if (value) + { + // If the value didn't change, we don't need to update anything. + if (previousValue) return; + + UserTrackingUsageDescriptionEn = DefaultUserTrackingDescriptionEn; + UserTrackingUsageLocalizationEnabled = true; + } + else + { + ConsentFlowPrivacyPolicyUrl = string.Empty; + ConsentFlowTermsOfServiceUrl = string.Empty; + UserTrackingUsageDescriptionEn = string.Empty; + UserTrackingUsageLocalizationEnabled = false; + OverrideDefaultUserTrackingUsageDescriptions = false; + ConsentFlowIncludeDefaultAdvertisingPartnerUrls = true; + ConsentFlowIncludeDefaultAnalyticsPartnerUrls = true; + } + } + } + + /// + /// A URL pointing to the Privacy Policy for the app to be shown when prompting the user for consent. + /// + public string ConsentFlowPrivacyPolicyUrl + { + get { return consentFlowPrivacyPolicyUrl; } + set { consentFlowPrivacyPolicyUrl = value; } + } + + /// + /// An optional URL pointing to the Terms of Service for the app to be shown when prompting the user for consent. + /// + public string ConsentFlowTermsOfServiceUrl + { + get { return consentFlowTermsOfServiceUrl; } + set { consentFlowTermsOfServiceUrl = value; } + } + + /// + /// An array of advertising partner URLs. These URLs list are shown during the GDPR flow. + /// + public string ConsentFlowAdvertisingPartnerUrls + { + get { return consentFlowAdvertisingPartnerUrls; } + set { consentFlowAdvertisingPartnerUrls = value; } + } + + /// + /// Whether or not to include a default set of advertising partners. Defaults to true. + /// + public bool ConsentFlowIncludeDefaultAdvertisingPartnerUrls + { + get { return includeDefaultAdvertisingPartnerUrls; } + set { includeDefaultAdvertisingPartnerUrls = value; } + } + + /// + /// An array of analytics partner URLs. These URLs list are shown during the GDPR flow. + /// + public string ConsentFlowAnalyticsPartnerUrls + { + get { return consentFlowAnalyticsPartnerUrls; } + set { consentFlowAnalyticsPartnerUrls = value; } + } + + /// + /// Whether or not to include a default set of analytics partners. Defaults to true. + /// + public bool ConsentFlowIncludeDefaultAnalyticsPartnerUrls + { + get { return consentFlowIncludeDefaultAnalyticsPartnerUrls; } + set { consentFlowIncludeDefaultAnalyticsPartnerUrls = value; } + } + + /// + /// A User Tracking Usage Description in English to be shown to users when requesting permission to use data for tracking. + /// For more information see Apple's documentation. + /// + public string UserTrackingUsageDescriptionEn + { + get { return userTrackingUsageDescriptionEn; } + set { userTrackingUsageDescriptionEn = value; } + } + + public bool OverrideDefaultUserTrackingUsageDescriptions + { + get { return overrideDefaultUserTrackingUsageDescriptions; } + set + { + var previousValue = overrideDefaultUserTrackingUsageDescriptions; + overrideDefaultUserTrackingUsageDescriptions = value; + + if (!value) + { + if (!previousValue) return; + + UserTrackingUsageDescriptionEn = DefaultUserTrackingDescriptionEn; + UserTrackingUsageDescriptionDe = DefaultUserTrackingDescriptionDe; + UserTrackingUsageDescriptionEs = DefaultUserTrackingDescriptionEs; + UserTrackingUsageDescriptionFr = DefaultUserTrackingDescriptionFr; + UserTrackingUsageDescriptionJa = DefaultUserTrackingDescriptionJa; + UserTrackingUsageDescriptionKo = DefaultUserTrackingDescriptionKo; + UserTrackingUsageDescriptionZhHans = DefaultUserTrackingDescriptionZhHans; + UserTrackingUsageDescriptionZhHant = DefaultUserTrackingDescriptionZhHant; + } + } + } + + /// + /// Whether or not to localize User Tracking Usage Description. + /// For more information see Apple's documentation. + /// + public bool UserTrackingUsageLocalizationEnabled + { + get { return userTrackingUsageLocalizationEnabled; } + set + { + var previousValue = userTrackingUsageLocalizationEnabled; + userTrackingUsageLocalizationEnabled = value; + + if (value) + { + // If the value didn't change, don't do anything + if (previousValue) return; + + // Don't set the default values if they are being overriden. + if (OverrideDefaultUserTrackingUsageDescriptions) return; + + UserTrackingUsageDescriptionDe = DefaultUserTrackingDescriptionDe; + UserTrackingUsageDescriptionEs = DefaultUserTrackingDescriptionEs; + UserTrackingUsageDescriptionFr = DefaultUserTrackingDescriptionFr; + UserTrackingUsageDescriptionJa = DefaultUserTrackingDescriptionJa; + UserTrackingUsageDescriptionKo = DefaultUserTrackingDescriptionKo; + UserTrackingUsageDescriptionZhHans = DefaultUserTrackingDescriptionZhHans; + UserTrackingUsageDescriptionZhHant = DefaultUserTrackingDescriptionZhHant; + } + else + { + UserTrackingUsageDescriptionDe = string.Empty; + UserTrackingUsageDescriptionEs = string.Empty; + UserTrackingUsageDescriptionFr = string.Empty; + UserTrackingUsageDescriptionJa = string.Empty; + UserTrackingUsageDescriptionKo = string.Empty; + UserTrackingUsageDescriptionZhHans = string.Empty; + UserTrackingUsageDescriptionZhHant = string.Empty; + } + } + } + + /// + /// A User Tracking Usage Description in German to be shown to users when requesting permission to use data for tracking. + /// For more information see Apple's documentation. + /// + public string UserTrackingUsageDescriptionDe + { + get { return userTrackingUsageDescriptionDe; } + set { userTrackingUsageDescriptionDe = value; } + } + + /// + /// A User Tracking Usage Description in Spanish to be shown to users when requesting permission to use data for tracking. + /// For more information see Apple's documentation. + /// + public string UserTrackingUsageDescriptionEs + { + get { return userTrackingUsageDescriptionEs; } + set { userTrackingUsageDescriptionEs = value; } + } + + /// + /// A User Tracking Usage Description in French to be shown to users when requesting permission to use data for tracking. + /// For more information see Apple's documentation. + /// + public string UserTrackingUsageDescriptionFr + { + get { return userTrackingUsageDescriptionFr; } + set { userTrackingUsageDescriptionFr = value; } + } + + /// + /// A User Tracking Usage Description in Japanese to be shown to users when requesting permission to use data for tracking. + /// For more information see Apple's documentation. + /// + public string UserTrackingUsageDescriptionJa + { + get { return userTrackingUsageDescriptionJa; } + set { userTrackingUsageDescriptionJa = value; } + } + + /// + /// A User Tracking Usage Description in Korean to be shown to users when requesting permission to use data for tracking. + /// For more information see Apple's documentation. + /// + public string UserTrackingUsageDescriptionKo + { + get { return userTrackingUsageDescriptionKo; } + set { userTrackingUsageDescriptionKo = value; } + } + + /// + /// A User Tracking Usage Description in Chinese (Simplified) to be shown to users when requesting permission to use data for tracking. + /// For more information see Apple's documentation. + /// + public string UserTrackingUsageDescriptionZhHans + { + get { return userTrackingUsageDescriptionZhHans; } + set { userTrackingUsageDescriptionZhHans = value; } + } + + /// + /// A User Tracking Usage Description in Chinese (Traditional) to be shown to users when requesting permission to use data for tracking. + /// For more information see Apple's documentation. + /// + public string UserTrackingUsageDescriptionZhHant + { + get { return userTrackingUsageDescriptionZhHant; } + set { userTrackingUsageDescriptionZhHant = value; } + } + } +} diff --git a/Assets/ThirdParty/MaxSdk/Mediation/Google/Editor/PreProcessor.cs.meta b/Assets/ThirdParty/MaxSdk/Scripts/IntegrationManager/Editor/AppLovinInternalSettings.cs.meta similarity index 55% rename from Assets/ThirdParty/MaxSdk/Mediation/Google/Editor/PreProcessor.cs.meta rename to Assets/ThirdParty/MaxSdk/Scripts/IntegrationManager/Editor/AppLovinInternalSettings.cs.meta index d9ea49b36..a863905bd 100644 --- a/Assets/ThirdParty/MaxSdk/Mediation/Google/Editor/PreProcessor.cs.meta +++ b/Assets/ThirdParty/MaxSdk/Scripts/IntegrationManager/Editor/AppLovinInternalSettings.cs.meta @@ -1,9 +1,8 @@ fileFormatVersion: 2 -guid: bfbc947903224d09a77085f74b86a409 +guid: 65c51e21887ae42c2839962fb9585e9f labels: - al_max -- al_max_export_path-MaxSdk/Mediation/Google/Editor/PreProcessor.cs -- al_max_export_path-MaxSdk\Mediation\Google\Editor\PreProcessor.cs +- al_max_export_path-MaxSdk/Scripts/IntegrationManager/Editor/AppLovinInternalSettings.cs MonoImporter: externalObjects: {} serializedVersion: 2 diff --git a/Assets/ThirdParty/MaxSdk/Scripts/IntegrationManager/Editor/AppLovinMenuItems.cs.meta b/Assets/ThirdParty/MaxSdk/Scripts/IntegrationManager/Editor/AppLovinMenuItems.cs.meta index ad2fc2cc1..30fb834e0 100644 --- a/Assets/ThirdParty/MaxSdk/Scripts/IntegrationManager/Editor/AppLovinMenuItems.cs.meta +++ b/Assets/ThirdParty/MaxSdk/Scripts/IntegrationManager/Editor/AppLovinMenuItems.cs.meta @@ -3,7 +3,6 @@ guid: 02c2d277874f649d18a59d382420bf65 labels: - al_max - al_max_export_path-MaxSdk/Scripts/IntegrationManager/Editor/AppLovinMenuItems.cs -- al_max_export_path-MaxSdk\Scripts\IntegrationManager\Editor\AppLovinMenuItems.cs MonoImporter: externalObjects: {} serializedVersion: 2 diff --git a/Assets/ThirdParty/MaxSdk/Scripts/IntegrationManager/Editor/AppLovinPostProcessAndroidGradle.cs b/Assets/ThirdParty/MaxSdk/Scripts/IntegrationManager/Editor/AppLovinPostProcessAndroidGradle.cs index 596977252..ad4b31cf0 100644 --- a/Assets/ThirdParty/MaxSdk/Scripts/IntegrationManager/Editor/AppLovinPostProcessAndroidGradle.cs +++ b/Assets/ThirdParty/MaxSdk/Scripts/IntegrationManager/Editor/AppLovinPostProcessAndroidGradle.cs @@ -21,20 +21,29 @@ namespace AppLovinMax.Scripts.IntegrationManager.Editor { public void OnPostGenerateGradleAndroidProject(string path) { + if (!AppLovinSettings.Instance.QualityServiceEnabled) return; + #if UNITY_2019_3_OR_NEWER // On Unity 2019.3+, the path returned is the path to the unityLibrary's module. // The AppLovin Quality Service buildscript closure related lines need to be added to the root build.gradle file. var rootGradleBuildFilePath = Path.Combine(path, "../build.gradle"); +#if UNITY_2022_2_OR_NEWER + if (!AddPluginToRootGradleBuildFile(rootGradleBuildFilePath)) return; + + var rootSettingsGradleFilePath = Path.Combine(path, "../settings.gradle"); + if (!AddAppLovinRepository(rootSettingsGradleFilePath)) return; +#else var buildScriptChangesAdded = AddQualityServiceBuildScriptLines(rootGradleBuildFilePath); if (!buildScriptChangesAdded) return; +#endif // The plugin needs to be added to the application module (named launcher) var applicationGradleBuildFilePath = Path.Combine(path, "../launcher/build.gradle"); #else - // If Gradle template is enabled, we would have already updated the plugin. - if (AppLovinIntegrationManager.GradleTemplateEnabled) return; + // If Gradle template is enabled, we would have already updated the plugin. + if (AppLovinIntegrationManager.GradleTemplateEnabled) return; - var applicationGradleBuildFilePath = Path.Combine(path, "build.gradle"); + var applicationGradleBuildFilePath = Path.Combine(path, "build.gradle"); #endif if (!File.Exists(applicationGradleBuildFilePath)) diff --git a/Assets/ThirdParty/MaxSdk/Scripts/IntegrationManager/Editor/AppLovinPostProcessAndroidGradle.cs.meta b/Assets/ThirdParty/MaxSdk/Scripts/IntegrationManager/Editor/AppLovinPostProcessAndroidGradle.cs.meta index adf7e350f..c167f0ceb 100644 --- a/Assets/ThirdParty/MaxSdk/Scripts/IntegrationManager/Editor/AppLovinPostProcessAndroidGradle.cs.meta +++ b/Assets/ThirdParty/MaxSdk/Scripts/IntegrationManager/Editor/AppLovinPostProcessAndroidGradle.cs.meta @@ -3,7 +3,6 @@ guid: f75e54e2eb78f427ca8643c97684387b labels: - al_max - al_max_export_path-MaxSdk/Scripts/IntegrationManager/Editor/AppLovinPostProcessAndroidGradle.cs -- al_max_export_path-MaxSdk\Scripts\IntegrationManager\Editor\AppLovinPostProcessAndroidGradle.cs MonoImporter: externalObjects: {} serializedVersion: 2 diff --git a/Assets/ThirdParty/MaxSdk/Scripts/IntegrationManager/Editor/AppLovinPostProcessiOS.cs b/Assets/ThirdParty/MaxSdk/Scripts/IntegrationManager/Editor/AppLovinPostProcessiOS.cs index f9ade3ef1..078ae4a7a 100644 --- a/Assets/ThirdParty/MaxSdk/Scripts/IntegrationManager/Editor/AppLovinPostProcessiOS.cs +++ b/Assets/ThirdParty/MaxSdk/Scripts/IntegrationManager/Editor/AppLovinPostProcessiOS.cs @@ -59,49 +59,48 @@ namespace AppLovinMax.Scripts.IntegrationManager.Editor var uploadHandler = new UploadHandlerRaw(bodyRaw); uploadHandler.contentType = "application/json"; - var unityWebRequest = new UnityWebRequest("https://api2.safedk.com/v1/build/ios_setup2") + using (var unityWebRequest = new UnityWebRequest("https://api2.safedk.com/v1/build/ios_setup2")) { - method = UnityWebRequest.kHttpVerbPOST, - downloadHandler = downloadHandler, - uploadHandler = uploadHandler - }; - + unityWebRequest.method = UnityWebRequest.kHttpVerbPOST; + unityWebRequest.downloadHandler = downloadHandler; + unityWebRequest.uploadHandler = uploadHandler; #if UNITY_2017_2_OR_NEWER - var operation = unityWebRequest.SendWebRequest(); + var operation = unityWebRequest.SendWebRequest(); #else - var operation = webRequest.Send(); + var operation = webRequest.Send(); #endif - // Wait for the download to complete or the request to timeout. - while (!operation.isDone) { } + // Wait for the download to complete or the request to timeout. + while (!operation.isDone) { } #if UNITY_2020_1_OR_NEWER - if (unityWebRequest.result != UnityWebRequest.Result.Success) + if (unityWebRequest.result != UnityWebRequest.Result.Success) #elif UNITY_2017_2_OR_NEWER - if (unityWebRequest.isNetworkError || unityWebRequest.isHttpError) + if (unityWebRequest.isNetworkError || unityWebRequest.isHttpError) #else - if (webRequest.isError) + if (webRequest.isError) #endif - { - MaxSdkLogger.UserError("AppLovin Quality Service installation failed. Failed to download script with error: " + unityWebRequest.error); - return; + { + MaxSdkLogger.UserError("AppLovin Quality Service installation failed. Failed to download script with error: " + unityWebRequest.error); + return; + } + + // Check if Ruby is installed + var rubyVersion = AppLovinCommandLine.Run("ruby", "--version", buildPath); + if (rubyVersion.ExitCode != 0) + { + MaxSdkLogger.UserError("AppLovin Quality Service installation requires Ruby. Please install Ruby, export it to your system PATH and re-export the project."); + return; + } + + // Ruby is installed, run `ruby AppLovinQualityServiceSetup.rb` + var result = AppLovinCommandLine.Run("ruby", OutputFileName, buildPath); + + // Check if we have an error. + if (result.ExitCode != 0) MaxSdkLogger.UserError("Failed to set up AppLovin Quality Service"); + + MaxSdkLogger.UserDebug(result.Message); } - - // Check if Ruby is installed - var rubyVersion = AppLovinCommandLine.Run("ruby", "--version", buildPath); - if (rubyVersion.ExitCode != 0) - { - MaxSdkLogger.UserError("AppLovin Quality Service installation requires Ruby. Please install Ruby, export it to your system PATH and re-export the project."); - return; - } - - // Ruby is installed, run `ruby AppLovinQualityServiceSetup.rb` - var result = AppLovinCommandLine.Run("ruby", OutputFileName, buildPath); - - // Check if we have an error. - if (result.ExitCode != 0) MaxSdkLogger.UserError("Failed to set up AppLovin Quality Service"); - - MaxSdkLogger.UserDebug(result.Message); } } } diff --git a/Assets/ThirdParty/MaxSdk/Scripts/IntegrationManager/Editor/AppLovinPostProcessiOS.cs.meta b/Assets/ThirdParty/MaxSdk/Scripts/IntegrationManager/Editor/AppLovinPostProcessiOS.cs.meta index 38aecbcc0..8182708b9 100644 --- a/Assets/ThirdParty/MaxSdk/Scripts/IntegrationManager/Editor/AppLovinPostProcessiOS.cs.meta +++ b/Assets/ThirdParty/MaxSdk/Scripts/IntegrationManager/Editor/AppLovinPostProcessiOS.cs.meta @@ -3,7 +3,6 @@ guid: d5d209f90444f4a90830b48b5f3f3ff4 labels: - al_max - al_max_export_path-MaxSdk/Scripts/IntegrationManager/Editor/AppLovinPostProcessiOS.cs -- al_max_export_path-MaxSdk\Scripts\IntegrationManager\Editor\AppLovinPostProcessiOS.cs MonoImporter: externalObjects: {} serializedVersion: 2 diff --git a/Assets/ThirdParty/MaxSdk/Scripts/IntegrationManager/Editor/AppLovinPreProcessAndroid.cs b/Assets/ThirdParty/MaxSdk/Scripts/IntegrationManager/Editor/AppLovinPreProcessAndroid.cs index 7ff51f606..24dd8ad5c 100644 --- a/Assets/ThirdParty/MaxSdk/Scripts/IntegrationManager/Editor/AppLovinPreProcessAndroid.cs +++ b/Assets/ThirdParty/MaxSdk/Scripts/IntegrationManager/Editor/AppLovinPreProcessAndroid.cs @@ -8,10 +8,17 @@ #if UNITY_ANDROID +using System.Linq; +using System; +using System.Collections.Generic; +using System.IO; +using AppLovinMax.ThirdParty.MiniJson; using UnityEditor; using UnityEditor.Build; #if UNITY_2018_1_OR_NEWER using UnityEditor.Build.Reporting; +using UnityEngine; + #endif namespace AppLovinMax.Scripts.IntegrationManager.Editor @@ -26,6 +33,22 @@ namespace AppLovinMax.Scripts.IntegrationManager.Editor IPreprocessBuild #endif { + private const string AppLovinSettingsFileName = "applovin_settings.json"; + + private const string KeyTermsFlowSettings = "terms_flow_settings"; + private const string KeyTermsFlowEnabled = "terms_flow_enabled"; + private const string KeyTermsFlowTermsOfService = "terms_flow_terms_of_service"; + private const string KeyTermsFlowPrivacyPolicy = "terms_flow_privacy_policy"; + + private const string KeyConsentFlowSettings = "consent_flow_settings"; + private const string KeyConsentFlowEnabled = "consent_flow_enabled"; + private const string KeyConsentFlowTermsOfService = "consent_flow_terms_of_service"; + private const string KeyConsentFlowPrivacyPolicy = "consent_flow_privacy_policy"; + private const string KeyConsentFlowAdvertisingPartners = "consent_flow_advertising_partners"; + private const string KeyConsentFlowIncludeDefaultAdvertisingPartners = "consent_flow_should_include_default_advertising_partners"; + private const string KeyConsentFlowAnalyticsPartners = "consent_flow_analytics_partners"; + private const string KeyConsentFlowIncludeDefaultAnalyticsPartners = "consent_flow_should_include_default_analytics_partners"; + #if UNITY_2018_1_OR_NEWER public void OnPreprocessBuild(BuildReport report) #else @@ -42,6 +65,120 @@ namespace AppLovinMax.Scripts.IntegrationManager.Editor #else AddAppLovinQualityServicePlugin(AppLovinIntegrationManager.GradleTemplatePath); #endif + + // For Unity 2018.2 or newer, the consent flow is enabled in MaxPostProcessBuildAndroid. +#if !UNITY_2018_2_OR_NEWER + if (AppLovinSettings.Instance.ShowInternalSettingsInIntegrationManager) + { + var consentFlowSettingsFilePath = Path.Combine("Assets", "Plugin/Android/res/raw/"); + EnableConsentFlowIfNeeded(consentFlowSettingsFilePath); + } +#endif + } + + public static void EnableConsentFlowIfNeeded(string rawResourceDirectory) + { + // Check if consent flow is enabled. No need to create the applovin_consent_flow_settings.json if consent flow is disabled. + var consentFlowEnabled = AppLovinInternalSettings.Instance.ConsentFlowEnabled; + if (!consentFlowEnabled) return; + + var privacyPolicyUrl = AppLovinInternalSettings.Instance.ConsentFlowPrivacyPolicyUrl; + if (string.IsNullOrEmpty(privacyPolicyUrl)) + { + AppLovinIntegrationManager.ShowBuildFailureDialog("You cannot use the AppLovin SDK's consent flow without defining a Privacy Policy URL in the AppLovin Integration Manager."); + + // No need to update the applovin_consent_flow_settings.json here. Default consent flow state will be determined on the SDK side. + return; + } + + var consentFlowSettings = new Dictionary(); + consentFlowSettings[KeyConsentFlowEnabled] = consentFlowEnabled; + consentFlowSettings[KeyConsentFlowPrivacyPolicy] = privacyPolicyUrl; + + var termsOfServiceUrl = AppLovinInternalSettings.Instance.ConsentFlowTermsOfServiceUrl; + if (MaxSdkUtils.IsValidString(termsOfServiceUrl)) + { + consentFlowSettings[KeyConsentFlowTermsOfService] = termsOfServiceUrl; + } + + consentFlowSettings[KeyConsentFlowIncludeDefaultAdvertisingPartners] = AppLovinInternalSettings.Instance.ConsentFlowIncludeDefaultAdvertisingPartnerUrls; + var advertisingPartnerUrls = AppLovinInternalSettings.Instance.ConsentFlowAdvertisingPartnerUrls; + if (MaxSdkUtils.IsValidString(advertisingPartnerUrls)) + { + var advertisingPartnerUrlsList = advertisingPartnerUrls.Split(',').ToList(); + consentFlowSettings[KeyConsentFlowAdvertisingPartners] = advertisingPartnerUrlsList; + } + + consentFlowSettings[KeyConsentFlowIncludeDefaultAnalyticsPartners] = AppLovinInternalSettings.Instance.ConsentFlowIncludeDefaultAnalyticsPartnerUrls; + var analyticsPartnerUrls = AppLovinInternalSettings.Instance.ConsentFlowAnalyticsPartnerUrls; + if (MaxSdkUtils.IsValidString(analyticsPartnerUrls)) + { + var analyticsPartnerUrlsList = analyticsPartnerUrls.Split(',').ToList(); + consentFlowSettings[KeyConsentFlowAnalyticsPartners] = analyticsPartnerUrlsList; + } + + var applovinSdkSettings = new Dictionary(); + applovinSdkSettings[KeyConsentFlowSettings] = consentFlowSettings; + + var applovinSdkSettingsJson = Json.Serialize(applovinSdkSettings); + WriteAppLovinSettingsRawResourceFile(applovinSdkSettingsJson, rawResourceDirectory); + } + + public static void EnableTermsFlowIfNeeded(string rawResourceDirectory) + { + if (AppLovinSettings.Instance.ShowInternalSettingsInIntegrationManager) return; + + // Check if terms flow is enabled. No need to create the applovin_consent_flow_settings.json if consent flow is disabled. + var consentFlowEnabled = AppLovinSettings.Instance.ConsentFlowEnabled; + if (!consentFlowEnabled) return; + + // Check if terms flow is enabled for this format. + var consentFlowPlatform = AppLovinSettings.Instance.ConsentFlowPlatform; + if (consentFlowPlatform != Platform.All && consentFlowPlatform != Platform.Android) return; + + var privacyPolicyUrl = AppLovinSettings.Instance.ConsentFlowPrivacyPolicyUrl; + if (string.IsNullOrEmpty(privacyPolicyUrl)) + { + AppLovinIntegrationManager.ShowBuildFailureDialog("You cannot use the AppLovin SDK's consent flow without defining a Privacy Policy URL in the AppLovin Integration Manager."); + + // No need to update the applovin_consent_flow_settings.json here. Default consent flow state will be determined on the SDK side. + return; + } + + var consentFlowSettings = new Dictionary(); + consentFlowSettings[KeyTermsFlowEnabled] = consentFlowEnabled; + consentFlowSettings[KeyTermsFlowPrivacyPolicy] = privacyPolicyUrl; + + var termsOfServiceUrl = AppLovinSettings.Instance.ConsentFlowTermsOfServiceUrl; + if (MaxSdkUtils.IsValidString(termsOfServiceUrl)) + { + consentFlowSettings[KeyTermsFlowTermsOfService] = termsOfServiceUrl; + } + + var applovinSdkSettings = new Dictionary(); + applovinSdkSettings[KeyTermsFlowSettings] = consentFlowSettings; + + var applovinSdkSettingsJson = Json.Serialize(applovinSdkSettings); + WriteAppLovinSettingsRawResourceFile(applovinSdkSettingsJson, rawResourceDirectory); + } + + private static void WriteAppLovinSettingsRawResourceFile(string applovinSdkSettingsJson, string rawResourceDirectory) + { + if (!Directory.Exists(rawResourceDirectory)) + { + Directory.CreateDirectory(rawResourceDirectory); + } + + var consentFlowSettingsFilePath = Path.Combine(rawResourceDirectory, AppLovinSettingsFileName); + try + { + File.WriteAllText(consentFlowSettingsFilePath, applovinSdkSettingsJson + "\n"); + } + catch (Exception exception) + { + MaxSdkLogger.UserError("applovin_settings.json file write failed due to: " + exception.Message); + Console.WriteLine(exception); + } } public int callbackOrder diff --git a/Assets/ThirdParty/MaxSdk/Scripts/IntegrationManager/Editor/AppLovinPreProcessAndroid.cs.meta b/Assets/ThirdParty/MaxSdk/Scripts/IntegrationManager/Editor/AppLovinPreProcessAndroid.cs.meta index da6aed06e..4dd79e876 100644 --- a/Assets/ThirdParty/MaxSdk/Scripts/IntegrationManager/Editor/AppLovinPreProcessAndroid.cs.meta +++ b/Assets/ThirdParty/MaxSdk/Scripts/IntegrationManager/Editor/AppLovinPreProcessAndroid.cs.meta @@ -3,7 +3,6 @@ guid: 8ccaf444d0d4f4cadb5debe7c41b20c4 labels: - al_max - al_max_export_path-MaxSdk/Scripts/IntegrationManager/Editor/AppLovinPreProcessAndroid.cs -- al_max_export_path-MaxSdk\Scripts\IntegrationManager\Editor\AppLovinPreProcessAndroid.cs MonoImporter: externalObjects: {} serializedVersion: 2 diff --git a/Assets/ThirdParty/MaxSdk/Scripts/IntegrationManager/Editor/AppLovinProcessGradleBuildFile.cs b/Assets/ThirdParty/MaxSdk/Scripts/IntegrationManager/Editor/AppLovinProcessGradleBuildFile.cs index 172dabc69..5b767e782 100644 --- a/Assets/ThirdParty/MaxSdk/Scripts/IntegrationManager/Editor/AppLovinProcessGradleBuildFile.cs +++ b/Assets/ThirdParty/MaxSdk/Scripts/IntegrationManager/Editor/AppLovinProcessGradleBuildFile.cs @@ -12,6 +12,7 @@ using System.Collections.Generic; using System.IO; using System.Linq; using System.Text.RegularExpressions; +using UnityEditorInternal; using UnityEngine; using UnityEngine.Networking; using Debug = UnityEngine.Debug; @@ -36,13 +37,20 @@ namespace AppLovinMax.Scripts.IntegrationManager.Editor private static readonly Regex TokenApiKey = new Regex(".*apiKey.*"); private static readonly Regex TokenAppLovinPlugin = new Regex(".*apply plugin:.+?(?=applovin-quality-service).*"); +#if UNITY_2022_2_OR_NEWER + private const string PluginsMatcher = "plugins"; + private const string PluginManagementMatcher = "pluginManagement"; + private const string QualityServicePluginRoot = " id 'com.applovin.quality' version '+' apply false // NOTE: Requires version 4.8.3+ for Gradle version 7.2+"; +#endif + private const string BuildScriptMatcher = "buildscript"; - private const string QualityServiceMavenRepo = "maven { url 'https://artifacts.applovin.com/android' }"; + private const string QualityServiceMavenRepo = "maven { url 'https://artifacts.applovin.com/android'; content { includeGroupByRegex 'com.applovin.*' } }"; private const string QualityServiceDependencyClassPath = "classpath 'com.applovin.quality:AppLovinQualityServiceGradlePlugin:+'"; private const string QualityServiceApplyPlugin = "apply plugin: 'applovin-quality-service'"; private const string QualityServicePlugin = "applovin {"; private const string QualityServiceApiKey = " apiKey '{0}'"; private const string QualityServiceBintrayMavenRepo = "https://applovin.bintray.com/Quality-Service"; + private const string QualityServiceNoRegexMavenRepo = "maven { url 'https://artifacts.applovin.com/android' }"; // Legacy plugin detection variables private const string QualityServiceDependencyClassPathV3 = "classpath 'com.applovin.quality:AppLovinQualityServiceGradlePlugin:3.+'"; @@ -100,6 +108,126 @@ namespace AppLovinMax.Scripts.IntegrationManager.Editor Console.WriteLine(exception); } } +#if UNITY_2022_2_OR_NEWER + /// + /// Adds AppLovin Quality Service plugin DSL element to the project's root build.gradle file. + /// + /// The path to project's root build.gradle file. + /// true when the plugin was added successfully. + protected bool AddPluginToRootGradleBuildFile(string rootGradleBuildFile) + { + var lines = File.ReadAllLines(rootGradleBuildFile).ToList(); + var outputLines = new List(); + var pluginAdded = false; + var insidePluginsClosure = false; + foreach (var line in lines) + { + if (line.Contains(PluginsMatcher)) + { + insidePluginsClosure = true; + } + + if (!pluginAdded && insidePluginsClosure && line.Contains("}")) + { + outputLines.Add(QualityServicePluginRoot); + pluginAdded = true; + insidePluginsClosure = false; + } + + outputLines.Add(line); + } + + if (!pluginAdded) + { + MaxSdkLogger.UserError("Failed to add AppLovin Quality Service plugin to root gradle file."); + return false; + } + + try + { + File.WriteAllText(rootGradleBuildFile, string.Join("\n", outputLines.ToArray()) + "\n"); + } + catch (Exception exception) + { + MaxSdkLogger.UserError("Failed to install AppLovin Quality Service plugin. Root Gradle file write failed."); + Console.WriteLine(exception); + return false; + } + + return true; + } + + /// + /// Adds the AppLovin maven repository to the project's settings.gradle file. + /// + /// The path to the project's settings.gradle file. + /// true if the repository was added successfully. + protected bool AddAppLovinRepository(string settingsGradleFile) + { + var lines = File.ReadLines(settingsGradleFile).ToList(); + var outputLines = new List(); + var mavenRepoAdded = false; + var pluginManagementClosureDepth = 0; + var insidePluginManagementClosure = false; + var pluginManagementMatched = false; + foreach (var line in lines) + { + outputLines.Add(line); + + if (!pluginManagementMatched && line.Contains(PluginManagementMatcher)) + { + pluginManagementMatched = true; + insidePluginManagementClosure = true; + } + + if (insidePluginManagementClosure) + { + if (line.Contains("{")) + { + pluginManagementClosureDepth++; + } + + if (line.Contains("}")) + { + pluginManagementClosureDepth--; + } + + if (pluginManagementClosureDepth == 0) + { + insidePluginManagementClosure = false; + } + } + + if (insidePluginManagementClosure) + { + if (!mavenRepoAdded && TokenBuildScriptRepositories.IsMatch(line)) + { + outputLines.Add(GetFormattedBuildScriptLine(QualityServiceMavenRepo)); + mavenRepoAdded = true; + } + } + } + + if (!mavenRepoAdded) + { + MaxSdkLogger.UserError("Failed to add AppLovin Quality Service plugin maven repo to settings gradle file."); + return false; + } + + try + { + File.WriteAllText(settingsGradleFile, string.Join("\n", outputLines.ToArray()) + "\n"); + } + catch (Exception exception) + { + MaxSdkLogger.UserError("Failed to install AppLovin Quality Service plugin. Setting Gradle file write failed."); + Console.WriteLine(exception); + return false; + } + + return true; + } +#endif #if UNITY_2019_3_OR_NEWER /// @@ -155,45 +283,46 @@ namespace AppLovinMax.Scripts.IntegrationManager.Editor { var postJson = string.Format("{{\"sdk_key\" : \"{0}\"}}", sdkKey); var bodyRaw = Encoding.UTF8.GetBytes(postJson); + // Upload handler is automatically disposed when UnityWebRequest is disposed var uploadHandler = new UploadHandlerRaw(bodyRaw); uploadHandler.contentType = "application/json"; - var unityWebRequest = new UnityWebRequest("https://api2.safedk.com/v1/build/cred") + using (var unityWebRequest = new UnityWebRequest("https://api2.safedk.com/v1/build/cred")) { - method = UnityWebRequest.kHttpVerbPOST, - uploadHandler = uploadHandler, - downloadHandler = new DownloadHandlerBuffer() - }; + unityWebRequest.method = UnityWebRequest.kHttpVerbPOST; + unityWebRequest.uploadHandler = uploadHandler; + unityWebRequest.downloadHandler = new DownloadHandlerBuffer(); #if UNITY_2017_2_OR_NEWER - var operation = unityWebRequest.SendWebRequest(); + var operation = unityWebRequest.SendWebRequest(); #else - var operation = webRequest.Send(); + var operation = webRequest.Send(); #endif - // Wait for the download to complete or the request to timeout. - while (!operation.isDone) { } + // Wait for the download to complete or the request to timeout. + while (!operation.isDone) { } #if UNITY_2020_1_OR_NEWER - if (unityWebRequest.result != UnityWebRequest.Result.Success) + if (unityWebRequest.result != UnityWebRequest.Result.Success) #elif UNITY_2017_2_OR_NEWER - if (unityWebRequest.isNetworkError || unityWebRequest.isHttpError) + if (unityWebRequest.isNetworkError || unityWebRequest.isHttpError) #else - if (webRequest.isError) + if (webRequest.isError) #endif - { - MaxSdkLogger.UserError("Failed to retrieve API Key for SDK Key: " + sdkKey + "with error: " + unityWebRequest.error); - return new AppLovinQualityServiceData(); - } + { + MaxSdkLogger.UserError("Failed to retrieve API Key for SDK Key: " + sdkKey + "with error: " + unityWebRequest.error); + return new AppLovinQualityServiceData(); + } - try - { - return JsonUtility.FromJson(unityWebRequest.downloadHandler.text); - } - catch (Exception exception) - { - MaxSdkLogger.UserError("Failed to parse API Key." + exception); - return new AppLovinQualityServiceData(); + try + { + return JsonUtility.FromJson(unityWebRequest.downloadHandler.text); + } + catch (Exception exception) + { + MaxSdkLogger.UserError("Failed to parse API Key." + exception); + return new AppLovinQualityServiceData(); + } } } @@ -292,8 +421,8 @@ namespace AppLovinMax.Scripts.IntegrationManager.Editor var dependencyClassPathUpdated = false; foreach (var line in lines) { - // Bintray maven repo is no longer being used. Update to s3 maven repo. - if (!mavenRepoUpdated && line.Contains(QualityServiceBintrayMavenRepo)) + // Bintray maven repo is no longer being used. Update to s3 maven repo with regex check + if (!mavenRepoUpdated && (line.Contains(QualityServiceBintrayMavenRepo) || line.Contains(QualityServiceNoRegexMavenRepo))) { outputLines.Add(GetFormattedBuildScriptLine(QualityServiceMavenRepo)); mavenRepoUpdated = true; @@ -419,7 +548,9 @@ namespace AppLovinMax.Scripts.IntegrationManager.Editor private static string GetFormattedBuildScriptLine(string buildScriptLine) { -#if UNITY_2019_3_OR_NEWER +#if UNITY_2022_2_OR_NEWER + return " " +#elif UNITY_2019_3_OR_NEWER return " " #else return " " diff --git a/Assets/ThirdParty/MaxSdk/Scripts/IntegrationManager/Editor/AppLovinProcessGradleBuildFile.cs.meta b/Assets/ThirdParty/MaxSdk/Scripts/IntegrationManager/Editor/AppLovinProcessGradleBuildFile.cs.meta index 3eaf90782..5e4984448 100644 --- a/Assets/ThirdParty/MaxSdk/Scripts/IntegrationManager/Editor/AppLovinProcessGradleBuildFile.cs.meta +++ b/Assets/ThirdParty/MaxSdk/Scripts/IntegrationManager/Editor/AppLovinProcessGradleBuildFile.cs.meta @@ -3,7 +3,6 @@ guid: 732b7510bc9c94aafb3fd3b8c0dc5d2d labels: - al_max - al_max_export_path-MaxSdk/Scripts/IntegrationManager/Editor/AppLovinProcessGradleBuildFile.cs -- al_max_export_path-MaxSdk\Scripts\IntegrationManager\Editor\AppLovinProcessGradleBuildFile.cs MonoImporter: externalObjects: {} serializedVersion: 2 diff --git a/Assets/ThirdParty/MaxSdk/Scripts/IntegrationManager/Editor/AppLovinSettings.cs b/Assets/ThirdParty/MaxSdk/Scripts/IntegrationManager/Editor/AppLovinSettings.cs index 70654359b..94bc0d0ba 100644 --- a/Assets/ThirdParty/MaxSdk/Scripts/IntegrationManager/Editor/AppLovinSettings.cs +++ b/Assets/ThirdParty/MaxSdk/Scripts/IntegrationManager/Editor/AppLovinSettings.cs @@ -12,6 +12,17 @@ using UnityEditor; using UnityEngine; using UnityEngine.Serialization; + +namespace AppLovinMax.Scripts.IntegrationManager.Editor +{ + public enum Platform + { + All, + Android, + iOS + } +} + /// /// A representing the AppLovin Settings that can be set in the Integration Manager Window. /// @@ -26,6 +37,7 @@ public class AppLovinSettings : ScriptableObject public const string DefaultUserTrackingDescriptionEnV0 = "Pressing \\\"Allow\\\" uses device info for more relevant ad content"; public const string DefaultUserTrackingDescriptionEnV1 = "This only uses device info for less annoying, more relevant ads"; public const string DefaultUserTrackingDescriptionEnV2 = "This only uses device info for more interesting and relevant ads"; + public const string DefaultUserTrackingDescriptionEnV3 = "This uses device info for more personalized ads and content"; public const string DefaultUserTrackingDescriptionDe = "\\\"Erlauben\\\" drücken benutzt Gerätinformationen für relevantere Werbeinhalte"; public const string DefaultUserTrackingDescriptionEs = "Presionando \\\"Permitir\\\", se usa la información del dispositivo para obtener contenido publicitario más relevante"; @@ -35,8 +47,6 @@ public class AppLovinSettings : ScriptableObject public const string DefaultUserTrackingDescriptionZhHans = "点击\\\"允许\\\"以使用设备信息获得更加相关的广告内容"; public const string DefaultUserTrackingDescriptionZhHant = "點擊\\\"允許\\\"以使用設備信息獲得更加相關的廣告內容"; - public const string SnapAppStoreAppIdMinVersion = "2.0.0.0"; - /// /// A placeholder constant to be replaced with the actual default localization or an empty string based on whether or not localization is enabled when when the getter is called. /// @@ -50,6 +60,7 @@ public class AppLovinSettings : ScriptableObject [SerializeField] private bool setAttributionReportEndpoint; [SerializeField] private bool consentFlowEnabled; + [SerializeField] private Platform consentFlowPlatform; [SerializeField] private string consentFlowPrivacyPolicyUrl = string.Empty; [SerializeField] private string consentFlowTermsOfServiceUrl = string.Empty; [FormerlySerializedAs("userTrackingUsageDescription")] [SerializeField] private string userTrackingUsageDescriptionEn = string.Empty; @@ -65,7 +76,7 @@ public class AppLovinSettings : ScriptableObject [SerializeField] private string adMobAndroidAppId = string.Empty; [SerializeField] private string adMobIosAppId = string.Empty; - [SerializeField] private int snapAppStoreAppId; + [SerializeField] private bool showInternalSettingsInIntegrationManager; /// /// An instance of AppLovin Setting. @@ -76,6 +87,21 @@ public class AppLovinSettings : ScriptableObject { if (instance == null) { + // Check for an existing AppLovinSettings somewhere in the project + var guids = AssetDatabase.FindAssets("AppLovinSettings t:ScriptableObject"); + if (guids.Length > 1) + { + MaxSdkLogger.UserWarning("Multiple AppLovinSettings found. This may cause unexpected results."); + } + + if (guids.Length != 0) + { + var path = AssetDatabase.GUIDToAssetPath(guids[0]); + instance = AssetDatabase.LoadAssetAtPath(path); + return instance; + } + + // If there is no existing AppLovinSettings asset, create one in the default location string settingsFilePath; // The settings file should be under the Assets/ folder so that it can be version controlled and cannot be overriden when updating. // If the plugin is outside the Assets folder, create the settings asset at the default location. @@ -101,11 +127,9 @@ public class AppLovinSettings : ScriptableObject Directory.CreateDirectory(settingsDir); } - instance = AssetDatabase.LoadAssetAtPath(settingsFilePath); - if (instance != null) return instance; - instance = CreateInstance(); AssetDatabase.CreateAsset(instance, settingsFilePath); + MaxSdkLogger.D("Creating new AppLovinSettings asset at path: " + settingsFilePath); } return instance; @@ -148,9 +172,10 @@ public class AppLovinSettings : ScriptableObject { // Update the default EN description if an old version of the description is still being used. if (DefaultUserTrackingDescriptionEnV0.Equals(Instance.UserTrackingUsageDescriptionEn) - || DefaultUserTrackingDescriptionEnV1.Equals(Instance.UserTrackingUsageDescriptionEn)) + || DefaultUserTrackingDescriptionEnV1.Equals(Instance.UserTrackingUsageDescriptionEn) + || DefaultUserTrackingDescriptionEnV2.Equals(Instance.UserTrackingUsageDescriptionEn)) { - Instance.UserTrackingUsageDescriptionEn = DefaultUserTrackingDescriptionEnV2; + Instance.UserTrackingUsageDescriptionEn = DefaultUserTrackingDescriptionEnV3; } return Instance.consentFlowEnabled; @@ -165,11 +190,12 @@ public class AppLovinSettings : ScriptableObject // If the value didn't change, we don't need to update anything. if (previousValue) return; - Instance.UserTrackingUsageDescriptionEn = DefaultUserTrackingDescriptionEnV2; + Instance.UserTrackingUsageDescriptionEn = DefaultUserTrackingDescriptionEnV3; Instance.UserTrackingUsageLocalizationEnabled = true; } else { + Instance.ConsentFlowPlatform = Platform.All; Instance.ConsentFlowPrivacyPolicyUrl = string.Empty; Instance.ConsentFlowTermsOfServiceUrl = string.Empty; Instance.UserTrackingUsageDescriptionEn = string.Empty; @@ -178,6 +204,12 @@ public class AppLovinSettings : ScriptableObject } } + public Platform ConsentFlowPlatform + { + get { return Instance.consentFlowEnabled ? Instance.consentFlowPlatform : Platform.All; } + set { Instance.consentFlowPlatform = value; } + } + /// /// A URL pointing to the Privacy Policy for the app to be shown when prompting the user for consent. /// @@ -221,7 +253,7 @@ public class AppLovinSettings : ScriptableObject if (value) { // If the value didn't change or the english localization text is not the default one, we don't need to update anything. - if (previousValue || !DefaultUserTrackingDescriptionEnV2.Equals(Instance.UserTrackingUsageDescriptionEn)) return; + if (previousValue || !DefaultUserTrackingDescriptionEnV3.Equals(Instance.UserTrackingUsageDescriptionEn)) return; Instance.UserTrackingUsageDescriptionDe = DefaultUserTrackingDescriptionDe; Instance.UserTrackingUsageDescriptionEs = DefaultUserTrackingDescriptionEs; @@ -342,13 +374,10 @@ public class AppLovinSettings : ScriptableObject set { Instance.adMobIosAppId = value; } } - /// - /// Snap App Store App ID. - /// - public int SnapAppStoreAppId + public bool ShowInternalSettingsInIntegrationManager { - get { return Instance.snapAppStoreAppId; } - set { Instance.snapAppStoreAppId = value; } + get { return Instance.showInternalSettingsInIntegrationManager; } + set { Instance.showInternalSettingsInIntegrationManager = value; } } /// diff --git a/Assets/ThirdParty/MaxSdk/Scripts/IntegrationManager/Editor/AppLovinSettings.cs.meta b/Assets/ThirdParty/MaxSdk/Scripts/IntegrationManager/Editor/AppLovinSettings.cs.meta index 5efa24d3e..7e40d7375 100644 --- a/Assets/ThirdParty/MaxSdk/Scripts/IntegrationManager/Editor/AppLovinSettings.cs.meta +++ b/Assets/ThirdParty/MaxSdk/Scripts/IntegrationManager/Editor/AppLovinSettings.cs.meta @@ -3,7 +3,6 @@ guid: ebc0ba1b5ef6b4a6b9dd53d7eadfea16 labels: - al_max - al_max_export_path-MaxSdk/Scripts/IntegrationManager/Editor/AppLovinSettings.cs -- al_max_export_path-MaxSdk\Scripts\IntegrationManager\Editor\AppLovinSettings.cs MonoImporter: externalObjects: {} serializedVersion: 2 diff --git a/Assets/ThirdParty/MaxSdk/Scripts/IntegrationManager/Editor/MaxSdk.IntegrationManager.Editor.asmdef.meta b/Assets/ThirdParty/MaxSdk/Scripts/IntegrationManager/Editor/MaxSdk.IntegrationManager.Editor.asmdef.meta index 320f855a6..272b87278 100644 --- a/Assets/ThirdParty/MaxSdk/Scripts/IntegrationManager/Editor/MaxSdk.IntegrationManager.Editor.asmdef.meta +++ b/Assets/ThirdParty/MaxSdk/Scripts/IntegrationManager/Editor/MaxSdk.IntegrationManager.Editor.asmdef.meta @@ -3,9 +3,4 @@ guid: a10a05a8449c42519fd80f2b8b580de3 labels: - al_max - al_max_export_path-MaxSdk/Scripts/IntegrationManager/Editor/MaxSdk.IntegrationManager.Editor.asmdef -- al_max_export_path-MaxSdk\Scripts\IntegrationManager\Editor\MaxSdk.IntegrationManager.Editor.asmdef -AssemblyDefinitionImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: +timeCreated: 1591749873 diff --git a/Assets/ThirdParty/MaxSdk/Scripts/MaxEventSystemChecker.cs b/Assets/ThirdParty/MaxSdk/Scripts/MaxEventSystemChecker.cs new file mode 100644 index 000000000..19a082f2b --- /dev/null +++ b/Assets/ThirdParty/MaxSdk/Scripts/MaxEventSystemChecker.cs @@ -0,0 +1,37 @@ +// +// EventSystemChecker.cs +// AppLovin MAX Unity Plugin +// +// Created by Jonathan Liu on 10/23/2022. +// Copyright © 2022 AppLovin. All rights reserved. +// + +#if UNITY_EDITOR +using UnityEngine; +using UnityEngine.EventSystems; + +namespace AppLovinMax.Scripts +{ + /// + /// A script to check and enable event system as needed for the AppLovin MAX ad prefabs. + /// + [RequireComponent(typeof(EventSystem))] + public class MaxEventSystemChecker : MonoBehaviour + { + private void Awake() + { + // Enable the EventSystem if there is no other EventSystem in the scene + var eventSystem = GetComponent(); + var currentSystem = UnityEngine.EventSystems.EventSystem.current; + if (currentSystem == null || currentSystem == eventSystem) + { + eventSystem.enabled = true; + } + else + { + eventSystem.enabled = false; + } + } + } +} +#endif diff --git a/Assets/ThirdParty/MaxSdk/Mediation/Google/Editor/PostProcessor.cs.meta b/Assets/ThirdParty/MaxSdk/Scripts/MaxEventSystemChecker.cs.meta similarity index 55% rename from Assets/ThirdParty/MaxSdk/Mediation/Google/Editor/PostProcessor.cs.meta rename to Assets/ThirdParty/MaxSdk/Scripts/MaxEventSystemChecker.cs.meta index 4b466af8f..12874b697 100644 --- a/Assets/ThirdParty/MaxSdk/Mediation/Google/Editor/PostProcessor.cs.meta +++ b/Assets/ThirdParty/MaxSdk/Scripts/MaxEventSystemChecker.cs.meta @@ -1,9 +1,8 @@ fileFormatVersion: 2 -guid: 42aa959278164e1683addd3bd5ff03d2 +guid: e0acf281ba86b4929a6942ecd998395b labels: - al_max -- al_max_export_path-MaxSdk/Mediation/Google/Editor/PostProcessor.cs -- al_max_export_path-MaxSdk\Mediation\Google\Editor\PostProcessor.cs +- al_max_export_path-MaxSdk/Scripts/MaxEventSystemChecker.cs MonoImporter: externalObjects: {} serializedVersion: 2 diff --git a/Assets/ThirdParty/MaxSdk/Scripts/MaxEvents.cs.meta b/Assets/ThirdParty/MaxSdk/Scripts/MaxEvents.cs.meta index 8327c7f2b..bfb6ad5d4 100644 --- a/Assets/ThirdParty/MaxSdk/Scripts/MaxEvents.cs.meta +++ b/Assets/ThirdParty/MaxSdk/Scripts/MaxEvents.cs.meta @@ -3,7 +3,6 @@ guid: 67ec2f620c6b0405ba16ea2c032dc9a2 labels: - al_max - al_max_export_path-MaxSdk/Scripts/MaxEvents.cs -- al_max_export_path-MaxSdk\Scripts\MaxEvents.cs MonoImporter: externalObjects: {} serializedVersion: 2 diff --git a/Assets/ThirdParty/MaxSdk/Scripts/MaxSdk.Scripts.asmdef.meta b/Assets/ThirdParty/MaxSdk/Scripts/MaxSdk.Scripts.asmdef.meta index 2c412e6f3..b55da7247 100644 --- a/Assets/ThirdParty/MaxSdk/Scripts/MaxSdk.Scripts.asmdef.meta +++ b/Assets/ThirdParty/MaxSdk/Scripts/MaxSdk.Scripts.asmdef.meta @@ -3,7 +3,6 @@ guid: a4cfc1a18fa3a469b96d885db522f42e labels: - al_max - al_max_export_path-MaxSdk/Scripts/MaxSdk.Scripts.asmdef -- al_max_export_path-MaxSdk\Scripts\MaxSdk.Scripts.asmdef AssemblyDefinitionImporter: externalObjects: {} userData: diff --git a/Assets/ThirdParty/MaxSdk/Scripts/MaxSdk.cs b/Assets/ThirdParty/MaxSdk/Scripts/MaxSdk.cs index 779486d97..8e8715857 100644 --- a/Assets/ThirdParty/MaxSdk/Scripts/MaxSdk.cs +++ b/Assets/ThirdParty/MaxSdk/Scripts/MaxSdk.cs @@ -18,7 +18,7 @@ public class MaxSdk : MaxSdkUnityEditor #endif { - private const string _version = "5.4.5"; + private const string _version = "5.10.1"; /// /// Returns the current plugin version. diff --git a/Assets/ThirdParty/MaxSdk/Scripts/MaxSdk.cs.meta b/Assets/ThirdParty/MaxSdk/Scripts/MaxSdk.cs.meta index 93a6a6eb6..c1c32f444 100644 --- a/Assets/ThirdParty/MaxSdk/Scripts/MaxSdk.cs.meta +++ b/Assets/ThirdParty/MaxSdk/Scripts/MaxSdk.cs.meta @@ -3,7 +3,6 @@ guid: 2fc7aa576843c44e68c7ab14b475bb82 labels: - al_max - al_max_export_path-MaxSdk/Scripts/MaxSdk.cs -- al_max_export_path-MaxSdk\Scripts\MaxSdk.cs MonoImporter: externalObjects: {} serializedVersion: 2 diff --git a/Assets/ThirdParty/MaxSdk/Scripts/MaxSdkAndroid.cs b/Assets/ThirdParty/MaxSdk/Scripts/MaxSdkAndroid.cs index 19a3efa16..cd1a0f883 100644 --- a/Assets/ThirdParty/MaxSdk/Scripts/MaxSdkAndroid.cs +++ b/Assets/ThirdParty/MaxSdk/Scripts/MaxSdkAndroid.cs @@ -122,6 +122,17 @@ public class MaxSdkAndroid : MaxSdkBase MaxUnityPluginClass.CallStatic("showMediationDebugger"); } + /// + /// Present the creative debugger UI. + /// This debugger tool provides information for recently displayed ads. + /// + /// Please call this method after the SDK has initialized. + /// + public static void ShowCreativeDebugger() + { + MaxUnityPluginClass.CallStatic("showCreativeDebugger"); + } + /// /// Returns the arbitrary ad value for a given ad unit identifier with key. Returns null if no ad is loaded. /// @@ -156,7 +167,7 @@ public class MaxSdkAndroid : MaxSdkBase /// /// Set whether or not user has provided consent for information sharing with AppLovin and other providers. /// - /// true if the user has provided consent for information sharing with AppLovin. false by default. + /// true if the user has provided consent for information sharing with AppLovin. false by default. public static void SetHasUserConsent(bool hasUserConsent) { MaxUnityPluginClass.CallStatic("setHasUserConsent", hasUserConsent); @@ -165,7 +176,7 @@ public class MaxSdkAndroid : MaxSdkBase /// /// Check if user has provided consent for information sharing with AppLovin and other providers. /// - /// true if user has provided consent for information sharing. false if the user declined to share information or the consent value has not been set . + /// true if user has provided consent for information sharing. false if the user declined to share information or the consent value has not been set . public static bool HasUserConsent() { return MaxUnityPluginClass.CallStatic("hasUserConsent"); @@ -174,7 +185,7 @@ public class MaxSdkAndroid : MaxSdkBase /// /// Check if user has set consent for information sharing. /// - /// true if user has set a value of consent for information sharing. + /// true if user has set a value of consent for information sharing. public static bool IsUserConsentSet() { return MaxUnityPluginClass.CallStatic("isUserConsentSet"); @@ -183,7 +194,7 @@ public class MaxSdkAndroid : MaxSdkBase /// /// Mark user as age restricted (i.e. under 16). /// - /// true if the user is age restricted (i.e. under 16). + /// true if the user is age restricted (i.e. under 16). public static void SetIsAgeRestrictedUser(bool isAgeRestrictedUser) { MaxUnityPluginClass.CallStatic("setIsAgeRestrictedUser", isAgeRestrictedUser); @@ -192,7 +203,7 @@ public class MaxSdkAndroid : MaxSdkBase /// /// Check if user is age restricted. /// - /// true if the user is age-restricted. false if the user is not age-restricted or the age-restriction has not been set. + /// true if the user is age-restricted. false if the user is not age-restricted or the age-restriction has not been set. public static bool IsAgeRestrictedUser() { return MaxUnityPluginClass.CallStatic("isAgeRestrictedUser"); @@ -201,7 +212,7 @@ public class MaxSdkAndroid : MaxSdkBase /// /// Check if the user has set its age restricted settings. /// - /// true if the user has set its age restricted settings. + /// true if the user has set its age restricted settings. public static bool IsAgeRestrictedUserSet() { return MaxUnityPluginClass.CallStatic("isAgeRestrictedUserSet"); @@ -210,7 +221,7 @@ public class MaxSdkAndroid : MaxSdkBase /// /// Set whether or not user has opted out of the sale of their personal information. /// - /// true if the user has opted out of the sale of their personal information. + /// true if the user has opted out of the sale of their personal information. public static void SetDoNotSell(bool doNotSell) { MaxUnityPluginClass.CallStatic("setDoNotSell", doNotSell); @@ -219,7 +230,7 @@ public class MaxSdkAndroid : MaxSdkBase /// /// Check if the user has opted out of the sale of their personal information. /// - /// true if the user has opted out of the sale of their personal information. false if the user opted in to the sell of their personal information or the value has not been set . + /// true if the user has opted out of the sale of their personal information. false if the user opted in to the sell of their personal information or the value has not been set . public static bool IsDoNotSell() { return MaxUnityPluginClass.CallStatic("isDoNotSell"); @@ -228,7 +239,7 @@ public class MaxSdkAndroid : MaxSdkBase /// /// Check if the user has set the option to sell their personal information. /// - /// true if user has chosen an option to sell their personal information. + /// true if user has chosen an option to sell their personal information. public static bool IsDoNotSellSet() { return MaxUnityPluginClass.CallStatic("isDoNotSellSet"); @@ -264,6 +275,18 @@ public class MaxSdkAndroid : MaxSdkBase MaxUnityPluginClass.CallStatic("createBanner", adUnitIdentifier, x, y); } + /// + /// Load a new banner ad. + /// NOTE: The method loads the first banner ad and initiates an automated banner refresh process. + /// You only need to call this method if you pause banner refresh. + /// + /// Ad unit identifier of the banner to load + public static void LoadBanner(string adUnitIdentifier) + { + ValidateAdUnitIdentifier(adUnitIdentifier, "load banner"); + MaxUnityPluginClass.CallStatic("loadBanner", adUnitIdentifier); + } + /// /// Set the banner placement for an ad unit identifier to tie the future ad events to. /// @@ -459,6 +482,18 @@ public class MaxSdkAndroid : MaxSdkBase MaxUnityPluginClass.CallStatic("createMRec", adUnitIdentifier, x, y); } + /// + /// Load a new MREC ad. + /// NOTE: The method loads the first MREC ad and initiates an automated MREC refresh process. + /// You only need to call this method if you pause MREC refresh. + /// + /// Ad unit identifier of the MREC to load + public static void LoadMRec(string adUnitIdentifier) + { + ValidateAdUnitIdentifier(adUnitIdentifier, "load MREC"); + MaxUnityPluginClass.CallStatic("loadMRec", adUnitIdentifier); + } + /// /// Set the MREC placement for an ad unit identifier to tie the future ad events to. /// @@ -771,6 +806,81 @@ public class MaxSdkAndroid : MaxSdkBase #endregion + #region App Open + + /// + /// Start loading an app open ad. + /// + /// Ad unit identifier of the app open ad to load + public static void LoadAppOpenAd(string adUnitIdentifier) + { + ValidateAdUnitIdentifier(adUnitIdentifier, "load app open ad"); + MaxUnityPluginClass.CallStatic("loadAppOpenAd", adUnitIdentifier); + } + + /// + /// Check if app open ad ad is loaded and ready to be displayed. + /// + /// Ad unit identifier of the app open ad to load + /// True if the ad is ready to be displayed + public static bool IsAppOpenAdReady(string adUnitIdentifier) + { + ValidateAdUnitIdentifier(adUnitIdentifier, "check app open ad loaded"); + return MaxUnityPluginClass.CallStatic("isAppOpenAdReady", adUnitIdentifier); + } + + /// + /// Present loaded app open ad for a given placement to tie ad events to. Note: if the app open ad is not ready to be displayed nothing will happen. + /// + /// Ad unit identifier of the app open ad to load + /// The placement to tie the showing ad's events to + /// The custom data to tie the showing ad's events to. Maximum size is 8KB. + public static void ShowAppOpenAd(string adUnitIdentifier, string placement = null, string customData = null) + { + ValidateAdUnitIdentifier(adUnitIdentifier, "show app open ad"); + + if (IsAppOpenAdReady(adUnitIdentifier)) + { + MaxUnityPluginClass.CallStatic("showAppOpenAd", adUnitIdentifier, placement, customData); + } + else + { + MaxSdkLogger.UserWarning("Not showing MAX Ads app open ad: ad not ready"); + } + } + + /// + /// Set an extra parameter for the ad. + /// + /// Ad unit identifier of the app open ad to set the extra parameter for. + /// The key for the extra parameter. + /// The value for the extra parameter. + public static void SetAppOpenAdExtraParameter(string adUnitIdentifier, string key, string value) + { + ValidateAdUnitIdentifier(adUnitIdentifier, "set app open ad extra parameter"); + MaxUnityPluginClass.CallStatic("setAppOpenAdExtraParameter", adUnitIdentifier, key, value); + } + + /// + /// Set a local extra parameter for the ad. + /// + /// Ad unit identifier of the app open ad to set the local extra parameter for. + /// The key for the local extra parameter. + /// The value for the extra parameter. Needs to be of type or null + public static void SetAppOpenAdLocalExtraParameter(string adUnitIdentifier, string key, object value) + { + if (value != null && value.GetType() != typeof(AndroidJavaObject)) + { + MaxSdkLogger.E("Failed to set local extra parameter. Android local extra parameters need to be of type AndroidJavaObject"); + return; + } + + ValidateAdUnitIdentifier(adUnitIdentifier, "set app open ad local extra parameter"); + MaxUnityPluginClass.CallStatic("setAppOpenAdLocalExtraParameter", adUnitIdentifier, key, (AndroidJavaObject) value); + } + + #endregion + #region Rewarded /// @@ -1114,7 +1224,14 @@ public class MaxSdkAndroid : MaxSdkBase public void onEvent(string propsStr) { - MaxSdkCallbacks.Instance.ForwardEvent(propsStr); + try + { + MaxSdkCallbacks.Instance.ForwardEvent(propsStr); + } + catch (Exception exception) + { + MaxSdkLogger.UserError("Unable to notify ad delegate due to exception: " + exception.Message); + } } } } diff --git a/Assets/ThirdParty/MaxSdk/Scripts/MaxSdkAndroid.cs.meta b/Assets/ThirdParty/MaxSdk/Scripts/MaxSdkAndroid.cs.meta index cd86fd696..2cf54482b 100644 --- a/Assets/ThirdParty/MaxSdk/Scripts/MaxSdkAndroid.cs.meta +++ b/Assets/ThirdParty/MaxSdk/Scripts/MaxSdkAndroid.cs.meta @@ -3,7 +3,6 @@ guid: 10335fad6bfef47b8819a411aa591dc8 labels: - al_max - al_max_export_path-MaxSdk/Scripts/MaxSdkAndroid.cs -- al_max_export_path-MaxSdk\Scripts\MaxSdkAndroid.cs MonoImporter: externalObjects: {} serializedVersion: 2 diff --git a/Assets/ThirdParty/MaxSdk/Scripts/MaxSdkBase.cs b/Assets/ThirdParty/MaxSdk/Scripts/MaxSdkBase.cs index 0f950fa5c..99f331d77 100644 --- a/Assets/ThirdParty/MaxSdk/Scripts/MaxSdkBase.cs +++ b/Assets/ThirdParty/MaxSdk/Scripts/MaxSdkBase.cs @@ -1,39 +1,21 @@ using System; using System.Collections.Generic; using System.Globalization; +using System.Linq; using System.Text; using AppLovinMax.ThirdParty.MiniJson; using UnityEngine; +#if UNITY_IOS && !UNITY_EDITOR +using System.Runtime.InteropServices; +#endif + public abstract class MaxSdkBase { // Shared Properties protected static readonly MaxUserSegment SharedUserSegment = new MaxUserSegment(); protected static readonly MaxTargetingData SharedTargetingData = new MaxTargetingData(); - /// - /// This enum represents whether or not the consent dialog should be shown for this user. - /// The state where no such determination could be made is represented by . - /// - /// NOTE: This version of the iOS consent flow has been deprecated and is only available on UNITY_ANDROID as of MAX Unity Plugin v4.0.0 + iOS SDK v7.0.0, please refer to our documentation for enabling the new consent flow. - /// - public enum ConsentDialogState - { - /// - /// The consent dialog state could not be determined. This is likely due to SDK failing to initialize. - /// - Unknown, - - /// - /// This user should be shown a consent dialog. - /// - Applies, - - /// - /// This user should not be shown a consent dialog. - /// - DoesNotApply - } #if UNITY_EDITOR || UNITY_IPHONE || UNITY_IOS /// @@ -99,23 +81,42 @@ public abstract class MaxSdkBase /// /// Whether or not the SDK has been initialized successfully. /// - public bool IsSuccessfullyInitialized; - - /// - /// Get the consent dialog state for this user. If no such determination could be made, `ALConsentDialogStateUnknown` will be returned. - /// - public ConsentDialogState ConsentDialogState; + public bool IsSuccessfullyInitialized { get; private set; } /// /// Get the country code for this user. /// - public string CountryCode; + public string CountryCode { get; private set; } #if UNITY_EDITOR || UNITY_IPHONE || UNITY_IOS /// /// App tracking status values. Primarily used in conjunction with iOS14's AppTrackingTransparency.framework. /// - public AppTrackingStatus AppTrackingStatus; + public AppTrackingStatus AppTrackingStatus { get; private set; } +#endif + + public bool IsTestModeEnabled { get; private set; } + + [Obsolete("This API has been deprecated and will be removed in a future release.")] + public ConsentDialogState ConsentDialogState { get; private set; } + +#if UNITY_EDITOR || !(UNITY_ANDROID || UNITY_IPHONE || UNITY_IOS) + public static SdkConfiguration CreateEmpty() + { + var sdkConfiguration = new SdkConfiguration(); + sdkConfiguration.IsSuccessfullyInitialized = true; +#pragma warning disable 0618 + sdkConfiguration.ConsentDialogState = ConsentDialogState.Unknown; +#pragma warning restore 0618 +#if UNITY_EDITOR + sdkConfiguration.AppTrackingStatus = AppTrackingStatus.Authorized; +#endif + var currentRegion = RegionInfo.CurrentRegion; + sdkConfiguration.CountryCode = currentRegion != null ? currentRegion.TwoLetterISORegionName : "US"; + sdkConfiguration.IsTestModeEnabled = false; + + return sdkConfiguration; + } #endif public static SdkConfiguration Create(IDictionary eventProps) @@ -124,7 +125,9 @@ public abstract class MaxSdkBase sdkConfiguration.IsSuccessfullyInitialized = MaxSdkUtils.GetBoolFromDictionary(eventProps, "isSuccessfullyInitialized"); sdkConfiguration.CountryCode = MaxSdkUtils.GetStringFromDictionary(eventProps, "countryCode", ""); + sdkConfiguration.IsTestModeEnabled = MaxSdkUtils.GetBoolFromDictionary(eventProps, "isTestModeEnabled"); +#pragma warning disable 0618 var consentDialogStateStr = MaxSdkUtils.GetStringFromDictionary(eventProps, "consentDialogState", ""); if ("1".Equals(consentDialogStateStr)) { @@ -138,6 +141,7 @@ public abstract class MaxSdkBase { sdkConfiguration.ConsentDialogState = ConsentDialogState.Unknown; } +#pragma warning restore 0618 #if UNITY_IPHONE || UNITY_IOS var appTrackingStatusStr = MaxSdkUtils.GetStringFromDictionary(eventProps, "appTrackingStatus", "-1"); @@ -343,7 +347,7 @@ public abstract class MaxSdkBase return "[MediatedNetworkInfo: name = " + Name + ", testName = " + TestName + ", latency = " + LatencyMillis + - ", networkResponse = " + NetworkResponses + "]"; + ", networkResponse = " + string.Join(", ", NetworkResponses.Select(networkResponseInfo => networkResponseInfo.ToString()).ToArray()) + "]"; } } @@ -352,6 +356,7 @@ public abstract class MaxSdkBase public MaxAdLoadState AdLoadState { get; private set; } public MediatedNetworkInfo MediatedNetwork { get; private set; } public Dictionary Credentials { get; private set; } + public bool IsBidding { get; private set; } public long LatencyMillis { get; private set; } public ErrorInfo Error { get; private set; } @@ -361,6 +366,7 @@ public abstract class MaxSdkBase MediatedNetwork = mediatedNetworkInfoDict != null ? new MediatedNetworkInfo(mediatedNetworkInfoDict) : null; Credentials = MaxSdkUtils.GetDictionaryFromDictionary(networkResponseInfoDict, "credentials", new Dictionary()); + IsBidding = MaxSdkUtils.GetBoolFromDictionary(networkResponseInfoDict, "isBidding"); LatencyMillis = MaxSdkUtils.GetLongFromDictionary(networkResponseInfoDict, "latencyMillis"); AdLoadState = (MaxAdLoadState) MaxSdkUtils.GetIntFromDictionary(networkResponseInfoDict, "adLoadState"); @@ -372,7 +378,7 @@ public abstract class MaxSdkBase { var stringBuilder = new StringBuilder("[NetworkResponseInfo: adLoadState = ").Append(AdLoadState); stringBuilder.Append(", mediatedNetwork = ").Append(MediatedNetwork); - stringBuilder.Append(", credentials = ").Append(Credentials); + stringBuilder.Append(", credentials = ").Append(string.Join(", ", Credentials.Select(keyValuePair => keyValuePair.ToString()).ToArray())); switch (AdLoadState) { @@ -497,6 +503,14 @@ public abstract class MaxSdkBase return new Rect(originX, originY, width, height); } + + [Obsolete("This API has been deprecated and will be removed in a future release.")] + public enum ConsentDialogState + { + Unknown, + Applies, + DoesNotApply + } } /// @@ -584,3 +598,154 @@ internal static class AdPositionExtenstion } } } + +namespace AppLovinMax.Internal.API +{ + public class CFError + { + /// + /// Indicates that the flow ended in an unexpected state. + /// + public const int ErrorCodeUnspecified = -1; + + /// + /// Indicates that the consent flow has not been integrated correctly. + /// + public const int ErrorCodeInvalidIntegration = -100; + + /// + /// Indicates that the consent flow is already being shown. + /// + public const int ErrorCodeFlowAlreadyInProgress = -200; + + /// + /// Indicates that the user is not in a GDPR region. + /// + public const int ErrorCodeNotInGdprRegion = -300; + + /// + /// The error code for this error. Will be one of the error codes listed in this file. + /// + public int Code { get; private set; } + + /// + /// The error message for this error. + /// + public string Message { get; private set; } + + public static CFError Create(IDictionary errorObject) + { + if (!errorObject.ContainsKey("code") && !errorObject.ContainsKey("message")) return null; + + var code = MaxSdkUtils.GetIntFromDictionary(errorObject, "code", ErrorCodeUnspecified); + var message = MaxSdkUtils.GetStringFromDictionary(errorObject, "message"); + return new CFError(code, message); + } + + private CFError(int code, string message) + { + Code = code; + Message = message; + } + + public override string ToString() + { + return "[CFError Code: " + Code + + ", Message: " + Message + "]"; + } + } + + public enum CFType + { + /// + /// The flow type is not known. + /// + Unknown, + + /// + /// A standard flow where a TOS/PP alert is shown. + /// + Standard, + + /// + /// A detailed modal shown to users in GDPR region. + /// + Detailed + } + + public class CFService + { + private static Action OnConsentFlowCompletedAction; + +#if UNITY_EDITOR +#elif UNITY_ANDROID + private static readonly AndroidJavaClass MaxUnityPluginClass = new AndroidJavaClass("com.applovin.mediation.unity.MaxUnityPlugin"); +#elif UNITY_IOS + [DllImport("__Internal")] + private static extern string _MaxGetCFType(); + + [DllImport("__Internal")] + private static extern void _MaxStartConsentFlow(); +#endif + + /// + /// The consent flow type that will be displayed. + /// + public static CFType CFType + { + get + { + var cfType = "0"; +#if UNITY_EDITOR +#elif UNITY_ANDROID + cfType = MaxUnityPluginClass.CallStatic("getCFType"); +#elif UNITY_IOS + cfType = _MaxGetCFType(); +#endif + + if ("1".Equals(cfType)) + { + return CFType.Standard; + } + else if ("2".Equals(cfType)) + { + return CFType.Detailed; + } + + return CFType.Unknown; + } + } + + /// + /// Starts the consent flow. Call this method to re-show the consent flow for a user in GDPR region. + /// + /// Note: The flow will only be shown to users in GDPR regions. + /// + /// Called when we finish showing the consent flow. Error object will be null if the flow completed successfully. + public static void SCF(Action onFlowCompletedAction) + { + OnConsentFlowCompletedAction = onFlowCompletedAction; + +#if UNITY_EDITOR + var errorDict = new Dictionary() + { + {"code", CFError.ErrorCodeUnspecified}, + {"message", "Consent flow is not supported in Unity Editor."} + }; + + NotifyConsentFlowCompletedIfNeeded(errorDict); +#elif UNITY_ANDROID + MaxUnityPluginClass.CallStatic("startConsentFlow"); +#elif UNITY_IOS + _MaxStartConsentFlow(); +#endif + } + + public static void NotifyConsentFlowCompletedIfNeeded(IDictionary error) + { + if (OnConsentFlowCompletedAction == null) return; + + OnConsentFlowCompletedAction(CFError.Create(error)); + } + } +} diff --git a/Assets/ThirdParty/MaxSdk/Scripts/MaxSdkBase.cs.meta b/Assets/ThirdParty/MaxSdk/Scripts/MaxSdkBase.cs.meta index 7d28de10e..f27f76996 100644 --- a/Assets/ThirdParty/MaxSdk/Scripts/MaxSdkBase.cs.meta +++ b/Assets/ThirdParty/MaxSdk/Scripts/MaxSdkBase.cs.meta @@ -3,7 +3,6 @@ guid: 893e4e55a7e394274957f1034f7afc45 labels: - al_max - al_max_export_path-MaxSdk/Scripts/MaxSdkBase.cs -- al_max_export_path-MaxSdk\Scripts\MaxSdkBase.cs MonoImporter: externalObjects: {} serializedVersion: 2 diff --git a/Assets/ThirdParty/MaxSdk/Scripts/MaxSdkCallbacks.cs b/Assets/ThirdParty/MaxSdk/Scripts/MaxSdkCallbacks.cs index 64a29ec4e..acd6db9a8 100644 --- a/Assets/ThirdParty/MaxSdk/Scripts/MaxSdkCallbacks.cs +++ b/Assets/ThirdParty/MaxSdk/Scripts/MaxSdkCallbacks.cs @@ -6,11 +6,31 @@ using System; using System.Collections.Generic; using System.Globalization; using UnityEngine; -using AppLovinMax.ThirdParty.MiniJson; +using AppLovinMax.Internal.API; +using AppLovinMax.ThirdParty.MiniJson; public class MaxSdkCallbacks : MonoBehaviour { - public static MaxSdkCallbacks Instance { get; private set; } +#if UNITY_EDITOR + private static MaxSdkCallbacks instance; +#endif + + public static MaxSdkCallbacks Instance + { +#if UNITY_EDITOR + get + { + if (instance != null) return instance; + + instance = new GameObject("MaxSdkCallbacks", typeof(MaxSdkCallbacks)).GetComponent(); + DontDestroyOnLoad(instance); + + return instance; + } +#else + get; private set; +#endif + } // Fired when the SDK has finished initializing private static Action _onSdkInitializedEvent; @@ -30,6 +50,7 @@ public class MaxSdkCallbacks : MonoBehaviour // Fire when the MaxVariableService has finished loading the latest set of variables. private static Action _onVariablesUpdatedEvent; + [System.Obsolete("This API has been deprecated. Please use our SDK's initialization callback to retrieve variables instead.")] public static event Action OnVariablesUpdatedEvent { add @@ -66,6 +87,7 @@ public class MaxSdkCallbacks : MonoBehaviour private static Action _onInterstitialAdFailedToDisplayEventV2; private static Action _onInterstitialAdClickedEventV2; private static Action _onInterstitialAdRevenuePaidEvent; + private static Action _onInterstitialAdReviewCreativeIdGeneratedEvent; private static Action _onInterstitialAdHiddenEventV2; public class Interstitial @@ -99,7 +121,7 @@ public class MaxSdkCallbacks : MonoBehaviour } /** - * Fired when an rewarded ad is displayed (may not be received by Unity until the rewarded ad closes). + * Fired when an interstitial ad is displayed (may not be received by Unity until the interstitial ad closes). */ public static event Action OnAdDisplayedEvent { @@ -161,6 +183,24 @@ public class MaxSdkCallbacks : MonoBehaviour } } + /// + /// Fired when an Ad Review Creative ID has been generated. + /// The parameters returned are the adUnitIdentifier, adReviewCreativeId, and adInfo in that respective order. + /// + public static event Action OnAdReviewCreativeIdGeneratedEvent + { + add + { + LogSubscribedToEvent("OnInterstitialAdReviewCreativeIdGeneratedEvent"); + _onInterstitialAdReviewCreativeIdGeneratedEvent += value; + } + remove + { + LogUnsubscribedToEvent("OnInterstitialAdReviewCreativeIdGeneratedEvent"); + _onInterstitialAdReviewCreativeIdGeneratedEvent -= value; + } + } + public static event Action OnAdHiddenEvent { add @@ -176,12 +216,129 @@ public class MaxSdkCallbacks : MonoBehaviour } } + private static Action _onAppOpenAdLoadedEvent; + private static Action _onAppOpenAdLoadFailedEvent; + private static Action _onAppOpenAdDisplayedEvent; + private static Action _onAppOpenAdFailedToDisplayEvent; + private static Action _onAppOpenAdClickedEvent; + private static Action _onAppOpenAdRevenuePaidEvent; + private static Action _onAppOpenAdHiddenEvent; + + public class AppOpen + { + public static event Action OnAdLoadedEvent + { + add + { + LogSubscribedToEvent("OnAppOpenAdLoadedEvent"); + _onAppOpenAdLoadedEvent += value; + } + remove + { + LogUnsubscribedToEvent("OnAppOpenAdLoadedEvent"); + _onAppOpenAdLoadedEvent -= value; + } + } + + public static event Action OnAdLoadFailedEvent + { + add + { + LogSubscribedToEvent("OnAppOpenAdLoadFailedEvent"); + _onAppOpenAdLoadFailedEvent += value; + } + remove + { + LogUnsubscribedToEvent("OnAppOpenAdLoadFailedEvent"); + _onAppOpenAdLoadFailedEvent -= value; + } + } + + /** + * Fired when an app open ad is displayed (may not be received by Unity until the app open ad closes). + */ + public static event Action OnAdDisplayedEvent + { + add + { + LogSubscribedToEvent("OnAppOpenAdDisplayedEvent"); + _onAppOpenAdDisplayedEvent += value; + } + remove + { + LogUnsubscribedToEvent("OnAppOpenAdDisplayedEvent"); + _onAppOpenAdDisplayedEvent -= value; + } + } + + public static event Action OnAdDisplayFailedEvent + { + add + { + LogSubscribedToEvent("OnAppOpenAdDisplayFailedEvent"); + _onAppOpenAdFailedToDisplayEvent += value; + } + remove + { + LogUnsubscribedToEvent("OnAppOpenAdDisplayFailedEvent"); + _onAppOpenAdFailedToDisplayEvent -= value; + } + } + + public static event Action OnAdClickedEvent + { + add + { + LogSubscribedToEvent("OnAppOpenAdClickedEvent"); + _onAppOpenAdClickedEvent += value; + } + remove + { + LogUnsubscribedToEvent("OnAppOpenAdClickedEvent"); + _onAppOpenAdClickedEvent -= value; + } + } + + /// + /// Fired when an app open ad impression was validated and revenue will be paid. + /// Executed on a background thread to avoid any delays in execution. + /// + public static event Action OnAdRevenuePaidEvent + { + add + { + LogSubscribedToEvent("OnAppOpenAdRevenuePaidEvent"); + _onAppOpenAdRevenuePaidEvent += value; + } + remove + { + LogUnsubscribedToEvent("OnAppOpenAdRevenuePaidEvent"); + _onAppOpenAdRevenuePaidEvent -= value; + } + } + + public static event Action OnAdHiddenEvent + { + add + { + LogSubscribedToEvent("OnAppOpenAdHiddenEvent"); + _onAppOpenAdHiddenEvent += value; + } + remove + { + LogUnsubscribedToEvent("OnAppOpenAdHiddenEvent"); + _onAppOpenAdHiddenEvent -= value; + } + } + } + private static Action _onRewardedAdLoadedEventV2; private static Action _onRewardedAdLoadFailedEventV2; private static Action _onRewardedAdDisplayedEventV2; private static Action _onRewardedAdFailedToDisplayEventV2; private static Action _onRewardedAdClickedEventV2; private static Action _onRewardedAdRevenuePaidEvent; + private static Action _onRewardedAdReviewCreativeIdGeneratedEvent; private static Action _onRewardedAdReceivedRewardEventV2; private static Action _onRewardedAdHiddenEventV2; @@ -216,7 +373,7 @@ public class MaxSdkCallbacks : MonoBehaviour } /** - * Fired when an rewarded ad is displayed (may not be received by Unity until the rewarded ad closes). + * Fired when a rewarded ad is displayed (may not be received by Unity until the rewarded ad closes). */ public static event Action OnAdDisplayedEvent { @@ -278,6 +435,24 @@ public class MaxSdkCallbacks : MonoBehaviour } } + /// + /// Fired when an Ad Review Creative ID has been generated. + /// The parameters returned are the adUnitIdentifier, adReviewCreativeId, and adInfo in that respective order. + /// + public static event Action OnAdReviewCreativeIdGeneratedEvent + { + add + { + LogSubscribedToEvent("OnRewardedAdReviewCreativeIdGeneratedEvent"); + _onRewardedAdReviewCreativeIdGeneratedEvent += value; + } + remove + { + LogUnsubscribedToEvent("OnRewardedAdReviewCreativeIdGeneratedEvent"); + _onRewardedAdReviewCreativeIdGeneratedEvent -= value; + } + } + public static event Action OnAdReceivedRewardEvent { add @@ -313,6 +488,7 @@ public class MaxSdkCallbacks : MonoBehaviour private static Action _onRewardedInterstitialAdFailedToDisplayEvent; private static Action _onRewardedInterstitialAdClickedEvent; private static Action _onRewardedInterstitialAdRevenuePaidEvent; + private static Action _onRewardedInterstitialAdReviewCreativeIdGeneratedEvent; private static Action _onRewardedInterstitialAdReceivedRewardEvent; private static Action _onRewardedInterstitialAdHiddenEvent; @@ -347,7 +523,8 @@ public class MaxSdkCallbacks : MonoBehaviour } /** - * Fired when an rewarded ad is displayed (may not be received by Unity until the rewarded ad closes). + * Fired when a rewarded interstitial ad is displayed (may not be received by Unity until + * the rewarded interstitial ad closes). */ public static event Action OnAdDisplayedEvent { @@ -409,6 +586,24 @@ public class MaxSdkCallbacks : MonoBehaviour } } + /// + /// Fired when an Ad Review Creative ID has been generated. + /// The parameters returned are the adUnitIdentifier, adReviewCreativeId, and adInfo in that respective order. + /// + public static event Action OnAdReviewCreativeIdGeneratedEvent + { + add + { + LogSubscribedToEvent("OnRewardedInterstitialAdReviewCreativeIdGeneratedEvent"); + _onRewardedInterstitialAdReviewCreativeIdGeneratedEvent += value; + } + remove + { + LogUnsubscribedToEvent("OnRewardedInterstitialAdReviewCreativeIdGeneratedEvent"); + _onRewardedInterstitialAdReviewCreativeIdGeneratedEvent -= value; + } + } + public static event Action OnAdReceivedRewardEvent { add @@ -442,6 +637,7 @@ public class MaxSdkCallbacks : MonoBehaviour private static Action _onBannerAdLoadFailedEventV2; private static Action _onBannerAdClickedEventV2; private static Action _onBannerAdRevenuePaidEvent; + private static Action _onBannerAdReviewCreativeIdGeneratedEvent; private static Action _onBannerAdExpandedEventV2; private static Action _onBannerAdCollapsedEventV2; @@ -503,6 +699,24 @@ public class MaxSdkCallbacks : MonoBehaviour } } + /// + /// Fired when an Ad Review Creative ID has been generated. + /// The parameters returned are the adUnitIdentifier, adReviewCreativeId, and adInfo in that respective order. + /// + public static event Action OnAdReviewCreativeIdGeneratedEvent + { + add + { + LogSubscribedToEvent("OnBannerAdReviewCreativeIdGeneratedEvent"); + _onBannerAdReviewCreativeIdGeneratedEvent += value; + } + remove + { + LogUnsubscribedToEvent("OnBannerAdReviewCreativeIdGeneratedEvent"); + _onBannerAdReviewCreativeIdGeneratedEvent -= value; + } + } + public static event Action OnAdExpandedEvent { add @@ -536,6 +750,7 @@ public class MaxSdkCallbacks : MonoBehaviour private static Action _onMRecAdLoadFailedEventV2; private static Action _onMRecAdClickedEventV2; private static Action _onMRecAdRevenuePaidEvent; + private static Action _onMRecAdReviewCreativeIdGeneratedEvent; private static Action _onMRecAdExpandedEventV2; private static Action _onMRecAdCollapsedEventV2; @@ -597,6 +812,24 @@ public class MaxSdkCallbacks : MonoBehaviour } } + /// + /// Fired when an Ad Review Creative ID has been generated. + /// The parameters returned are the adUnitIdentifier, adReviewCreativeId, and adInfo in that respective order. + /// + public static event Action OnAdReviewCreativeIdGeneratedEvent + { + add + { + LogSubscribedToEvent("OnMRecAdReviewCreativeIdGeneratedEvent"); + _onMRecAdReviewCreativeIdGeneratedEvent += value; + } + remove + { + LogUnsubscribedToEvent("OnMRecAdReviewCreativeIdGeneratedEvent"); + _onMRecAdReviewCreativeIdGeneratedEvent -= value; + } + } + public static event Action OnAdExpandedEvent { add @@ -1094,6 +1327,7 @@ public class MaxSdkCallbacks : MonoBehaviour } } +#if !UNITY_EDITOR void Awake() { if (Instance == null) @@ -1102,6 +1336,7 @@ public class MaxSdkCallbacks : MonoBehaviour DontDestroyOnLoad(gameObject); } } +#endif public void ForwardEvent(string eventPropsStr) { @@ -1116,15 +1351,19 @@ public class MaxSdkCallbacks : MonoBehaviour if (eventName == "OnSdkInitializedEvent") { var sdkConfiguration = MaxSdkBase.SdkConfiguration.Create(eventProps); - InvokeEvent(_onSdkInitializedEvent, sdkConfiguration); + InvokeEvent(_onSdkInitializedEvent, sdkConfiguration, eventName); } else if (eventName == "OnVariablesUpdatedEvent") { - InvokeEvent(_onVariablesUpdatedEvent); + InvokeEvent(_onVariablesUpdatedEvent, eventName); } else if (eventName == "OnSdkConsentDialogDismissedEvent") { - InvokeEvent(_onSdkConsentDialogDismissedEvent); + InvokeEvent(_onSdkConsentDialogDismissedEvent, eventName); + } + else if (eventName == "OnSdkConsentFlowCompletedEvent") + { + CFService.NotifyConsentFlowCompletedIfNeeded(eventProps); } // Ad Events else @@ -1133,173 +1372,223 @@ public class MaxSdkCallbacks : MonoBehaviour var adUnitIdentifier = MaxSdkUtils.GetStringFromDictionary(eventProps, "adUnitId", ""); if (eventName == "OnBannerAdLoadedEvent") { - InvokeEvent(_onBannerAdLoadedEvent, adUnitIdentifier); - InvokeEvent(_onBannerAdLoadedEventV2, adUnitIdentifier, adInfo); + InvokeEvent(_onBannerAdLoadedEvent, adUnitIdentifier, eventName); + InvokeEvent(_onBannerAdLoadedEventV2, adUnitIdentifier, adInfo, eventName); } else if (eventName == "OnBannerAdLoadFailedEvent") { var errorCode = MaxSdkUtils.GetIntFromDictionary(eventProps, "errorCode", -1); - InvokeEvent(_onBannerAdLoadFailedEvent, adUnitIdentifier, errorCode); + InvokeEvent(_onBannerAdLoadFailedEvent, adUnitIdentifier, errorCode, eventName); var errorInfo = new MaxSdkBase.ErrorInfo(eventProps); - InvokeEvent(_onBannerAdLoadFailedEventV2, adUnitIdentifier, errorInfo); + InvokeEvent(_onBannerAdLoadFailedEventV2, adUnitIdentifier, errorInfo, eventName); } else if (eventName == "OnBannerAdClickedEvent") { - InvokeEvent(_onBannerAdClickedEvent, adUnitIdentifier); - InvokeEvent(_onBannerAdClickedEventV2, adUnitIdentifier, adInfo); + InvokeEvent(_onBannerAdClickedEvent, adUnitIdentifier, eventName); + InvokeEvent(_onBannerAdClickedEventV2, adUnitIdentifier, adInfo, eventName); } else if (eventName == "OnBannerAdRevenuePaidEvent") { - InvokeEvent(_onBannerAdRevenuePaidEvent, adUnitIdentifier, adInfo); + InvokeEvent(_onBannerAdRevenuePaidEvent, adUnitIdentifier, adInfo, eventName); + } + else if (eventName == "OnBannerAdReviewCreativeIdGeneratedEvent") + { + var adReviewCreativeId = MaxSdkUtils.GetStringFromDictionary(eventProps, "adReviewCreativeId", ""); + InvokeEvent(_onBannerAdReviewCreativeIdGeneratedEvent, adUnitIdentifier, adReviewCreativeId, adInfo, eventName); } else if (eventName == "OnBannerAdExpandedEvent") { - InvokeEvent(_onBannerAdExpandedEvent, adUnitIdentifier); - InvokeEvent(_onBannerAdExpandedEventV2, adUnitIdentifier, adInfo); + InvokeEvent(_onBannerAdExpandedEvent, adUnitIdentifier, eventName); + InvokeEvent(_onBannerAdExpandedEventV2, adUnitIdentifier, adInfo, eventName); } else if (eventName == "OnBannerAdCollapsedEvent") { - InvokeEvent(_onBannerAdCollapsedEvent, adUnitIdentifier); - InvokeEvent(_onBannerAdCollapsedEventV2, adUnitIdentifier, adInfo); + InvokeEvent(_onBannerAdCollapsedEvent, adUnitIdentifier, eventName); + InvokeEvent(_onBannerAdCollapsedEventV2, adUnitIdentifier, adInfo, eventName); } else if (eventName == "OnMRecAdLoadedEvent") { - InvokeEvent(_onMRecAdLoadedEvent, adUnitIdentifier); - InvokeEvent(_onMRecAdLoadedEventV2, adUnitIdentifier, adInfo); + InvokeEvent(_onMRecAdLoadedEvent, adUnitIdentifier, eventName); + InvokeEvent(_onMRecAdLoadedEventV2, adUnitIdentifier, adInfo, eventName); } else if (eventName == "OnMRecAdLoadFailedEvent") { var errorCode = MaxSdkUtils.GetIntFromDictionary(eventProps, "errorCode", -1); - InvokeEvent(_onMRecAdLoadFailedEvent, adUnitIdentifier, errorCode); + InvokeEvent(_onMRecAdLoadFailedEvent, adUnitIdentifier, errorCode, eventName); var errorInfo = new MaxSdkBase.ErrorInfo(eventProps); - InvokeEvent(_onMRecAdLoadFailedEventV2, adUnitIdentifier, errorInfo); + InvokeEvent(_onMRecAdLoadFailedEventV2, adUnitIdentifier, errorInfo, eventName); } else if (eventName == "OnMRecAdClickedEvent") { - InvokeEvent(_onMRecAdClickedEvent, adUnitIdentifier); - InvokeEvent(_onMRecAdClickedEventV2, adUnitIdentifier, adInfo); + InvokeEvent(_onMRecAdClickedEvent, adUnitIdentifier, eventName); + InvokeEvent(_onMRecAdClickedEventV2, adUnitIdentifier, adInfo, eventName); } else if (eventName == "OnMRecAdRevenuePaidEvent") { - InvokeEvent(_onMRecAdRevenuePaidEvent, adUnitIdentifier, adInfo); + InvokeEvent(_onMRecAdRevenuePaidEvent, adUnitIdentifier, adInfo, eventName); + } + else if (eventName == "OnMRecAdReviewCreativeIdGeneratedEvent") + { + var adReviewCreativeId = MaxSdkUtils.GetStringFromDictionary(eventProps, "adReviewCreativeId", ""); + InvokeEvent(_onMRecAdReviewCreativeIdGeneratedEvent, adUnitIdentifier, adReviewCreativeId, adInfo, eventName); } else if (eventName == "OnMRecAdExpandedEvent") { - InvokeEvent(_onMRecAdExpandedEvent, adUnitIdentifier); - InvokeEvent(_onMRecAdExpandedEventV2, adUnitIdentifier, adInfo); + InvokeEvent(_onMRecAdExpandedEvent, adUnitIdentifier, eventName); + InvokeEvent(_onMRecAdExpandedEventV2, adUnitIdentifier, adInfo, eventName); } else if (eventName == "OnMRecAdCollapsedEvent") { - InvokeEvent(_onMRecAdCollapsedEvent, adUnitIdentifier); - InvokeEvent(_onMRecAdCollapsedEventV2, adUnitIdentifier, adInfo); + InvokeEvent(_onMRecAdCollapsedEvent, adUnitIdentifier, eventName); + InvokeEvent(_onMRecAdCollapsedEventV2, adUnitIdentifier, adInfo, eventName); } else if (eventName == "OnCrossPromoAdLoadedEvent") { - InvokeEvent(_onCrossPromoAdLoadedEvent, adUnitIdentifier, adInfo); + InvokeEvent(_onCrossPromoAdLoadedEvent, adUnitIdentifier, adInfo, eventName); } else if (eventName == "OnCrossPromoAdLoadFailedEvent") { var errorInfo = new MaxSdkBase.ErrorInfo(eventProps); - InvokeEvent(_onCrossPromoAdLoadFailedEvent, adUnitIdentifier, errorInfo); + InvokeEvent(_onCrossPromoAdLoadFailedEvent, adUnitIdentifier, errorInfo, eventName); } else if (eventName == "OnCrossPromoAdClickedEvent") { - InvokeEvent(_onCrossPromoAdClickedEvent, adUnitIdentifier, adInfo); + InvokeEvent(_onCrossPromoAdClickedEvent, adUnitIdentifier, adInfo, eventName); } else if (eventName == "OnCrossPromoAdRevenuePaidEvent") { - InvokeEvent(_onCrossPromoAdRevenuePaidEvent, adUnitIdentifier, adInfo); + InvokeEvent(_onCrossPromoAdRevenuePaidEvent, adUnitIdentifier, adInfo, eventName); } else if (eventName == "OnCrossPromoAdExpandedEvent") { - InvokeEvent(_onCrossPromoAdExpandedEvent, adUnitIdentifier, adInfo); + InvokeEvent(_onCrossPromoAdExpandedEvent, adUnitIdentifier, adInfo, eventName); } else if (eventName == "OnCrossPromoAdCollapsedEvent") { - InvokeEvent(_onCrossPromoAdCollapsedEvent, adUnitIdentifier, adInfo); + InvokeEvent(_onCrossPromoAdCollapsedEvent, adUnitIdentifier, adInfo, eventName); } else if (eventName == "OnInterstitialLoadedEvent") { - InvokeEvent(_onInterstitialAdLoadedEvent, adUnitIdentifier); - InvokeEvent(_onInterstitialAdLoadedEventV2, adUnitIdentifier, adInfo); + InvokeEvent(_onInterstitialAdLoadedEvent, adUnitIdentifier, eventName); + InvokeEvent(_onInterstitialAdLoadedEventV2, adUnitIdentifier, adInfo, eventName); } else if (eventName == "OnInterstitialLoadFailedEvent") { var errorCode = MaxSdkUtils.GetIntFromDictionary(eventProps, "errorCode", -1); - InvokeEvent(_onInterstitialLoadFailedEvent, adUnitIdentifier, errorCode); + InvokeEvent(_onInterstitialLoadFailedEvent, adUnitIdentifier, errorCode, eventName); var errorInfo = new MaxSdkBase.ErrorInfo(eventProps); - InvokeEvent(_onInterstitialAdLoadFailedEventV2, adUnitIdentifier, errorInfo); + InvokeEvent(_onInterstitialAdLoadFailedEventV2, adUnitIdentifier, errorInfo, eventName); } else if (eventName == "OnInterstitialHiddenEvent") { - InvokeEvent(_onInterstitialAdHiddenEvent, adUnitIdentifier); - InvokeEvent(_onInterstitialAdHiddenEventV2, adUnitIdentifier, adInfo); + InvokeEvent(_onInterstitialAdHiddenEvent, adUnitIdentifier, eventName); + InvokeEvent(_onInterstitialAdHiddenEventV2, adUnitIdentifier, adInfo, eventName); } else if (eventName == "OnInterstitialDisplayedEvent") { - InvokeEvent(_onInterstitialAdDisplayedEvent, adUnitIdentifier); - InvokeEvent(_onInterstitialAdDisplayedEventV2, adUnitIdentifier, adInfo); + InvokeEvent(_onInterstitialAdDisplayedEvent, adUnitIdentifier, eventName); + InvokeEvent(_onInterstitialAdDisplayedEventV2, adUnitIdentifier, adInfo, eventName); } else if (eventName == "OnInterstitialAdFailedToDisplayEvent") { var errorCode = MaxSdkUtils.GetIntFromDictionary(eventProps, "errorCode", -1); - InvokeEvent(_onInterstitialAdFailedToDisplayEvent, adUnitIdentifier, errorCode); + InvokeEvent(_onInterstitialAdFailedToDisplayEvent, adUnitIdentifier, errorCode, eventName); var errorInfo = new MaxSdkBase.ErrorInfo(eventProps); - InvokeEvent(_onInterstitialAdFailedToDisplayEventV2, adUnitIdentifier, errorInfo, adInfo); + InvokeEvent(_onInterstitialAdFailedToDisplayEventV2, adUnitIdentifier, errorInfo, adInfo, eventName); } else if (eventName == "OnInterstitialClickedEvent") { - InvokeEvent(_onInterstitialAdClickedEvent, adUnitIdentifier); - InvokeEvent(_onInterstitialAdClickedEventV2, adUnitIdentifier, adInfo); + InvokeEvent(_onInterstitialAdClickedEvent, adUnitIdentifier, eventName); + InvokeEvent(_onInterstitialAdClickedEventV2, adUnitIdentifier, adInfo, eventName); } else if (eventName == "OnInterstitialAdRevenuePaidEvent") { - InvokeEvent(_onInterstitialAdRevenuePaidEvent, adUnitIdentifier, adInfo); + InvokeEvent(_onInterstitialAdRevenuePaidEvent, adUnitIdentifier, adInfo, eventName); + } + else if (eventName == "OnInterstitialAdReviewCreativeIdGeneratedEvent") + { + var adReviewCreativeId = MaxSdkUtils.GetStringFromDictionary(eventProps, "adReviewCreativeId", ""); + InvokeEvent(_onInterstitialAdReviewCreativeIdGeneratedEvent, adUnitIdentifier, adReviewCreativeId, adInfo, eventName); + } + else if (eventName == "OnAppOpenAdLoadedEvent") + { + InvokeEvent(_onAppOpenAdLoadedEvent, adUnitIdentifier, adInfo, eventName); + } + else if (eventName == "OnAppOpenAdLoadFailedEvent") + { + var errorInfo = new MaxSdkBase.ErrorInfo(eventProps); + InvokeEvent(_onAppOpenAdLoadFailedEvent, adUnitIdentifier, errorInfo, eventName); + } + else if (eventName == "OnAppOpenAdHiddenEvent") + { + InvokeEvent(_onAppOpenAdHiddenEvent, adUnitIdentifier, adInfo, eventName); + } + else if (eventName == "OnAppOpenAdDisplayedEvent") + { + InvokeEvent(_onAppOpenAdDisplayedEvent, adUnitIdentifier, adInfo, eventName); + } + else if (eventName == "OnAppOpenAdFailedToDisplayEvent") + { + var errorInfo = new MaxSdkBase.ErrorInfo(eventProps); + InvokeEvent(_onAppOpenAdFailedToDisplayEvent, adUnitIdentifier, errorInfo, adInfo, eventName); + } + else if (eventName == "OnAppOpenAdClickedEvent") + { + InvokeEvent(_onAppOpenAdClickedEvent, adUnitIdentifier, adInfo, eventName); + } + else if (eventName == "OnAppOpenAdRevenuePaidEvent") + { + InvokeEvent(_onAppOpenAdRevenuePaidEvent, adUnitIdentifier, adInfo, eventName); } else if (eventName == "OnRewardedAdLoadedEvent") { - InvokeEvent(_onRewardedAdLoadedEvent, adUnitIdentifier); - InvokeEvent(_onRewardedAdLoadedEventV2, adUnitIdentifier, adInfo); + InvokeEvent(_onRewardedAdLoadedEvent, adUnitIdentifier, eventName); + InvokeEvent(_onRewardedAdLoadedEventV2, adUnitIdentifier, adInfo, eventName); } else if (eventName == "OnRewardedAdLoadFailedEvent") { var errorCode = MaxSdkUtils.GetIntFromDictionary(eventProps, "errorCode", -1); - InvokeEvent(_onRewardedAdLoadFailedEvent, adUnitIdentifier, errorCode); + InvokeEvent(_onRewardedAdLoadFailedEvent, adUnitIdentifier, errorCode, eventName); var errorInfo = new MaxSdkBase.ErrorInfo(eventProps); - InvokeEvent(_onRewardedAdLoadFailedEventV2, adUnitIdentifier, errorInfo); + InvokeEvent(_onRewardedAdLoadFailedEventV2, adUnitIdentifier, errorInfo, eventName); } else if (eventName == "OnRewardedAdDisplayedEvent") { - InvokeEvent(_onRewardedAdDisplayedEvent, adUnitIdentifier); - InvokeEvent(_onRewardedAdDisplayedEventV2, adUnitIdentifier, adInfo); + InvokeEvent(_onRewardedAdDisplayedEvent, adUnitIdentifier, eventName); + InvokeEvent(_onRewardedAdDisplayedEventV2, adUnitIdentifier, adInfo, eventName); } else if (eventName == "OnRewardedAdHiddenEvent") { - InvokeEvent(_onRewardedAdHiddenEvent, adUnitIdentifier); - InvokeEvent(_onRewardedAdHiddenEventV2, adUnitIdentifier, adInfo); + InvokeEvent(_onRewardedAdHiddenEvent, adUnitIdentifier, eventName); + InvokeEvent(_onRewardedAdHiddenEventV2, adUnitIdentifier, adInfo, eventName); } else if (eventName == "OnRewardedAdClickedEvent") { - InvokeEvent(_onRewardedAdClickedEvent, adUnitIdentifier); - InvokeEvent(_onRewardedAdClickedEventV2, adUnitIdentifier, adInfo); + InvokeEvent(_onRewardedAdClickedEvent, adUnitIdentifier, eventName); + InvokeEvent(_onRewardedAdClickedEventV2, adUnitIdentifier, adInfo, eventName); } else if (eventName == "OnRewardedAdRevenuePaidEvent") { - InvokeEvent(_onRewardedAdRevenuePaidEvent, adUnitIdentifier, adInfo); + InvokeEvent(_onRewardedAdRevenuePaidEvent, adUnitIdentifier, adInfo, eventName); + } + else if (eventName == "OnRewardedAdReviewCreativeIdGeneratedEvent") + { + var adReviewCreativeId = MaxSdkUtils.GetStringFromDictionary(eventProps, "adReviewCreativeId", ""); + InvokeEvent(_onRewardedAdReviewCreativeIdGeneratedEvent, adUnitIdentifier, adReviewCreativeId, adInfo, eventName); } else if (eventName == "OnRewardedAdFailedToDisplayEvent") { var errorCode = MaxSdkUtils.GetIntFromDictionary(eventProps, "errorCode", -1); - InvokeEvent(_onRewardedAdFailedToDisplayEvent, adUnitIdentifier, errorCode); + InvokeEvent(_onRewardedAdFailedToDisplayEvent, adUnitIdentifier, errorCode, eventName); var errorInfo = new MaxSdkBase.ErrorInfo(eventProps); - InvokeEvent(_onRewardedAdFailedToDisplayEventV2, adUnitIdentifier, errorInfo, adInfo); + InvokeEvent(_onRewardedAdFailedToDisplayEventV2, adUnitIdentifier, errorInfo, adInfo, eventName); } else if (eventName == "OnRewardedAdReceivedRewardEvent") { @@ -1309,40 +1598,45 @@ public class MaxSdkCallbacks : MonoBehaviour Amount = MaxSdkUtils.GetIntFromDictionary(eventProps, "rewardAmount", 0) }; - InvokeEvent(_onRewardedAdReceivedRewardEvent, adUnitIdentifier, reward); - InvokeEvent(_onRewardedAdReceivedRewardEventV2, adUnitIdentifier, reward, adInfo); + InvokeEvent(_onRewardedAdReceivedRewardEvent, adUnitIdentifier, reward, eventName); + InvokeEvent(_onRewardedAdReceivedRewardEventV2, adUnitIdentifier, reward, adInfo, eventName); } else if (eventName == "OnRewardedInterstitialAdLoadedEvent") { - InvokeEvent(_onRewardedInterstitialAdLoadedEvent, adUnitIdentifier, adInfo); + InvokeEvent(_onRewardedInterstitialAdLoadedEvent, adUnitIdentifier, adInfo, eventName); } else if (eventName == "OnRewardedInterstitialAdLoadFailedEvent") { var errorInfo = new MaxSdkBase.ErrorInfo(eventProps); - InvokeEvent(_onRewardedInterstitialAdLoadFailedEvent, adUnitIdentifier, errorInfo); + InvokeEvent(_onRewardedInterstitialAdLoadFailedEvent, adUnitIdentifier, errorInfo, eventName); } else if (eventName == "OnRewardedInterstitialAdDisplayedEvent") { - InvokeEvent(_onRewardedInterstitialAdDisplayedEvent, adUnitIdentifier, adInfo); + InvokeEvent(_onRewardedInterstitialAdDisplayedEvent, adUnitIdentifier, adInfo, eventName); } else if (eventName == "OnRewardedInterstitialAdHiddenEvent") { - InvokeEvent(_onRewardedInterstitialAdHiddenEvent, adUnitIdentifier, adInfo); + InvokeEvent(_onRewardedInterstitialAdHiddenEvent, adUnitIdentifier, adInfo, eventName); } else if (eventName == "OnRewardedInterstitialAdClickedEvent") { - InvokeEvent(_onRewardedInterstitialAdClickedEvent, adUnitIdentifier, adInfo); + InvokeEvent(_onRewardedInterstitialAdClickedEvent, adUnitIdentifier, adInfo, eventName); } else if (eventName == "OnRewardedInterstitialAdRevenuePaidEvent") { - InvokeEvent(_onRewardedInterstitialAdRevenuePaidEvent, adUnitIdentifier, adInfo); + InvokeEvent(_onRewardedInterstitialAdRevenuePaidEvent, adUnitIdentifier, adInfo, eventName); + } + else if (eventName == "OnRewardedInterstitialAdReviewCreativeIdGeneratedEvent") + { + var adReviewCreativeId = MaxSdkUtils.GetStringFromDictionary(eventProps, "adReviewCreativeId", ""); + InvokeEvent(_onRewardedInterstitialAdReviewCreativeIdGeneratedEvent, adUnitIdentifier, adReviewCreativeId, adInfo, eventName); } else if (eventName == "OnRewardedInterstitialAdFailedToDisplayEvent") { var errorInfo = new MaxSdkBase.ErrorInfo(eventProps); - InvokeEvent(_onRewardedInterstitialAdFailedToDisplayEvent, adUnitIdentifier, errorInfo, adInfo); + InvokeEvent(_onRewardedInterstitialAdFailedToDisplayEvent, adUnitIdentifier, errorInfo, adInfo, eventName); } else if (eventName == "OnRewardedInterstitialAdReceivedRewardEvent") { @@ -1352,7 +1646,7 @@ public class MaxSdkCallbacks : MonoBehaviour Amount = MaxSdkUtils.GetIntFromDictionary(eventProps, "rewardAmount", 0) }; - InvokeEvent(_onRewardedInterstitialAdReceivedRewardEvent, adUnitIdentifier, reward, adInfo); + InvokeEvent(_onRewardedInterstitialAdReceivedRewardEvent, adUnitIdentifier, reward, adInfo, eventName); } else { @@ -1364,48 +1658,41 @@ public class MaxSdkCallbacks : MonoBehaviour #if UNITY_EDITOR public static void EmitSdkInitializedEvent() { - if(_onSdkInitializedEvent == null) return; + if (_onSdkInitializedEvent == null) return; - var sdkConfiguration = new MaxSdkBase.SdkConfiguration(); - sdkConfiguration.IsSuccessfullyInitialized = true; - sdkConfiguration.ConsentDialogState = MaxSdkBase.ConsentDialogState.Unknown; - sdkConfiguration.AppTrackingStatus = MaxSdkBase.AppTrackingStatus.Authorized; - var currentRegion = RegionInfo.CurrentRegion; - sdkConfiguration.CountryCode = currentRegion != null ? currentRegion.TwoLetterISORegionName : "US"; - - _onSdkInitializedEvent(sdkConfiguration); + _onSdkInitializedEvent(MaxSdkBase.SdkConfiguration.CreateEmpty()); } #endif - private static void InvokeEvent(Action evt) + private static void InvokeEvent(Action evt, string eventName) { if (!CanInvokeEvent(evt)) return; - MaxSdkLogger.UserDebug("Invoking event: " + evt); + MaxSdkLogger.UserDebug("Invoking event: " + eventName); evt(); } - private static void InvokeEvent(Action evt, T param) + private static void InvokeEvent(Action evt, T param, string eventName) { if (!CanInvokeEvent(evt)) return; - MaxSdkLogger.UserDebug("Invoking event: " + evt + ". Param: " + param); + MaxSdkLogger.UserDebug("Invoking event: " + eventName + ". Param: " + param); evt(param); } - private static void InvokeEvent(Action evt, T1 param1, T2 param2) + private static void InvokeEvent(Action evt, T1 param1, T2 param2, string eventName) { if (!CanInvokeEvent(evt)) return; - MaxSdkLogger.UserDebug("Invoking event: " + evt + ". Params: " + param1 + ", " + param2); + MaxSdkLogger.UserDebug("Invoking event: " + eventName + ". Params: " + param1 + ", " + param2); evt(param1, param2); } - private static void InvokeEvent(Action evt, T1 param1, T2 param2, T3 param3) + private static void InvokeEvent(Action evt, T1 param1, T2 param2, T3 param3, string eventName) { if (!CanInvokeEvent(evt)) return; - MaxSdkLogger.UserDebug("Invoking event: " + evt + ". Params: " + param1 + ", " + param2 + ", " + param3); + MaxSdkLogger.UserDebug("Invoking event: " + eventName + ". Params: " + param1 + ", " + param2 + ", " + param3); evt(param1, param2, param3); } @@ -1431,4 +1718,104 @@ public class MaxSdkCallbacks : MonoBehaviour { MaxSdkLogger.D("Listener has been removed from callback: " + eventName); } + +#if UNITY_EDITOR && UNITY_2019_2_OR_NEWER + /// + /// Resets static event handlers so they still get reset even if Domain Reloading is disabled + /// + [RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.SubsystemRegistration)] + private static void ResetOnDomainReload() + { + _onSdkInitializedEvent = null; + _onVariablesUpdatedEvent = null; + _onSdkConsentDialogDismissedEvent = null; + + _onInterstitialAdLoadedEventV2 = null; + _onInterstitialAdLoadFailedEventV2 = null; + _onInterstitialAdDisplayedEventV2 = null; + _onInterstitialAdFailedToDisplayEventV2 = null; + _onInterstitialAdClickedEventV2 = null; + _onInterstitialAdRevenuePaidEvent = null; + _onInterstitialAdReviewCreativeIdGeneratedEvent = null; + _onInterstitialAdHiddenEventV2 = null; + + _onAppOpenAdLoadedEvent = null; + _onAppOpenAdLoadFailedEvent = null; + _onAppOpenAdDisplayedEvent = null; + _onAppOpenAdFailedToDisplayEvent = null; + _onAppOpenAdClickedEvent = null; + _onAppOpenAdRevenuePaidEvent = null; + _onAppOpenAdHiddenEvent = null; + + _onRewardedAdLoadedEventV2 = null; + _onRewardedAdLoadFailedEventV2 = null; + _onRewardedAdDisplayedEventV2 = null; + _onRewardedAdFailedToDisplayEventV2 = null; + _onRewardedAdClickedEventV2 = null; + _onRewardedAdRevenuePaidEvent = null; + _onRewardedAdReviewCreativeIdGeneratedEvent = null; + _onRewardedAdReceivedRewardEventV2 = null; + _onRewardedAdHiddenEventV2 = null; + + _onRewardedInterstitialAdLoadedEvent = null; + _onRewardedInterstitialAdLoadFailedEvent = null; + _onRewardedInterstitialAdDisplayedEvent = null; + _onRewardedInterstitialAdFailedToDisplayEvent = null; + _onRewardedInterstitialAdClickedEvent = null; + _onRewardedInterstitialAdRevenuePaidEvent = null; + _onRewardedInterstitialAdReviewCreativeIdGeneratedEvent = null; + _onRewardedInterstitialAdReceivedRewardEvent = null; + _onRewardedInterstitialAdHiddenEvent = null; + + _onBannerAdLoadedEventV2 = null; + _onBannerAdLoadFailedEventV2 = null; + _onBannerAdClickedEventV2 = null; + _onBannerAdRevenuePaidEvent = null; + _onBannerAdReviewCreativeIdGeneratedEvent = null; + _onBannerAdExpandedEventV2 = null; + _onBannerAdCollapsedEventV2 = null; + + _onMRecAdLoadedEventV2 = null; + _onMRecAdLoadFailedEventV2 = null; + _onMRecAdClickedEventV2 = null; + _onMRecAdRevenuePaidEvent = null; + _onMRecAdReviewCreativeIdGeneratedEvent = null; + _onMRecAdExpandedEventV2 = null; + _onMRecAdCollapsedEventV2 = null; + + _onCrossPromoAdLoadedEvent = null; + _onCrossPromoAdLoadFailedEvent = null; + _onCrossPromoAdClickedEvent = null; + _onCrossPromoAdRevenuePaidEvent = null; + _onCrossPromoAdExpandedEvent = null; + _onCrossPromoAdCollapsedEvent = null; + + _onBannerAdLoadedEvent = null; + _onBannerAdLoadFailedEvent = null; + _onBannerAdClickedEvent = null; + _onBannerAdExpandedEvent = null; + _onBannerAdCollapsedEvent = null; + + _onMRecAdLoadedEvent = null; + _onMRecAdLoadFailedEvent = null; + _onMRecAdClickedEvent = null; + _onMRecAdExpandedEvent = null; + _onMRecAdCollapsedEvent = null; + + _onInterstitialAdLoadedEvent = null; + _onInterstitialLoadFailedEvent = null; + _onInterstitialAdDisplayedEvent = null; + _onInterstitialAdFailedToDisplayEvent = null; + _onInterstitialAdClickedEvent = null; + _onInterstitialAdHiddenEvent = null; + + _onRewardedAdLoadedEvent = null; + _onRewardedAdLoadFailedEvent = null; + _onRewardedAdDisplayedEvent = null; + _onRewardedAdFailedToDisplayEvent = null; + _onRewardedAdClickedEvent = null; + _onRewardedAdReceivedRewardEvent = null; + _onRewardedAdHiddenEvent = null; + } +#endif } diff --git a/Assets/ThirdParty/MaxSdk/Scripts/MaxSdkCallbacks.cs.meta b/Assets/ThirdParty/MaxSdk/Scripts/MaxSdkCallbacks.cs.meta index 8a8aa155a..dd08049e3 100644 --- a/Assets/ThirdParty/MaxSdk/Scripts/MaxSdkCallbacks.cs.meta +++ b/Assets/ThirdParty/MaxSdk/Scripts/MaxSdkCallbacks.cs.meta @@ -3,7 +3,6 @@ guid: 4dc129a60049645f7a492a0a658a6c22 labels: - al_max - al_max_export_path-MaxSdk/Scripts/MaxSdkCallbacks.cs -- al_max_export_path-MaxSdk\Scripts\MaxSdkCallbacks.cs MonoImporter: externalObjects: {} serializedVersion: 2 diff --git a/Assets/ThirdParty/MaxSdk/Scripts/MaxSdkLogger.cs.meta b/Assets/ThirdParty/MaxSdk/Scripts/MaxSdkLogger.cs.meta index 07dffce3f..01a3427c7 100644 --- a/Assets/ThirdParty/MaxSdk/Scripts/MaxSdkLogger.cs.meta +++ b/Assets/ThirdParty/MaxSdk/Scripts/MaxSdkLogger.cs.meta @@ -3,7 +3,6 @@ guid: ff2b160afdfd4a74b731954323772a90 labels: - al_max - al_max_export_path-MaxSdk/Scripts/MaxSdkLogger.cs -- al_max_export_path-MaxSdk\Scripts\MaxSdkLogger.cs MonoImporter: externalObjects: {} serializedVersion: 2 diff --git a/Assets/ThirdParty/MaxSdk/Scripts/MaxSdkUnityEditor.cs b/Assets/ThirdParty/MaxSdk/Scripts/MaxSdkUnityEditor.cs index f6bfac006..87685f1a9 100644 --- a/Assets/ThirdParty/MaxSdk/Scripts/MaxSdkUnityEditor.cs +++ b/Assets/ThirdParty/MaxSdk/Scripts/MaxSdkUnityEditor.cs @@ -42,9 +42,11 @@ public class MaxSdkUnityEditor : MaxSdkBase get { return MaxUserServiceUnityEditor.Instance; } } - static MaxSdkUnityEditor() + [RuntimeInitializeOnLoadMethod] + public static void InitializeMaxSdkUnityEditorOnLoad() { - InitCallbacks(); + // Unity destroys the stub banners each time the editor exits play mode, but the StubBanners stays in memory if Enter Play Mode settings is enabled. + StubBanners.Clear(); } /// @@ -166,6 +168,24 @@ public class MaxSdkUnityEditor : MaxSdkBase } } + /// + /// Present the mediation debugger UI. + /// + /// Please call this method after the SDK has initialized. + /// + public static void ShowCreativeDebugger() + { + if (!_isInitialized) + { + MaxSdkLogger.UserWarning("The creative debugger cannot be shown before the MAX SDK has been initialized." + + "\nCall 'MaxSdk.InitializeSdk();' and listen for 'MaxSdkCallbacks.OnSdkInitializedEvent' before showing the mediation debugger."); + } + else + { + MaxSdkLogger.UserWarning("The creative debugger cannot be shown in the Unity Editor. Please export the project to Android or iOS first."); + } + } + /// /// Returns the arbitrary ad value for a given ad unit identifier with key. Returns null if no ad is loaded. /// @@ -188,21 +208,13 @@ public class MaxSdkUnityEditor : MaxSdkBase /// public static SdkConfiguration GetSdkConfiguration() { - var sdkConfiguration = new SdkConfiguration(); - sdkConfiguration.IsSuccessfullyInitialized = _isInitialized; - sdkConfiguration.ConsentDialogState = ConsentDialogState.Unknown; -#if UNITY_EDITOR - sdkConfiguration.AppTrackingStatus = AppTrackingStatus.Authorized; -#endif - sdkConfiguration.CountryCode = RegionInfo.CurrentRegion.TwoLetterISORegionName; - - return sdkConfiguration; + return SdkConfiguration.CreateEmpty(); } /// /// Set whether or not user has provided consent for information sharing with AppLovin and other providers. /// - /// true if the user has provided consent for information sharing with AppLovin. false by default. + /// true if the user has provided consent for information sharing with AppLovin. false by default. public static void SetHasUserConsent(bool hasUserConsent) { _hasUserConsent = hasUserConsent; @@ -212,7 +224,7 @@ public class MaxSdkUnityEditor : MaxSdkBase /// /// Check if user has provided consent for information sharing with AppLovin and other providers. /// - /// true if user has provided consent for information sharing. false if the user declined to share information or the consent value has not been set . + /// true if user has provided consent for information sharing. false if the user declined to share information or the consent value has not been set . public static bool HasUserConsent() { return _hasUserConsent; @@ -221,7 +233,7 @@ public class MaxSdkUnityEditor : MaxSdkBase /// /// Check if user has set consent for information sharing. /// - /// true if user has set a value of consent for information sharing. + /// true if user has set a value of consent for information sharing. public static bool IsUserConsentSet() { return _isUserConsentSet; @@ -230,7 +242,7 @@ public class MaxSdkUnityEditor : MaxSdkBase /// /// Mark user as age restricted (i.e. under 16). /// - /// true if the user is age restricted (i.e. under 16). + /// true if the user is age restricted (i.e. under 16). public static void SetIsAgeRestrictedUser(bool isAgeRestrictedUser) { _isAgeRestrictedUser = isAgeRestrictedUser; @@ -240,7 +252,7 @@ public class MaxSdkUnityEditor : MaxSdkBase /// /// Check if user is age restricted. /// - /// true if the user is age-restricted. false if the user is not age-restricted or the age-restriction has not been set. + /// true if the user is age-restricted. false if the user is not age-restricted or the age-restriction has not been set. public static bool IsAgeRestrictedUser() { return _isAgeRestrictedUser; @@ -249,7 +261,7 @@ public class MaxSdkUnityEditor : MaxSdkBase /// /// Check if user set its age restricted settings. /// - /// true if user has set its age restricted settings. + /// true if user has set its age restricted settings. public static bool IsAgeRestrictedUserSet() { return _isAgeRestrictedUserSet; @@ -258,7 +270,7 @@ public class MaxSdkUnityEditor : MaxSdkBase /// /// Set whether or not user has opted out of the sale of their personal information. /// - /// true if the user has opted out of the sale of their personal information. + /// true if the user has opted out of the sale of their personal information. public static void SetDoNotSell(bool doNotSell) { _doNotSell = doNotSell; @@ -268,7 +280,7 @@ public class MaxSdkUnityEditor : MaxSdkBase /// /// Check if the user has opted out of the sale of their personal information. /// - /// true if the user has opted out of the sale of their personal information. false if the user opted in to the sell of their personal information or the value has not been set . + /// true if the user has opted out of the sale of their personal information. false if the user opted in to the sell of their personal information or the value has not been set . public static bool IsDoNotSell() { return _doNotSell; @@ -277,7 +289,7 @@ public class MaxSdkUnityEditor : MaxSdkBase /// /// Check if the user has set the option to sell their personal information. /// - /// true if user has chosen an option to sell their personal information. + /// true if user has chosen an option to sell their personal information. public static bool IsDoNotSellSet() { return _isDoNotSellSet; @@ -338,6 +350,23 @@ public class MaxSdkUnityEditor : MaxSdkBase #endif } + /// + /// Load a new banner ad. + /// NOTE: The method loads the first banner ad and initiates an automated banner refresh process. + /// You only need to call this method if you pause banner refresh. + /// + /// Ad unit identifier of the banner to load + public static void LoadBanner(string adUnitIdentifier) + { + ValidateAdUnitIdentifier(adUnitIdentifier, "load banner"); + + ExecuteWithDelay(1f, () => + { + var eventProps = Json.Serialize(CreateBaseEventPropsDictionary("OnBannerAdLoadedEvent", adUnitIdentifier)); + MaxSdkCallbacks.Instance.ForwardEvent(eventProps); + }); + } + /// /// Set the banner placement for an ad unit identifier to tie the future ad events to. /// @@ -546,6 +575,23 @@ public class MaxSdkUnityEditor : MaxSdkBase RequestAdUnit(adUnitIdentifier); } + /// + /// Load a new MREC ad. + /// NOTE: The method loads the first MREC ad and initiates an automated MREC refresh process. + /// You only need to call this method if you pause MREC refresh. + /// + /// Ad unit identifier of the MREC to load + public static void LoadMRec(string adUnitIdentifier) + { + ValidateAdUnitIdentifier(adUnitIdentifier, "load MREC"); + + ExecuteWithDelay(1f, () => + { + var eventProps = Json.Serialize(CreateBaseEventPropsDictionary("OnMRecAdLoadedEvent", adUnitIdentifier)); + MaxSdkCallbacks.Instance.ForwardEvent(eventProps); + }); + } + /// /// Set the MREC placement for an ad unit identifier to tie the future ad events to. /// @@ -886,6 +932,123 @@ public class MaxSdkUnityEditor : MaxSdkBase #endregion + #region App Open Ads + + /// + /// Start loading an app open ad. + /// + /// Ad unit identifier of the app open ad to load + public static void LoadAppOpenAd(string adUnitIdentifier) + { + ValidateAdUnitIdentifier(adUnitIdentifier, "load app open ad"); + RequestAdUnit(adUnitIdentifier); + + ExecuteWithDelay(1f, () => + { + AddReadyAdUnit(adUnitIdentifier); + + var eventProps = Json.Serialize(CreateBaseEventPropsDictionary("OnAppOpenAdLoadedEvent", adUnitIdentifier)); + MaxSdkCallbacks.Instance.ForwardEvent(eventProps); + }); + } + + /// + /// Check if app open ad ad is loaded and ready to be displayed. + /// + /// Ad unit identifier of the app open ad to load + /// True if the ad is ready to be displayed + public static bool IsAppOpenAdReady(string adUnitIdentifier) + { + ValidateAdUnitIdentifier(adUnitIdentifier, "check app open ad loaded"); + + if (!IsAdUnitRequested(adUnitIdentifier)) + { + MaxSdkLogger.UserWarning("App Open Ad '" + adUnitIdentifier + + "' was not requested, can not check if it is loaded"); + return false; + } + + return IsAdUnitReady(adUnitIdentifier); + } + + /// + /// Present loaded app open ad for a given placement to tie ad events to. Note: if the app open ad is not ready to be displayed nothing will happen. + /// + /// Ad unit identifier of the app open ad to load + /// The placement to tie the showing ad's events to + /// The custom data to tie the showing ad's events to. Maximum size is 8KB. + public static void ShowAppOpenAd(string adUnitIdentifier, string placement = null, string customData = null) + { + ValidateAdUnitIdentifier(adUnitIdentifier, "show app open ad"); + + if (!IsAdUnitRequested(adUnitIdentifier)) + { + MaxSdkLogger.UserWarning( + "App Open Ad '" + adUnitIdentifier + "' was not requested, can not show it"); + return; + } + + if (!IsAppOpenAdReady(adUnitIdentifier)) + { + MaxSdkLogger.UserWarning("App Open Ad '" + adUnitIdentifier + "' is not ready, please check IsAppOpenAdReady() before showing."); + return; + } + + RemoveReadyAdUnit(adUnitIdentifier); + + if (_showStubAds) + { + ShowStubAppOpenAd(adUnitIdentifier); + } + } + + private static void ShowStubAppOpenAd(string adUnitIdentifier) + { +#if UNITY_EDITOR + var prefabPath = MaxSdkUtils.GetAssetPathForExportPath("MaxSdk/Prefabs/Interstitial.prefab"); + var appOpenAdPrefab = AssetDatabase.LoadAssetAtPath(prefabPath); + var stubAppOpenAd = Object.Instantiate(appOpenAdPrefab, Vector3.zero, Quaternion.identity); + var appOpenAdText = GameObject.Find("MaxInterstitialTitle").GetComponent(); + var closeButton = GameObject.Find("MaxInterstitialCloseButton").GetComponent