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)); } }
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); } }
private char GetSlotChar(int jsonFileId, int wantedSlotInt) { AdSlotData curSlotData = GetAdSlotData(jsonFileId, wantedSlotInt); if (curSlotData != null) { return((char)(curSlotData.lastSlotId + slotIdDecimalOffset)); } else { return(default(char)); } }
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); }
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); }
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); }