public void SysVarHtml(OutputDelegate writeIt, bool noReadOnly)
 {
     writeIt("<table><tr><th>Variable Name</th><th>current value</th><th>Description</th></tr>");
     foreach (var sv in GetSysVars())
     {
         IKeyValuePair <string, object> svv = sv;
         var t = (svv.Value ?? svv.Key).GetType().Name;
         if (noReadOnly && svv.IsReadOnly)
         {
             continue;
         }
         writeIt(string.Format("<tr name=\"{0}\" id='{0}'><td>{0}</td><td>{1}</td><td>{2}</td></tr>",
                               Htmlize.NoEnts(svv.Key), Htmlize.NoEnts("" + svv.Value),
                               Htmlize.NoEnts(svv.Comments)));
     }
     writeIt("</table>");
 }
 public override void MakeInfo()
 {
     Description = "waits until a certain event takes place. see " +
                   Htmlize.Wiki("SimObjectEvents", "Object Events") + " for info about the format";
     AddUsage("waitevent timewaitms event-name [command] ",
              "wait for timewaitms for event to match evnet-name, if no event comes thru unblock and call command");
     AddExample("waitevent 10000 On-Say say ten seconds are up an no one says a word",
                "waits ten seconds for someone to say something, if no one says anything it speaks the phrase");
     Parameters = CreateParams(
         "timewaitms", typeof(TimeSpan), "the amount of time to block waiting for the event",
         "eventName", typeof(string),
         Htmlize.Wiki("SimObjectEvents", "Sim Object Events") + " for info about the format",
         Optional("command", typeof(BotCommand), "The command to execute asynchronously"));
     ResultMap = CreateParams(
         "event", typeof(CogbotEvent), "The unblocking event that took place",
         "message", typeof(string), "if success was false, the reason why",
         "success", typeof(bool), "true if we got the events");
 }
        public override void MakeInfo()
        {
            Description =
                "Shows the events that have been associated with an object. See <a href='wiki/SimObjectEvents'>Sim Object Events</a>page for info about events.";
            Details =
                @"<p>evinfo &lt;primspec&gt;</p><p>example: evinfo tacosofgod  <i>tacosofgod is a nearby plywood cube</i></p>
<pre>
[09:12] tacosofgod Box 70b5e8ab-3308-4bc6-bbf8-4f313cd7d518 (localID 2036105563)(ch0)(PrimFlagsFalse InventoryEmpty, ObjectOwnerModify)[](!IsPassable)
[09:12] evinfo: Success: simEventComplete blanks=1 nonblanks=0
[09:12] evinfo: Success: simEventComplete blanks=1 nonblanks=0
</pre>";
            Parameters = CreateParams(
                "object", typeof(PrimSpec),
                "The objects whose events we want, as specified in " + Htmlize.WikiBC("Prim Spec"));
            ResultMap = CreateParams(
                "events", typeof(List <CogbotEvent>), "List of events that transpired on the objects",
                "message", typeof(string), "if success was false, the reason why",
                "success", typeof(bool), "true if we got the events");
        }