private IEnumerator Get() { Type type = null; string code = (string)UserData[0]; bool done = false; DateTime start = DateTime.Now; int milliseconds = 0; bool errorInCode = false; List <CompilerError> errors = new List <CompilerError>(); try { type = RuntimeCompiler.CompileType(code, ref errorInCode, ref errors); TimeSpan span = DateTime.Now - start; milliseconds = span.Milliseconds; done = true; } catch (Exception ex) { done = true; Debug.LogError(ex.StackTrace); } while (!done) { yield return(null); } if (errorInCode) { VRErrorManager.Instance.Show(ErrorHelper.GetErrorDescByCode(TM.Errors.ErrorCode.CompileCodeError)); } if (type == null && errorInCode) { ((IRequest)this).OnResponseError($"Compile code error! {ToSingleString(errors)} "); } else { ResponseCompiler response = new ResponseCompiler { CompiledType = type, Milliseconds = milliseconds }; ((IRequest)this).OnResponseDone(response); } yield return(true); }