Example #1
0
 public void Show(string placementId, BannerOptions showOptions)
 {
     m_BannerShowOptions = showOptions;
     if (m_BannerBundle != null && (string.IsNullOrEmpty(placementId) || m_BannerBundle.bannerPlacementId.Equals(placementId)))
     {
         m_CurrentActivity.Call("runOnUiThread", new AndroidJavaRunnable(() =>
         {
             var parent = m_BannerBundle.bannerView.Call <AndroidJavaObject>("getParent");
             if (parent == null)
             {
                 var layoutParams = m_BannerBundle.bannerView.Call <AndroidJavaObject>("getLayoutParams");
                 m_CurrentActivity.Call("addContentView", m_BannerBundle.bannerView, layoutParams);
             }
         }));
         m_Banner.UnityLifecycleManager.Post(() =>
         {
             showOptions?.showCallback();
         });
     }
     else
     {
         if (m_BannerBundle != null)
         {
             Hide(true);
             m_BannerBundle = null;
         }
         m_Banner.ShowAfterLoad = true;
         Load(placementId, null);
     }
 }
Example #2
0
        //------------------------------------------------------------
        // Banner Ads.
        //------------------------------------------------------------

        protected override void InternalShowBannerAd(AdPlacement placement, BannerAdPosition position, BannerAdSize __)
        {
#if EM_FAIRBID
            string id = placement == AdPlacement.Default ?
                        mGlobalAdSettings.DefaultBannerId :
                        ToFairBidAdTag(placement);

            BannerOptions showOptions = new BannerOptions();
            switch (position)
            {
            case BannerAdPosition.TopLeft:
            case BannerAdPosition.TopRight:
            case BannerAdPosition.Top:
                showOptions.DisplayAtTheTop();
                break;

            case BannerAdPosition.BottomLeft:
            case BannerAdPosition.BottomRight:
            case BannerAdPosition.Bottom:
                showOptions.DisplayAtTheBottom();
                break;

            default:
                showOptions.DisplayAtTheBottom();
                break;
            }
            Banner.Show(id, showOptions);
#endif
        }
Example #3
0
        static Banner()
        {
            // Auto prepare Banner class before first call.
            BannerOptions = new BannerOptions();
            BannerOptions.PrintBannerFunction = PrintBannerDefault;
            BannerOptions.PrintRandomMessage  = PrintRandomMessageDefault;
            BannerOptions.SelectRandomMessage = SelectRandomMessageDefault;

            BannerOptions.RandomMessages = new List <string>()
            {
                "Think your Mod Loader has EDGE? Think again.",
                "A Mod Loader by Sewer56?",
                "Cuteness is Justice. It is the law!",
                @"It all started here: https://discord.gg/4DHujrb",
                "null",
                "All your base are belong to us.",
                "The answer is \"Sometime between now and never.\"",
                @"Don't forget to backup Salvato's character file.",
                "\"For A Really Disturbing Image... Flip Disc Over\"",
                "Hello! Trojan:Win32/ReloadedModLoader",

                "The program 'fortune' is currently not installed.\n" +
                "You can install it by typing: sudo apt install fortune-mod"
            };

            foreach (var configPlugin in PluginLoader.LoaderConfigPlugins)
            {
                BannerOptions = configPlugin.SetBannerOptions(BannerOptions);
            }
        }
Example #4
0
    /// <summary>
    /// Called when the showBanner is clicked
    /// This function provides an example for calling the API method Banner.display in order to display a banner placement
    /// </summary>
    /// <param name="bannerPlacementName">name of placement to be requested</param>
    private void OnShowBannerClicked(String bannerPlacementName)
    {
        BannerOptions bannerOptions = generateBannerOptions();

        Banner.Show(bannerPlacementName, bannerOptions);
        mUserInterfaceWrapper.startRequestAnimation();
    }
 private void OnLoadBannerSuccess()
 {
     StatusShow.instance.ShowAdStatus("Banner loaded Successfuly");
     AdvertEngine.Instance.BannerAdLoadedSuccessfuly();
     BannerOptions options = new BannerOptions {
         showCallback = OnShowBanner, hideCallback = OnHideBanner
     };
 }
