GameObject newText = Instantiate(text);
3 Réponses :
La documentation Unity sur l'attribut ExecuteAways vous montre comment différencier la logique en fonction de votre mode de rédaction ou en mode de lecture.
void Start()
{
if (Application.IsPlaying(gameObject))
{
// Play logic
}
else
{
// Editor logic
}
}
Cela laissera un code de déchets / bloats dans les constructions. La vérification de mode édition peut également être spécifiée. Voir Ma réponse pour une meilleure alternative.
Utilisez Compilation dépendante de la plate-forme afin que le code destiné à exécuter uniquement dans l'éditeur est jamais compilé à une construction. Cela évite le code de bloat dans la construction.
Ensuite, utilisez EditorApplication.isplaying code> pour assurer le code destiné à exécuter uniquement en mode édition ne fonctionne pas en mode de lecture. P>
#if UNITY_EDITOR //Avoid garbage in the builds
//Editor logic
if(!EditorApplication.isPlaying) //If NOT in play mode
GameObject newText = Instantiate(text);
#endif
En supposant qu'il n'y ait aucun autre Je changerais les types à Faites correspondre vos types cibles déjà par exemple Si vous apportez le type de texte alors vous pouvez omettre le et il est également sûr que vous ne pouvez également pas référencer des préfabriquements / objets avec le composant requis attaché. p> pour la performance, je préférerais également utiliser p> < Pré> xxx pré> puis utiliser p> texmesh code> d'objets sous le ObjectStOnumber [i] code> Vous pouvez simplement vérifier d'abord si l'objet existe déjà comme trouver code> comme p>
code> p> getComponent code> et simplement utiliser p> < Pré> xxx pré>