Hey Leute.

Ich habe mal eine Frage für die Programmierer unter euch.

Ich benutze C# in Unity und benutze den yield return-Befehl, um die Münze wieder erscheinen zu lassen, nachdem man sie eingesammelt hat. Jedoch funktioniert das yield return nicht und die Münze wird nicht mehr erneut angezeigt. Ich bitte um Hilfe.

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class CoinCollect : MonoBehaviour
{
  // Start is called before the first frame update
  public GameObject Coin;

  public float RespawnTime = 1;

  void Start()
  {
  }

  // Update is called once per frame
  void Update()
  {
  }

  private void OnCollisionEnter2D(Collision2D collisionPlayer)
  {
    if (collisionPlayer.gameObject.CompareTag("Player"))
    {
      StartCoroutine(RespawnCoin());
    }
  }

  IEnumerator RespawnCoin()
  {
    gameObject.SetActive(false);
    yield return new WaitForSecondsRealtime(2);
    gameObject.SetActive(true);
  }
}