Example #6
0
        protected override void RegisterBannerManager(Container container)
        {
            var cacheDirectory = Environment.ExpandEnvironmentVariables(@"%LocalAppData%\pdfforge\PDFCreator\banners");
            var bannerOptions  = new BannerOptions(Urls.BannerIndexUrl, cacheDirectory, TimeSpan.FromDays(1));

            container.RegisterSingleton(bannerOptions);
            container.Register <IBannerManager, OnlineBannerManager>();
            container.Register <IBannerMetricFactory, BannerMetricFactory>();
        }
Example #7
0
    public void ShowBanner()
    {
        BannerOptions options = new BannerOptions
        {
            showCallback = OnBannerShown
        };

        Advertisement.Banner.Show(bannerID, options);
    }
Example #8
0
    public void ShowBanner()
    {
        BannerOptions options = new BannerOptions
        {
            showCallback = OnBannerShown,
            hideCallback = OnBannerHidden
        };

        Advertisement.Banner.Show(placementName, options);
    }
Example #9
0
        private void DoShowBannerAd(string id, AdPlacement placement)
        {
            var showOptions = new BannerOptions
            {
                showCallback = () =>
                {
                    InternalShowBannerAdCallback(placement);
                }
            };

            Advertisement.Banner.Show(id, showOptions);
        }
Example #10
0
        public void Show(string placementId, BannerOptions showOptions)
        {
            m_BannerShowOptions = showOptions;
            if (!m_Banner.IsLoaded)
            {
                Load(placementId, null);
            }

            m_BannerPlaceholder.ShowBanner(m_CurrentBannerPosition, m_BannerShowOptions);
            m_Banner.UnityLifecycleManager.Post(() => {
                showOptions?.showCallback();
            });
        }
    // Implement a method to call when the Show Banner button is clicked:
    void ShowBannerAd()
    {
        // Set up options to notify the SDK of show events:
        BannerOptions options = new BannerOptions
        {
            clickCallback = OnBannerClicked,
            hideCallback  = OnBannerHidden,
            showCallback  = OnBannerShown
        };

        // Show the loaded Banner Ad Unit:
        Advertisement.Banner.Show(_bannerAdUnitId, options);
    }
Example #12
0
    /// <summary>
    /// Convenience method. Generates a new instance of BannerOptions and configure it accordingly.
    /// </summary>
    /// <returns>A new banner options instance.</returns>
    private BannerOptions generateBannerOptions()
    {
        BannerOptions bannerOptions = new BannerOptions();

        if (mUserInterfaceWrapper.isTopToggleSelcted())
        {
            bannerOptions.DisplayAtTheTop();
        }
        else
        {
            bannerOptions.DisplayAtTheBottom();
        }
        return(bannerOptions);
    }
        public UnityAds(iAdsConfig config)
        {
            //set gameID
            switch (Application.platform)
            {
            case RuntimePlatform.Android:
            {
                _gameID = config.GetConfig <string>(UnityAdsConfig.GAME_ID_PLAYSTORE);
                break;
            }

            case RuntimePlatform.IPhonePlayer:
            {
                _gameID = config.GetConfig <string>(UnityAdsConfig.GAME_ID_APPSTORE);
                break;
            }

            default:
            {
                _gameID = config.GetConfig <string>(UnityAdsConfig.GAME_ID_PLAYSTORE);
                break;
            }
            }

            _bannerID       = config.GetConfig <string>(UnityAdsConfig.BANNER_ID);
            _interstitialID = config.GetConfig <string>(UnityAdsConfig.INTERSTITIAL_ID);
            _rewardID       = config.GetConfig <string>(UnityAdsConfig.REWARD_ID);
            _testMode       = config.GetConfig <bool>(UnityAdsConfig.TEST_MODE);

            _bannerLoadOptions = new BannerLoadOptions();
            _bannerLoadOptions.errorCallback += (error) => onBannerLoadFailed?.Invoke(this, error);
            _bannerLoadOptions.loadCallback  += () => onBannerLoaded?.Invoke(this);

            _bannerOptions = new BannerOptions();
            _bannerOptions.showCallback += () => onBannerOpening?.Invoke(this);
            _bannerOptions.hideCallback += () => onBannerClosed?.Invoke(this);

            Advertisement.AddListener(this);
            Advertisement.Initialize(_gameID, _testMode);

            if (Advertisement.isInitialized)
            {
                onInited?.Invoke(this);
            }
            else
            {
                WaitUntilInited();
            }
        }
