public EvidencePiece CheckConnection(EvidencePiece evidence1, EvidencePiece evidence2) { foreach (var connection in connections) { if (connection.components.Contains(evidence1) && connection.components.Contains(evidence2)) { DisplayEvidencePiece(connection.evidencePiece); return(connection.evidencePiece); } } return(null); }
public void DisplayEvidencePiece(EvidencePiece evidencePiece) { GameObject newEvidenceText = Instantiate( evidencePieceText, textPadding + Vector2.down * (evidencePieceTexts.Count * verticalTextOffset), Quaternion.identity ); newEvidenceText.transform.SetParent(gridLayout.transform, false); evidencePieceTexts.Add(evidencePiece, newEvidenceText); newEvidenceText.GetComponent <Text>().text = evidencePiece.description; newEvidenceText.GetComponent <Button>().onClick.AddListener(() => SelectEvidence(evidencePiece)); }
public void SelectEvidence(EvidencePiece evidencePiece) { if (selectedEvidencePiece == evidencePiece) { return; } evidencePieceTexts[evidencePiece].GetComponent <Text>().color = selectedColor; if (selectedEvidencePiece == null) { selectedEvidencePiece = evidencePiece; } else { var newEvidencePiece = CheckConnection(evidencePiece, selectedEvidencePiece); if (newEvidencePiece != null) { evidencePieceTexts[evidencePiece].GetComponent <Text>().color = matchColor; evidencePieceTexts[selectedEvidencePiece].GetComponent <Text>().color = matchColor; evidencePieceTexts[newEvidencePiece].GetComponent <Text>().color = matchColor; evidencePieceTexts[evidencePiece].GetComponent <Text>().DOColor(defaultColor, colorFadeTime); evidencePieceTexts[selectedEvidencePiece].GetComponent <Text>().DOColor(defaultColor, colorFadeTime); evidencePieceTexts[newEvidencePiece].GetComponent <Text>().DOColor(defaultColor, colorFadeTime); } else { evidencePieceTexts[evidencePiece].GetComponent <Text>().color = noMatchColor; evidencePieceTexts[selectedEvidencePiece].GetComponent <Text>().color = noMatchColor; evidencePieceTexts[evidencePiece].GetComponent <Text>().DOColor(defaultColor, colorFadeTime); evidencePieceTexts[selectedEvidencePiece].GetComponent <Text>().DOColor(defaultColor, colorFadeTime); } selectedEvidencePiece = null; } }