J'ai besoin comme souvent d'utiliser un PlayerPrefs suite à un call réseau...
Et bien sur, ça ne marche pas comme on n'est pas sur le main thread. J'ai regardé sur le net mais les solutions ne me plaisent pas trop alors, j'ai fait la mienne :
Je vous la partage, ça pourrait vous être utile :
Appel réseau... puis
Code : Tout sélectionner
void MethodAfterNetworkCall()
{
int coucou = 32;
Game.ExecuteInMainThread(() =>
{
// Execute ce code sur le mainThread
PlayerPrefs.SetInt("coucou", coucou);
});
...
}
Code : Tout sélectionner
using System.Collections.Generic;
public delegate void DelegateVoid();
public class Game
{
static Queue<DelegateVoid> actions = new Queue<DelegateVoid>();
public static void ExecuteInMainThread(DelegateVoid action)
{
actions.Enqueue(action);
}
private void Update()
{
if (actions.Count > 0)
{
actions.Dequeue().Invoke();
}
}
}