private void HandleShowTimers(string module, string[] cmdparams) { if (!IsSceneSelected()) { return; } ScriptTimer timerPlugin = AsyncCommandManager.GetTimerPlugin(m_engine); if (timerPlugin == null) { MainConsole.Instance.Output("Plugin not yet initialized"); return; } List <ScriptTimer.TimerInfo> timersInfo = timerPlugin.GetTimersInfo(); ConsoleDisplayTable cdt = new ConsoleDisplayTable(); cdt.AddColumn("Part local ID", 13); cdt.AddColumn("Script item ID", 36); cdt.AddColumn("Interval", 10); cdt.AddColumn("Next", 8); foreach (ScriptTimer.TimerInfo t in timersInfo) { // Convert from 100 ns ticks back to seconds cdt.AddRow(t.localID, t.itemID, (double)t.interval / 10000000, t.next); } MainConsole.Instance.Output(cdt.ToString()); MainConsole.Instance.Output("Total: {0}", timersInfo.Count); }