public void ShowDigestWindows(bool yesOrNo)
    {
        isActive = yesOrNo;

        if (yesOrNo)
        {
            DigestInspectionState = DigestInspectionMode.Loading;

            loadingDelayRefTime = Time.time;

            curInspectorFrameIndex = 0;
            inspectorFrameRefTime  = Time.time;
        }
        else
        {
            DigestInspectionState = DigestInspectionMode.Closing;

            inspectorImage.enabled     = false;
            listSelector.enabled       = false;
            peopleListBookmark.enabled = false;
            placesListBookmark.enabled = false;
            thingsListBookmark.enabled = false;

            entryListHeader.enabled = false;
            entryListOnPage.enabled = false;
            entryListSelectedEntryHighlightCopy.enabled = false;
            entryHeader.enabled      = false;
            entryDescription.enabled = false;

            curInspectorFrameIndex = inspectorImageFrames.Count - 1;
            inspectorFrameRefTime  = Time.time;
        }
    }
    // Start is called before the first frame update
    void Start()
    {
        if (startingList.Count > 0)
        {
            foreach (DigestEntry entry in startingList)
            {
                if (entry.typeOfDigestEntry == DigestEntryType.Person && !peopleList.Contains(entry))
                {
                    peopleList.Add(entry);
                }
                if (entry.typeOfDigestEntry == DigestEntryType.Place && !placesList.Contains(entry))
                {
                    placesList.Add(entry);
                }
                if (entry.typeOfDigestEntry == DigestEntryType.Thing && !thingsList.Contains(entry))
                {
                    thingsList.Add(entry);
                }
            }
        }

        listSelectorInitialPos  = listSelector.rectTransform.anchoredPosition;
        highlightCopyInitialPos = entryListSelectedEntryHighlightCopy.rectTransform.anchoredPosition;

        inspectorBgd.enabled   = false;
        inspectorImage.enabled = false;
        listSelector.enabled   = false;

        peopleListBookmark.enabled = false;
        placesListBookmark.enabled = false;
        thingsListBookmark.enabled = false;

        entryListHeader.enabled = false;
        entryListOnPage.enabled = false;
        entryListSelectedEntryHighlightCopy.enabled = false;
        entryHeader.enabled      = false;
        entryDescription.enabled = false;

        curList             = peopleList;
        curListIndex        = 0;
        curVisibleListIndex = 0;

        entryListHeader.color  = headerTextColor;
        entryListOnPage.color  = bodyTextColor;
        entryHeader.color      = headerTextColor;
        entryDescription.color = bodyTextColor;
        entryListSelectedEntryHighlightCopy.color = highlightCopyColor;

        entryListHeader.text = peopleHeaderText;
        curBookmark          = peopleListBookmark;

        isActive = false;

        DigestInspectionState = DigestInspectionMode.Inactive;
    }
    public void ForceClose()
    {
        isActive = false;

        inspectorBgd.enabled       = false;
        inspectorImage.enabled     = false;
        listSelector.enabled       = false;
        peopleListBookmark.enabled = false;
        placesListBookmark.enabled = false;
        thingsListBookmark.enabled = false;

        entryListHeader.enabled = false;
        entryListOnPage.enabled = false;
        entryListSelectedEntryHighlightCopy.enabled = false;
        entryHeader.enabled      = false;
        entryDescription.enabled = false;

        DigestInspectionState = DigestInspectionMode.Inactive;
    }
    // Update is called once per frame
    void Update()
    {
        switch (DigestInspectionState)
        {
        case (DigestInspectionMode.Inactive):
            break;

        case (DigestInspectionMode.Loading):

            if (Time.time - loadingDelayRefTime > loadingDelayTime)
            {
                inspectorBgd.enabled = true;

                inspectorBgd.texture = inspectorImageFrames[curInspectorFrameIndex];

                if (Time.time - inspectorFrameRefTime > inspectorOpeningFrameTime)
                {
                    if (curInspectorFrameIndex < inspectorImageFrames.Count - 1)
                    {
                        curInspectorFrameIndex++;
                    }
                    else
                    {
                        DigestInspectionState = DigestInspectionMode.Viewing;

                        inspectorImage.enabled = true;

                        entryListHeader.enabled  = true;
                        entryListOnPage.enabled  = true;
                        entryHeader.enabled      = true;
                        entryDescription.enabled = true;

                        //listSelector.enabled = true;
                        entryListSelectedEntryHighlightCopy.enabled = true;
                        peopleListBookmark.enabled = true;
                        placesListBookmark.enabled = true;
                        thingsListBookmark.enabled = true;

                        curBookmark = peopleListBookmark;

                        entryListHeader.text = peopleHeaderText;

                        peopleListBookmark.texture = peopleBookmarkUncovered;
                        placesListBookmark.texture = placesBookmarkCovered;
                        thingsListBookmark.texture = thingsBookmarkCovered;
                    }

                    inspectorFrameRefTime = Time.time;
                }
            }

            break;

        case (DigestInspectionMode.Viewing):

            UpdateListAndSelection();

            if (curList[curListIndex].GetPic() != null)
            {
                inspectorImage.texture = curList[curListIndex].GetPic();
            }
            else
            {
                inspectorImage.texture = unknownEntryTexture;
            }

            if (curList[curListIndex].GetName() != null)
            {
                entryHeader.text = curList[curListIndex].GetName();
            }
            else
            {
                entryHeader.text = unknownFieldText;
            }

            if (curList[curListIndex].GetDescription() != null)
            {
                entryDescription.text = curList[curListIndex].GetDescription();
            }
            else
            {
                entryDescription.text = unknownFieldText;
            }

            break;

        case (DigestInspectionMode.Closing):

            inspectorBgd.texture = inspectorImageFrames[curInspectorFrameIndex];

            if (Time.time - inspectorFrameRefTime > inspectorClosingFrameTime)
            {
                if (curInspectorFrameIndex > 0)
                {
                    curInspectorFrameIndex--;
                }
                else
                {
                    inspectorBgd.enabled = false;

                    DigestInspectionState = DigestInspectionMode.Inactive;
                }

                inspectorFrameRefTime = Time.time;
            }

            break;
        }
    }