IEnumerator VPerfRoutine(float measuresSecs) { voosUpdateWatch.Reset(); numVoosUpdates = 0; yield return(new WaitForSecondsRealtime(measuresSecs)); HeadlessTerminal.Log($"After {measuresSecs}s, mean ms/frame = {voosUpdateWatch.ElapsedMilliseconds * 1f / numVoosUpdates}"); }
static void CommandVperf(CommandArg[] args) { try { float measureSecs = args.Length == 0 ? 3f : args[0].Float; HeadlessTerminal.Log($"Measuring VoosUpdate perf for the next {measureSecs} seconds.."); consoleInstance.StartCoroutine(consoleInstance.VPerfRoutine(measureSecs)); } catch (System.Exception e) { HeadlessTerminal.Log($"Failed: {e}"); } }
static void CommandLocked(CommandArg[] args) { if (consoleInstance == null) { return; } int i = 0; foreach (var actor in consoleInstance.EnumerateActors()) { if (actor.IsLockWantedLocally()) { HeadlessTerminal.Log($"#{i}: {actor.GetDisplayName()} ({actor.GetName()})"); i++; } } }
static void CommandActors(CommandArg[] args) { if (consoleInstance == null) { return; } string substring = args.Length > 0 ? args[0].ToString().ToLowerInvariant() : null; int i = 0; foreach (var actor in consoleInstance.EnumerateActors()) { if (substring == null || (actor.GetDisplayName() ?? "").ToLowerInvariant().Contains(substring)) { HeadlessTerminal.Log($"#{i}: {actor.GetDisplayName()} ({actor.GetName()})"); } i++; } }
public static void CommandSetGround(CommandArg[] args) { TerrainSystem terrain = FindObjectOfType <TerrainSystem>(); BlockStyle style; int shape = 0; // Special argument 'Empty' means empty shape. if (args[0].ToString() == "Empty") { style = BlockStyle.SolidColor0; shape = -1; } else if (!Util.TryParseEnum <BlockStyle>(args[0].ToString(), out style, true)) { HeadlessTerminal.Log("Invalid block style: " + args[0].ToString() + ". Valid values are: " + string.Join("\n", Util.ValuesOf <BlockStyle>())); return; } TerrainSystem ts = FindObjectOfType <TerrainSystem>(); ts.SetSlices(0, (0 - BlocksYStart), (int)style, shape, 0); }
static void CommandTerrainCols(CommandArg[] args) { VoosEngine.TerrainCollisionsEnabled = !VoosEngine.TerrainCollisionsEnabled; HeadlessTerminal.Log($"new val: {VoosEngine.TerrainCollisionsEnabled}"); }
static void CommandJSProf(CommandArg[] args) { VoosEngine.EnableProfilingFromScript = !VoosEngine.EnableProfilingFromScript; HeadlessTerminal.Log($"VoosEngine.EnableProfilingFromScript: {VoosEngine.EnableProfilingFromScript}"); }
static void CommandCheckMem(CommandArg[] args) { VoosEngine.MemCheckMode = args[0].String; HeadlessTerminal.Log($"VoosEngine.MemCheckMode: {VoosEngine.MemCheckMode}"); }
static void CommandDebugIconPicker(CommandArg[] args) { IconPickerDialog.Launch(result => HeadlessTerminal.Log("Icon picker result: " + (result == null ? "null" : result))); }