在广告关闭但不隐藏的情况下尝试隐藏“删除广告”按钮

时间:2019-07-27 13:02:06

标签: c# unity3d game-development

所以我有一个脚本,如果播放器观看了奖励广告,该脚本将删除广告10分钟:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Advertisements;
using System;

public class AdManager : MonoBehaviour
{
    private static int loadCount = 0;
    private static bool noAds = false;
    private static DateTime noAdsTime = new DateTime();

    void Start()
    {
        DateTime currentTime = DateTime.Now;

        if (noAdsTime != new DateTime())
            noAds = DateTime.Compare(currentTime, noAdsTime) < 0 ? true : false; //DateTime.Compare returns less than zero if currentTime is earlier than noAdsTime.

        if (loadCount % 5 == 0 && noAds == false)  //  show ad every 5th time
        {
            ShowAd();
        }
        loadCount++;
    }


    public void ActivateNoAds(int minutes)
    {
        Advertisement.Show();
        DateTime currentTime = DateTime.Now;
        noAdsTime = currentTime.AddMinutes(minutes);

    }
    public void ShowAd()
    {
        if (Advertisement.IsReady())
        {
            Advertisement.Show();
        }
    }
}

那很好。现在,我试图在没有广告的10分钟内隐藏“删除广告”按钮。我也尝试复制上述脚本的结构来隐藏按钮10分钟……而且我可以隐藏它,但是下次玩家在按钮上着陆时再次出现(但广告仍然关闭) )。我已经尝试了自己的脚本:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using System;

public class AdsRemoveButton : MonoBehaviour
{

    private static bool noButton = false;
    private static DateTime noButtonTime = new DateTime();


    void Start()
    {
        DateTime currentTime = DateTime.Now;

        if (noButtonTime != new DateTime())
            noButton = DateTime.Compare(currentTime, noButtonTime) < 0 ? true : false; //DateTime.Compare returns less than zero if currentTime is earlier than noAdsTime.
    }

    public void ActivateNoButton(int minutes)
    {

        DateTime currentTime = DateTime.Now;
        noButtonTime = currentTime.AddMinutes(minutes);
        GameObject.Find("Remove Ads Button").transform.localScale = new Vector3(0, 0, 0); // Hide button


    }

还有一个组合脚本:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Advertisements;
using System;

public class AdManager : MonoBehaviour
{
    private static int loadCount = 0;
    private static bool noAds = false;
    private static DateTime noAdsTime = new DateTime();
    private static bool noButton = false;
    private static DateTime noButtonTime = new DateTime();

    void Start()
    {
        DateTime currentTime = DateTime.Now;

        if (noAdsTime != new DateTime())
            noAds = DateTime.Compare(currentTime, noAdsTime) < 0 ? true : false; //DateTime.Compare returns less than zero if currentTime is earlier than noAdsTime.

        if (noButtonTime != new DateTime())
            noButton = DateTime.Compare(currentTime, noButtonTime) < 0 ? true : false; //DateTime.Compare returns less than zero if currentTime is earlier than noAdsTime.

        if (loadCount % 5 == 0 && noAds == false)  //  show ad every 5th time
        {
            ShowAd();
        }
        loadCount++;
    }


    public void ActivateNoAds(int minutes)
    {
        Advertisement.Show();
        DateTime currentTime = DateTime.Now;
        noAdsTime = currentTime.AddMinutes(minutes);


    }

    public void ActivateNoButton(int minutes)
    {

        DateTime currentTime = DateTime.Now;
        noButtonTime = currentTime.AddMinutes(minutes);
        GameObject.Find("Remove Ads Button").transform.localScale = new Vector3(0, 0, 0); // Hide button


    }

    public void ShowAd()
    {
        if (Advertisement.IsReady())
        {
            Advertisement.Show();
        }
    }
}

请原谅我可能是愚蠢的错误。我非常新手。

我将这些分配给按钮的“单击时”,并且没有错误,所以我不知道为什么它不起作用?

任何帮助,不胜感激!

谢谢!

0 个答案:

没有答案
相关问题