public void UI_ResponseObjectClick(GameObject responseObj) { Debug.Log("Response Object Click Event"); ConversationResponseJSON response = m_activeResponseObjects[responseObj]; Debug.Log("Text Option Selected: " + response.responseText); ClearResponseObjects(); textDisplay.text = ""; HandleResponseActions(response); }
public static ConversationTreeJSON CreateFromJSON(string treeStr) { // Debug.Log("Tree String: " + treeStr); JSONNode node = JSON.Parse(treeStr); ConversationTreeJSON treeJSON = JsonUtility.FromJson <ConversationTreeJSON>(node.ToString()); // Prompts treeJSON.prompts = new List <ConversationPromptJSON>(); foreach (JSONNode promptNode in node["prompts"].AsArray) { treeJSON.prompts.Add(ConversationPromptJSON.CreateFromJSON(promptNode.ToString())); } // Responses treeJSON.responses = new List <ConversationResponseJSON>(); foreach (JSONNode responseNode in node["responses"].AsArray) { treeJSON.responses.Add(ConversationResponseJSON.CreateFromJSON(responseNode.ToString())); } return(treeJSON); }
private void HandleResponseActions(ConversationResponseJSON response) { foreach (string action in response.responseActionList) { Debug.Log("Response Action: " + action); string[] actionArr = action.Split('|'); string actionKey = actionArr[0]; switch (actionKey) { case "prompt": string actionVal = actionArr[1]; Debug.Log("Prompt: " + actionVal); LoadPrompt(m_currentConversation.conversationTree.GetPrompt(actionVal)); break; case "endConversation": EndConversation(); break; default: break; } } }