public void RunTestAux(string commandLine)
 {
     TestCommonBase.BaseInstance.IsTestEnabled = true;
     MBDebug.TestModeEnabled = true;
     string[] strArray = commandLine.Split(' ');
     if (strArray.Length < 2)
     {
         MBDebug.ShowWarning("RunTextAux invalid commandLine!");
     }
     else
     {
         string asyncRunner = strArray[1];
         if (asyncRunner == "OpenSceneOnStartup")
         {
             TestCommonBase.BaseInstance.SceneNameToOpenOnStartup = strArray[2];
         }
         for (int index = 3; index < strArray.Length; ++index)
         {
             int result;
             int.TryParse(strArray[index], out result);
             TestCommonBase.BaseInstance.TestRandomSeed = result;
         }
         MBDebug.Print(nameof(commandLine) + commandLine);
         MBDebug.Print("p" + strArray.ToString());
         MBDebug.Print("Looking for test " + asyncRunner, color: Debug.DebugColor.Yellow);
         ConstructorInfo runnerConstructor = this.GetAsyncRunnerConstructor(asyncRunner);
         object          obj = (object)null;
         if (runnerConstructor != (ConstructorInfo)null)
         {
             obj = runnerConstructor.Invoke(new object[0]);
         }
         this._asyncRunner          = obj as AsyncRunner;
         this._awaitableAsyncRunner = obj as AwaitableAsyncRunner;
         if (this._asyncRunner != null)
         {
             this._asyncThread      = new Thread((ThreadStart)(() => this._asyncRunner.Run()));
             this._asyncThread.Name = "ManagedAsyncThread";
             this._asyncThread.Start();
         }
         if (this._awaitableAsyncRunner == null)
         {
             return;
         }
         this._asyncTask = this._awaitableAsyncRunner.RunAsync();
     }
 }
 internal static DotNetObject CreateScriptComponentInstance(
     string className,
     GameEntity entity,
     ManagedScriptComponent managedScriptComponent)
 {
     System.Type moduleType = Managed.ModuleTypes[className];
     if (moduleType != (System.Type)null)
     {
         ConstructorInfo constructor = moduleType.GetConstructor(BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.CreateInstance, (Binder)null, new System.Type[0], (ParameterModifier[])null);
         if (constructor != (ConstructorInfo)null && constructor.Invoke(new object[0]) is ScriptComponentBehaviour componentBehaviour2)
         {
             componentBehaviour2.Construct(entity, managedScriptComponent);
             return((DotNetObject)componentBehaviour2);
         }
     }
     else
     {
         MBDebug.ShowWarning("CreateScriptComponentInstance failed: " + className);
     }
     return((DotNetObject)null);
 }
 public void FinalizeAndWrite(string filePath)
 {
     try
     {
         XmlDocument xmlDocument = new XmlDocument();
         XmlNode     element1    = (XmlNode)xmlDocument.CreateElement("objects");
         xmlDocument.AppendChild(element1);
         foreach (PerformanceAnalyzer.PerformanceObject performanceObject in this.objects)
         {
             XmlNode     element2 = (XmlNode)xmlDocument.CreateElement("object");
             XmlNode     node     = element2;
             XmlDocument document = xmlDocument;
             performanceObject.Write(node, document);
             element1.AppendChild(element2);
         }
         xmlDocument.Save(filePath);
     }
     catch (Exception ex)
     {
         MBDebug.ShowWarning("Exception occurred while trying to write " + filePath + ": " + ex.ToString());
     }
 }