public void OnPlayerSubmittedAnswer(string answer) { if (!isKilled && !isSaved) { if (riddle.TryAnswer(answer)) { // Riddle correct! Let's do something! isSaved = true; if (currentDialogBubble != null) { currentDialogBubble.ForceFadeMessage(); } answerThatSavedMe = answer; responses.AddCorrectAnswerToResponses(answerThatSavedMe); CreateDialogBubble(responses.GetRandomCorrectAnswerResponse(), 0.1f, 0.35f, 1, false, false); SavedEvent.Invoke(this); } else { health -= 1; if (health <= 0) { isKilled = true; answerThatKilledMe = answer; responses.AddWrongAnswerToResponses(answerThatKilledMe); if (currentDialogBubble != null) { currentDialogBubble.ForceFadeMessage(); } DiedEvent.Invoke(this); } } } }
public void OnPlayerInteract() { if (isFirstInteraction) { if (introDialogIndex < introDialog.Count) { if (currentDialogBubble != null) { if (currentDialogBubble.isFullMessageVisible) { currentDialogBubble.ForceFadeMessage(); } else { currentDialogBubble.ForceShowFullMessage(); } } if (currentDialogBubble == null || currentDialogBubble.isFading) { if (introDialogIndex == introDialog.Count - 1) { CreateDialogBubble(introDialog[introDialogIndex], 0.07f, 2f, 1f, false, false); } else { CreateDialogBubble(introDialog[introDialogIndex], 0.07f, 100f, 1f, false, false); } introDialogIndex++; if (introDialogIndex >= introDialog.Count) { // intro over, unlock player isFirstInteraction = false; InitialConversationOver.Invoke(); } } } } else if (isEndingConversation) { if (endingDialogIndex < endingDialog.Count) { if (currentDialogBubble != null) { if (currentDialogBubble.isFullMessageVisible) { currentDialogBubble.ForceFadeMessage(); } else { currentDialogBubble.ForceShowFullMessage(); } } if (currentDialogBubble == null || currentDialogBubble.isFading) { CreateDialogBubble(endingDialog[endingDialogIndex], 0.07f, 100f, 1f, false, false); endingDialogIndex++; } } else { EndingConversationOver.Invoke(); EndingConversationOver.RemoveAllListeners(); } } else { ShowRandomMidGameMessage(); } }