public static ErrorCode RunPatternSeed(UnmanagedRantContext context, UnmanagedPattern pattern, PatternOptions options, long seed, out UnmanagedOutput output) { RantOutput o = null; context.Run(() => o = context.Rant.Do(pattern.Pattern, seed, options.CharLimit, options.Timeout)); output = new UnmanagedOutput(o); return(context.LastErrorCode); }
public void ShowRoom() { RantProgram program = RantProgram.CompileString(@"You <descriptor-room_arrived>"); RantOutput output = rantEngine.Do(program); string roomArrive = output.ToString(); Console.WriteLine(Environment.NewLine + roomArrive + " " + this.description); }
static void PrintOutput(RantOutput output, bool file = false) { bool writeToFile = !String.IsNullOrEmpty(Property("out")); foreach (var chan in output) { if (chan.Name != "main") { if (Flag("main")) { continue; } if (!writeToFile) { ForegroundColor = ConsoleColor.Green; WriteLine("\{chan.Name} (\{chan.Visiblity}):");
private static List <Room> GetRooms(int roomCount) { RantProgram program = RantProgram.CompileString(@"<adj> <noun-indoor>"); RantOutput output = null; List <Room> rooms = new List <Room>(); for (int i = 0; i < roomCount; i++) { output = rantEngine.Do(program); Room newRoom = new Room(); newRoom.roomId = i + 1; newRoom.name = output.ToString(); newRoom.description = output.ToString(); rooms.Add(newRoom); } return(rooms); }
public UnmanagedOutput(RantOutput output) { Output = output; _handle = GCHandle.Alloc(this); }
private static object GetOutputObject(RantOutput output) { return new { channels = output.Select(o => new { channel = o.Name, visibility = o.Visiblity.ToString().ToLower(), value = o.Value }).ToArray() }; }