예제 #1
0
        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);
        }
예제 #2
0
 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);
 }
예제 #3
0
 public static void StopCoroutine(IEnumerator routine)
 {
     WitchcraftBehaviour.GetInstance().StopCoroutine(routine);
 }
예제 #4
0
 public static void ExecuteCoroutine(IEnumerator routine)
 {
     WitchcraftBehaviour.GetInstance().StartCoroutine(routine);
 }