D
D
dkcu2021-03-06 01:31:22
C++ / C#
dkcu, 2021-03-06 01:31:22

MissingReferenceException: The object of type 'Text' has been destroyed. how to solve?

Sometimes this error occurs
MissingReferenceException: The object of type 'Text' has been destroyed but you are still trying to access it.
Your script should either check if it is null or you should not destroy the object.
Here is the code

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

public class UnityAds : MonoBehaviour, IUnityAdsListener
{
    
    string placement = "rewardedVideo";
    public float money;
    public Text moneyTxt;

    void Start()
    {
        money = PlayerPrefs.GetFloat("money");
        Advertisement.AddListener(this);
        Advertisement.Initialize("4037117", true);
    }

    public void ShowUnityAD(string p)
    {
        Advertisement.Show(p);
    }

    public void OnUnityAdsDidFinish(string placementId, ShowResult showResult)
    {
        if (showResult == ShowResult.Finished)
        {
            moneyTxt.text = "Money:" + money++; 
        }
        else if (showResult == ShowResult.Failed)
        {
            //On no!
        }
    }

    public void OnUnityAdsDidStart(string placementId)
    {
    }

    public void OnUnityAdsReady(string placementId)
    {
    }

    public void OnUnityAdsDidError(string message)
    {
    }
}

Please answer in detail
Thank you in advance.

Answer the question

In order to leave comments, you need to log in

1 answer(s)
F
freeExec, 2021-03-06
@dkcu

moneyTxtdoes not exist at the time of use.

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question