63 lines
1.8 KiB
C#
63 lines
1.8 KiB
C#
namespace RedHotRoast
|
|
{
|
|
using UnityEngine;
|
|
using System.Collections;
|
|
|
|
public static class CrazyAsyKit
|
|
{
|
|
private static AsyncKitUnityBehaviour sAsyncKitUnityBehaviour;
|
|
|
|
|
|
private static readonly object SynClock = new object();
|
|
|
|
private static AsyncKitUnityBehaviour mAsyncKitUnityBehaviour
|
|
{
|
|
get
|
|
{
|
|
if (sAsyncKitUnityBehaviour != null)
|
|
{
|
|
return sAsyncKitUnityBehaviour;
|
|
}
|
|
|
|
lock (SynClock)
|
|
{
|
|
if (sAsyncKitUnityBehaviour != null)
|
|
{
|
|
return sAsyncKitUnityBehaviour;
|
|
}
|
|
|
|
|
|
sAsyncKitUnityBehaviour = AsyncKitUnityBehaviour.Instance;
|
|
if (sAsyncKitUnityBehaviour != null)
|
|
{
|
|
sAsyncKitUnityBehaviour.name = "[ CrazyAsyKit ]";
|
|
}
|
|
}
|
|
|
|
return sAsyncKitUnityBehaviour;
|
|
}
|
|
}
|
|
|
|
public static Coroutine StartCoroutine(IEnumerator enumerator)
|
|
{
|
|
return mAsyncKitUnityBehaviour.StartCoroutine(enumerator);
|
|
}
|
|
|
|
public static void StopCoroutine(Coroutine enumerator)
|
|
{
|
|
mAsyncKitUnityBehaviour.StopCoroutine(enumerator);
|
|
}
|
|
|
|
public static void StartAction(string key, AsyncDealData.DealMethod method, float delayTime, int repeat = 1)
|
|
{
|
|
var temp = new AsyncDealData { dealMethod = method, DelayTime = delayTime, RepeatCount = repeat };
|
|
mAsyncKitUnityBehaviour.AddAsyncData(key, temp);
|
|
}
|
|
|
|
|
|
public static void StopAction(string key)
|
|
{
|
|
mAsyncKitUnityBehaviour.RemoveAsyncData(key);
|
|
}
|
|
}
|
|
} |