Example #14
0
        protected override void InternalDestroyBannerAd(AdPlacement placement)
        {
#if UNITY_MONETIZATION
            var hideOptions = new BannerOptions
            {
                hideCallback = () =>
                {
                    InternalHideBannerAdCallback(placement);
                }
            };
            Advertisement.Banner.Hide(true);
#else
            Debug.LogWarning(BANNER_UNSUPPORTED_MESSAGE);
#endif
        }
        private void BannerLoadSuccess()
        {
            if (debug)
            {
                Debug.Log(this + "Banner Load Success");
                ScreenWriter.Write(this + " Banner Load Success");
            }

            BannerOptions options = new BannerOptions
            {
                showCallback = BanerDisplayed,
                hideCallback = BannerHidded
            };

            Advertisement.Banner.Show(bannerPlacement, options);
        }
Example #16
0
        //------------------------------------------------------------
        // Banner Ads.
        //------------------------------------------------------------


        protected override void InternalShowBannerAd(AdPlacement placement, BannerAdPosition postition, BannerAdSize size)
        {
#if UNITY_MONETIZATION
            string id = placement == AdPlacement.Default ?
                        mAdSettings.DefaultBannerAdId.Id :
                        FindIdForPlacement(mAdSettings.CustomBannerAdIds, placement);

            if (string.IsNullOrEmpty(id))
            {
                Debug.Log("Attempting to show UnityAds banner ad with an undefined ID at placement " + AdPlacement.GetPrintableName(placement));
                return;
            }

            if (!Advertisement.Banner.isLoaded)
            {
                BannerLoadOptions options = new BannerLoadOptions();

                options.errorCallback += ((string message) =>
                {
                    Debug.Log("Error: " + message);
                });

                options.loadCallback += (() =>
                {
                    Debug.Log("Ad Loaded");
                });

                Debug.Log("Loading banner ad");
                Advertisement.Banner.Load(id, options);
            }
            else
            {
                var showOptions = new BannerOptions
                {
                    showCallback = () =>
                    {
                        InternalShowBannerAdCallback(placement);
                    }
                };


                Advertisement.Banner.Show(id, showOptions);
            }
#else
            Debug.LogWarning(BANNER_UNSUPPORTED_MESSAGE);
#endif
        }
Example #17
0
        public IEnumerator UnityAdsBannerDidHide(string expectedPlacementId)
        {
            var hasCalledListener = false;
            var banner            = new Banner(m_NativeBannerMock.Object, m_CoroutineExecutorMock.Object);
            var bannerLoadOptions = new BannerOptions();

            bannerLoadOptions.hideCallback += () => {
                hasCalledListener = true;
            };
            banner.UnityAdsBannerDidHide(expectedPlacementId, bannerLoadOptions);
            while (!hasCalledListener)
            {
                yield return(null);
            }
            Assert.That(hasCalledListener, Is.True, "The hideCallback should have been called");
            m_CoroutineExecutorMock.Verify(x => x.Post(It.IsAny <Action>()), Times.Once(), "Calls should happen on the main thread and should all batched together as 1 call");
        }
