Unity 3D TR Forum

Orjinalini görmek için tıklayınız: Reklamni buton ile izlettigimde destroy obje calismiyor yardim
Şu anda (Arşiv) modunu görüntülemektesiniz. Orjinal Sürümü Görüntüle internal link
Aciklamaya calisayim , harita uzerinde engel diyebilecigimiz kupler var ve her biri uzerinde carpisma adinda script calisiyor bu scrip icinde oncollisionenter ile zaman degerinide alip eger uygunsa rewarded video izletip carpilan objeyi yok edip yola devam edilmesi gerekiyor dedigim olay reklami direk verecegim koddaki if statement icine yazdigimda handleresult finished teki denileni yapiyor ama bu reklam izletmeti bir metod haline getirip bunu bir buton ile cagirdigimda reklam izlenior handleresult in icinede erisiliyor debug.log ile bunu gordum ancak obje yok olmuyor. oyun bu aksam store da olucak ama son is bu kaldi yardim ederseniz cok memnun olurum.

bu buton ici kod:
Kod:
 
   public GameObject ui;
   
   public void Watchit() {
       Carpisma usit = FindObjectOfType<Carpisma>();
       
       usit.Watchit();
       
       ui.SetActive(!ui.activeSelf);
   }



bu her engele atanmis kod:

Kod:
public GameObject patlama;
   public GameObject PlayerDestroy;
   public GameObject uiw;
   private float t;
   
   public int scene;
   [SerializeField] private Transform player;
   [SerializeField] private Transform respawnPoint;
   public void ModeSelect()
   {
       StartCoroutine("Wait");
   }
   private void Start()
   {
       t = Time.time + 2;
   }

   void OnCollisionEnter(Collision obj)
   {

       Debug.Log(Time.time);

       if (UnityEngine.Advertisements.Advertisement.IsReady() && Time.time>t)
       {

           t = Time.time + 2f;
           Time.timeScale = 0f;

           
           uiw.SetActive(!uiw.activeSelf);

       }
       else
       {
           Instantiate(patlama, this.gameObject.transform.position, this.gameObject.transform.rotation);
           GameObject.Find("Sphere").SendMessage("Finish2");
           GameObject.Destroy(PlayerDestroy);
           
           Invoke("WaitingFunction", 1);
         
       }

   }

   public void Watchit() {

       UnityEngine.Advertisements.Advertisement.Show("rewardedVideo", new ShowOptions() { resultCallback = HandleAdResult });

     

   }

   public void HandleAdResult(ShowResult result)
   {

       switch (result)
       {
           case ShowResult.Finished:
               Time.timeScale = 1f;
               GameObject.Destroy(gameObject);
               Debug.Log("bu itttt");
               break;
           case ShowResult.Skipped:
               Instantiate(patlama, this.gameObject.transform.position, this.gameObject.transform.rotation);
               GameObject.Find("Sphere").SendMessage("Finish2");
               GameObject.Destroy(PlayerDestroy);

               Invoke("WaitingFunction", 1);
               break;
           case ShowResult.Failed:
               Instantiate(patlama, this.gameObject.transform.position, this.gameObject.transform.rotation);
               GameObject.Find("Sphere").SendMessage("Finish2");
               GameObject.Destroy(PlayerDestroy);

               Invoke("WaitingFunction", 1);
               break;
       }
   }
   void WaitingFunction() {
       
       SceneManager.LoadScene(scene);
       
   }
   public void again() {

       Instantiate(patlama, this.gameObject.transform.position, this.gameObject.transform.rotation);
       GameObject.Find("Sphere").SendMessage("Finish2");
       GameObject.Destroy(PlayerDestroy);

       Invoke("WaitingFunction", 1);
   }