functions dont destroy on load gameobject can be used only once from the scene it is located at
hi guyz I am making a game and i am trying to use the functions present in dontdestroyonload game object but it can only be used once from the scene in which the game object is actually present and about the ads when i try to call interstitial ad from the scene where the game object is located it works properly but when i call from where the game object is not actualy present it donot work at all any help will be appriciated thankyou :)
this are both my codes :-
for changing level and sound for button click:-
using System.Collections; using System.Collections.Generic; using UnityEngine;
public class playerLevel : MonoBehaviour {
public AudioClip clickClip;
public AudioSource clickSource;
// Use this for initialization
void Start () {
DontDestroyOnLoad(gameObject);
}
// Update is called once per frame
void Update () {
}
public void mainLevelControl(string name)
{
Application.LoadLevel(name);
adManager.Instance.showInterstitial();
}
public void singlePlayer(string name)
{
PlayerPrefs.SetInt("No.Players",1);
Application.LoadLevel(name);
adManager.Instance.showInterstitial();
}
public void multiPlayers(string name)
{
PlayerPrefs.SetInt("No.Players", -1);
Application.LoadLevel(name);
adManager.Instance.showInterstitial();
}
public void easy(string name) { PlayerPrefs.SetInt("difficulty", -1); Application.LoadLevel(name); adManager.Instance.showInterstitial();
}
public void medium(string name)
{
PlayerPrefs.SetInt("difficulty", 0);
Application.LoadLevel(name);
adManager.Instance.showInterstitial();
}
public void hard(string name)
{
PlayerPrefs.SetInt("difficulty", 1);
Application.LoadLevel(name);
adManager.Instance.showInterstitial();
}
public void clickPlay()
{
clickSource.clip = clickClip;
clickSource.Play();
}
}
and this is my ads code :-
using System.Collections; using System.Collections.Generic; using UnityEngine; using admob;
public class adManager : MonoBehaviour { public string bannerId; public string InterstitialId;
// Use this for initialization
public static adManager Instance
{
set;
get;
}
private void Start () {
Instance = this;
DontDestroyOnLoad(gameObject);
Admob.Instance().initAdmob(bannerId,InterstitialId);
Admob.Instance().loadInterstitial();
Admob.Instance().removeBanner();
}
// Update is called once per frame
void Update () {
}
public void showBanner()
{
Admob.Instance().showBannerRelative(AdSize.Banner, AdPosition.TOP_CENTER, 0);
}
public void showInterstitial()
{
if (Admob.Instance().isInterstitialReady())
{
Admob.Instance().showInterstitial();
}
}
public void removeBanner()
{
Admob.Instance().removeBanner();
}
}
@Bunny83 @Eric5h5 @robertbu @whydoidoit @duck @fafase @clunk47