Example #18
0
        protected override void RegisterBannerManager(Container container)
        {
            var cacheDirectory = Environment.ExpandEnvironmentVariables(@"%LocalAppData%\pdfforge\PDFCreator\banners");
            var bannerUrl      = Urls.BannerIndexUrl;

            var useStaging = Environment.CommandLine.IndexOf("/Banners=staging", StringComparison.InvariantCultureIgnoreCase) >= 0;

            if (useStaging)
            {
                cacheDirectory += "-staging";
                bannerUrl       = Urls.BannerIndexUrlStaging;
            }

            var bannerOptions = new BannerOptions(bannerUrl, cacheDirectory, TimeSpan.FromDays(1));

            container.RegisterInstance(bannerOptions);
            container.Register <IBannerManager, OnlineBannerManager>();
            container.Register <IBannerMetricFactory, BannerMetricFactory>();
        }
 public void ShowBannerAd()
 {
     if (Advertisement.Banner.isLoaded == false)
     {
         BannerLoadOptions options = new BannerLoadOptions {
             loadCallback = OnLoadBannerSuccess, errorCallback = OnLoadBannerFail
         };
         Advertisement.Banner.SetPosition(bannerPosition);
         Advertisement.Banner.Load(bannerAdPlacement, options);
     }
     else
     {
         BannerOptions options = new BannerOptions {
             showCallback = OnShowBanner, hideCallback = OnHideBanner
         };
         Advertisement.Banner.SetPosition(bannerPosition);
         Advertisement.Banner.Show(bannerAdPlacement, options);
     }
 }
Example #20
0
        protected override void RegisterBannerManager(Container container)
        {
            var cacheDirectory = Environment.ExpandEnvironmentVariables(@"%LocalAppData%\pdfforge\PDFCreator\banners");
            var bannerUrl      = Urls.BannerIndexUrl;
            var cacheDuration  = TimeSpan.FromHours(1);

            var useStaging = Environment.CommandLine.IndexOf("/Banners=staging", StringComparison.InvariantCultureIgnoreCase) >= 0;

            if (useStaging)
            {
                cacheDirectory += "-staging";
                bannerUrl       = Urls.BannerIndexUrlStaging;
                cacheDuration   = TimeSpan.Zero;
            }

            container.Register <IBannerManager>(() =>
            {
                var trackingParameters     = container.GetInstance <TrackingParameters>();
                var usageStatisticsOptions = container.GetInstance <UsageStatisticsOptions>();
                var languageProvider       = container.GetInstance <IApplicationLanguageProvider>();
                var versionHelper          = container.GetInstance <IVersionHelper>();

                var bannerOptions = new BannerOptions(
                    "pdfcreator",
                    versionHelper.FormatWithThreeDigits(),
                    languageProvider.GetApplicationLanguage(),
                    bannerUrl,
                    cacheDirectory,
                    cacheDuration,
                    trackingParameters.ToParamList());

                // we can create a new instance here as we don't use overlays
                var windowHandleProvider = new WindowHandleProvider();

                var bannerManager = BannerManagerFactory.BuildOnlineBannerManager(bannerOptions, usageStatisticsOptions, windowHandleProvider, new List <DefaultBanner>());

                return(new BannerManagerWrapper(bannerManager));
            });
        }
    /**
     * 初期化
     */
    private void InitUnityAds()
    {
        // 動画広告をサポートしていないプラットフォームだったらreturn
        if (Advertisement.isSupported == false)
        {
            return;
        }

        // すでに初期化していたらreturn
        if (Advertisement.isInitialized)
        {
            return;
        }

#if UNITY_ANDROID
        _gameId = googlePlayGameId;
#elif UNITY_IOS
        _gameId = appStoreGameId;
#endif

        // 初期化
        Advertisement.Initialize(_gameId, testMode);

        // バナーを表示するポジションを設定する
        Advertisement.Banner.SetPosition(bannerPosition);

        // コールバックを設定する
        _bannerLoadOptions = new BannerLoadOptions()
        {
            loadCallback  = LoadCallback,
            errorCallback = ErrorCallback
        };
        _bannerOptions = new BannerOptions()
        {
            showCallback = ShowCallback,
            hideCallback = HideCallback
        };
    }
