Hi all,
To try and keep this simple, we have a game where when the player dies an interstitial will appear and we would like to find a way to check when the interstitial has been closed and then from this reload the game for the player.
I think we are looking for something like a bool, hasClosed for instance, or a way to make one, but we have been unable to work out how this would be implemented with chartboost.
using UnityEngine;
using System.Collections;
using ChartboostSDK;
public class ChartboostPersistentObject : MonoBehaviour
{
private GameManager gm;
void Awake()
{
// Fill gameManager.
GameObject tempGm = GameObject.Find("GameManager");
gm = (GameManager)tempGm.GetComponent(typeof(GameManager));
}
void Start()
{
// fill the cache.
Chartboost.cacheInterstitial(CBLocation.Default);
}
void Update()
{
// If player is dead & they have player the tutorial & they have not yet
// touched the screen (This was to stop multiple ads), then show ad.
if(gm.isDead && gm.playCount >= 1 && gm.touchCount == 0)
{
Chartboost.showInterstitial(CBLocation.Default);
// Now increase touchCount to stop any further ads showing.
gm.touchCount++;
}
}
// My understanding was that this would return that the interstitial has been dismissed.
void OnMouseUp()
{
Chartboost.didDismissInterstitial += didDismissInterstitial;
}
// Which would then relay to this function that it has been closed
// thus allowing me to control the bool value for the closed check.
void didDismissInterstitial(CBLocation location)
{
gm.activeAd = false;
}
}
Above is the important code I am working with for the ads. The top part of the code all works fine and the bottom is where I have no idea what I am doing and I am just going by what my understanding of Chartboosts documentation provides. I have included comments in the code to explain my understanding and what I think it is doing / why I have done it.