private void startingStatementUpdate() { if (continueButtonPressed()) { if (currentDialog.startingStatement.advanceIndex()) { currentStatement = currentDialog.startingStatement; playCurrentStatement(PortraitType.Normal); } else { if (gameStateManager.getCurrentTimeState() == TimeState.DateSelection) { if (gameStateManager.isLastDay()) { ui.displayDateChoices(accusations[currentCharacterId]); dialogState = DialogState.AccuseChoice; } else { ui.displayDateChoices(dates[currentCharacterId]); dialogState = DialogState.AskOnDateChoice; } } else { ui.displayChoices(currentDialog); dialogState = DialogState.DisplayingChoices; } } } }
private void questioningUpdate() { if (stateChanged) { stateChanged = false; switch (conversationState) { case ConversationState.StartingStatement: uiManager.displayStartingStatement(currentDialog); addKeywordsFromStatement(currentDialog.startingStatement); break; case ConversationState.Choices: if (currentDialog.questions.Count == 0) { changeState(ConversationState.NotTalking); } uiManager.displayChoices(currentDialog, seenKeywords, currentQuestion); break; case ConversationState.Question: uiManager.displayQuestion(currentQuestion); addKeywordsFromStatement(currentQuestion.question); break; case ConversationState.Answer: uiManager.displayAnswer(currentQuestion); addKeywordsFromStatement(currentQuestion.answer); if (OnAddLogEntry != null) { OnAddLogEntry(currentDialog.personId, currentQuestion.answer.highlightedShortenedText(), currentQuestion.answer.highlightedDisplayText()); } break; default: uiManager.removeDisplay(); player.doneTalking(); break; } } if (Input.GetKeyDown(KeyCode.E)) { switch (conversationState) { case ConversationState.StartingStatement: changeState(ConversationState.Choices); currentQuestionIndex = 0; currentQuestion = (Question)currentDialog.filteredQuestions(seenKeywords)[currentQuestionIndex]; break; case ConversationState.Choices: currentQuestion = (Question)currentDialog.questions[currentQuestionIndex]; changeState(ConversationState.Question); break; case ConversationState.Question: changeState(ConversationState.Answer); break; case ConversationState.Answer: changeState(ConversationState.NotTalking); break; default: break; } } if (conversationState == ConversationState.Choices) { if (Input.GetKeyDown(KeyCode.S)) { ArrayList filteredQuestions = currentDialog.filteredQuestions(seenKeywords); currentQuestionIndex = currentDialog.getFilteredQuestionIndex(currentQuestion, seenKeywords); currentQuestionIndex = (currentQuestionIndex + 1) % filteredQuestions.Count; currentQuestionIndex = currentDialog.getQuestionIndex((Question)filteredQuestions[currentQuestionIndex]); currentQuestion = (Question)currentDialog.questions[currentQuestionIndex]; uiManager.displayChoices(currentDialog, seenKeywords, currentQuestion); } if (Input.GetKeyDown(KeyCode.W)) { ArrayList filteredQuestions = currentDialog.filteredQuestions(seenKeywords); currentQuestionIndex = currentDialog.getFilteredQuestionIndex(currentQuestion, seenKeywords); int filteredCount = filteredQuestions.Count; currentQuestionIndex = (currentQuestionIndex + filteredCount - 1) % filteredCount; currentQuestionIndex = currentDialog.getQuestionIndex((Question)filteredQuestions[currentQuestionIndex]); currentQuestion = (Question)currentDialog.questions[currentQuestionIndex]; uiManager.displayChoices(currentDialog, seenKeywords, currentQuestion); } } }