Example #22
0
        /// <summary>
        /// Check width according to the banner options
        /// </summary>
        /// <returns>A width that is consistant with the min, max, and default width defined in the banner options</returns>
        private static int CheckWidth(BannerOptions options, int width)
        {
            var checkedWidth = 0;

            if (width <= 0)
            {
                checkedWidth = options.DefaultWidth;
            }
            else if (width < options.MinWidth)
            {
                checkedWidth = options.MinWidth;
            }
            else if (width > options.MaxWidth)
            {
                checkedWidth = options.MaxWidth;
            }
            else
            {
                checkedWidth = width;
            }

            return(checkedWidth);
        }
        private BannerDownloader BuildBannerDownloader()
        {
            var bannerOptions = new BannerOptions(_bannerDownloadUrl, String.Empty, TimeSpan.MinValue);

            return(new BannerDownloader(_fileCache, bannerOptions, _hashUtil, _downloader));
        }
 public void Show(string placementId, BannerOptions showOptions)
 {
 }
Example #25
0
        public static async Task <string> GenerateAsync(BannerOptions options, Profile profile, string subtext, int width = 800, int height = 192)
        {
            if (profile == null)
            {
                throw new ArgumentNullException(nameof(profile));
            }

            var checkedWidth = CheckWidth(options, width);

            height = (int)(checkedWidth / options.WidthToHeightRatio);

            // Avatar base url + avatar meta = rendered avatar url
            var avatarURL = $"{DevrantAvatarBaseURL}/{profile.Avatar.Image}";

            const string outputDir  = "generated";
            const string avatarsDir = "avatars";

            var outputFileName = $"{profile.Username}.png";

            var workingDir = Directory.GetCurrentDirectory();
            var outputPath = Path.Combine(workingDir, outputDir);

            var avatarPath = Path.Combine(workingDir, avatarsDir);

            Directory.CreateDirectory(outputPath);
            Directory.CreateDirectory(avatarPath);

            var avatarFile = Path.Combine(avatarPath, outputFileName);
            var outputFile = Path.Combine(outputPath, outputFileName);

            byte[] data;

            if (options.CacheAvatars && File.Exists(avatarFile) && File.GetCreationTime(avatarFile) > DateTime.Now.AddMinutes(-options.MaxCacheAvatarAge))
            {
                data = await File.ReadAllBytesAsync(avatarFile);
            }
            else
            {
                // Download rendered avatar
                var httpClient = new HttpClient();

                using (var response = await httpClient.GetAsync(avatarURL))
                {
                    if (response.StatusCode == HttpStatusCode.NotFound)
                    {
                        throw new AvatarNotFoundException(profile.Username);
                    }

                    response.EnsureSuccessStatusCode();

                    data = await response.Content.ReadAsByteArrayAsync();

                    if (options.CacheAvatars)
                    {
                        await File.WriteAllBytesAsync(avatarFile, data);
                    }
                }
            }

            using (var avatarImage = Image.Load(data))
                using (var banner = new Image <Rgba32>(checkedWidth, height))
                {
                    var fontCollection = new FontCollection();
                    fontCollection.Install("fonts/Comfortaa-Regular.ttf");

                    var fontSizeUsername = (int)(banner.Width * 0.07); // original : 0.08
                    var fontSizeSubtext  = (int)(banner.Width * 0.04);
                    var fontSizeDevrant  = (int)(banner.Width * 0.02);

                    var fontUsername = fontCollection.CreateFont("Comfortaa", fontSizeUsername, FontStyle.Bold);
                    var fontSubtext  = fontCollection.CreateFont("Comfortaa", fontSizeSubtext, FontStyle.Regular);
                    var fontDevrant  = fontCollection.CreateFont("Comfortaa", fontSizeDevrant, FontStyle.Regular);

                    var avatarHeight = banner.Height;
                    var avatarWidth  = avatarHeight;
                    var avatarSize   = new Size(avatarWidth, avatarHeight);

                    var avatarTargetX = (int)(banner.Width * 0.01875);
                    var avatarTargetY = 0;
                    var avatarTarget  = new Point(avatarTargetX, avatarTargetY);

                    var usernameTargetX = banner.Width / 3;
                    var usernameTargetY = (banner.Height / 4f) - (fontSizeUsername / 2f);
                    var usernameTarget  = new PointF(usernameTargetX, usernameTargetY);

                    var subtextTargetX = usernameTarget.X;
                    var subtextTargetY = usernameTarget.Y + fontSizeUsername;
                    var subtextTarget  = new PointF(subtextTargetX, subtextTargetY + (fontSizeSubtext / 2f));
                    var subTextWidth   = banner.Width - subtextTargetX - (int)(banner.Width * 0.01875);
                    var subTextHeight  = fontSizeSubtext;

                    var devrantTargetX = banner.Width - (int)(banner.Width * 0.130);
                    var devrantTargetY = banner.Height - (int)(banner.Width * 0.03);
                    var devrantTarget  = new Point(devrantTargetX, devrantTargetY);

                    var backgroundColor = Rgba32.FromHex(profile.Avatar.Background);
                    var foregroundColor = GetForegroundColor(backgroundColor);

                    // Draw background
                    banner.SetBGColor(backgroundColor);

                    // Draw avatar
                    banner.DrawImage(avatarImage, avatarSize, avatarTarget);

                    // Draw username
                    banner.DrawText(profile.Username, fontUsername, foregroundColor, usernameTarget, verticalAlignment: VerticalAlignment.Top);

                    // Scale font size to subtext
                    fontSubtext = fontSubtext.ScaleToText(subtext, new SizeF(subTextWidth, subTextHeight), subTextWidth);

                    // Add subtext word wrapping
                    subtext = subtext.AddWrap(fontSubtext, subTextWidth, options.MaxSubtextWraps);

                    // Draw subtext
                    banner.DrawText(subtext, fontSubtext, foregroundColor, subtextTarget, verticalAlignment: VerticalAlignment.Top);

                    // Draw devrant text
                    banner.DrawText("devrant.com", fontDevrant, foregroundColor, devrantTarget, HorizontalAlignment.Left, VerticalAlignment.Top);

                    banner.Save(outputFile, new PngEncoder());
                }

            return(outputFile);
        }
