public LogRunner(string fileName) { var log = Log.Load(UnityConstants.LogFolderRoot + fileName); factory = new LogPlayerControllerFactory(log); configuration = log.Configuration; configuration.Settings.EnableLog = false; // чтоб файл логов не переписывать worldState = log.WorldState; Name = "log run: " + fileName; CanInterrupt = true; CanStart = true; }
/// <summary> /// Creates a world that will play the log file. Controllers, settings and state will be obtained from the log file. /// </summary> /// <param name="cmdLineData"></param> /// <returns></returns> public IWorld CreateLogPlayer(CommandLineData cmdLineData) { Log log; try { log = Log.Load(cmdLineData.Unnamed[0]); } catch { throw new Exception("Could not load file '" + cmdLineData.Unnamed[0] + "'"); } var configuration = log.Configuration; var proposal = SettingsProposal.FromCommandLineData(cmdLineData); proposal.Push(configuration.Settings, false, z => z.SpeedUp); configuration.Settings.EnableLog = false; configuration.Settings.LogFile = null; var factory = new LogPlayerControllerFactory(log); return CreateWorld(configuration, factory, log.WorldState); }