Exemple #1
0
        void OnEnable()
        {
            if (serializedObject == null)
            {
                Debug.Log("SerializedObject is NULL");
            }

            // Module-control properties.
            isAdModuleEnable           = serializedObject.FindProperty("_isAdModuleEnable");
            isIAPModuleEnable          = serializedObject.FindProperty("_isIAPModuleEnable");
            isGameServiceModuleEnable  = serializedObject.FindProperty("_isGameServiceModuleEnable");
            isNotificationModuleEnable = serializedObject.FindProperty("_isNotificationModuleEnable");

            activeModuleIndex = serializedObject.FindProperty("_activeModuleIndex");

            if (System.Enum.IsDefined(typeof(Module), activeModuleIndex.intValue))
            {
                activeModule = (Module)activeModuleIndex.intValue;
            }

            // Ad module properties.
            AdProperties.mainProperty                      = serializedObject.FindProperty("_advertisingSettings");
            AdProperties.iosAdMobConfig.property           = AdProperties.mainProperty.FindPropertyRelative("_iosAdMobConfig");
            AdProperties.androidAdMobConfig.property       = AdProperties.mainProperty.FindPropertyRelative("_androidAdMobConfig");
            AdProperties.heyzapPublisherId.property        = AdProperties.mainProperty.FindPropertyRelative("_heyzapPublisherId");
            AdProperties.heyzapShowTestSuite.property      = AdProperties.mainProperty.FindPropertyRelative("_heyzapShowTestSuite");
            AdProperties.autoLoadDefaultAds.property       = AdProperties.mainProperty.FindPropertyRelative("_autoLoadDefaultAds");
            AdProperties.adCheckingInterval.property       = AdProperties.mainProperty.FindPropertyRelative("_adCheckingInterval");
            AdProperties.adLoadingInterval.property        = AdProperties.mainProperty.FindPropertyRelative("_adLoadingInterval");
            AdProperties.iosDefaultAdNetworks.property     = AdProperties.mainProperty.FindPropertyRelative("_iosDefaultAdNetworks");
            AdProperties.androidDefaultAdNetworks.property = AdProperties.mainProperty.FindPropertyRelative("_androidDefaultAdNetwork");


            // In App Purchase module properties.
            IAPProperties.mainProperty = serializedObject.FindProperty("_inAppPurchaseSettings");
            IAPProperties.targetAndroidStore.property        = IAPProperties.mainProperty.FindPropertyRelative("_targetAndroidStore");
            IAPProperties.validateAppleReceipt.property      = IAPProperties.mainProperty.FindPropertyRelative("_validateAppleReceipt");
            IAPProperties.validateGooglePlayReceipt.property = IAPProperties.mainProperty.FindPropertyRelative("_validateGooglePlayReceipt");
            IAPProperties.products.property = IAPProperties.mainProperty.FindPropertyRelative("_products");

            // Game Service module properties.
            GameServiceProperties.mainProperty                    = serializedObject.FindProperty("_gameServiceSettings");
            GameServiceProperties.gpgsDebugLog.property           = GameServiceProperties.mainProperty.FindPropertyRelative("_gpgsDebugLog");
            GameServiceProperties.autoInit.property               = GameServiceProperties.mainProperty.FindPropertyRelative("_autoInit");
            GameServiceProperties.autoInitDelay.property          = GameServiceProperties.mainProperty.FindPropertyRelative("_autoInitDelay");
            GameServiceProperties.androidMaxLoginRequest.property = GameServiceProperties.mainProperty.FindPropertyRelative("_androidMaxLoginRequests");
            GameServiceProperties.leaderboards.property           = GameServiceProperties.mainProperty.FindPropertyRelative("_leaderboards");
            GameServiceProperties.achievements.property           = GameServiceProperties.mainProperty.FindPropertyRelative("_achievements");
            GameServiceProperties.androidXmlResources.property    = GameServiceProperties.mainProperty.FindPropertyRelative("_androidXmlResources");

            // Notification module properties.
            NotificationProperties.mainProperty                 = serializedObject.FindProperty("_notificationSettings");
            NotificationProperties.oneSignalAppId.property      = NotificationProperties.mainProperty.FindPropertyRelative("_oneSignalAppId");
            NotificationProperties.googleProjectNumber.property = NotificationProperties.mainProperty.FindPropertyRelative("_googleProjectNumber");
            NotificationProperties.autoInit.property            = NotificationProperties.mainProperty.FindPropertyRelative("_autoInit");
            NotificationProperties.autoInitDelay.property       = NotificationProperties.mainProperty.FindPropertyRelative("_autoInitDelay");

            // Get the list of GPGS leaderboard and achievement ids.
            gpgsIdDict = EM_EditorUtil.GetGPGSIds();

            #if EM_UIAP
            // Determine if AppleTangle and GooglePlayTangle classes are valid ones (generated by UnityIAP's receipt validation obfuscator).
            isAppleTangleValid      = EM_EditorUtil.IsValidAppleTangleClass();
            isGooglePlayTangleValid = EM_EditorUtil.IsValidGooglePlayTangleClass();
            #endif
        }
        void OnEnable()
        {
            // Module-control properties.
            isAdModuleEnable           = serializedObject.FindProperty("mIsAdModuleEnable");
            isIAPModuleEnable          = serializedObject.FindProperty("mIsIAPModuleEnable");
            isGameServiceModuleEnable  = serializedObject.FindProperty("mIsGameServiceModuleEnable");
            isNotificationModuleEnable = serializedObject.FindProperty("mIsNotificationModuleEnable");

            activeModuleIndex = serializedObject.FindProperty("mActiveModuleIndex");
            isSelectingModule = serializedObject.FindProperty("mIsSelectingModule");

            if (System.Enum.IsDefined(typeof(Module), activeModuleIndex.intValue))
            {
                activeModule = (Module)activeModuleIndex.intValue;
            }

            //--------------------------------------------------------------
            // Ad module properties.
            //--------------------------------------------------------------
            AdProperties.mainProperty = serializedObject.FindProperty("mAdvertisingSettings");

            // Auto ad-loading.
            AdProperties.autoLoadAdsMode.property    = AdProperties.mainProperty.FindPropertyRelative("mAutoLoadAdsMode");
            AdProperties.adCheckingInterval.property = AdProperties.mainProperty.FindPropertyRelative("mAdCheckingInterval");
            AdProperties.adLoadingInterval.property  = AdProperties.mainProperty.FindPropertyRelative("mAdLoadingInterval");

            // Default ad networks.
            AdProperties.iosDefaultAdNetworks.property     = AdProperties.mainProperty.FindPropertyRelative("mIosDefaultAdNetworks");
            AdProperties.androidDefaultAdNetworks.property = AdProperties.mainProperty.FindPropertyRelative("mAndroidDefaultAdNetworks");

            // AdColony properties.
            AdProperties.adColonySettings                           = AdProperties.mainProperty.FindPropertyRelative("mAdColony");
            AdProperties.adColonyAppId.property                     = AdProperties.adColonySettings.FindPropertyRelative("mAppId");
            AdProperties.adColonyAdOrientation.property             = AdProperties.adColonySettings.FindPropertyRelative("mOrientation");
            AdProperties.adColonyEnableRewardedAdPrePopup.property  = AdProperties.adColonySettings.FindPropertyRelative("mEnableRewardedAdPrePopup");
            AdProperties.adColonyEnableRewardedAdPostPopup.property = AdProperties.adColonySettings.FindPropertyRelative("mEnableRewardedAdPostPopup");
            AdProperties.adColonyDefaultInterstitialAdId.property   = AdProperties.adColonySettings.FindPropertyRelative("mDefaultInterstitialAdId");
            AdProperties.adColonyDefaultRewardedAdId.property       = AdProperties.adColonySettings.FindPropertyRelative("mDefaultRewardedAdId");
            AdProperties.adColonyCustomInterstitialAdIds.property   = AdProperties.adColonySettings.FindPropertyRelative("mCustomInterstitialAdIds");
            AdProperties.adColonyCustomRewardedAdIds.property       = AdProperties.adColonySettings.FindPropertyRelative("mCustomRewardedAdIds");

            // AdMob properties.
            AdProperties.admobSettings                         = AdProperties.mainProperty.FindPropertyRelative("mAdMob");
            AdProperties.admobAppId.property                   = AdProperties.admobSettings.FindPropertyRelative("mAppId");
            AdProperties.admobDefaultBannerAdId.property       = AdProperties.admobSettings.FindPropertyRelative("mDefaultBannerAdId");
            AdProperties.admobDefaultInterstitialAdId.property = AdProperties.admobSettings.FindPropertyRelative("mDefaultInterstitialAdId");
            AdProperties.admobDefaultRewardedAdId.property     = AdProperties.admobSettings.FindPropertyRelative("mDefaultRewardedAdId");
            AdProperties.admobCustomBannerAdIds.property       = AdProperties.admobSettings.FindPropertyRelative("mCustomBannerAdIds");
            AdProperties.admobCustomInterstitialAdIds.property = AdProperties.admobSettings.FindPropertyRelative("mCustomInterstitialAdIds");
            AdProperties.admobCustomRewardedAdIds.property     = AdProperties.admobSettings.FindPropertyRelative("mCustomRewardedAdIds");
            AdProperties.admobEnableTestMode.property          = AdProperties.admobSettings.FindPropertyRelative("mEnableTestMode");
            AdProperties.admobTestDeviceIds.property           = AdProperties.admobSettings.FindPropertyRelative("mTestDeviceIds");
            AdProperties.admobTargetingSettings.property       = AdProperties.admobSettings.FindPropertyRelative("mTargetingSettings");

            // Chartboost properties.
            AdProperties.chartboostSettings = AdProperties.mainProperty.FindPropertyRelative("mChartboost");
            AdProperties.chartboostCustomInterstitialPlacements.property = AdProperties.chartboostSettings.FindPropertyRelative("mCustomInterstitialPlacements");
            AdProperties.chartboostCustomRewardedPlacements.property     = AdProperties.chartboostSettings.FindPropertyRelative("mCustomRewardedPlacements");

            // Facebook Audience properties.
            AdProperties.fbAudienceSettings = AdProperties.mainProperty.FindPropertyRelative("mFBAudience");
            AdProperties.fbAudienceDefaultBannerAdId.property       = AdProperties.fbAudienceSettings.FindPropertyRelative("mDefaultBannerId");
            AdProperties.fbAudienceDefaultInterstitialAdId.property = AdProperties.fbAudienceSettings.FindPropertyRelative("mDefaultInterstitialAdId");
            AdProperties.fbAudienceDefaultRewardedAdId.property     = AdProperties.fbAudienceSettings.FindPropertyRelative("mDefaultRewardedAdId");
            AdProperties.fbAudienceCustomBannerAdIds.property       = AdProperties.fbAudienceSettings.FindPropertyRelative("mCustomBannerIds");
            AdProperties.fbAudienceCustomInterstitialAdIds.property = AdProperties.fbAudienceSettings.FindPropertyRelative("mCustomInterstitialAdIds");
            AdProperties.fbAudienceCustomRewardedAdIds.property     = AdProperties.fbAudienceSettings.FindPropertyRelative("mCustomRewardedAdIds");

            AdProperties.fbAudienceEnableTestMode.property = AdProperties.fbAudienceSettings.FindPropertyRelative("mEnableTestMode");
            AdProperties.fbAudienceTestDeviceIds.property  = AdProperties.fbAudienceSettings.FindPropertyRelative("mTestDevices");
            AdProperties.fbAudienceBannerSize.property     = AdProperties.fbAudienceSettings.FindPropertyRelative("mBannerAdSize");

            // Heyzap properties.
            AdProperties.heyzapSettings               = AdProperties.mainProperty.FindPropertyRelative("mHeyzap");
            AdProperties.heyzapPublisherId.property   = AdProperties.heyzapSettings.FindPropertyRelative("mPublisherId");
            AdProperties.heyzapShowTestSuite.property = AdProperties.heyzapSettings.FindPropertyRelative("mShowTestSuite");
            AdProperties.heyzapCustomInterstitialPlacements.property = AdProperties.heyzapSettings.FindPropertyRelative("mCustomInterstitialPlacements");
            AdProperties.heyzapCustomRewardedPlacements.property     = AdProperties.heyzapSettings.FindPropertyRelative("mCustomRewardedPlacements");

            // IronSource properties.
            AdProperties.ironSourceSettings                    = AdProperties.mainProperty.FindPropertyRelative("mIronSource");
            AdProperties.ironSourceAppKey.property             = AdProperties.ironSourceSettings.FindPropertyRelative("mAppId");
            AdProperties.ironSourceUseAdvancedSetting.property = AdProperties.ironSourceSettings.FindPropertyRelative("mUseAdvancedSetting");
            AdProperties.ironSourceSegmentSettings.property    = AdProperties.ironSourceSettings.FindPropertyRelative("mSegments");

            // Mopub properties.
            AdProperties.mopubSettings = AdProperties.mainProperty.FindPropertyRelative("mMoPub");
            AdProperties.mopubDefaultBannerAdId.property       = AdProperties.mopubSettings.FindPropertyRelative("mDefaultBannerId");
            AdProperties.mopubDefaultInterstitialAdId.property = AdProperties.mopubSettings.FindPropertyRelative("mDefaultInterstitialAdId");
            AdProperties.mopubDefaultRewardedAdId.property     = AdProperties.mopubSettings.FindPropertyRelative("mDefaultRewardedAdId");
            AdProperties.mopubCustomBannerAdIds.property       = AdProperties.mopubSettings.FindPropertyRelative("mCustomBannerIds");
            AdProperties.mopubCustomInterstitialAdIds.property = AdProperties.mopubSettings.FindPropertyRelative("mCustomInterstitialAdIds");
            AdProperties.mopubCustomRewardedAdIds.property     = AdProperties.mopubSettings.FindPropertyRelative("mCustomRewardedAdIds");

            AdProperties.mopubReportAppOpen.property         = AdProperties.mopubSettings.FindPropertyRelative("mReportAppOpen");
            AdProperties.mopubITuneAppID.property            = AdProperties.mopubSettings.FindPropertyRelative("mITuneAppID");
            AdProperties.mopubEnableLocationPassing.property = AdProperties.mopubSettings.FindPropertyRelative("mEnableLocationPassing");
            AdProperties.mopubEnableAdvancedSetting.property = AdProperties.mopubSettings.FindPropertyRelative("mUseAdvancedSetting");
            AdProperties.mopubInitNetworks.property          = AdProperties.mopubSettings.FindPropertyRelative("mInitNetworks");
            AdProperties.mopubAdvancedBidders.property       = AdProperties.mopubSettings.FindPropertyRelative("mAdvancedBidders");
            AdProperties.mopubMediationSettings.property     = AdProperties.mopubSettings.FindPropertyRelative("mMediationSettings");
            AdProperties.mopubAutoRequestConsent.property    = AdProperties.mopubSettings.FindPropertyRelative("mAutoRequestConsent");
            AdProperties.mopubForceGdprApplicable.property   = AdProperties.mopubSettings.FindPropertyRelative("mForceGdprApplicable");

            // Tapjoy properties.
            AdProperties.tapjoySettings = AdProperties.mainProperty.FindPropertyRelative("mTapjoy");
            AdProperties.tapjoyDefaultInterstitialAdId.property = AdProperties.tapjoySettings.FindPropertyRelative("mDefaultInterstitialAdId");
            AdProperties.tapjoyDefaultRewardedAdId.property     = AdProperties.tapjoySettings.FindPropertyRelative("mDefaultRewardedAdId");
            AdProperties.tapjoyCustomInterstitialAdIds.property = AdProperties.tapjoySettings.FindPropertyRelative("mCustomInterstitialAdIds");
            AdProperties.tapjoyCustomRewardedAdIds.property     = AdProperties.tapjoySettings.FindPropertyRelative("mCustomRewardedAdIds");
            AdProperties.tapjoyAutoReconnect.property           = AdProperties.tapjoySettings.FindPropertyRelative("mAutoReconnect");
            AdProperties.tapjoyAutoReconnectInterval.property   = AdProperties.tapjoySettings.FindPropertyRelative("mAutoReconnectInterval");

            // UnityAds properties.
            AdProperties.unityAdsSettings = AdProperties.mainProperty.FindPropertyRelative("mUnityAds");
            AdProperties.unityAdsDefaultInterstitialAdId.property = AdProperties.unityAdsSettings.FindPropertyRelative("mDefaultInterstitialAdId");
            AdProperties.unityAdsDefaultRewardedAdId.property     = AdProperties.unityAdsSettings.FindPropertyRelative("mDefaultRewardedAdId");
            AdProperties.unityAdsCustomInterstitialAdIds.property = AdProperties.unityAdsSettings.FindPropertyRelative("mCustomInterstitialAdIds");
            AdProperties.unityAdsCustomRewardedAdIds.property     = AdProperties.unityAdsSettings.FindPropertyRelative("mCustomRewardedAdIds");

            // In App Purchase module properties.
            IAPProperties.mainProperty = serializedObject.FindProperty("mInAppPurchaseSettings");
            IAPProperties.targetAndroidStore.property                 = IAPProperties.mainProperty.FindPropertyRelative("mTargetAndroidStore");
            IAPProperties.enableAmazoneSandboxTesting.property        = IAPProperties.mainProperty.FindPropertyRelative("mEnableAmazonSandboxTesting");
            IAPProperties.simulateAppleAskToBuy.property              = IAPProperties.mainProperty.FindPropertyRelative("mSimulateAppleAskToBuy");
            IAPProperties.interceptApplePromotionalPurchases.property = IAPProperties.mainProperty.FindPropertyRelative("mInterceptApplePromotionalPurchases");
            IAPProperties.validateAppleReceipt.property               = IAPProperties.mainProperty.FindPropertyRelative("mValidateAppleReceipt");
            IAPProperties.validateGooglePlayReceipt.property          = IAPProperties.mainProperty.FindPropertyRelative("mValidateGooglePlayReceipt");
            IAPProperties.products.property = IAPProperties.mainProperty.FindPropertyRelative("mProducts");

            // Game Service module properties.
            GameServiceProperties.mainProperty                    = serializedObject.FindProperty("mGameServiceSettings");
            GameServiceProperties.gpgsDebugLog.property           = GameServiceProperties.mainProperty.FindPropertyRelative("mGpgsDebugLogEnabled");
            GameServiceProperties.gpgsPopupGravity.property       = GameServiceProperties.mainProperty.FindPropertyRelative("mGpgsPopupGravity");
            GameServiceProperties.gpgsXmlResources.property       = GameServiceProperties.mainProperty.FindPropertyRelative("mAndroidXmlResources");
            GameServiceProperties.autoInit.property               = GameServiceProperties.mainProperty.FindPropertyRelative("mAutoInit");
            GameServiceProperties.autoInitDelay.property          = GameServiceProperties.mainProperty.FindPropertyRelative("mAutoInitDelay");
            GameServiceProperties.androidMaxLoginRequest.property = GameServiceProperties.mainProperty.FindPropertyRelative("mAndroidMaxLoginRequests");
            GameServiceProperties.leaderboards.property           = GameServiceProperties.mainProperty.FindPropertyRelative("mLeaderboards");
            GameServiceProperties.achievements.property           = GameServiceProperties.mainProperty.FindPropertyRelative("mAchievements");

            #if EASY_MOBILE_PRO
            GameServiceProperties.enableSavedGames.property = GameServiceProperties.mainProperty.FindPropertyRelative("mEnableSavedGames");
            GameServiceProperties.autoConflictResolutionStrategy.property = GameServiceProperties.mainProperty.FindPropertyRelative("mAutoConflictResolutionStrategy");
            GameServiceProperties.gpgsDataSource.property = GameServiceProperties.mainProperty.FindPropertyRelative("mGpgsDataSource");
            #endif

            // Notification module properties.
            NotificationProperties.mainProperty                     = serializedObject.FindProperty("mNotificationSettings");
            NotificationProperties.autoInit.property                = NotificationProperties.mainProperty.FindPropertyRelative("mAutoInit");
            NotificationProperties.autoInitDelay.property           = NotificationProperties.mainProperty.FindPropertyRelative("mAutoInitDelay");
            NotificationProperties.iosAuthOptions.property          = NotificationProperties.mainProperty.FindPropertyRelative("mIosAuthOptions");
            NotificationProperties.pushNotificationService.property = NotificationProperties.mainProperty.FindPropertyRelative("mPushNotificationService");
            NotificationProperties.oneSignalAppId.property          = NotificationProperties.mainProperty.FindPropertyRelative("mOneSignalAppId");
            NotificationProperties.firebaseTopics.property          = NotificationProperties.mainProperty.FindPropertyRelative("mFirebaseTopics");
            NotificationProperties.categoryGroups.property          = NotificationProperties.mainProperty.FindPropertyRelative("mCategoryGroups");
            NotificationProperties.defaultCategory.property         = NotificationProperties.mainProperty.FindPropertyRelative("mDefaultCategory");
            NotificationProperties.userCategories.property          = NotificationProperties.mainProperty.FindPropertyRelative("mUserCategories");

            // Privacy module properties.
            PrivacyProperties.mainProperty                        = serializedObject.FindProperty("mPrivacySettings");
            PrivacyProperties.consentDialogProperty               = PrivacyProperties.mainProperty.FindPropertyRelative("mDefaultConsentDialog");
            PrivacyProperties.consentDialogContent.property       = PrivacyProperties.consentDialogProperty.FindPropertyRelative("mContent");
            PrivacyProperties.consentDialogTitle.property         = PrivacyProperties.consentDialogProperty.FindPropertyRelative("mTitle");
            PrivacyProperties.consentDialogToggles.property       = PrivacyProperties.consentDialogProperty.FindPropertyRelative("mToggles");
            PrivacyProperties.consentDialogActionButtons.property = PrivacyProperties.consentDialogProperty.FindPropertyRelative("mActionButtons");
            PrivacyProperties.selectedToggleIndex.property        = PrivacyProperties.mainProperty.FindPropertyRelative("mConsentDialogComposerSettings.mToggleSelectedIndex");
            PrivacyProperties.selectedButtonIndex.property        = PrivacyProperties.mainProperty.FindPropertyRelative("mConsentDialogComposerSettings.mButtonSelectedIndex");
            PrivacyProperties.enableCopyPasteMode.property        = PrivacyProperties.mainProperty.FindPropertyRelative("mConsentDialogComposerSettings.mEnableCopyPasteMode");

            // Utility module consists of other sub-module properties.
            // RatingRequest properties.
            RatingRequestProperties.mainProperty = serializedObject.FindProperty("mRatingRequestSettings");
            RatingRequestProperties.defaultRatingDialogContent.property = RatingRequestProperties.mainProperty.FindPropertyRelative("mDefaultRatingDialogContent");
            RatingRequestProperties.minimumAcceptedStars.property       = RatingRequestProperties.mainProperty.FindPropertyRelative("mMinimumAcceptedStars");
            RatingRequestProperties.supportEmail.property                   = RatingRequestProperties.mainProperty.FindPropertyRelative("mSupportEmail");
            RatingRequestProperties.iosAppId.property                       = RatingRequestProperties.mainProperty.FindPropertyRelative("mIosAppId");
            RatingRequestProperties.annualCap.property                      = RatingRequestProperties.mainProperty.FindPropertyRelative("mAnnualCap");
            RatingRequestProperties.delayAfterInstallation.property         = RatingRequestProperties.mainProperty.FindPropertyRelative("mDelayAfterInstallation");
            RatingRequestProperties.coolingOffPeriod.property               = RatingRequestProperties.mainProperty.FindPropertyRelative("mCoolingOffPeriod");
            RatingRequestProperties.ignoreConstraintsInDevelopment.property = RatingRequestProperties.mainProperty.FindPropertyRelative("mIgnoreContraintsInDevelopment");

            // Get the sorted list of GPGS leaderboard and achievement ids.
            gpgsIdDict = new SortedDictionary <string, string>(EM_EditorUtil.GetGPGSIds());

            #if EM_UIAP
            // Determine if AppleTangle and GooglePlayTangle classes are valid ones (generated by UnityIAP's receipt validation obfuscator).
            isAppleTangleValid      = EM_EditorUtil.IsValidAppleTangleClass();
            isGooglePlayTangleValid = EM_EditorUtil.IsValidGooglePlayTangleClass();
            #endif
        }
