コード例 #1
0
    private void IncSlotChar(int jsonFileId, int wantedSlotInt)
    {
        AdSlotData wantedSlotData = GetAdSlotData(jsonFileId, wantedSlotInt);

        bool   isValidAd = false;
        AdData curAdData = null;

        int adSlotCount = wantedSlotData.advert.Count;

        for (int i = 0; !isValidAd && i < (adSlotCount * 2); i++)
        {
            wantedSlotData.lastSlotId = wantedSlotData.lastSlotId + 1 >= adSlotCount ? 0 : wantedSlotData.lastSlotId + 1;

            curAdData = GetAdData(jsonFileId, wantedSlotInt, GetSlotChar(jsonFileId, wantedSlotInt));

            // Never display any self ads or inactive ads
            if (!curAdData.isSelf && curAdData.isActive)
            {
                // Only apps which are not already installed are valid UNLESS we iterated through all ads and could not find a valid one
                if (!curAdData.isInstalled || i >= adSlotCount)
                {
                    isValidAd = true;
                }
            }
        }

        if (isValidAd)
        {
            StartCoroutine(DownloadAdTexture(curAdData));
        }
    }
コード例 #2
0
    private void RandomizeAdSlots(int jsonFileId)
    {
        for (int i = 1; DoesSlotIntExist(jsonFileId, i); i++)
        {
            AdSlotData curSlotData = GetAdSlotData(jsonFileId, i);

            curSlotData.lastSlotId = UnityEngine.Random.Range(0, curSlotData.advert.Count - 1);
        }
    }
コード例 #3
0
    private char GetSlotChar(int jsonFileId, int wantedSlotInt)
    {
        AdSlotData curSlotData = GetAdSlotData(jsonFileId, wantedSlotInt);

        if (curSlotData != null)
        {
            return((char)(curSlotData.lastSlotId + slotIdDecimalOffset));
        }
        else
        {
            return(default(char));
        }
    }
コード例 #4
0
    private AdData GetAdData(int jsonFileId, int wantedSlotInt, char wantedSlotChar)
    {
        AdSlotData curAdSlotData = GetAdSlotData(jsonFileId, wantedSlotInt);

        if (curAdSlotData != null)
        {
            foreach (AdData curData in curAdSlotData.advert)
            {
                // Check if this ad slot character matches the one we requested
                if (curData.slotChar == wantedSlotChar)
                {
                    return(curData);
                }
            }
        }

        return(null);
    }
コード例 #5
0
    private int GetAdIndex(int jsonFileId, int wantedSlotInt, char wantedSlotChar)
    {
        AdSlotData slotData = GetAdSlotData(jsonFileId, wantedSlotInt);

        if (slotData.advert != null)
        {
            for (int i = 0; i < slotData.advert.Count; i++)
            {
                AdData curAdData = slotData.advert[i];

                if (wantedSlotChar == curAdData.slotChar)
                {
                    return(i);
                }
            }
        }

        return(-1);
    }
コード例 #6
0
    private int GetSlotIndex(int jsonFileId, int wantedSlotInt)
    {
        if (DoesSlotFileIdExist(jsonFileId) && advertData[jsonFileId].slotInts != null)
        {
            // Iterate through each slot in the requested json file
            for (int i = 0; i < advertData[jsonFileId].slotInts.Count; i++)
            {
                AdSlotData curSlotData = advertData[jsonFileId].slotInts[i];

                // Check if this ad slot int matched the one we requested
                if (curSlotData.slotInt == wantedSlotInt)
                {
                    return(i);
                }
            }
        }

        return(-1);
    }