void Start() { stateChanged = false; conversationState = ConversationState.NotTalking; seenKeywords = new ArrayList(); dialogues = DialogParser.parse(dialogFile.text); accusations = AccusationParser.parse(accusationFile.text); accusationState = AccusationState.InvalidState; }
private void accusationUpdate() { switch (accusationState) { case AccusationState.Transition: accusationState = AccusationState.Selecting; uiManager.displayAccusationScreen(); break; case AccusationState.Selecting: handleAccusationSelection(); break; case AccusationState.Results: showAccusationDialog(); break; } }
private void handleAccusationSelection() { if (!filteredAccused) { filteredAccused = true; currentAccused = currentAccusation.filteredChoices(seenKeywords); numberOfAccusables = currentAccusation.sizeOfLastFilteredChoices(); uiManager.displayAccusedList(currentAccusation, seenKeywords, gameManager.getPerson(((AccusationChoice)currentAccused[0]).personId)); } if (Input.GetKeyDown(KeyCode.E)) { accusationState = AccusationState.Results; int accusedPersonID = uiManager.hideAccusationScreen(); accused = gameManager.getPerson(accusedPersonID); AccusationChoice choice = currentAccusation.getAccusationChoice(accusedPersonID - 1); chosenAccused = choice; currentAccusationPair = 0; Keyword enabler = new Keyword("", 0); Question accusationDialog = (Question)choice.statementPairs[0]; currentQuestion = accusationDialog; changeState(ConversationState.Question); uiManager.displayQuestion(currentQuestion); uiManager.setPersonPotrait(choice.defenderId); } if (Input.GetKeyDown(KeyCode.A)) { selectedPerson = (selectedPerson + numberOfAccusables - 1) % numberOfAccusables; uiManager.selectAccused(selectedPerson, currentAccusation.getAccusationChoice(selectedPerson), seenKeywords, gameManager.getPerson(((AccusationChoice)currentAccused[selectedPerson]).personId)); } if (Input.GetKeyDown(KeyCode.D)) { selectedPerson = (selectedPerson + 1) % numberOfAccusables; uiManager.selectAccused(selectedPerson, currentAccusation.getAccusationChoice(selectedPerson), seenKeywords, gameManager.getPerson(((AccusationChoice)currentAccused[selectedPerson]).personId)); } }
public void startTalkingToPerson(Person person) { gameManager.addPersonTalkedTo(person); if (gameManager.gamePhase == GamePhase.TimeUp) { accused = person; filteredAccused = false; accusationState = AccusationState.Transition; } foreach (Dialog dialog in dialogues) { if (dialog.personId == person.personId && dialog.timeState == gameManager.timeState) { currentDialog = dialog; changeState(ConversationState.StartingStatement); return; } } }