Пример #1
0
 void Start()
 {
     stateChanged      = false;
     conversationState = ConversationState.NotTalking;
     seenKeywords      = new ArrayList();
     dialogues         = DialogParser.parse(dialogFile.text);
     accusations       = AccusationParser.parse(accusationFile.text);
     accusationState   = AccusationState.InvalidState;
 }
Пример #2
0
    private void accusationUpdate()
    {
        switch (accusationState)
        {
        case AccusationState.Transition:
            accusationState = AccusationState.Selecting;
            uiManager.displayAccusationScreen();

            break;

        case AccusationState.Selecting:
            handleAccusationSelection();
            break;

        case AccusationState.Results:
            showAccusationDialog();
            break;
        }
    }
Пример #3
0
    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));
        }
    }
Пример #4
0
    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;
            }
        }
    }