Files
RedHotRoast-ios/Assets/Scripts/Async/CrazyAsyKit.cs
T

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);
}
}
}