public bool DisplayConversation(RPGConversation newConversation) { //find the base paragraph activeConversation = newConversation; for (int i = 0; i < activeConversation.conversationParagraphs.Count; i++) { if(activeConversation.conversationParagraphs[i].isBaseParagraph) { if(activeConversation.conversationParagraphs[i].Validate()) { DisplayParagraph(activeConversation.conversationParagraphs[i]); if(!isDisplayed) Enable(); Debug.Log("can display this conversation"); return true; } } } return false; }
protected override void StartNewIItem() { currentItem = new RPGConversation(); }
public void LoadConversation() { if(conversationID > 0) conversation = Storage.LoadById<RPGConversation>(conversationID, new RPGConversation()); }
// Check paragraph if it is task of current quest public void CheckParagraph(RPGConversation conversation, int paragraphId) { bool validChange = false; foreach(RPGQuest q in CurrentQuests) { if(q.CheckParagraph(conversation.ID, paragraphId)) validChange = true; } if(validChange) UpdateQuests(); }