vendredi 7 août 2015

Unity3D: Returning a value from a coroutine

In Unity3D, a simple mecanism helps you to make an asynchronous call in a procedural way, and wait for it to finish: coroutines. This mecanism is not magic. It uses enumerators, that make a code block return a list of values, one by one. However, you can't get any returning value from a coroutine.
But there's a way to do it anyway.

Unity3D - Coroutines et retour de valeurs

Sur Unity3D, un mécanisme simple permet à du code procédural de lancer des traitements asynchrones et d'attendre la fin de son exécution: les coroutines.
Ce mécanisme n'a rien de magique. Il se repose sur les énumérateurs, qui permettent à du code de renvoyer une liste de valeurs, une par une. Cependant, les coroutines ne permettent pas de retourner de valeurs que l'on puisse exploiter.
Il existe toutefois une manière simple de le faire.