Я создаю игру, в которой есть 7 префабов GameObject, каждый из которых создает свой уровень, сейчас я создаю основной скрипт, который будет создавать экземпляр каждого префаба GameObject, теперь я хочу создатькаждые 80f «секунд» для создания нового префаба GameObject и уничтожения последнего, например, через 0f секунд с момента запуска уровня, Instantiate (Random) префаба GameObject и через 80f секунд уничтожение созданного мною за 0f секунд и Instantiateновый и т. д.
Это скрипт, который у меня есть сейчас, он не работает, он создает новый игровой объект, но не уничтожает последний, который я создал.Я надеюсь, что вы можете помочь мне / дать мне представление о том, как решить эту проблему ПРИМЕЧАНИЕ Я пытался использовать Stack, но когда я уничтожаю Prefab из стека, он сам разрушает prefab, и он не восстанавливается.скрипт:
TimeSinceLevelStarted = Time.timeSinceLevelLoad;
if (Mathf.Clamp(TimeSinceLevelStarted - TimeToLoadNext, -2f, 2f) == TimeSinceLevelStarted - TimeToLoadNext
&& LoadedFirstLevel == false)
{
GameObject go = LevelsPrefabs[Random.Range(0, LevelsPrefabs.Length)];
FirstLevel(go);
LoadedFirstLevel = false;
Debug.Log("Instantiated Prefab2");
}
}
private void FirstLevel(GameObject go)
{
if (LoadedFirstLevel == false)
{
Instantiate(go, new Vector3(0, 0, 0), Quaternion.identity);
goStack.Push(go);
Debug.Log("Instantiated Prefab1");
TimeToLoadNext += 50f;
LoadedFirstLevel = false;
if (TimeToLoadNext >= 30f) {
Destroy(go);
}
}
}