public void LoadRoom(string roomName) { StoryEngine.Room room = engine.GetRoom(roomName); if (room == null) { return; } CurrentRoom = roomName; if (room is StoryEngine.Cutscene) { PerformCutscene(room as StoryEngine.Cutscene); CharacterImage.image.color = Color.black; Spotlight.CheckCanvasGroup(); Spotlight.canvasGroup.alpha = 0.0f; PlayerImage.rectTransform.anchoredPosition = new Vector2(775.0f + PlayerImage.rectTransform.rect.width * 2.0f, PlayerImage.rectTransform.anchoredPosition.y); return; } CharacterDialog.text.text = string.Format("{0}\n\n\"{1}\"", room.character, room.text); float currentDelay = 0.0f; currentDelay += SwitchToCharacter(room.character); currentDelay += DialogTableCell.AnimateText(DialogTableCell.DialogType.Character, CharacterDialog, currentDelay); List <object> allItemsForTable = new List <object> (); StoryEngine.Dialog header = new StoryEngine.Dialog(); header.text = "Select a response below:"; header.isHelpHeader = true; header.animationDelay = currentDelay; currentDelay += DialogTableCell.AnimateTextDuration(DialogTableCell.DialogType.Response, header.text); allItemsForTable.Add(header); foreach (StoryEngine.Dialog dialog in room.responses) { dialog.animationDelay = currentDelay; currentDelay += DialogTableCell.AnimateTextDuration(DialogTableCell.DialogType.Response, dialog.text); allItemsForTable.Add(dialog); } ResponsesTable.SetObjectList(allItemsForTable); ResponsesTable.ReloadTable(); }