Example #26
0
        public static async Task <string> GenerateAsync(BannerOptions options, Profile profile, string subtext)
        {
            if (profile == null)
            {
                throw new ArgumentNullException(nameof(profile));
            }

            // Avatar base url + avatar meta = rendered avatar url
            var avatarURL = $"{DevrantAvatarBaseURL}/{profile.Avatar.Image}";

            const string outputDir  = "generated";
            const string avatarsDir = "avatars";

            var outputFileName = $"{profile.Username}.png";

            var workingDir = Directory.GetCurrentDirectory();
            var outputPath = Path.Combine(workingDir, outputDir);

            var avatarPath = Path.Combine(workingDir, avatarsDir);

            Directory.CreateDirectory(outputPath);
            Directory.CreateDirectory(avatarPath);

            var avatarFile = Path.Combine(avatarPath, outputFileName);
            var outputFile = Path.Combine(outputPath, outputFileName);

            byte[] data;

            if (options.CacheAvatars && File.Exists(avatarFile))
            {
                data = await File.ReadAllBytesAsync(avatarFile);
            }
            else
            {
                // Download rendered avatar
                var httpClient = new HttpClient();

                using (var response = await httpClient.GetAsync(avatarURL))
                {
                    if (response.StatusCode == HttpStatusCode.NotFound)
                    {
                        throw new AvatarNotFoundException(profile.Username);
                    }

                    response.EnsureSuccessStatusCode();

                    data = await response.Content.ReadAsByteArrayAsync();

                    if (options.CacheAvatars)
                    {
                        await File.WriteAllBytesAsync(avatarFile, data);
                    }
                }
            }

            using (var avatarImage = Image.Load(data))
                using (var banner = new Image <Rgba32>(800, 192))
                {
                    var fontCollection = new FontCollection();
                    fontCollection.Install("fonts/Comfortaa-Regular.ttf");

                    var fontSizeUsername = 64;
                    var fontSizeSubtext  = fontSizeUsername / 2;
                    var fontSizeDevrant  = 16;

                    var fontUsername = fontCollection.CreateFont("Comfortaa", fontSizeUsername, FontStyle.Bold);
                    var fontSubtext  = fontCollection.CreateFont("Comfortaa", fontSizeSubtext, FontStyle.Regular);
                    var fontDevrant  = fontCollection.CreateFont("Comfortaa", fontSizeDevrant, FontStyle.Regular);

                    var avatarHeight = banner.Height;
                    var avatarWidth  = avatarHeight;
                    var avatarSize   = new Size(avatarWidth, avatarHeight);

                    var avatarTargetX = 15;
                    var avatarTargetY = 0;
                    var avatarTarget  = new Point(avatarTargetX, avatarTargetY);

                    var usernameTargetX  = banner.Width / 3;
                    var usernameTartgetY = banner.Height / 4;
                    var usernameTarget   = new Point(usernameTargetX, usernameTartgetY);

                    var subtextTargetX  = usernameTarget.X;
                    var subtextTartgetY = usernameTarget.Y + fontSizeUsername;
                    var subtextTarget   = new Point(subtextTargetX, subtextTartgetY);
                    var subTextWidth    = banner.Width - subtextTargetX - 15;
                    var subTextHeight   = fontSizeSubtext;

                    var devrantTargetX = banner.Width - 108;
                    var devrantTargetY = banner.Height - 4 - fontSizeDevrant;
                    var devrantTarget  = new Point(devrantTargetX, devrantTargetY);

                    // Draw background
                    banner.SetBGColor(Rgba32.FromHex(profile.Avatar.Background));

                    // Draw avatar
                    banner.DrawImage(avatarImage, avatarSize, avatarTarget);

                    // Draw username
                    banner.DrawText(profile.Username, fontUsername, Rgba32.White, usernameTarget);

                    // Scale font size to subtext
                    fontSubtext = fontSubtext.ScaleToText(subtext, new SizeF(subTextWidth, subTextHeight));

                    // Draw subtext
                    banner.DrawText(subtext, fontSubtext, Rgba32.White, subtextTarget);

                    // Draw devrant text
                    banner.DrawText("devrant.com", fontDevrant, Rgba32.White, devrantTarget, HorizontalAlignment.Left, VerticalAlignment.Top);

                    banner.Save(outputFile, new PngEncoder());
                }

            return(outputFile);
        }
