Juste au passage puisque ce n'a pas été dit :Donc, si je décide de faire
Code : Tout sélectionner
GameObject[] gameObjects; void DestroyAllObjects() { gameObjects = GameObject.FindGameObjectsWithTag ("Ennemi"); for(var i = 0 ; i < gameObjects.Length ; i ++) { Destroy(gameObjects[i]); } }
Je vais détruire tous les GameObject avec le tag "Ennemi" mais aussi ceux qui permettent d'en faire d'autre et donc, Le jeux ne pourra pas continuer.
Le "GameObject.FindGameObjectsWithTag", comme toutes les autres fonctions de type Find, ne retournent que les objets actifs. Tu peux donc très bien garder tes GOs Ennemi de base que tu clones en les désactivant par défaut, et en activant le clone après instanciation ! Dans ce cas le code plus haut ne retournera que les ennemis clonés, mais pas le GO sur lequel se base ces clones !
Ou même tu peux mettre ton GO ennemi sur lequel tu te bases en enfant d'un autre GO vide que tu désactives, et tu laisse ton GO ennemi actif, comme ça pas besoin d'activer le GO cloné une fois instancié ! Le GO de base étant actif mais désactivé du fait de son parent le Find ne le retournera pas non plus !