Exemple #3
0
        void OnEnable()
        {
            // Module-control properties.
            isAdModuleEnable           = serializedObject.FindProperty("_isAdModuleEnable");
            isIAPModuleEnable          = serializedObject.FindProperty("_isIAPModuleEnable");
            isGameServiceModuleEnable  = serializedObject.FindProperty("_isGameServiceModuleEnable");
            isNotificationModuleEnable = serializedObject.FindProperty("_isNotificationModuleEnable");

            activeModuleIndex = serializedObject.FindProperty("_activeModuleIndex");

            if (System.Enum.IsDefined(typeof(Module), activeModuleIndex.intValue))
            {
                activeModule = (Module)activeModuleIndex.intValue;
            }

            // Ad module properties.
            AdProperties.mainProperty = serializedObject.FindProperty("_advertisingSettings");
            AdProperties.iosAdColonyConfig.property               = AdProperties.mainProperty.FindPropertyRelative("_iosAdColonyConfig");
            AdProperties.androidAdColonyConfig.property           = AdProperties.mainProperty.FindPropertyRelative("_androidAdColonyConfig");
            AdProperties.adColonyAdOrientation.property           = AdProperties.mainProperty.FindPropertyRelative("_adColonyAdOrientation");
            AdProperties.adColonyShowRewardedAdPrePopup.property  = AdProperties.mainProperty.FindPropertyRelative("_adColonyShowRewardedAdPrePopup");
            AdProperties.adColonyShowRewardedAdPostPopup.property = AdProperties.mainProperty.FindPropertyRelative("_adColonyShowRewardedAdPostPopup");
            AdProperties.iosAdMobConfig.property           = AdProperties.mainProperty.FindPropertyRelative("_iosAdMobConfig");
            AdProperties.androidAdMobConfig.property       = AdProperties.mainProperty.FindPropertyRelative("_androidAdMobConfig");
            AdProperties.admobTargeting.property           = AdProperties.mainProperty.FindPropertyRelative("_admobTargeting");
            AdProperties.admobEnableTestMode.property      = AdProperties.mainProperty.FindPropertyRelative("_admobEnableTestMode");
            AdProperties.admobTestDeviceIds.property       = AdProperties.mainProperty.FindPropertyRelative("_admobTestDeviceIds");
            AdProperties.heyzapPublisherId.property        = AdProperties.mainProperty.FindPropertyRelative("_heyzapPublisherId");
            AdProperties.heyzapShowTestSuite.property      = AdProperties.mainProperty.FindPropertyRelative("_heyzapShowTestSuite");
            AdProperties.autoLoadDefaultAds.property       = AdProperties.mainProperty.FindPropertyRelative("_autoLoadDefaultAds");
            AdProperties.adCheckingInterval.property       = AdProperties.mainProperty.FindPropertyRelative("_adCheckingInterval");
            AdProperties.adLoadingInterval.property        = AdProperties.mainProperty.FindPropertyRelative("_adLoadingInterval");
            AdProperties.iosDefaultAdNetworks.property     = AdProperties.mainProperty.FindPropertyRelative("_iosDefaultAdNetworks");
            AdProperties.androidDefaultAdNetworks.property = AdProperties.mainProperty.FindPropertyRelative("_androidDefaultAdNetwork");

            // In App Purchase module properties.
            IAPProperties.mainProperty = serializedObject.FindProperty("_inAppPurchaseSettings");
            IAPProperties.targetAndroidStore.property        = IAPProperties.mainProperty.FindPropertyRelative("_targetAndroidStore");
            IAPProperties.validateAppleReceipt.property      = IAPProperties.mainProperty.FindPropertyRelative("_validateAppleReceipt");
            IAPProperties.validateGooglePlayReceipt.property = IAPProperties.mainProperty.FindPropertyRelative("_validateGooglePlayReceipt");
            IAPProperties.products.property = IAPProperties.mainProperty.FindPropertyRelative("_products");

            // Game Service module properties.
            GameServiceProperties.mainProperty                    = serializedObject.FindProperty("_gameServiceSettings");
            GameServiceProperties.gpgsDebugLog.property           = GameServiceProperties.mainProperty.FindPropertyRelative("_gpgsDebugLog");
            GameServiceProperties.gpgsXmlResources.property       = GameServiceProperties.mainProperty.FindPropertyRelative("_androidXmlResources");
            GameServiceProperties.autoInit.property               = GameServiceProperties.mainProperty.FindPropertyRelative("_autoInit");
            GameServiceProperties.autoInitDelay.property          = GameServiceProperties.mainProperty.FindPropertyRelative("_autoInitDelay");
            GameServiceProperties.androidMaxLoginRequest.property = GameServiceProperties.mainProperty.FindPropertyRelative("_androidMaxLoginRequests");
            GameServiceProperties.gpgsDataSource.property         = GameServiceProperties.mainProperty.FindPropertyRelative("_gpgsDataSource");
            GameServiceProperties.leaderboards.property           = GameServiceProperties.mainProperty.FindPropertyRelative("_leaderboards");
            GameServiceProperties.achievements.property           = GameServiceProperties.mainProperty.FindPropertyRelative("_achievements");

            #if EASY_MOBILE_PRO
            GameServiceProperties.enableSavedGames.property = GameServiceProperties.mainProperty.FindPropertyRelative("_enableSavedGames");
            GameServiceProperties.autoConflictResolutionStrategy.property = GameServiceProperties.mainProperty.FindPropertyRelative("_autoConflictResolutionStrategy");
            #endif

            // Notification module properties.
            NotificationProperties.mainProperty                     = serializedObject.FindProperty("_notificationSettings");
            NotificationProperties.autoInit.property                = NotificationProperties.mainProperty.FindPropertyRelative("_autoInit");
            NotificationProperties.autoInitDelay.property           = NotificationProperties.mainProperty.FindPropertyRelative("_autoInitDelay");
            NotificationProperties.iosAuthOptions.property          = NotificationProperties.mainProperty.FindPropertyRelative("_iosAuthOptions");
            NotificationProperties.pushNotificationService.property = NotificationProperties.mainProperty.FindPropertyRelative("_pushNotificationService");
            NotificationProperties.oneSignalAppId.property          = NotificationProperties.mainProperty.FindPropertyRelative("_oneSignalAppId");
            NotificationProperties.categoryGroups.property          = NotificationProperties.mainProperty.FindPropertyRelative("_categoryGroups");
            NotificationProperties.defaultCategory.property         = NotificationProperties.mainProperty.FindPropertyRelative("_defaultCategory");
            NotificationProperties.userCategories.property          = NotificationProperties.mainProperty.FindPropertyRelative("_userCategories");

            // Utility module consists of other sub-module properties.
            // RatingRequest properties.
            RatingRequestProperties.mainProperty = serializedObject.FindProperty("_ratingRequestSettings");
            RatingRequestProperties.defaultRatingDialogContent.property = RatingRequestProperties.mainProperty.FindPropertyRelative("_defaultRatingDialogContent");
            RatingRequestProperties.minimumAcceptedStars.property       = RatingRequestProperties.mainProperty.FindPropertyRelative("_minimumAcceptedStars");
            RatingRequestProperties.supportEmail.property                   = RatingRequestProperties.mainProperty.FindPropertyRelative("_supportEmail");
            RatingRequestProperties.iosAppId.property                       = RatingRequestProperties.mainProperty.FindPropertyRelative("_iosAppId");
            RatingRequestProperties.annualCap.property                      = RatingRequestProperties.mainProperty.FindPropertyRelative("_annualCap");
            RatingRequestProperties.delayAfterInstallation.property         = RatingRequestProperties.mainProperty.FindPropertyRelative("_delayAfterInstallation");
            RatingRequestProperties.coolingOffPeriod.property               = RatingRequestProperties.mainProperty.FindPropertyRelative("_coolingOffPeriod");
            RatingRequestProperties.ignoreConstraintsInDevelopment.property = RatingRequestProperties.mainProperty.FindPropertyRelative("_ignoreContraintsInDevelopment");

            // Get the sorted list of GPGS leaderboard and achievement ids.
            gpgsIdDict = new SortedDictionary <string, string>(EM_EditorUtil.GetGPGSIds());

            #if EM_UIAP
            // Determine if AppleTangle and GooglePlayTangle classes are valid ones (generated by UnityIAP's receipt validation obfuscator).
            isAppleTangleValid      = EM_EditorUtil.IsValidAppleTangleClass();
            isGooglePlayTangleValid = EM_EditorUtil.IsValidGooglePlayTangleClass();
            #endif
        }