public void selectAccused(int index, AccusationChoice choice, ArrayList seenKeywords, Person person) { lastIndexSelected = index; Vector3 newPosition = peopleInCurrentLineup.transform.localPosition; newPosition.x = -index * spaceBetweenPeople; StartCoroutine(movePeopleInCurrentLineup(newPosition)); changeAccusationText(choice, seenKeywords, person.personName); soundManager.playSelectSound(); }
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)); } }
void CalculateRect() { guiAccusationList.Clear(); TitleLabel = new Rect(0, 0, screenX, 30); SaveBtn = new Rect(screenX - 155, 5, 150, 30); ScrollViewRect = new Rect(0, TitleLabel.height + 5, screenX, screenY - TitleLabel.height - 5); ScrollViewArea = new Rect(0, 0, screenX - 20, 0); Rect prevAccusationGroup = new Rect(5, 0, screenX - 25, 0); for (int i = 0; i < xmlAccusations.Count; i++) { Accusation accusation = (Accusation)xmlAccusations[i]; GUIAccusation guiAccusation = new GUIAccusation(); guiAccusation.timeState = (int)accusation.timeState; Rect accusationGroupRect = new Rect(prevAccusationGroup.x, prevAccusationGroup.y + prevAccusationGroup.height, prevAccusationGroup.width, 0); guiAccusation.AccusationGroup = accusationGroupRect; guiAccusation.AccusationBG = new Rect(0, 0, guiAccusation.AccusationGroup.width, guiAccusation.AccusationGroup.height); guiAccusation.AccusationTitle = new Rect(5, 5, 300, 30); guiAccusation.TimeStampLabel = new Rect(guiAccusation.AccusationTitle.x + guiAccusation.AccusationTitle.width, guiAccusation.AccusationTitle.y, 150, 20); guiAccusation.TimeStampInput = new Rect(guiAccusation.TimeStampLabel.x + guiAccusation.TimeStampLabel.width, guiAccusation.AccusationTitle.y, 150, 20); guiAccusation.TransitionStatement = GenerateStatement(accusation.transitionStatement, guiAccusation.AccusationTitle, guiAccusation.AccusationGroup, "Transition Statement"); Rect prevRect = guiAccusation.TransitionStatement.StatementGroupRect; ScrollViewArea.height += guiAccusation.AccusationTitle.height; ScrollViewArea.height += guiAccusation.TransitionStatement.StatementGroupRect.height; accusationGroupRect.height += guiAccusation.AccusationTitle.height; accusationGroupRect.height += guiAccusation.TransitionStatement.StatementGroupRect.height; for (int j = 0; j < accusation.choices.Count; j++) { AccusationChoice accusationChoice = (AccusationChoice)accusation.choices[j]; GUIAccusationChoice guiAccusationChoice = new GUIAccusationChoice(); guiAccusationChoice.personID = accusationChoice.personId; guiAccusationChoice.defenderID = accusationChoice.defenderId; Rect accusationChoiceGroup = new Rect(20, prevRect.y + prevRect.height + 10, guiAccusation.AccusationGroup.width - 40, 0); guiAccusationChoice.accusationChoiceGroup = accusationChoiceGroup; guiAccusationChoice.choiceTitle = new Rect(5, 5, 150, 30); guiAccusationChoice.AddEnablingKeyword = new Rect(accusationChoiceGroup.width - 155, guiAccusationChoice.choiceTitle.y / 2.0f, 150, 30); guiAccusationChoice.PersonIDLabel = new Rect(guiAccusationChoice.choiceTitle.x + guiAccusationChoice.choiceTitle.width, guiAccusationChoice.choiceTitle.y, 120, 20); guiAccusationChoice.PersonIDInput = new Rect(guiAccusationChoice.PersonIDLabel.x + guiAccusationChoice.PersonIDLabel.width, guiAccusationChoice.PersonIDLabel.y, 150, 20); //ScrollViewArea.height += 10; accusationGroupRect.height += guiAccusationChoice.choiceTitle.height; guiAccusationChoice.DefenderIDLabel = new Rect(guiAccusationChoice.PersonIDInput.x + guiAccusationChoice.PersonIDInput.width + 40, guiAccusationChoice.PersonIDInput.y, 120, 20); guiAccusationChoice.DefenderIDInput = new Rect(guiAccusationChoice.DefenderIDLabel.x + guiAccusationChoice.DefenderIDLabel.width, guiAccusationChoice.DefenderIDLabel.y, 150, 20); Rect tmpPrevRect = guiAccusationChoice.DefenderIDInput; for (int k = 0; k < accusationChoice.enablingKeywords.Count; k++) { guiAccusationChoice.enablingKeywords.Add(((Keyword)accusationChoice.enablingKeywords[k]).text); Rect enablingKeywordLabelRect = new Rect(10, guiAccusationChoice.DefenderIDLabel.y + guiAccusationChoice.DefenderIDLabel.height + k * 25 + 10, 180, 20); Rect enablingKeywordInputRect = new Rect(enablingKeywordLabelRect.x + enablingKeywordLabelRect.width, enablingKeywordLabelRect.y, guiAccusationChoice.accusationChoiceGroup.width - enablingKeywordLabelRect.x - enablingKeywordLabelRect.width - 5 - 30, enablingKeywordLabelRect.height); Rect deleteEnablingKeyword = new Rect(enablingKeywordInputRect.x + enablingKeywordInputRect.width + 5, enablingKeywordInputRect.y, 20, 20); //ScrollViewArea.height += enablingKeywordLabelRect.height + k * 25 + 10; accusationChoiceGroup.height += enablingKeywordLabelRect.height + k * 25 + 10; guiAccusationChoice.EnablingKeywordsLabel.Add(enablingKeywordLabelRect); guiAccusationChoice.EnablingKeywordsInput.Add(enablingKeywordInputRect); guiAccusationChoice.DeleteEnablingKeyword.Add(deleteEnablingKeyword); tmpPrevRect = enablingKeywordLabelRect; } guiAccusationChoice.InvestigatorIntutionTitle = new Rect(10, tmpPrevRect.y + tmpPrevRect.height + 10, 200, 20); tmpPrevRect = guiAccusationChoice.InvestigatorIntutionTitle; guiAccusationChoice.AddInvstigatorIntution = new Rect(accusationChoiceGroup.width - 155, guiAccusationChoice.InvestigatorIntutionTitle.y - 5, 150, 30); //ScrollViewArea.height += guiAccusationChoice.InvestigatorIntutionTitle.height + 10; accusationChoiceGroup.height += guiAccusationChoice.InvestigatorIntutionTitle.height + 10; for (int k = 0; k < accusationChoice.investigatorIntuitions.Count; k++) { Statement investigatorIntution = (Statement)accusationChoice.investigatorIntuitions[k]; tmpPrevRect.height += 10; GUIStatement guiInvestigatorIntution = GenerateStatement(investigatorIntution, tmpPrevRect, guiAccusationChoice.accusationChoiceGroup, "Investigator Intuitions"); tmpPrevRect = guiInvestigatorIntution.StatementGroupRect; //ScrollViewArea.height += guiInvestigatorIntution.StatementGroupRect.height; accusationChoiceGroup.height += guiInvestigatorIntution.StatementGroupRect.height; guiAccusationChoice.investigatorIntution.Add(guiInvestigatorIntution); } accusationChoiceGroup.height += 5; guiAccusationChoice.AccusationStatementTitle = new Rect(10, tmpPrevRect.y + tmpPrevRect.height, 200, 30); tmpPrevRect = guiAccusationChoice.AccusationStatementTitle; guiAccusationChoice.AddAccusationStatement = new Rect(accusationChoiceGroup.width - 155, guiAccusationChoice.AccusationStatementTitle.y + 3, 150, 30); //ScrollViewArea.height += guiAccusationChoice.AccusationStatementTitle.height; accusationChoiceGroup.height += guiAccusationChoice.AccusationStatementTitle.height; for (int k = 0; k < accusationChoice.statementPairs.Count; k++) { Question question = (Question)accusationChoice.statementPairs[k]; GUIAccusationStatementPair accusationStatementPair = new GUIAccusationStatementPair(); Rect accusationStatementGroup = new Rect(tmpPrevRect.x, tmpPrevRect.y + tmpPrevRect.height + 5, guiAccusationChoice.accusationChoiceGroup.width - tmpPrevRect.x - tmpPrevRect.x, 0); accusationStatementPair.titleRect = new Rect(10, 0, 150, 40); accusationStatementGroup.height += accusationStatementPair.titleRect.x + accusationStatementPair.titleRect.height; accusationStatementPair.DeleteStatementPair = new Rect(accusationStatementGroup.width - 155, 5, 150, 30); Rect offsetRect = accusationStatementPair.titleRect; accusationStatementPair.question = GenerateStatement(question.question, offsetRect, accusationStatementGroup, "AccusationStatement"); accusationStatementGroup.height += accusationStatementPair.question.StatementGroupRect.height; //ScrollViewArea.height += accusationStatementPair.question.StatementGroupRect.height; Rect questionTmpRect = new Rect(accusationStatementPair.question.StatementGroupRect); questionTmpRect.height += 5; accusationStatementPair.answer = GenerateStatement(question.answer, questionTmpRect, accusationStatementGroup, "ResultStatement"); accusationStatementGroup.height += accusationStatementPair.answer.StatementGroupRect.height; //ScrollViewArea.height += accusationStatementPair.answer.StatementGroupRect.height; guiAccusationChoice.accusationStatement.Add(accusationStatementPair); Rect accusationStatementBG = new Rect(0, 0, accusationStatementGroup.width, accusationStatementGroup.height); accusationStatementPair.AccusationStatementGroup = accusationStatementGroup; accusationStatementPair.AccusationStatementBGRect = accusationStatementBG; tmpPrevRect = accusationStatementGroup; //ScrollViewArea.height += accusationStatementPair.titleRect.height + 5; accusationChoiceGroup.height += accusationStatementPair.AccusationStatementGroup.height; } accusationChoiceGroup.height += 35; guiAccusationChoice.accusationChoiceGroup = accusationChoiceGroup; guiAccusationChoice.accusationChoiceBG = new Rect(0, 0, guiAccusationChoice.accusationChoiceGroup.width, guiAccusationChoice.accusationChoiceGroup.height); accusationGroupRect.height += guiAccusationChoice.accusationChoiceGroup.height; //accusationGroupRect.y = i * accusationGroupRect.height; prevRect = guiAccusationChoice.accusationChoiceGroup; guiAccusation.AccusationChoice.Add(guiAccusationChoice); } accusationGroupRect.height -= 200; guiAccusation.AccusationGroup = accusationGroupRect; guiAccusation.AccusationBG = new Rect(0, 0, guiAccusation.AccusationGroup.width, guiAccusation.AccusationGroup.height); ScrollViewArea.height += accusationGroupRect.height - 150; prevAccusationGroup.height += guiAccusation.AccusationGroup.height + 10; guiAccusationList.Add(guiAccusation); } ScrollViewArea.height += 20; }
private void changeAccusationText(AccusationChoice choice, ArrayList seenKeywords, string name) { selectedPersonNameText.text = name; dialogText.text = choice.furthestIntuition(seenKeywords).highlightedDisplayText(); }