public void Load() { ConsoleReader.Node messages; if (!ConsoleReader.LoadFile( Mafia.DATAPATH + "messages.txt", out messages )) { Debug.LogError("MafiaRenderer: Invalid message data"); } messageTable = new Dictionary <string, string[]>(); foreach (var message in messages) { messageTable[message.data] = message.ChildrenToString(); } }
public void RenderStart(ICollection <IEntity> entities) { ConsoleReader.Node root; ConsoleReader.LoadFile(Mafia.DATAPATH + "foreword.txt", out root); foreach (ConsoleReader.Node line in root) { if (line.data != "") { Render.Print(line.data); } } string register = "CREW REGISTER"; foreach (IEntity entity in entities) { Crewmember c = entity as Crewmember; register += "\n" + c.name + ", " + c.firstName + " ... {" + c.role + "}"; } Render.Print(register); Render.Print("[ BEGIN TRANSCRIPT ]"); }
// Load observations/analyses files into repository Actions bool LoadActions( string observationsFilename, string analysesFilename, BrainRepository repo ) { ConsoleReader.Node actionObservations, actionAnalyses; bool valid = true; valid &= ConsoleReader.LoadFile( DATAPATH + observationsFilename, out actionObservations ); valid &= ConsoleReader.LoadFile( DATAPATH + analysesFilename, out actionAnalyses ); valid &= actionObservations.children.Length == actionAnalyses.children.Length; if (!valid) { return(false); } for (int i = 0; i < actionObservations.children.Length; ++i) { ConsoleReader.Node observation = actionObservations.children[i]; ConsoleReader.Node analysis = actionAnalyses.children[i]; int observationCount = observation.children.Length; int analysisCount = analysis.children.Length; // Actions must have child nodes if (observationCount > 0 && analysisCount > 0) { LogEntry.Phrase[] observations = new LogEntry.Phrase[observationCount]; LogEntry.Phrase[] analyses = new LogEntry.Phrase[analysisCount]; for (int j = 0; j < observationCount; ++j) { string finisher = observation.children[j].children.Length > 0 ? observation.children[j].children[0].data : ""; observations[j] = new LogEntry.Phrase( observation.children[j].data, finisher ); } for (int k = 0; k < analysisCount; ++k) { string finisher = analysis.children[k].children.Length > 0 ? analysis.children[k].children[0].data : ""; analyses[k] = new LogEntry.Phrase( analysis.children[k].data, finisher ); } repo.RegisterAction( new LogEntry(observation.data, observations, analyses) ); } } return(true); }