public void Run() { this.world = new World(); this.hero = new Hero(); // Generate first game event StoryEvent ge = new StoryEvent(""); this.currentEvent = ge; }
internal static List <StoryEvent> ReadCsvContent() { Dictionary <string, StoryEvent> eventList = new Dictionary <string, StoryEvent>(); Dictionary <string, Reaction> reactionData = ReadCsvReactionList(); //Dictionary<string, string> reactionMatrix = ReadCsvReactionMatrix(); string eventPath = "Content/StoryEvent.csv"; string csvData = File.ReadAllText(eventPath); string[] rows = csvData.Split('\n'); // First row is header row, skip it. for (int i = 1; i < rows.Length; i++) { string row = rows[i]; if (!string.IsNullOrEmpty(row)) { string[] data = row.Split(';'); string eventName = data[0].Trim(); string eventText = data[1].Trim(); if (!string.IsNullOrEmpty(eventName) && !string.IsNullOrEmpty(eventText)) { eventList.Add(eventName, new StoryEvent(eventText)); } } } string matrixPath = "Content/ReactionMatrix.csv"; csvData = File.ReadAllText(matrixPath); rows = csvData.Split('\n'); // First row is header row, skip it. for (int i = 1; i < rows.Length; i++) { string row = rows[i]; if (!string.IsNullOrEmpty(row)) { string[] data = row.Split(';'); string eventName = data[0].Trim(); string reactionName = data[1].Trim(); if (!string.IsNullOrEmpty(eventName) && !string.IsNullOrEmpty(reactionName)) { StoryEvent storyEvent = eventList[eventName]; Reaction reaction = reactionData[reactionName]; storyEvent.allowedReactions.Add(reaction); } } } foreach (StoryEvent storyEvent in eventList.Values) { storyEvent.SetReactionsFromAllowed(); } return(new List <StoryEvent>(eventList.Values)); }