private static IEnumerator EnumLuaCoroutine(ILuaCoroutine coroutine)
 {
     while (true)
     {
         var result = coroutine.Resume();
         if (result != null)
         {
             if (result is IEnumerator)
             {
                 var etor = result as IEnumerator;
                 while (etor.MoveNext())
                 {
                     yield return(etor.Current);
                 }
             }
             else if (result is IEnumerable)
             {
                 var enumerable = result as IEnumerable;
                 foreach (var obj in enumerable)
                 {
                     yield return(obj);
                 }
             }
             else
             {
                 yield return(result);
             }
         }
         else
         {
             yield break;
         }
     }
 }
 public Coroutine BehavCoroutine(ILuaCoroutine coroutine)
 {
     return(StartCoroutine(EnumLuaCoroutine(coroutine)));
 }