public static Witchcraft ExecuteAsync(System.Func <Magic> func, CallbackType callbackType) { var witchcraft = new Witchcraft(); witchcraft.exec = func; witchcraft.async = true; witchcraft.callbackType = callbackType; WitchcraftBehaviour.GetInstance().witchcrafts.Add(witchcraft); return(witchcraft); }
public static WitchcraftBehaviour GetInstance() { if (instance == null) { // TODO: 関数化する。 ThreadPool.GetMinThreads(out int workMin, out int ioMin); ThreadPool.SetMinThreads(workMin * 4, ioMin); var g = new GameObject("WitchcraftBehaviour"); instance = g.AddComponent <WitchcraftBehaviour>(); instance.task = Task.Run(instance.Loop); DontDestroyOnLoad(g); } return(instance); }
public static void StopCoroutine(IEnumerator routine) { WitchcraftBehaviour.GetInstance().StopCoroutine(routine); }
public static void ExecuteCoroutine(IEnumerator routine) { WitchcraftBehaviour.GetInstance().StartCoroutine(routine); }