Example #27
0
 /// <summary>
 /// Displays the banner ad with a specified <a href="../manual/MonetizationPlacements.html">Placement</a>, but fires the <c>showCallback</c> callback if the banner is visible, and the <c>hideCallback</c> if it isn't.
 /// </summary>
 /// <param name="placementId">The unique identifier for a specific Placement, found on the <a href="https://operate.dashboard.unity3d.com/">developer dashboard</a>.</param>
 /// <param name="options">A collection of options that notify the SDK of events when displaying the banner.</param>
 public static void Show(string placementId, BannerOptions options)
 {
     s_Platform.Banner.Show(string.IsNullOrEmpty(placementId) ? null : placementId, options);
 }
Example #28
0
 /// <summary>
 /// Displays the banner ad with the default <a href="../manual/MonetizationPlacements.html">Placement</a>, but fires the <c>showCallback</c> callback if the banner is visible, and the <c>hideCallback</c> if it isn't.
 /// </summary>
 /// <param name="options">A collection of options that notify the SDK of events when displaying the banner.</param>
 public static void Show(BannerOptions options)
 {
     Show(null, options);
 }
Example #29
0
 public BannerController(ILogger <BannerController> logger,
                         IOptionsSnapshot <BannerOptions> bannerOptions)
 {
     _logger        = logger;
     _bannerOptions = bannerOptions.Value;
 }
 public void ShowBanner(BannerPosition bannerPosition, BannerOptions bannerOptions)
 {
     BannerPosition = bannerPosition;
     BannerOptions  = bannerOptions;
     IsShowing      = true;
 }