Example #1
0
    public void DeleteNode(Transform linkObject)
    {
        // Clean Evidence
        for (int i = 0; i < evidenceSlots.Length; i++)
        {
            deletedClue = true;
            evidenceSlots[i].GetComponent <BBLink>().HasLink(linkObject);
        }

        // Clean Locations
        for (int i = 0; i < locationSlots.Length; i++)
        {
            if (locationSlots[i].GetComponent <BBLink>())
            {
                locationSlots[i].GetComponent <BBLink>().HasLink(linkObject);
            }
        }

        // Clean Suspects
        for (int i = 0; i < suspectSlots.Length; i++)
        {
            if (suspectSlots[i].GetComponent <BBLink>())
            {
                suspectSlots[i].GetComponent <BBLink>().HasLink(linkObject);
            }
        }

        linkObject.GetComponent <BBLink>().ResetButton();
        linkA  = null;
        sLinkA = null;
        linkB  = null;
        sLinkB = null;
    }
Example #2
0
    void CleanUp()
    {
        if (sLinkA.myDisplay != null)
        {
            sLinkA.ToggleDisplay();
        }

        linkA  = null;
        sLinkA = null;
        linkB  = null;
        sLinkB = null;
    }
Example #3
0
    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();
        }
    }