public Coroutine StartCoroutine(object obj, IEnumerator coroutine, bool pool = Coroutine.PoolByDefault) { return(Coroutine.StartCoroutine(this, coroutine, pool)); }
public Coroutine StartCoroutine(IEnumerator coroutine, CoroutineGroup group = CoroutineGroup.Tick, string tag = null, bool pool = Coroutine.PoolByDefault) { return(Coroutine.StartCoroutine(this, coroutine, group, tag, pool)); }
private static void GenerateCode(bool timeSliced, string[] args) { try { bool invalidArgs = false; if (args.Length > 0) { if (args[0] == "cancel") { if (timeSlicedCodeGenerator != null && !timeSlicedCodeGenerator.Complete) { timeSlicedCodeGenerator.EndGenerateModules(); } timeSlicedCodeGenerator = null; return; } if (timeSlicedCodeGenerator != null) { FMessage.Log("Already generating code"); return; } CodeGenerator codeGenerator = null; switch (args[0]) { case "game": AssetLoadMode loadMode = AssetLoadMode.Game; bool clearAssetCache = false; bool skipLevels = false; if (args.Length > 1) { switch (args[1]) { case "game": loadMode = CodeGenerator.AssetLoadMode.Game; break; case "engine": loadMode = CodeGenerator.AssetLoadMode.Engine; break; case "all": loadMode = CodeGenerator.AssetLoadMode.All; break; } } if (args.Length > 2) { bool.TryParse(args[2], out clearAssetCache); } if (args.Length > 3) { bool.TryParse(args[3], out skipLevels); } codeGenerator = new CodeGenerator(timeSliced); codeGenerator.GenerateCodeForGame(loadMode, clearAssetCache, skipLevels); break; case "gameplugins": codeGenerator = new CodeGenerator(timeSliced); codeGenerator.GenerateCodeForModules(new UnrealModuleType[] { UnrealModuleType.GamePlugin }); break; case "modules": codeGenerator = new CodeGenerator(timeSliced); //codeGenerator.Settings.ExportMode = CodeGeneratorSettings.CodeExportMode.All; //codeGenerator.Settings.ExportAllFunctions = true; //codeGenerator.Settings.ExportAllProperties = true; codeGenerator.GenerateCodeForAllModules(); break; case "module": if (args.Length > 1) { codeGenerator = new CodeGenerator(timeSliced); // Tests / using these for types for use in this lib //codeGenerator.Settings.CheckUObjectDestroyed = false; //codeGenerator.Settings.GenerateIsValidSafeguards = false; //codeGenerator.Settings.ExportMode = CodeGeneratorSettings.CodeExportMode.All; //codeGenerator.Settings.ExportAllFunctions = true; //codeGenerator.Settings.ExportAllProperties = true; //codeGenerator.Settings.MergeEnumFiles = false; codeGenerator.GenerateCodeForModule(args[1], true); } else { invalidArgs = true; } break; case "compile": CompileGeneratedCode(); break; default: invalidArgs = true; break; } if (!invalidArgs && timeSliced && codeGenerator != null) { timeSlicedCodeGenerator = codeGenerator; Coroutine.StartCoroutine(null, ProcessTimeSlice()); } } else { invalidArgs = true; } if (invalidArgs) { FMessage.Log(ELogVerbosity.Warning, "Invalid input. Provide one of the following: game, gameplugins, modules, module [ModuleName], compile"); } } catch (Exception e) { FMessage.Log(ELogVerbosity.Error, "Generate code failed. Error: \n" + e); } }