如何在数组或列表中添加和删除具有时间限制的对象 - unity 5 c#。?

How to add and remove object with time limit in array or list - unity 5 c#.?

我想动态地添加和删除预制件到有时间限制的阵列。当用户点击按钮时,预制件将被实例化 5 秒。五秒钟后,这个预制件应该会自动销毁。

如果用户尝试在 5 秒之前实例化一个新的预制件,那么他们可以。

如果第一个预制件以 5 秒的生命时间实例化,第二个预制件将在第一个实例化 3 秒时实例化,那么第二个预制件应在总共 7 秒后销毁。

任何人都可以用很少的代码帮助我。我使用协程,但我做不到。

    float pLife = 5.0f;
    private IEnumerator SetParticleLifeTime(float time){

    while (pLife - Time.time) {         

        Debug.Log (time-Time.time);
        yield return new WaitForSeconds(0);
    };
    Destroy (this.gameObject);

}

我不知道如何将预制件添加到阵列和删除它。任何人都可以帮助我。?

您只需在实例化的预制件上调用 Destroy(GameObject, float)

请参阅 Unity Docs 进一步参考。

var yourGameObject = Instantiate(yourPrefab) as GameObject;
Destroy(yourGameObject, 5); // Destroys 'yourGameObject' after 5 seconds