public EnabledState(SimpleStateMachine <AdsEvent> simpleStateMachine, AdsProjectSettings provider)
     : base(k_StateNameEnabled, simpleStateMachine, provider)
 {
     ModifyActionForEvent(AdsEvent.Disabling, HandleUnbinding);
     // Related protected variables
     topicForNotifications          = Notification.Topic.AdsService;
     notLatestPackageInstalledInfo  = string.Format(k_NotLatestPackageInstalledInfo, k_AdsPackageName);
     packageInstallationHeadsup     = string.Format(k_PackageInstallationHeadsup, k_AdsPackageName);;
     duplicateInstallWarning        = k_DuplicateInstallWarning;
     packageInstallationDialogTitle = string.Format(k_PackageInstallationDialogTitle, k_AdsPackageName);
 }
        public static SettingsProvider CreateServicesProvider()
        {
            SettingsProvider projectSettings = null;

            if (ShouldShowBuiltInProjectSettings(AdsService.instance))
            {
                projectSettings = new AdsProjectSettings(AdsService.instance.projectSettingsPath, SettingsScope.Project);
            }
            else if (ShouldShowFallbackProjectSettings(AdsService.instance))
            {
                projectSettings = new FallbackProjectSettings(AdsService.instance, SettingsScope.Project);
            }

            return(projectSettings);
        }
 public DisabledState(SimpleStateMachine <AdsEvent> simpleStateMachine, AdsProjectSettings provider)
     : base(k_StateNameDisabled, simpleStateMachine, provider)
 {
     ModifyActionForEvent(AdsEvent.Enabling, HandleBinding);
 }