void CleanUp() { if (sLinkA.myDisplay != null) { sLinkA.ToggleDisplay(); } linkA = null; sLinkA = null; linkB = null; sLinkB = null; }
public void PrepareLink(Transform linkObject) { if (!linkObject.GetComponent <BBLink>().inUse) { // Evidence Used Analytics Analytics.CustomEvent("BoardAddEvidence", new Dictionary <string, object> { { "EvidenceName", addEvidence.evidenceName } }); linkObject.GetComponent <BBLink>().PopulateLink(addEvidence); placedClue = true; UnprepareNewEvidence(); //CleanUp(); return; } if (linkA == null) { linkA = linkObject; sLinkA = linkObject.GetComponent <BBLink>(); if (sLinkA.myDisplay != null) { sLinkA.ToggleDisplay(); } } else { linkB = linkObject; sLinkB = linkObject.GetComponent <BBLink>(); if (linkA == linkB) { // I clicked myself, nothing to see here. CleanUp(); } } if (linkA != null && linkB != null) { // If there is no link, add one. If there is one, it is removed. if (!sLinkA.HasLink(linkB) && !sLinkB.HasLink(linkA)) { // Is the evidence Linked? bool linkedEvidence = false; Evidence eLinkA = sLinkA.myEvidence; Evidence eLinkB = sLinkB.myEvidence; // Evidence Linked Analytics Analytics.CustomEvent("BoardLinkAttempt", new Dictionary <string, object> { { "EvidenceA", eLinkA.evidenceName }, { "EvidenceB", eLinkB.evidenceName } }); //Evidence linkEvidence = newLink.GetComponent<BBLink>().myEvidence; for (int i = 0; i < eLinkA.linkedEvidence.Count; i++) { if (eLinkA.linkedEvidence[i] == eLinkB) { linkedEvidence = true; break; } } if (linkedEvidence) { // Evidence Linked Analytics Analytics.CustomEvent("BoardLinkMade", new Dictionary <string, object> { { "EvidenceA", eLinkA.evidenceName }, { "EvidenceB", eLinkB.evidenceName } }); connectedClue = true; // Great success sLinkA.AddLink(linkB); } } CleanUp(); } }